@mx-space/cli 0.7.8 → 0.9.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/README.md +30 -0
- package/ROADMAP.md +1 -0
- package/dist/{Lexical.dev-rcxzwpir.mjs → Lexical.dev-By5dOKBN.mjs} +1486 -356
- package/dist/{Lexical.node-BUsI9gWr.mjs → Lexical.node-fXM8Jp7p.mjs} +39 -17
- package/dist/{Lexical.prod-C8HtkSD6.mjs → Lexical.prod-BlCvXPGa.mjs} +2279 -1768
- package/dist/LexicalClipboard.dev--HxGoSkO.mjs +915 -0
- package/dist/{LexicalClipboard.node-CO-MCKx5.mjs → LexicalClipboard.node-C3mRbrmW.mjs} +10 -3
- package/dist/LexicalClipboard.prod-DNJzFMcT.mjs +371 -0
- package/dist/LexicalCodeCore.dev-DjSrd4A4.mjs +1109 -0
- package/dist/LexicalCodeCore.prod-DTDShkR3.mjs +642 -0
- package/dist/{LexicalDragon.dev-gBP8WSRS.mjs → LexicalDragon.dev-DwprRH0z.mjs} +3 -3
- package/dist/{LexicalDragon.node-OG6G55nl.mjs → LexicalDragon.node-BVhw4C7s.mjs} +2 -2
- package/dist/{LexicalDragon.prod-DP-_Q8cv.mjs → LexicalDragon.prod-nh4J-8vn.mjs} +3 -3
- package/dist/{LexicalExtension.dev-DVbjljrm.mjs → LexicalExtension.dev-BPNyvGqe.mjs} +335 -6
- package/dist/{LexicalExtension.node-CF3EAPN7.mjs → LexicalExtension.node-BVlcrgOx.mjs} +15 -8
- package/dist/{LexicalExtension.prod-DklHHErZ.mjs → LexicalExtension.prod-DFKbiNt-.mjs} +375 -265
- package/dist/{LexicalHeadless.dev-DdWLM7Nl.mjs → LexicalHeadless.dev-B-cj7Pr5.mjs} +2 -2
- package/dist/{LexicalHeadless.prod-CoiiTDzR.mjs → LexicalHeadless.prod-Byp1vNzT.mjs} +2 -2
- package/dist/LexicalHtml.dev-prBAwszN.mjs +2424 -0
- package/dist/LexicalHtml.node-BvNF96jZ.mjs +56 -0
- package/dist/LexicalHtml.prod-Sz3CW1ht.mjs +1207 -0
- package/dist/{LexicalLink.dev-BS1Bf-yD.mjs → LexicalLink.dev-NySTYhVR.mjs} +42 -8
- package/dist/{LexicalLink.prod-B_crkoHP.mjs → LexicalLink.prod-BuCM8gts.mjs} +209 -191
- package/dist/{LexicalList.dev-OMqmcnQ-.mjs → LexicalList.dev-DIMOvSFD.mjs} +252 -80
- package/dist/{LexicalList.prod-CpL1s8vS.mjs → LexicalList.prod-MVqfA6Vo.mjs} +364 -278
- package/dist/{LexicalMarkdown.dev-BHSdx_Gr.mjs → LexicalMarkdown.dev-C7aylvCG.mjs} +729 -552
- package/dist/LexicalMarkdown.prod-CfQSM406.mjs +868 -0
- package/dist/{LexicalRichText.dev-Bz9A_WbM.mjs → LexicalRichText.dev-DfICq6lU.mjs} +272 -77
- package/dist/{LexicalRichText.node-DDpwfE-P.mjs → LexicalRichText.node-Bg9jND3Q.mjs} +21 -8
- package/dist/LexicalRichText.prod-GsFzCK-o.mjs +550 -0
- package/dist/{LexicalSelection.dev-CQ380fnD.mjs → LexicalSelection.dev-DGjj12wW.mjs} +50 -38
- package/dist/{LexicalSelection.node-DesBMjIE.mjs → LexicalSelection.node-BU5L4193.mjs} +4 -4
- package/dist/{LexicalSelection.prod-D2jivCDB.mjs → LexicalSelection.prod-D-PwRbyK.mjs} +158 -140
- package/dist/{LexicalTable.dev-Ca7mQ7Jk.mjs → LexicalTable.dev-ChP7cugd.mjs} +215 -53
- package/dist/{LexicalTable.prod-DyPAcC7y.mjs → LexicalTable.prod-Bpr9YRXp.mjs} +668 -573
- package/dist/{LexicalUtils.dev-HxM8F0g6.mjs → LexicalUtils.dev-BiFU3789.mjs} +10 -47
- package/dist/{LexicalUtils.node-lCWjRjoG.mjs → LexicalUtils.node-j3Llm7Y3.mjs} +2 -2
- package/dist/{LexicalUtils.prod-Bti5w4ki.mjs → LexicalUtils.prod-DCvrA78p.mjs} +103 -105
- package/dist/bin/mxs.d.mts +1 -1
- package/dist/bin/mxs.mjs +1 -1
- package/dist/esm-By7trG9K.mjs +2 -0
- package/dist/{esm-CK9m5JKX.mjs → esm-Dg-WhPCe.mjs} +989 -989
- package/dist/index.d.mts +11 -2
- package/dist/index.mjs +1 -1
- package/dist/{mxs-BZt1cLW9.mjs → mxs-BR5Y5ash.mjs} +25141 -24672
- package/package.json +15 -14
- package/skills/commands-auth.md +1 -1
- package/skills/commands-category.md +1 -1
- package/skills/commands-comment.md +1 -1
- package/skills/commands-config.md +1 -1
- package/skills/commands-preview.md +1 -1
- package/skills/commands-profile.md +1 -1
- package/skills/commands-project.md +57 -0
- package/skills/commands-topic.md +1 -1
- package/skills/output-modes.md +1 -1
- package/skills/overview.md +2 -1
- package/skills/safety.md +10 -0
- package/dist/LexicalClipboard.dev-BpqRwTLP.mjs +0 -494
- package/dist/LexicalClipboard.prod-B_xdeiAC.mjs +0 -291
- package/dist/LexicalCodeCore.dev-7_cexm39.mjs +0 -537
- package/dist/LexicalCodeCore.prod-Bd6WFHcO.mjs +0 -381
- package/dist/LexicalHtml.dev-C3ZSWBFZ.mjs +0 -684
- package/dist/LexicalHtml.node-D0TD152E.mjs +0 -24
- package/dist/LexicalHtml.prod-CX47X0zl.mjs +0 -430
- package/dist/LexicalMarkdown.prod-C-S7Ii6-.mjs +0 -754
- package/dist/LexicalRichText.prod-C8qXACDL.mjs +0 -427
- package/dist/esm-DRbkkY3r.mjs +0 -2
- /package/dist/{mxs-CM8-6uAr.d.mts → mxs-iqJBopvE.d.mts} +0 -0
|
@@ -0,0 +1,550 @@
|
|
|
1
|
+
import { f as namedSignals, l as effect, o as NormalizeInlineElementsExtension, p as signal, s as NormalizeTripleClickSelectionExtension } from "./LexicalExtension.node-BVlcrgOx.mjs";
|
|
2
|
+
import { $ as $isElementNode, $t as ElementNode, An as KEY_ARROW_UP_COMMAND, Bn as OUTDENT_CONTENT_COMMAND, C as $getAdjacentNode, Dn as KEY_ARROW_DOWN_COMMAND, Fn as KEY_SPACE_COMMAND, Fr as shallowMergeConfig, H as $getRoot, Hn as PASTE_TAG, Ht as CONTROLLED_TEXT_INSERTION_COMMAND, In as KEY_TAB_COMMAND, J as $insertNodes, Jn as SELECT_ALL_COMMAND, Jt as DELETE_WORD_COMMAND, Kt as DELETE_CHARACTER_COMMAND, L as $getNearestNodeFromDOMNode, Mn as KEY_DELETE_COMMAND, Nn as KEY_ENTER_COMMAND, On as KEY_ARROW_LEFT_COMMAND, Pn as KEY_ESCAPE_COMMAND, Pr as setNodeIndentFromDOM, Pt as CLICK_COMMAND, Rn as MOVE_TO_END, Rt as COMMAND_PRIORITY_EDITOR, Sn as IS_SAFARI, Sr as isHTMLElement, St as $setFormatFromDOM, Tr as isSelectionCapturedInDecoratorInput, U as $getSelection, Ut as COPY_COMMAND, Vn as PASTE_COMMAND, Wn as REMOVE_TEXT_COMMAND, Wt as CUT_COMMAND, Xt as DRAGSTART_COMMAND, Yt as DRAGOVER_COMMAND, Z as $isDecoratorNode, Zt as DROP_COMMAND, at as $isNodeSelection, bn as IS_IOS, bt as $selectAll, cn as INSERT_PARAGRAPH_COMMAND, cr as defineExtension, ct as $isRootNode, f as $createParagraphNode, ft as $isTextNode, g as $createTabNode, gt as $normalizeSelection__EXPERIMENTAL, ir as createCommand, jn as KEY_BACKSPACE_COMMAND, jr as safeCast, jt as CAN_USE_BEFORE_INPUT, kn as KEY_ARROW_RIGHT_COMMAND, ln as INSERT_TAB_COMMAND, m as $createRangeSelection, mn as IS_APPLE_WEBKIT, n as $applyNodeReplacement, nn as FORMAT_TEXT_COMMAND, on as INDENT_CONTENT_COMMAND, qt as DELETE_LINE_COMMAND, rr as configExtension, sn as INSERT_LINE_BREAK_COMMAND, st as $isRangeSelection, tn as FORMAT_ELEMENT_COMMAND, vr as isDOMNode, wt as $setSelection, xt as $setDirectionFromDOM, zn as MOVE_TO_START } from "./Lexical.node-fXM8Jp7p.mjs";
|
|
3
|
+
import { a as CoreImportExtension, g as sel, o as DOMImportExtension, p as defineImportRule } from "./LexicalHtml.node-BvNF96jZ.mjs";
|
|
4
|
+
import { n as $moveCharacter, r as $shouldOverrideDefaultCharacterSelection, t as $isParentRTL } from "./LexicalSelection.node-BU5L4193.mjs";
|
|
5
|
+
import { d as addClassNamesToElement, g as objectKlassEquals, h as mergeRegister, i as $getNearestBlockElementAncestorOrThrow, m as isHTMLElement$1, o as $handleIndentAndOutdent, r as $findMatchingParent } from "./LexicalUtils.node-j3Llm7Y3.mjs";
|
|
6
|
+
import { a as caretFromPoint, i as $writeDragSourceToDataTransfer, n as $handleRichTextDrop, o as copyToClipboard, r as $insertDataTransferForRichText, s as setLexicalClipboardDataTransfer, t as $getClipboardDataFromSelection } from "./LexicalClipboard.node-C3mRbrmW.mjs";
|
|
7
|
+
import { t as DragonExtension } from "./LexicalDragon.node-BVhw4C7s.mjs";
|
|
8
|
+
//#region ../../node_modules/.pnpm/@lexical+rich-text@0.45.0/node_modules/@lexical/rich-text/dist/LexicalRichText.prod.mjs
|
|
9
|
+
/**
|
|
10
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
11
|
+
*
|
|
12
|
+
* This source code is licensed under the MIT license found in the
|
|
13
|
+
* LICENSE file in the root directory of this source tree.
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
16
|
+
function qe(e, t) {
|
|
17
|
+
return e && null !== t ? shallowMergeConfig(e, t) : t;
|
|
18
|
+
}
|
|
19
|
+
const We = defineExtension({
|
|
20
|
+
build: (e, t) => namedSignals(t),
|
|
21
|
+
config: safeCast({ escapeFormatTriggers: {
|
|
22
|
+
capitalize: {
|
|
23
|
+
enter: !0,
|
|
24
|
+
space: !0,
|
|
25
|
+
tab: !0
|
|
26
|
+
},
|
|
27
|
+
lowercase: {
|
|
28
|
+
enter: !0,
|
|
29
|
+
space: !0,
|
|
30
|
+
tab: !0
|
|
31
|
+
},
|
|
32
|
+
uppercase: {
|
|
33
|
+
enter: !0,
|
|
34
|
+
space: !0,
|
|
35
|
+
tab: !0
|
|
36
|
+
}
|
|
37
|
+
} }),
|
|
38
|
+
conflictsWith: ["@lexical/plain-text"],
|
|
39
|
+
dependencies: [
|
|
40
|
+
DragonExtension,
|
|
41
|
+
NormalizeInlineElementsExtension,
|
|
42
|
+
NormalizeTripleClickSelectionExtension
|
|
43
|
+
],
|
|
44
|
+
mergeConfig: function(e, t) {
|
|
45
|
+
const n = shallowMergeConfig(e, t);
|
|
46
|
+
return t.escapeFormatTriggers && (n.escapeFormatTriggers = function(e, t) {
|
|
47
|
+
const n = shallowMergeConfig(e, t);
|
|
48
|
+
for (const r of Object.keys(t)) n[r] = qe(e[r], t[r]);
|
|
49
|
+
return n;
|
|
50
|
+
}(e.escapeFormatTriggers, t.escapeFormatTriggers)), n;
|
|
51
|
+
},
|
|
52
|
+
name: "@lexical/rich-text",
|
|
53
|
+
nodes: () => [He, Xe],
|
|
54
|
+
register: (e, t, n) => effect(() => st(e, n.getOutput().escapeFormatTriggers))
|
|
55
|
+
});
|
|
56
|
+
const Re = [
|
|
57
|
+
defineImportRule({
|
|
58
|
+
$import: (e, t) => {
|
|
59
|
+
const n = Ze(t.nodeName.toLowerCase());
|
|
60
|
+
return setNodeIndentFromDOM(t, n), $setFormatFromDOM(n, t), $setDirectionFromDOM(n, t), [n.splice(0, 0, e.$importChildren(t))];
|
|
61
|
+
},
|
|
62
|
+
match: sel.tag("h1", "h2", "h3", "h4", "h5", "h6"),
|
|
63
|
+
name: "@lexical/rich-text/heading"
|
|
64
|
+
}),
|
|
65
|
+
defineImportRule({
|
|
66
|
+
$import: (e, t) => {
|
|
67
|
+
const n = Ye();
|
|
68
|
+
return $setFormatFromDOM(n, t), setNodeIndentFromDOM(t, n), $setDirectionFromDOM(n, t), [n.splice(0, 0, e.$importChildren(t))];
|
|
69
|
+
},
|
|
70
|
+
match: sel.tag("blockquote"),
|
|
71
|
+
name: "@lexical/rich-text/blockquote"
|
|
72
|
+
}),
|
|
73
|
+
defineImportRule({
|
|
74
|
+
$import: (e, t, n) => {
|
|
75
|
+
const r = t.firstChild;
|
|
76
|
+
return r && isHTMLElement(o = r) && "SPAN" === o.nodeName && "26pt" === o.style.fontSize ? e.$importChildren(t) : n();
|
|
77
|
+
var o;
|
|
78
|
+
},
|
|
79
|
+
match: sel.tag("p"),
|
|
80
|
+
name: "@lexical/rich-text/google-docs-title-p"
|
|
81
|
+
}),
|
|
82
|
+
defineImportRule({
|
|
83
|
+
$import: (e, t, n) => "26pt" !== t.style.fontSize ? n() : [Ze("h1").splice(0, 0, e.$importChildren(t))],
|
|
84
|
+
match: sel.tag("span"),
|
|
85
|
+
name: "@lexical/rich-text/google-docs-title-span"
|
|
86
|
+
})
|
|
87
|
+
], je = defineExtension({
|
|
88
|
+
dependencies: [
|
|
89
|
+
CoreImportExtension,
|
|
90
|
+
We,
|
|
91
|
+
configExtension(DOMImportExtension, { rules: Re })
|
|
92
|
+
],
|
|
93
|
+
name: "@lexical/rich-text/Import"
|
|
94
|
+
}), Be = createCommand("DRAG_DROP_PASTE_FILE");
|
|
95
|
+
var Xe = class Xe extends ElementNode {
|
|
96
|
+
static getType() {
|
|
97
|
+
return "quote";
|
|
98
|
+
}
|
|
99
|
+
static clone(e) {
|
|
100
|
+
return new Xe(e.__key);
|
|
101
|
+
}
|
|
102
|
+
createDOM(e) {
|
|
103
|
+
const t = document.createElement("blockquote");
|
|
104
|
+
return addClassNamesToElement(t, e.theme.quote), t;
|
|
105
|
+
}
|
|
106
|
+
updateDOM(e, t) {
|
|
107
|
+
return !1;
|
|
108
|
+
}
|
|
109
|
+
static importDOM() {
|
|
110
|
+
return { blockquote: (e) => ({
|
|
111
|
+
conversion: Ve,
|
|
112
|
+
priority: 0
|
|
113
|
+
}) };
|
|
114
|
+
}
|
|
115
|
+
exportDOM(e) {
|
|
116
|
+
const { element: t } = super.exportDOM(e);
|
|
117
|
+
if (isHTMLElement$1(t)) {
|
|
118
|
+
this.isEmpty() && t.append(document.createElement("br"));
|
|
119
|
+
const e = this.getFormatType();
|
|
120
|
+
e && (t.style.textAlign = e);
|
|
121
|
+
const n = this.getDirection();
|
|
122
|
+
n && (t.dir = n);
|
|
123
|
+
}
|
|
124
|
+
return { element: t };
|
|
125
|
+
}
|
|
126
|
+
static importJSON(e) {
|
|
127
|
+
return Ye().updateFromJSON(e);
|
|
128
|
+
}
|
|
129
|
+
insertNewAfter(e, t) {
|
|
130
|
+
const n = $createParagraphNode(), r = this.getDirection();
|
|
131
|
+
return n.setDirection(r), this.insertAfter(n, t), n;
|
|
132
|
+
}
|
|
133
|
+
collapseAtStart() {
|
|
134
|
+
const e = $createParagraphNode();
|
|
135
|
+
return this.getChildren().forEach((t) => e.append(t)), this.replace(e), !0;
|
|
136
|
+
}
|
|
137
|
+
canMergeWhenEmpty() {
|
|
138
|
+
return !0;
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
function Ye() {
|
|
142
|
+
return $applyNodeReplacement(new Xe());
|
|
143
|
+
}
|
|
144
|
+
function Ge(e) {
|
|
145
|
+
return e instanceof Xe;
|
|
146
|
+
}
|
|
147
|
+
var He = class He extends ElementNode {
|
|
148
|
+
__tag;
|
|
149
|
+
static getType() {
|
|
150
|
+
return "heading";
|
|
151
|
+
}
|
|
152
|
+
static clone(e) {
|
|
153
|
+
return new He(e.__tag, e.__key);
|
|
154
|
+
}
|
|
155
|
+
afterCloneFrom(e) {
|
|
156
|
+
super.afterCloneFrom(e), this.__tag = e.__tag;
|
|
157
|
+
}
|
|
158
|
+
constructor(e = "h1", t) {
|
|
159
|
+
super(t), this.__tag = e;
|
|
160
|
+
}
|
|
161
|
+
getTag() {
|
|
162
|
+
return this.getLatest().__tag;
|
|
163
|
+
}
|
|
164
|
+
setTag(e) {
|
|
165
|
+
const t = this.getWritable();
|
|
166
|
+
return t.__tag = e, t;
|
|
167
|
+
}
|
|
168
|
+
createDOM(e) {
|
|
169
|
+
const t = this.__tag, n = document.createElement(t), r = e.theme.heading;
|
|
170
|
+
if (void 0 !== r) {
|
|
171
|
+
const e = r[t];
|
|
172
|
+
addClassNamesToElement(n, e);
|
|
173
|
+
}
|
|
174
|
+
return n;
|
|
175
|
+
}
|
|
176
|
+
updateDOM(e, t, n) {
|
|
177
|
+
return e.__tag !== this.__tag;
|
|
178
|
+
}
|
|
179
|
+
static importDOM() {
|
|
180
|
+
return {
|
|
181
|
+
h1: (e) => ({
|
|
182
|
+
conversion: Ue,
|
|
183
|
+
priority: 0
|
|
184
|
+
}),
|
|
185
|
+
h2: (e) => ({
|
|
186
|
+
conversion: Ue,
|
|
187
|
+
priority: 0
|
|
188
|
+
}),
|
|
189
|
+
h3: (e) => ({
|
|
190
|
+
conversion: Ue,
|
|
191
|
+
priority: 0
|
|
192
|
+
}),
|
|
193
|
+
h4: (e) => ({
|
|
194
|
+
conversion: Ue,
|
|
195
|
+
priority: 0
|
|
196
|
+
}),
|
|
197
|
+
h5: (e) => ({
|
|
198
|
+
conversion: Ue,
|
|
199
|
+
priority: 0
|
|
200
|
+
}),
|
|
201
|
+
h6: (e) => ({
|
|
202
|
+
conversion: Ue,
|
|
203
|
+
priority: 0
|
|
204
|
+
}),
|
|
205
|
+
p: (e) => {
|
|
206
|
+
const t = e.firstChild;
|
|
207
|
+
return null !== t && Qe(t) ? {
|
|
208
|
+
conversion: () => ({ node: null }),
|
|
209
|
+
priority: 3
|
|
210
|
+
} : null;
|
|
211
|
+
},
|
|
212
|
+
span: (e) => Qe(e) ? {
|
|
213
|
+
conversion: (e) => ({ node: Ze("h1") }),
|
|
214
|
+
priority: 3
|
|
215
|
+
} : null
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
exportDOM(e) {
|
|
219
|
+
const { element: t } = super.exportDOM(e);
|
|
220
|
+
if (isHTMLElement$1(t)) {
|
|
221
|
+
this.isEmpty() && t.append(document.createElement("br"));
|
|
222
|
+
const e = this.getFormatType();
|
|
223
|
+
e && (t.style.textAlign = e);
|
|
224
|
+
const n = this.getDirection();
|
|
225
|
+
n && (t.dir = n);
|
|
226
|
+
}
|
|
227
|
+
return { element: t };
|
|
228
|
+
}
|
|
229
|
+
static importJSON(e) {
|
|
230
|
+
return Ze(e.tag).updateFromJSON(e);
|
|
231
|
+
}
|
|
232
|
+
updateFromJSON(e) {
|
|
233
|
+
return super.updateFromJSON(e).setTag(e.tag);
|
|
234
|
+
}
|
|
235
|
+
exportJSON() {
|
|
236
|
+
return {
|
|
237
|
+
...super.exportJSON(),
|
|
238
|
+
tag: this.getTag()
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
insertNewAfter(e, t = !0) {
|
|
242
|
+
const n = e ? e.anchor.offset : 0, r = this.getLastDescendant(), o = !r || e && e.anchor.key === r.getKey() && n === r.getTextContentSize() || !e ? $createParagraphNode() : Ze(this.getTag()), s = this.getDirection();
|
|
243
|
+
if (o.setDirection(s), this.insertAfter(o, t), 0 === n && !this.isEmpty() && e) {
|
|
244
|
+
const e = $createParagraphNode();
|
|
245
|
+
e.select(), this.replace(e, !0);
|
|
246
|
+
}
|
|
247
|
+
return o;
|
|
248
|
+
}
|
|
249
|
+
collapseAtStart() {
|
|
250
|
+
if (this.isEmpty()) {
|
|
251
|
+
const e = $createParagraphNode();
|
|
252
|
+
this.getChildren().forEach((t) => e.append(t)), this.replace(e);
|
|
253
|
+
}
|
|
254
|
+
return !0;
|
|
255
|
+
}
|
|
256
|
+
extractWithChild() {
|
|
257
|
+
return !0;
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
function Qe(e) {
|
|
261
|
+
return "span" === e.nodeName.toLowerCase() && "26pt" === e.style.fontSize;
|
|
262
|
+
}
|
|
263
|
+
function Ue(e) {
|
|
264
|
+
const t = e.nodeName.toLowerCase();
|
|
265
|
+
let n = null;
|
|
266
|
+
return "h1" !== t && "h2" !== t && "h3" !== t && "h4" !== t && "h5" !== t && "h6" !== t || (n = Ze(t), setNodeIndentFromDOM(e, n), $setFormatFromDOM(n, e), $setDirectionFromDOM(n, e)), { node: n };
|
|
267
|
+
}
|
|
268
|
+
function Ve(e) {
|
|
269
|
+
const t = Ye();
|
|
270
|
+
return $setFormatFromDOM(t, e), setNodeIndentFromDOM(e, t), $setDirectionFromDOM(t, e), { node: t };
|
|
271
|
+
}
|
|
272
|
+
function Ze(e = "h1") {
|
|
273
|
+
return $applyNodeReplacement(new He(e));
|
|
274
|
+
}
|
|
275
|
+
function et(e) {
|
|
276
|
+
return e instanceof He;
|
|
277
|
+
}
|
|
278
|
+
function tt(e) {
|
|
279
|
+
let t = null;
|
|
280
|
+
if (objectKlassEquals(e, DragEvent) ? t = e.dataTransfer : objectKlassEquals(e, ClipboardEvent) && (t = e.clipboardData), null === t) return [
|
|
281
|
+
!1,
|
|
282
|
+
[],
|
|
283
|
+
!1
|
|
284
|
+
];
|
|
285
|
+
const n = t.types, r = n.includes("Files"), o = n.includes("text/html") || n.includes("text/plain");
|
|
286
|
+
return [
|
|
287
|
+
r,
|
|
288
|
+
Array.from(t.files),
|
|
289
|
+
o
|
|
290
|
+
];
|
|
291
|
+
}
|
|
292
|
+
function nt(e) {
|
|
293
|
+
return $isDecoratorNode($getNearestNodeFromDOMNode(e));
|
|
294
|
+
}
|
|
295
|
+
function rt(e, t, n, r) {
|
|
296
|
+
let o = !1, s = null;
|
|
297
|
+
if (e.isCollapsed() && "text" === e.anchor.type) {
|
|
298
|
+
const t = e.anchor.getNode();
|
|
299
|
+
if ($isTextNode(t)) {
|
|
300
|
+
s = t;
|
|
301
|
+
const r = e.anchor.offset, i = r === t.getTextContentSize() && null === t.getNextSibling(), a = 0 === r && null === t.getPreviousSibling();
|
|
302
|
+
o = "end" === n && i || "start" === n && a || "both" === n && (i || a);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
let i = !1;
|
|
306
|
+
for (const [n, a] of Object.entries(r)) {
|
|
307
|
+
if (null == a || !a[t]) continue;
|
|
308
|
+
const r = n;
|
|
309
|
+
if (a.onlyAtBoundary) {
|
|
310
|
+
if (!(o && s && $isTextNode(s) && s.hasFormat(r))) continue;
|
|
311
|
+
i = !0;
|
|
312
|
+
}
|
|
313
|
+
e.hasFormat(r) && e.toggleFormat(r);
|
|
314
|
+
}
|
|
315
|
+
i && e.setStyle("");
|
|
316
|
+
}
|
|
317
|
+
const ot = {
|
|
318
|
+
capitalize: {
|
|
319
|
+
enter: !0,
|
|
320
|
+
space: !0,
|
|
321
|
+
tab: !0
|
|
322
|
+
},
|
|
323
|
+
lowercase: {
|
|
324
|
+
enter: !0,
|
|
325
|
+
space: !0,
|
|
326
|
+
tab: !0
|
|
327
|
+
},
|
|
328
|
+
uppercase: {
|
|
329
|
+
enter: !0,
|
|
330
|
+
space: !0,
|
|
331
|
+
tab: !0
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
function st(a, c = signal(ot)) {
|
|
335
|
+
return mergeRegister(a.registerCommand(CLICK_COMMAND, () => {
|
|
336
|
+
const e = $getSelection();
|
|
337
|
+
return $isNodeSelection(e) ? (e.clear(), !0) : ($isRangeSelection(e) && rt(e, "click", "both", c.peek()), !1);
|
|
338
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(DELETE_CHARACTER_COMMAND, (e) => {
|
|
339
|
+
const t = $getSelection();
|
|
340
|
+
return $isRangeSelection(t) ? (t.deleteCharacter(e), !0) : !!$isNodeSelection(t) && (t.deleteNodes(), !0);
|
|
341
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(DELETE_WORD_COMMAND, (e) => {
|
|
342
|
+
const t = $getSelection();
|
|
343
|
+
return !!$isRangeSelection(t) && (t.deleteWord(e), !0);
|
|
344
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(DELETE_LINE_COMMAND, (e) => {
|
|
345
|
+
const t = $getSelection();
|
|
346
|
+
return !!$isRangeSelection(t) && (t.deleteLine(e), !0);
|
|
347
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(CONTROLLED_TEXT_INSERTION_COMMAND, (t) => {
|
|
348
|
+
const n = $getSelection();
|
|
349
|
+
if ("string" == typeof t) null !== n && n.insertText(t);
|
|
350
|
+
else {
|
|
351
|
+
if (null === n) return !1;
|
|
352
|
+
const r = t.dataTransfer;
|
|
353
|
+
if (null != r) $insertDataTransferForRichText(r, n, a);
|
|
354
|
+
else if ($isRangeSelection(n)) {
|
|
355
|
+
const e = t.data;
|
|
356
|
+
return e && n.insertText(e), !0;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
return !0;
|
|
360
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(REMOVE_TEXT_COMMAND, () => {
|
|
361
|
+
const e = $getSelection();
|
|
362
|
+
return !!$isRangeSelection(e) && (e.removeText(), !0);
|
|
363
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(FORMAT_TEXT_COMMAND, (e) => {
|
|
364
|
+
const t = $getSelection();
|
|
365
|
+
return !!$isRangeSelection(t) && (t.formatText(e), !0);
|
|
366
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(FORMAT_ELEMENT_COMMAND, (e) => {
|
|
367
|
+
const t = $getSelection();
|
|
368
|
+
if (!$isRangeSelection(t) && !$isNodeSelection(t)) return !1;
|
|
369
|
+
const n = t.getNodes();
|
|
370
|
+
for (const t of n) {
|
|
371
|
+
const n = $findMatchingParent(t, (e) => $isElementNode(e) && !e.isInline());
|
|
372
|
+
null !== n && n.setFormat(e);
|
|
373
|
+
}
|
|
374
|
+
return !0;
|
|
375
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(INSERT_LINE_BREAK_COMMAND, (e) => {
|
|
376
|
+
const t = $getSelection();
|
|
377
|
+
return !!$isRangeSelection(t) && (t.insertLineBreak(e), !0);
|
|
378
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(INSERT_PARAGRAPH_COMMAND, () => {
|
|
379
|
+
const e = $getSelection();
|
|
380
|
+
return !!$isRangeSelection(e) && (e.insertParagraph(), !0);
|
|
381
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(INSERT_TAB_COMMAND, () => {
|
|
382
|
+
const e = $createTabNode(), t = $getSelection();
|
|
383
|
+
return $isRangeSelection(t) && (e.setFormat(t.format), e.setStyle(t.style)), $insertNodes([e]), !0;
|
|
384
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(INDENT_CONTENT_COMMAND, () => $handleIndentAndOutdent((e) => {
|
|
385
|
+
const t = e.getIndent();
|
|
386
|
+
e.setIndent(t + 1);
|
|
387
|
+
}), COMMAND_PRIORITY_EDITOR), a.registerCommand(OUTDENT_CONTENT_COMMAND, () => $handleIndentAndOutdent((e) => {
|
|
388
|
+
const t = e.getIndent();
|
|
389
|
+
t > 0 && e.setIndent(Math.max(0, t - 1));
|
|
390
|
+
}), COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_ARROW_UP_COMMAND, (e) => {
|
|
391
|
+
const t = $getSelection();
|
|
392
|
+
if ($isNodeSelection(t)) {
|
|
393
|
+
const n = t.getNodes();
|
|
394
|
+
if (n.length > 0) return e.preventDefault(), n[0].selectPrevious(), !0;
|
|
395
|
+
} else if ($isRangeSelection(t)) {
|
|
396
|
+
const n = $getAdjacentNode(t.focus, !0);
|
|
397
|
+
if (!e.shiftKey && $isDecoratorNode(n) && !n.isIsolated() && !n.isInline()) return n.selectPrevious(), e.preventDefault(), !0;
|
|
398
|
+
}
|
|
399
|
+
return !1;
|
|
400
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_ARROW_DOWN_COMMAND, (e) => {
|
|
401
|
+
const t = $getSelection();
|
|
402
|
+
if ($isNodeSelection(t)) {
|
|
403
|
+
const n = t.getNodes();
|
|
404
|
+
if (n.length > 0) return e.preventDefault(), n[0].selectNext(0, 0), !0;
|
|
405
|
+
} else if ($isRangeSelection(t)) {
|
|
406
|
+
if (function(e) {
|
|
407
|
+
const t = e.focus;
|
|
408
|
+
return "root" === t.key && t.offset === $getRoot().getChildrenSize();
|
|
409
|
+
}(t)) return e.preventDefault(), !0;
|
|
410
|
+
const n = $getAdjacentNode(t.focus, !1);
|
|
411
|
+
if (!e.shiftKey && $isDecoratorNode(n) && !n.isIsolated() && !n.isInline()) return n.selectNext(), e.preventDefault(), !0;
|
|
412
|
+
}
|
|
413
|
+
return !1;
|
|
414
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_ARROW_LEFT_COMMAND, (e) => {
|
|
415
|
+
const t = $getSelection();
|
|
416
|
+
if ($isNodeSelection(t)) {
|
|
417
|
+
const n = t.getNodes();
|
|
418
|
+
if (n.length > 0) return e.preventDefault(), $isParentRTL(n[0]) ? n[0].selectNext(0, 0) : n[0].selectPrevious(), !0;
|
|
419
|
+
}
|
|
420
|
+
if (!$isRangeSelection(t)) return !1;
|
|
421
|
+
if (e.shiftKey || rt(t, "arrow", "start", c.peek()), $shouldOverrideDefaultCharacterSelection(t, !0)) {
|
|
422
|
+
const n = e.shiftKey;
|
|
423
|
+
return e.preventDefault(), $moveCharacter(t, n, !0), !0;
|
|
424
|
+
}
|
|
425
|
+
return !1;
|
|
426
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_ARROW_RIGHT_COMMAND, (e) => {
|
|
427
|
+
const t = $getSelection();
|
|
428
|
+
if ($isNodeSelection(t)) {
|
|
429
|
+
const n = t.getNodes();
|
|
430
|
+
if (n.length > 0) return e.preventDefault(), $isParentRTL(n[0]) ? n[0].selectPrevious() : n[0].selectNext(0, 0), !0;
|
|
431
|
+
}
|
|
432
|
+
if (!$isRangeSelection(t)) return !1;
|
|
433
|
+
if (e.shiftKey || rt(t, "arrow", "end", c.peek()), $shouldOverrideDefaultCharacterSelection(t, !1)) {
|
|
434
|
+
const n = e.shiftKey;
|
|
435
|
+
return e.preventDefault(), $moveCharacter(t, n, !1), !0;
|
|
436
|
+
}
|
|
437
|
+
return !1;
|
|
438
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_BACKSPACE_COMMAND, (e) => {
|
|
439
|
+
if (nt(e.target)) return !1;
|
|
440
|
+
const t = $getSelection();
|
|
441
|
+
if ($isRangeSelection(t)) {
|
|
442
|
+
if (function(e) {
|
|
443
|
+
if (!e.isCollapsed()) return !1;
|
|
444
|
+
const { anchor: t } = e;
|
|
445
|
+
if (0 !== t.offset) return !1;
|
|
446
|
+
const n = t.getNode();
|
|
447
|
+
if ($isRootNode(n)) return !1;
|
|
448
|
+
const r = $getNearestBlockElementAncestorOrThrow(n);
|
|
449
|
+
return r.getIndent() > 0 && (r.is(n) || n.is(r.getFirstDescendant()));
|
|
450
|
+
}(t)) return e.preventDefault(), a.dispatchCommand(OUTDENT_CONTENT_COMMAND, void 0);
|
|
451
|
+
if (IS_IOS && "ko-KR" === navigator.language) return !1;
|
|
452
|
+
} else if (!$isNodeSelection(t)) return !1;
|
|
453
|
+
return e.preventDefault(), a.dispatchCommand(DELETE_CHARACTER_COMMAND, !0);
|
|
454
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_DELETE_COMMAND, (e) => {
|
|
455
|
+
if (nt(e.target)) return !1;
|
|
456
|
+
const t = $getSelection();
|
|
457
|
+
return !(!$isRangeSelection(t) && !$isNodeSelection(t)) && (e.preventDefault(), a.dispatchCommand(DELETE_CHARACTER_COMMAND, !1));
|
|
458
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_ENTER_COMMAND, (e) => {
|
|
459
|
+
let t = $getSelection();
|
|
460
|
+
if ($isNodeSelection(t)) {
|
|
461
|
+
const e = t.getNodes();
|
|
462
|
+
1 === e.length && $isDecoratorNode(e[0]) && !e[0].isInline() && (t = e[0].selectNext());
|
|
463
|
+
}
|
|
464
|
+
if (!$isRangeSelection(t)) return !1;
|
|
465
|
+
if (rt(t, "enter", "both", c.peek()), null !== e) {
|
|
466
|
+
if ((IS_IOS || IS_SAFARI || IS_APPLE_WEBKIT) && CAN_USE_BEFORE_INPUT) return !1;
|
|
467
|
+
if (e.preventDefault(), e.shiftKey) return a.dispatchCommand(INSERT_LINE_BREAK_COMMAND, !1);
|
|
468
|
+
}
|
|
469
|
+
return a.dispatchCommand(INSERT_PARAGRAPH_COMMAND, void 0);
|
|
470
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_ESCAPE_COMMAND, () => {
|
|
471
|
+
return !!$isRangeSelection($getSelection()) && (a.blur(), !0);
|
|
472
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(DROP_COMMAND, (e) => {
|
|
473
|
+
const [, r] = tt(e);
|
|
474
|
+
if (r.length > 0) {
|
|
475
|
+
const n = e.clientX, o = e.clientY, s = caretFromPoint(n, o);
|
|
476
|
+
if (null !== s) {
|
|
477
|
+
const { offset: e, node: t } = s, n = $getNearestNodeFromDOMNode(t);
|
|
478
|
+
if (null !== n) {
|
|
479
|
+
const t = $createRangeSelection();
|
|
480
|
+
if ($isTextNode(n)) t.anchor.set(n.getKey(), e, "text"), t.focus.set(n.getKey(), e, "text");
|
|
481
|
+
else {
|
|
482
|
+
const e = n.getParentOrThrow().getKey(), r = n.getIndexWithinParent() + 1;
|
|
483
|
+
t.anchor.set(e, r, "element"), t.focus.set(e, r, "element");
|
|
484
|
+
}
|
|
485
|
+
$setSelection($normalizeSelection__EXPERIMENTAL(t));
|
|
486
|
+
}
|
|
487
|
+
a.dispatchCommand(Be, r);
|
|
488
|
+
}
|
|
489
|
+
return e.preventDefault(), !0;
|
|
490
|
+
}
|
|
491
|
+
return $handleRichTextDrop(e, a);
|
|
492
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(DRAGSTART_COMMAND, (e) => {
|
|
493
|
+
const [t] = tt(e), n = $getSelection();
|
|
494
|
+
return !(t && !$isRangeSelection(n)) && ($isRangeSelection(n) && !n.isCollapsed() && null !== e.dataTransfer && (setLexicalClipboardDataTransfer(e.dataTransfer, $getClipboardDataFromSelection(n)), $writeDragSourceToDataTransfer(e.dataTransfer, a)), !0);
|
|
495
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(DRAGOVER_COMMAND, (e) => {
|
|
496
|
+
const [n] = tt(e), r = $getSelection();
|
|
497
|
+
if (n && !$isRangeSelection(r)) return !1;
|
|
498
|
+
const o = e.clientX, s = e.clientY, i = caretFromPoint(o, s);
|
|
499
|
+
if (null !== i) $isDecoratorNode($getNearestNodeFromDOMNode(i.node)) && e.preventDefault();
|
|
500
|
+
return !0;
|
|
501
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(SELECT_ALL_COMMAND, () => ($selectAll(), !0), COMMAND_PRIORITY_EDITOR), a.registerCommand(COPY_COMMAND, (e) => (copyToClipboard(a, objectKlassEquals(e, ClipboardEvent) ? e : null), !0), COMMAND_PRIORITY_EDITOR), a.registerCommand(CUT_COMMAND, (e) => (async function(e, t) {
|
|
502
|
+
await copyToClipboard(t, objectKlassEquals(e, ClipboardEvent) ? e : null), t.update(() => {
|
|
503
|
+
const e = $getSelection();
|
|
504
|
+
$isRangeSelection(e) ? e.removeText() : $isNodeSelection(e) && e.getNodes().forEach((e) => e.remove());
|
|
505
|
+
});
|
|
506
|
+
}(e, a), !0), COMMAND_PRIORITY_EDITOR), a.registerCommand(PASTE_COMMAND, (t) => {
|
|
507
|
+
const [, n, r] = tt(t);
|
|
508
|
+
if (n.length > 0 && !r) return a.dispatchCommand(Be, n), !0;
|
|
509
|
+
if (isDOMNode(t.target) && isSelectionCapturedInDecoratorInput(t.target)) return !1;
|
|
510
|
+
return null !== $getSelection() && (function(t, n) {
|
|
511
|
+
t.preventDefault(), n.update(() => {
|
|
512
|
+
const r = $getSelection(), o = objectKlassEquals(t, InputEvent) || objectKlassEquals(t, KeyboardEvent) ? null : t.clipboardData;
|
|
513
|
+
null != o && null !== r && $insertDataTransferForRichText(o, r, n);
|
|
514
|
+
}, { tag: PASTE_TAG });
|
|
515
|
+
}(t, a), !0);
|
|
516
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_SPACE_COMMAND, () => {
|
|
517
|
+
const e = $getSelection();
|
|
518
|
+
return $isRangeSelection(e) && rt(e, "space", "both", c.peek()), !1;
|
|
519
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(KEY_TAB_COMMAND, () => {
|
|
520
|
+
const e = $getSelection();
|
|
521
|
+
return $isRangeSelection(e) && rt(e, "tab", "both", c.peek()), !1;
|
|
522
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(MOVE_TO_END, (e) => {
|
|
523
|
+
const t = $getSelection();
|
|
524
|
+
if (!$isRangeSelection(t)) return !1;
|
|
525
|
+
const { anchor: n } = t;
|
|
526
|
+
if ("element" !== n.type || 0 !== n.offset) return !1;
|
|
527
|
+
const r = n.getNode();
|
|
528
|
+
if (!$isElementNode(r)) return !1;
|
|
529
|
+
const o = r.getFirstChild();
|
|
530
|
+
if (!$isDecoratorNode(o) || !o.isInline()) return !1;
|
|
531
|
+
const s = r.getLastDescendant();
|
|
532
|
+
if (null == s || $isDecoratorNode(s)) return !1;
|
|
533
|
+
const i = r.getKey(), a = r.selectEnd();
|
|
534
|
+
return e.shiftKey && a.anchor.set(i, 0, "element"), e.preventDefault(), e.stopPropagation(), !0;
|
|
535
|
+
}, COMMAND_PRIORITY_EDITOR), a.registerCommand(MOVE_TO_START, (e) => {
|
|
536
|
+
const t = $getSelection();
|
|
537
|
+
if (!$isRangeSelection(t)) return !1;
|
|
538
|
+
const { anchor: n, focus: r } = t, o = $findMatchingParent(r.getNode(), (e) => $isElementNode(e) && !e.isInline());
|
|
539
|
+
if (null === o) return !1;
|
|
540
|
+
const s = o.getFirstChild();
|
|
541
|
+
if (!$isDecoratorNode(s) || !s.isInline()) return !1;
|
|
542
|
+
const i = o.getLastDescendant();
|
|
543
|
+
if (null == i || $isDecoratorNode(i)) return !1;
|
|
544
|
+
if ($findMatchingParent(n.getNode(), (e) => $isElementNode(e) && !e.isInline()) !== o) return !1;
|
|
545
|
+
const a = o.getKey();
|
|
546
|
+
return ("element" !== r.type || r.key !== a || 0 !== r.offset) && (t.focus.set(a, 0, "element"), e.shiftKey || t.anchor.set(a, 0, "element"), e.preventDefault(), e.stopPropagation(), !0);
|
|
547
|
+
}, COMMAND_PRIORITY_EDITOR));
|
|
548
|
+
}
|
|
549
|
+
//#endregion
|
|
550
|
+
export { Ze as $createHeadingNode, Ye as $createQuoteNode, et as $isHeadingNode, Ge as $isQuoteNode, Be as DRAG_DROP_PASTE, He as HeadingNode, Xe as QuoteNode, We as RichTextExtension, je as RichTextImportExtension, Re as RichTextImportRules, tt as eventFiles, st as registerRichText };
|