@ebl-vue/editor-full 1.1.3 → 1.1.5
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/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { bundledLanguagesInfo as jt, codeToHtml as Vt } from "shiki";
|
|
|
5
5
|
import { make as S, isEmpty as rt } from "@editorjs/dom";
|
|
6
6
|
import { focus as Kt, isCaretAtStartOfInput as Yt, getCaretNodeAndOffset as Gt, getContenteditableSlice as Jt } from "@editorjs/caret";
|
|
7
7
|
import lt from "vanilla-caret-js";
|
|
8
|
-
import
|
|
8
|
+
import U from "axios";
|
|
9
9
|
const dt = Symbol("INSTALLED_KEY"), Xt = (h, t) => (h.install = (e) => {
|
|
10
10
|
for (const i of [h, ...Object.values({})]) e.component(i.name, i);
|
|
11
11
|
}, h);
|
|
@@ -734,10 +734,10 @@ class q {
|
|
|
734
734
|
let o;
|
|
735
735
|
if (i) {
|
|
736
736
|
const a = function(d, l) {
|
|
737
|
-
let
|
|
738
|
-
for (;
|
|
739
|
-
` && l > 0; ) l -= 1,
|
|
740
|
-
return
|
|
737
|
+
let p = "";
|
|
738
|
+
for (; p !== `
|
|
739
|
+
` && l > 0; ) l -= 1, p = d.substr(l, 1);
|
|
740
|
+
return p === `
|
|
741
741
|
` && (l += 1), l;
|
|
742
742
|
}(n, s);
|
|
743
743
|
if (n.substr(a, 2) !== r) return;
|
|
@@ -747,31 +747,31 @@ class q {
|
|
|
747
747
|
}
|
|
748
748
|
drawView() {
|
|
749
749
|
const t = document.createElement("div"), e = document.createElement("div"), i = document.createElement("div"), s = document.createElement("div"), n = document.createElement("div"), r = document.createElement("div"), o = document.createElement("select"), a = document.createElement("select"), d = document.createElement("span"), l = document.createElement("textarea");
|
|
750
|
-
return t.classList.add(this.CSS.baseClass, this.CSS.wrapper), e.classList.add("ce-editorjs-x-shiki__code"), i.classList.add("ce-editorjs-x-shiki__selector"), s.classList.add("ce-editorjs-x-shiki__lang"), n.classList.add("ce-editorjs-x-shiki__copy"), r.classList.add("ce-editorjs-x-shiki__copy_tip"), o.classList.add(this.CSS.selectorLanguage), l.classList.add(this.CSS.textarea, this.CSS.input), s.innerHTML = this.data.lang, n.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.25 8.5H10.25C9.2835 8.5 8.5 9.2835 8.5 10.25V17.25C8.5 18.2165 9.2835 19 10.25 19H17.25C18.2165 19 19 18.2165 19 17.25V10.25C19 9.2835 18.2165 8.5 17.25 8.5Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.5 8.5V6.75C15.5 6.28587 15.3156 5.84075 14.9874 5.51256C14.6592 5.18437 14.2141 5 13.75 5H6.75C6.28587 5 5.84075 5.18437 5.51256 5.51256C5.18437 5.84075 5 6.28587 5 6.75V13.75C5 14.2141 5.18437 14.6592 5.51256 14.9874C5.84075 15.3156 6.28587 15.5 6.75 15.5H8.5"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 12L15.5 12"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15.5L15.5 15.5"/></svg>', r.innerText = this.api.i18n.t("Copied"), jt.forEach((
|
|
751
|
-
const
|
|
752
|
-
|
|
753
|
-
}), o.value = this.data.lang, l.value = this.data.code, l.placeholder = this.placeholder, l.spellcheck = !1, l.autocomplete = "off", l.autocapitalize = "off", this.readOnly && (l.disabled = !0), e.appendChild(d), e.appendChild(l), this.readOnly ? i.appendChild(s) : i.appendChild(o), n.appendChild(r), i.appendChild(n), t.appendChild(i), t.appendChild(e), this.runShiki().then(({ html:
|
|
754
|
-
d.innerHTML =
|
|
755
|
-
}), o.addEventListener("change", (
|
|
756
|
-
const
|
|
757
|
-
this._selectorLanguage =
|
|
758
|
-
d.innerHTML = u, s.innerHTML =
|
|
750
|
+
return t.classList.add(this.CSS.baseClass, this.CSS.wrapper), e.classList.add("ce-editorjs-x-shiki__code"), i.classList.add("ce-editorjs-x-shiki__selector"), s.classList.add("ce-editorjs-x-shiki__lang"), n.classList.add("ce-editorjs-x-shiki__copy"), r.classList.add("ce-editorjs-x-shiki__copy_tip"), o.classList.add(this.CSS.selectorLanguage), l.classList.add(this.CSS.textarea, this.CSS.input), s.innerHTML = this.data.lang, n.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.25 8.5H10.25C9.2835 8.5 8.5 9.2835 8.5 10.25V17.25C8.5 18.2165 9.2835 19 10.25 19H17.25C18.2165 19 19 18.2165 19 17.25V10.25C19 9.2835 18.2165 8.5 17.25 8.5Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.5 8.5V6.75C15.5 6.28587 15.3156 5.84075 14.9874 5.51256C14.6592 5.18437 14.2141 5 13.75 5H6.75C6.28587 5 5.84075 5.18437 5.51256 5.51256C5.18437 5.84075 5 6.28587 5 6.75V13.75C5 14.2141 5.18437 14.6592 5.51256 14.9874C5.84075 15.3156 6.28587 15.5 6.75 15.5H8.5"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 12L15.5 12"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15.5L15.5 15.5"/></svg>', r.innerText = this.api.i18n.t("Copied"), jt.forEach((p) => {
|
|
751
|
+
const c = document.createElement("option");
|
|
752
|
+
c.value = p.id, c.text = p.name, o.appendChild(c);
|
|
753
|
+
}), o.value = this.data.lang, l.value = this.data.code, l.placeholder = this.placeholder, l.spellcheck = !1, l.autocomplete = "off", l.autocapitalize = "off", this.readOnly && (l.disabled = !0), e.appendChild(d), e.appendChild(l), this.readOnly ? i.appendChild(s) : i.appendChild(o), n.appendChild(r), i.appendChild(n), t.appendChild(i), t.appendChild(e), this.runShiki().then(({ html: p, preStyle: c }) => {
|
|
754
|
+
d.innerHTML = p, t == null || t.setAttribute("style", c), o.setAttribute("style", c), a.setAttribute("style", c);
|
|
755
|
+
}), o.addEventListener("change", (p) => {
|
|
756
|
+
const c = p.target.value;
|
|
757
|
+
this._selectorLanguage = c, this.runShiki().then(({ html: u, preStyle: g }) => {
|
|
758
|
+
d.innerHTML = u, s.innerHTML = c;
|
|
759
759
|
});
|
|
760
|
-
}), a.addEventListener("change", (
|
|
761
|
-
const
|
|
762
|
-
this._selectorTheme =
|
|
760
|
+
}), a.addEventListener("change", (p) => {
|
|
761
|
+
const c = p.target.value;
|
|
762
|
+
this._selectorTheme = c, this.runShiki().then(({ html: u, preStyle: g }) => {
|
|
763
763
|
d.innerHTML = u, t == null || t.setAttribute("style", g), o.setAttribute("style", g), a.setAttribute("style", g);
|
|
764
764
|
});
|
|
765
765
|
}), l.addEventListener("input", () => {
|
|
766
|
-
this.data.code = l.value, this.runShiki().then(({ html:
|
|
767
|
-
d.innerHTML =
|
|
766
|
+
this.data.code = l.value, this.runShiki().then(({ html: p, preStyle: c }) => {
|
|
767
|
+
d.innerHTML = p, t == null || t.setAttribute("style", c), o.setAttribute("style", c), a.setAttribute("style", c);
|
|
768
768
|
});
|
|
769
|
-
}), l.addEventListener("keydown", (
|
|
770
|
-
|
|
771
|
-
d.innerHTML =
|
|
769
|
+
}), l.addEventListener("keydown", (p) => {
|
|
770
|
+
p.code === "Tab" && (this.tabHandler(p), this.data.code = l.value, this.runShiki().then(({ html: c, preStyle: u }) => {
|
|
771
|
+
d.innerHTML = c;
|
|
772
772
|
}));
|
|
773
|
-
}), n.addEventListener("click", (
|
|
774
|
-
this.copyCode(this.data.code,
|
|
773
|
+
}), n.addEventListener("click", (p) => {
|
|
774
|
+
this.copyCode(this.data.code, p);
|
|
775
775
|
}), this.nodes.textarea = l, t;
|
|
776
776
|
}
|
|
777
777
|
async runShiki() {
|
|
@@ -1001,11 +1001,11 @@ function J(h) {
|
|
|
1001
1001
|
let t = h;
|
|
1002
1002
|
h.classList.contains(k.item) && (t = A(h)), t !== null && I(t).length === 0 && t.remove();
|
|
1003
1003
|
}
|
|
1004
|
-
function
|
|
1004
|
+
function j(h) {
|
|
1005
1005
|
return h.querySelector(`.${k.itemContent}`);
|
|
1006
1006
|
}
|
|
1007
1007
|
function F(h, t = !0) {
|
|
1008
|
-
const e =
|
|
1008
|
+
const e = j(h);
|
|
1009
1009
|
e && Kt(e, t);
|
|
1010
1010
|
}
|
|
1011
1011
|
class X {
|
|
@@ -1051,7 +1051,7 @@ class X {
|
|
|
1051
1051
|
return { tags: ["OL", "UL", "LI"] };
|
|
1052
1052
|
}
|
|
1053
1053
|
merge(t) {
|
|
1054
|
-
const e = this.block.holder.querySelectorAll(`.${k.item}`), i = e[e.length - 1], s =
|
|
1054
|
+
const e = this.block.holder.querySelectorAll(`.${k.item}`), i = e[e.length - 1], s = j(i);
|
|
1055
1055
|
if (i === null || s === null || (s.insertAdjacentHTML("beforeend", t.items[0].content), this.listWrapper === void 0)) return;
|
|
1056
1056
|
const n = I(this.listWrapper);
|
|
1057
1057
|
if (n.length === 0) return;
|
|
@@ -1079,9 +1079,9 @@ class X {
|
|
|
1079
1079
|
const n = { style: s, meta: {}, items: [] };
|
|
1080
1080
|
s === "ordered" && (this.data.meta.counterType = "numeric", this.data.meta.start = 1);
|
|
1081
1081
|
const r = (o) => Array.from(o.querySelectorAll(":scope > li")).map((a) => {
|
|
1082
|
-
var
|
|
1082
|
+
var p;
|
|
1083
1083
|
const d = a.querySelector(`:scope > ${i}`), l = d ? r(d) : [];
|
|
1084
|
-
return { content: (
|
|
1084
|
+
return { content: (p = a.innerHTML) != null ? p : "", meta: {}, items: l };
|
|
1085
1085
|
});
|
|
1086
1086
|
return n.items = r(t), n;
|
|
1087
1087
|
}
|
|
@@ -1139,36 +1139,36 @@ class X {
|
|
|
1139
1139
|
splitItem(t) {
|
|
1140
1140
|
const [e, i] = Gt();
|
|
1141
1141
|
if (e === null) return;
|
|
1142
|
-
const s =
|
|
1142
|
+
const s = j(t);
|
|
1143
1143
|
let n;
|
|
1144
1144
|
n = s === null ? "" : Jt(s, e, i, "right", !0);
|
|
1145
1145
|
const r = A(t), o = this.renderItem(n);
|
|
1146
1146
|
t == null || t.after(o), r && o.appendChild(r), F(o);
|
|
1147
1147
|
}
|
|
1148
1148
|
mergeItemWithPrevious(t) {
|
|
1149
|
-
var
|
|
1149
|
+
var p;
|
|
1150
1150
|
const e = t.previousElementSibling, i = t.parentNode;
|
|
1151
1151
|
if (i === null || !R(i)) return;
|
|
1152
1152
|
const s = i.closest(`.${k.item}`);
|
|
1153
1153
|
if (!e && !s || e && !R(e)) return;
|
|
1154
1154
|
let n;
|
|
1155
1155
|
if (e) {
|
|
1156
|
-
const
|
|
1157
|
-
n =
|
|
1156
|
+
const c = I(e, !1);
|
|
1157
|
+
n = c.length !== 0 && c.length !== 0 ? c[c.length - 1] : e;
|
|
1158
1158
|
} else n = s;
|
|
1159
1159
|
const r = this.renderer.getItemContent(t);
|
|
1160
1160
|
if (!n) return;
|
|
1161
1161
|
F(n, !1);
|
|
1162
|
-
const o =
|
|
1162
|
+
const o = j(n);
|
|
1163
1163
|
if (o === null) return;
|
|
1164
1164
|
o.insertAdjacentHTML("beforeend", r);
|
|
1165
1165
|
const a = I(t);
|
|
1166
1166
|
if (a.length === 0) return t.remove(), void J(n);
|
|
1167
|
-
const d = e || s, l = (
|
|
1168
|
-
e ? a.forEach((
|
|
1169
|
-
l.appendChild(
|
|
1170
|
-
}) : a.forEach((
|
|
1171
|
-
l.prepend(
|
|
1167
|
+
const d = e || s, l = (p = A(d)) != null ? p : this.renderer.renderWrapper(!1);
|
|
1168
|
+
e ? a.forEach((c) => {
|
|
1169
|
+
l.appendChild(c);
|
|
1170
|
+
}) : a.forEach((c) => {
|
|
1171
|
+
l.prepend(c);
|
|
1172
1172
|
}), A(d) === null && n.appendChild(l), t.remove();
|
|
1173
1173
|
}
|
|
1174
1174
|
addTab(t) {
|
|
@@ -1231,7 +1231,7 @@ class X {
|
|
|
1231
1231
|
}
|
|
1232
1232
|
}
|
|
1233
1233
|
const ae = /* @__PURE__ */ new Map([["Numeric", "numeric"], ["Lower Roman", "lower-roman"], ["Upper Roman", "upper-roman"], ["Lower Alpha", "lower-alpha"], ["Upper Alpha", "upper-alpha"]]);
|
|
1234
|
-
class
|
|
1234
|
+
class K {
|
|
1235
1235
|
static get isReadOnlySupported() {
|
|
1236
1236
|
return !0;
|
|
1237
1237
|
}
|
|
@@ -1245,7 +1245,7 @@ class V {
|
|
|
1245
1245
|
return { tags: ["OL", "UL", "LI"] };
|
|
1246
1246
|
}
|
|
1247
1247
|
static get conversionConfig() {
|
|
1248
|
-
return { export: (t) =>
|
|
1248
|
+
return { export: (t) => K.joinRecursive(t), import: (t, e) => ({ meta: {}, items: [{ content: t, meta: {}, items: [] }], style: (e == null ? void 0 : e.defaultStyle) !== void 0 ? e.defaultStyle : "unordered" }) };
|
|
1249
1249
|
}
|
|
1250
1250
|
get listStyle() {
|
|
1251
1251
|
return this.data.style || this.defaultListStyle;
|
|
@@ -1276,7 +1276,7 @@ class V {
|
|
|
1276
1276
|
}(t) : r, this.listStyle === "ordered" && this.data.meta.counterType === void 0 && (this.data.meta.counterType = "numeric"), this.changeTabulatorByStyle();
|
|
1277
1277
|
}
|
|
1278
1278
|
static joinRecursive(t) {
|
|
1279
|
-
return t.items.map((e) => `${e.content} ${
|
|
1279
|
+
return t.items.map((e) => `${e.content} ${K.joinRecursive(e)}`).join("");
|
|
1280
1280
|
}
|
|
1281
1281
|
render() {
|
|
1282
1282
|
return this.listElement = this.list.render(), this.listElement;
|
|
@@ -1359,7 +1359,7 @@ class de {
|
|
|
1359
1359
|
constructor({ editor: t, config: e = {}, onUpdate: i, maxLength: s }) {
|
|
1360
1360
|
this.position = 0;
|
|
1361
1361
|
const n = { maxLength: 30, onUpdate() {
|
|
1362
|
-
}, config: { debounceTimer: 200, shortcuts: { undo: ["CMD+Z"], redo: ["CMD+Y", "CMD+SHIFT+Z"] } } }, { blocks: r, caret: o } = t, { configuration: a } = t, { holder: d, defaultBlock: l } = a,
|
|
1362
|
+
}, config: { debounceTimer: 200, shortcuts: { undo: ["CMD+Z"], redo: ["CMD+Y", "CMD+SHIFT+Z"] } } }, { blocks: r, caret: o } = t, { configuration: a } = t, { holder: d, defaultBlock: l } = a, p = n.config.shortcuts, { shortcuts: c } = e, u = { ...p, ...c }, g = Array.isArray(u.undo) ? u.undo : [u.undo], m = Array.isArray(u.redo) ? u.redo : [u.redo], f = n.config.debounceTimer, { debounceTimer: v = f } = e;
|
|
1363
1363
|
this.holder = typeof d == "string" ? document.getElementById(d) : d, this.editor = t, this.defaultBlock = l, this.blocks = r, this.caret = o, this.shouldSaveHistory = !0, this.readOnly = a.readOnly, this.maxLength = s || n.maxLength, this.onUpdate = i || n.onUpdate, this.config = { debounceTimer: v, shortcuts: { undo: g, redo: m } }, new le(() => this.registerChange(), this.holder, this.config.debounceTimer).setMutationObserver(), this.setEventListeners(), this.initialItem = null, this.clear();
|
|
1364
1364
|
}
|
|
1365
1365
|
static get isReadOnlySupported() {
|
|
@@ -1482,13 +1482,13 @@ class de {
|
|
|
1482
1482
|
return i.push(s), i;
|
|
1483
1483
|
}
|
|
1484
1484
|
setEventListeners() {
|
|
1485
|
-
const { holder: t } = this, { shortcuts: e } = this.config, { undo: i, redo: s } = e, n = i.map((u) => u.replace(/ /g, "").split("+")), r = s.map((u) => u.replace(/ /g, "").split("+")), o = n.map((u) => this.parseKeys(u)), a = r.map((u) => this.parseKeys(u)), d = (u, g) => g.reduce((m, f) => m || ((v, L) => L.length === 3 && v[L[0]] && v[L[1]] && v.key.toLowerCase() === L[2])(u, f), !1), l = (u, g, m) => !(!((f, v) => v.reduce((L, w) => L || ((_, B) => B.length === 2 && _[B[0]] && _.key.toLowerCase() === B[1])(f, w), !1))(u, g) || d(u, m)) || !!d(u, g),
|
|
1485
|
+
const { holder: t } = this, { shortcuts: e } = this.config, { undo: i, redo: s } = e, n = i.map((u) => u.replace(/ /g, "").split("+")), r = s.map((u) => u.replace(/ /g, "").split("+")), o = n.map((u) => this.parseKeys(u)), a = r.map((u) => this.parseKeys(u)), d = (u, g) => g.reduce((m, f) => m || ((v, L) => L.length === 3 && v[L[0]] && v[L[1]] && v.key.toLowerCase() === L[2])(u, f), !1), l = (u, g, m) => !(!((f, v) => v.reduce((L, w) => L || ((_, B) => B.length === 2 && _[B[0]] && _.key.toLowerCase() === B[1])(f, w), !1))(u, g) || d(u, m)) || !!d(u, g), p = (u) => {
|
|
1486
1486
|
l(u, o, a) && (u.preventDefault(), this.undo());
|
|
1487
|
-
},
|
|
1487
|
+
}, c = (u) => {
|
|
1488
1488
|
l(u, a, o) && (u.preventDefault(), this.redo());
|
|
1489
1489
|
};
|
|
1490
|
-
t.addEventListener("keydown",
|
|
1491
|
-
t.removeEventListener("keydown",
|
|
1490
|
+
t.addEventListener("keydown", p), t.addEventListener("keydown", c), t.addEventListener("destroy", () => {
|
|
1491
|
+
t.removeEventListener("keydown", p), t.removeEventListener("keydown", c);
|
|
1492
1492
|
});
|
|
1493
1493
|
}
|
|
1494
1494
|
}
|
|
@@ -1622,9 +1622,9 @@ class H {
|
|
|
1622
1622
|
}
|
|
1623
1623
|
const wt = { orientation: !1 }, b = class b {
|
|
1624
1624
|
constructor({ api: t, data: e, config: i, block: s, ...n }) {
|
|
1625
|
-
var o, a, d, l,
|
|
1625
|
+
var o, a, d, l, p, c;
|
|
1626
1626
|
this.wrapper = document.createElement("div"), this.DEFAULT_INDENT_KEY = "Tab", this.lastResizeTimeout = null, this.cachedMaxWidthForContent = null, this.api = t, this.block = s, !i && "settings" in n && (i = (o = n.settings) != null ? o : {}), this.config = { indentSize: 24, maxIndent: 8, minIndent: 0, multiblock: !1, autoIndent: !1, tuneName: null, orientation: "horizontal", customBlockIndentLimits: {}, handleShortcut: void 0, direction: "ltr", directionChangeHandler: null, version: "2.30", ...i != null ? i : {} }, this.changeConfigBasedOnVersionIfNeeded(), (a = this.config) != null && a.directionChangeHandler && this.config.directionChangeHandler(this.alignmentChangeListener.bind(this));
|
|
1627
|
-
const r = (
|
|
1627
|
+
const r = (c = (p = this.config.customBlockIndentLimits[(l = (d = this.block) == null ? void 0 : d.name) != null ? l : ""]) == null ? void 0 : p.min) != null ? c : this.config.minIndent;
|
|
1628
1628
|
this.data = { indentLevel: r, ...e != null ? e : {} }, this.config.multiblock && this.config.tuneName, window.addEventListener("resize", (u) => this.onResize.call(this, u)), this.api.events.on("block changed", ({ event: u }) => {
|
|
1629
1629
|
var f;
|
|
1630
1630
|
const g = u.detail.target.id;
|
|
@@ -1654,9 +1654,9 @@ const wt = { orientation: !1 }, b = class b {
|
|
|
1654
1654
|
t() && setTimeout(t, 300);
|
|
1655
1655
|
}), this.config.orientation === "vertical") {
|
|
1656
1656
|
const a = `${this.TuneNames.indentLeft}-${(r = this.block) == null ? void 0 : r.id}`, d = `${this.TuneNames.indentRight}-${(o = this.block) == null ? void 0 : o.id}`;
|
|
1657
|
-
return [{ title: this.rightText, hint: { title: this.api.i18n.t(this.rightText) }, onActivate: (l,
|
|
1657
|
+
return [{ title: this.rightText, hint: { title: this.api.i18n.t(this.rightText) }, onActivate: (l, p) => {
|
|
1658
1658
|
this.handleIndentRight(), l.title = this.rightText;
|
|
1659
|
-
}, icon: kt, name: d }, { title: this.leftText, hint: { title: this.api.i18n.t(this.leftText) }, onActivate: (l,
|
|
1659
|
+
}, icon: kt, name: d }, { title: this.leftText, hint: { title: this.api.i18n.t(this.leftText) }, onActivate: (l, p) => {
|
|
1660
1660
|
this.handleIndentLeft(), l.title = this.leftText;
|
|
1661
1661
|
}, icon: vt, name: a }];
|
|
1662
1662
|
}
|
|
@@ -1757,14 +1757,14 @@ const wt = { orientation: !1 }, b = class b {
|
|
|
1757
1757
|
const s = this.getGlobalSelectedBlocks();
|
|
1758
1758
|
if (!this.config.multiblock || s.length < 2) return i ? this.indentBlock() : this.unIndentBlock(), void ((o = (r = this.block).dispatchChange) == null ? void 0 : o.call(r));
|
|
1759
1759
|
this.config.tuneName && s.forEach(async (a) => {
|
|
1760
|
-
var
|
|
1760
|
+
var c, u, g, m;
|
|
1761
1761
|
const d = await a.save();
|
|
1762
1762
|
if (!d || !("tunes" in d) || typeof d.tunes != "object" || !d.tunes) return;
|
|
1763
|
-
const l = d.tunes[(
|
|
1763
|
+
const l = d.tunes[(c = this.config.tuneName) != null ? c : ""];
|
|
1764
1764
|
if (!l) return;
|
|
1765
1765
|
l.indentLevel = i ? Math.min(this.config.maxIndent, ((u = l.indentLevel) != null ? u : 0) + 1) : Math.max(0, ((g = l.indentLevel) != null ? g : 0) - 1), (m = a.dispatchChange) == null || m.call(a);
|
|
1766
|
-
const
|
|
1767
|
-
|
|
1766
|
+
const p = this.getWrapperBlockById(a.id);
|
|
1767
|
+
p instanceof HTMLElement && this.applyStylesToWrapper(p, l.indentLevel);
|
|
1768
1768
|
});
|
|
1769
1769
|
}
|
|
1770
1770
|
handleIndentLeft() {
|
|
@@ -1813,8 +1813,8 @@ const wt = { orientation: !1 }, b = class b {
|
|
|
1813
1813
|
if (r === 0) return void queueMicrotask(() => this.applyStylesToWrapper.bind(this)(t, e));
|
|
1814
1814
|
const o = (r - this.maxWidthForContent(t)) / 2, a = Math.max(0, Math.min(o, i)), d = 2 * a + "px", l = `${a}px`;
|
|
1815
1815
|
this.isDirectionInverted ? (t.style.paddingLeft = "0px", t.style.paddingRight = d) : (t.style.paddingLeft = d, t.style.paddingRight = "0px");
|
|
1816
|
-
const
|
|
1817
|
-
|
|
1816
|
+
const p = t.querySelector(`.${this.CSS.highlightIndent}`);
|
|
1817
|
+
p instanceof HTMLElement && (this.isDirectionInverted ? (p.style.width = l, p.style.left = "100%", p.style.right = "") : (p.style.width = l, p.style.left = "", p.style.right = "100%"));
|
|
1818
1818
|
}
|
|
1819
1819
|
onFocus(t) {
|
|
1820
1820
|
t.target instanceof HTMLElement && this.wrapper.contains(t.target) && this.wrapper.setAttribute(b.DATA_FOCUSED, "");
|
|
@@ -2401,20 +2401,20 @@ class ue {
|
|
|
2401
2401
|
}
|
|
2402
2402
|
getHoveredCell(t) {
|
|
2403
2403
|
let e = this.hoveredRow, i = this.hoveredColumn;
|
|
2404
|
-
const { width: s, height: n, x: r, y: o } = function(
|
|
2405
|
-
const g =
|
|
2404
|
+
const { width: s, height: n, x: r, y: o } = function(c, u) {
|
|
2405
|
+
const g = c.getBoundingClientRect(), { width: m, height: f, x: v, y: L } = g, { clientX: w, clientY: _ } = u;
|
|
2406
2406
|
return { width: m, height: f, x: w - v, y: _ - L };
|
|
2407
2407
|
}(this.table, t);
|
|
2408
2408
|
if (r >= 0) {
|
|
2409
|
-
const
|
|
2410
|
-
i = this.binSearch(this.numberOfColumns, (g) => this.getCell(1, g),
|
|
2409
|
+
const c = ({ fromLeftBorder: g }) => r < g, u = ({ fromRightBorder: g }) => r > s - g;
|
|
2410
|
+
i = this.binSearch(this.numberOfColumns, (g) => this.getCell(1, g), c, u);
|
|
2411
2411
|
}
|
|
2412
2412
|
if (o >= 0) {
|
|
2413
|
-
const
|
|
2414
|
-
e = this.binSearch(this.numberOfRows, (g) => this.getCell(g, 1),
|
|
2413
|
+
const c = ({ fromTopBorder: g }) => o < g, u = ({ fromBottomBorder: g }) => o > n - g;
|
|
2414
|
+
e = this.binSearch(this.numberOfRows, (g) => this.getCell(g, 1), c, u);
|
|
2415
2415
|
}
|
|
2416
|
-
const a = e || this.hoveredRow, d = i || this.hoveredColumn, { deltaXCell: l, deltaYCell:
|
|
2417
|
-
return { row: a, column: d, deltaXCell: l, deltaYCell:
|
|
2416
|
+
const a = e || this.hoveredRow, d = i || this.hoveredColumn, { deltaXCell: l, deltaYCell: p } = this.getMousePositionRelateToCell(a, d, r, o);
|
|
2417
|
+
return { row: a, column: d, deltaXCell: l, deltaYCell: p };
|
|
2418
2418
|
}
|
|
2419
2419
|
getMousePositionRelateToCell(t, e, i, s) {
|
|
2420
2420
|
const n = this.getCell(t, e), { fromTopBorder: r, fromLeftBorder: o } = Q(this.table, n);
|
|
@@ -2496,7 +2496,7 @@ function P(h, t = null, e = {}) {
|
|
|
2496
2496
|
for (const s in e) e.hasOwnProperty(s) && (i[s] = e[s]);
|
|
2497
2497
|
return i;
|
|
2498
2498
|
}
|
|
2499
|
-
var
|
|
2499
|
+
var V = ((h) => (h.Empty = "empty", h.Uploading = "uploading", h.Filled = "filled", h))(V || {});
|
|
2500
2500
|
class me {
|
|
2501
2501
|
constructor({ api: t, config: e, onSelectFile: i, readOnly: s }) {
|
|
2502
2502
|
this.api = t, this.config = e, this.onSelectFile = i, this.readOnly = s, this.nodes = { wrapper: P("div", [this.CSS.baseClass, this.CSS.wrapper]), imageContainer: P("div", [this.CSS.imageContainer]), fileButton: this.createFileButton(), imageEl: void 0, imagePreloader: P("div", this.CSS.imagePreloader), caption: P("div", [this.CSS.input, this.CSS.caption], { contentEditable: !this.readOnly }) }, this.nodes.caption.dataset.placeholder = this.config.captionPlaceholder, this.nodes.imageContainer.appendChild(this.nodes.imagePreloader), this.nodes.wrapper.appendChild(this.nodes.imageContainer), this.nodes.wrapper.appendChild(this.nodes.caption), this.nodes.wrapper.appendChild(this.nodes.fileButton);
|
|
@@ -2524,8 +2524,8 @@ class me {
|
|
|
2524
2524
|
this.nodes.caption !== void 0 && (this.nodes.caption.innerHTML = t);
|
|
2525
2525
|
}
|
|
2526
2526
|
toggleStatus(t) {
|
|
2527
|
-
for (const e in
|
|
2528
|
-
const i =
|
|
2527
|
+
for (const e in V) if (Object.prototype.hasOwnProperty.call(V, e)) {
|
|
2528
|
+
const i = V[e];
|
|
2529
2529
|
this.nodes.wrapper.classList.toggle(`${this.CSS.wrapper}--${i}`, i === t);
|
|
2530
2530
|
}
|
|
2531
2531
|
}
|
|
@@ -2577,13 +2577,12 @@ class fe {
|
|
|
2577
2577
|
const m = this.config.userStore.token, f = this.config.userStore.tokenName, v = this.config.userStore.tokenPrefix;
|
|
2578
2578
|
m && f && (l[f] = v + " " + m);
|
|
2579
2579
|
}
|
|
2580
|
-
const c = Y.create({ timeout: 18e5, headers: l });
|
|
2581
2580
|
l["Content-Type"] = "application/json";
|
|
2582
|
-
const p = await
|
|
2583
|
-
if (
|
|
2584
|
-
const u =
|
|
2581
|
+
const p = U.create({ timeout: 18e5, headers: l }), c = await p.post(this.config.endpoints.byFile, { fileName: r.name, contentType: r.type });
|
|
2582
|
+
if (c.status !== 200) return void this.onError(c.statusText);
|
|
2583
|
+
const u = c.data;
|
|
2585
2584
|
if (!u.success) return void this.onError(u.message);
|
|
2586
|
-
i = u.data.cdn, s = u.data.objectKey,
|
|
2585
|
+
i = u.data.cdn, s = u.data.objectKey, U.create({ timeout: 18e5, headers: { "Content-Type": r.type } }).put(u.data.presignedUrl, r).then((m) => {
|
|
2587
2586
|
m.status === 200 && (m = { success: 1, file: { url: i + s } }), this.onUpload(m);
|
|
2588
2587
|
}).catch((m) => {
|
|
2589
2588
|
this.onError(m);
|
|
@@ -2595,7 +2594,7 @@ class fe {
|
|
|
2595
2594
|
const s = this.config.userStore.token, n = this.config.userStore.tokenName, r = this.config.userStore.tokenPrefix;
|
|
2596
2595
|
s && n && (i[n] = r + " " + s);
|
|
2597
2596
|
}
|
|
2598
|
-
e =
|
|
2597
|
+
e = U.create({ timeout: 18e5, headers: i }).post(this.config.endpoints.byUrl, { url: t, accept: ".jpg,.jpeg,.gif,.png,.webp" }), e.then((s) => {
|
|
2599
2598
|
if (s.status !== 200 || s.data.success === !1) return void this.onError(s.data.message);
|
|
2600
2599
|
let n = { success: 1, file: { url: s.data.data.cdn + s.data.data.objectKey } };
|
|
2601
2600
|
this.onUpload(n);
|
|
@@ -2609,24 +2608,24 @@ class fe {
|
|
|
2609
2608
|
if (!i.includes(n.toLowerCase())) return void this.onError("文件类型不支持");
|
|
2610
2609
|
let r = {};
|
|
2611
2610
|
if (this.config.userStore) {
|
|
2612
|
-
const
|
|
2613
|
-
|
|
2611
|
+
const c = this.config.userStore.token, u = this.config.userStore.tokenName, g = this.config.userStore.tokenPrefix;
|
|
2612
|
+
c && u && (r[u] = g + " " + c);
|
|
2614
2613
|
}
|
|
2615
|
-
const o =
|
|
2614
|
+
const o = U.create({ timeout: 18e5, headers: r });
|
|
2616
2615
|
r["Content-Type"] = "application/json";
|
|
2617
2616
|
const a = await o.post(this.config.endpoints.byFile, { fileName: t.name, contentType: t.type });
|
|
2618
2617
|
if (a.status !== 200) return void this.onError(a.statusText);
|
|
2619
2618
|
const d = a.data;
|
|
2620
2619
|
if (!d.success) return void this.onError(d.message);
|
|
2621
|
-
let l = d.data.cdn,
|
|
2622
|
-
r["Content-Type"] = t.type, o.put(d.data.presignedUrl, t).then((
|
|
2623
|
-
|
|
2624
|
-
}).catch((
|
|
2625
|
-
this.onError(
|
|
2620
|
+
let l = d.data.cdn, p = d.data.objectKey;
|
|
2621
|
+
r["Content-Type"] = t.type, o.put(d.data.presignedUrl, t).then((c) => {
|
|
2622
|
+
c.status === 200 && (c = { success: 1, file: { url: l + p } }), this.onUpload(c);
|
|
2623
|
+
}).catch((c) => {
|
|
2624
|
+
this.onError(c);
|
|
2626
2625
|
});
|
|
2627
2626
|
}
|
|
2628
2627
|
}
|
|
2629
|
-
class
|
|
2628
|
+
class Y {
|
|
2630
2629
|
constructor({ data: t, config: e, api: i, readOnly: s, block: n }) {
|
|
2631
2630
|
var r;
|
|
2632
2631
|
this.isCaptionEnabled = null, this.api = i, this.block = n, this.userStore = e == null ? void 0 : e.userStore, this.config = { endpoints: e.endpoints, additionalRequestData: e.additionalRequestData, additionalRequestHeaders: e.additionalRequestHeaders, field: e.field, types: e.types, captionPlaceholder: this.api.i18n.t((r = e.captionPlaceholder) != null ? r : "Caption"), buttonContent: e.buttonContent, uploader: e.uploader, actions: e.actions, features: e.features || {}, userStore: e.userStore }, this.uploader = new fe({ config: this.config, onUpload: (o) => this.onUpload(o), onError: (o) => this.uploadingFailed(o) }), this.ui = new me({ api: i, config: this.config, onSelectFile: () => {
|
|
@@ -2665,7 +2664,7 @@ class K {
|
|
|
2665
2664
|
}
|
|
2666
2665
|
renderSettings() {
|
|
2667
2666
|
var n;
|
|
2668
|
-
const t =
|
|
2667
|
+
const t = Y.tunes.concat(this.config.actions || []), e = { border: "withBorder", background: "withBackground", stretch: "stretched", caption: "caption" };
|
|
2669
2668
|
((n = this.config.features) == null ? void 0 : n.caption) === "optional" && t.push({ name: "caption", icon: Ot, title: "With caption", toggle: !0 });
|
|
2670
2669
|
const i = t.filter((r) => {
|
|
2671
2670
|
var a, d;
|
|
@@ -2709,7 +2708,7 @@ class K {
|
|
|
2709
2708
|
}
|
|
2710
2709
|
set data(t) {
|
|
2711
2710
|
var e;
|
|
2712
|
-
this.image = t.file, this._data.caption = t.caption || "", this.ui.fillCaption(this._data.caption),
|
|
2711
|
+
this.image = t.file, this._data.caption = t.caption || "", this.ui.fillCaption(this._data.caption), Y.tunes.forEach(({ name: i }) => {
|
|
2713
2712
|
const s = t[i] !== void 0 && (t[i] === !0 || t[i] === "true");
|
|
2714
2713
|
this.setTune(i, s);
|
|
2715
2714
|
}), (t.caption || ((e = this.config.features) == null ? void 0 : e.caption) === !0) && this.setTune("caption", !0);
|
|
@@ -2747,8 +2746,8 @@ class K {
|
|
|
2747
2746
|
}
|
|
2748
2747
|
class Ce {
|
|
2749
2748
|
constructor({ api: t, data: e, config: i, block: s }) {
|
|
2750
|
-
var n, r, o, a, d, l,
|
|
2751
|
-
this.settings = [], this.api = t, this.block = s, this.data = { floatLeft: (n = e == null ? void 0 : e.floatLeft) != null ? n : !1, floatRight: (r = e == null ? void 0 : e.floatRight) != null ? r : !1, center: (o = e == null ? void 0 : e.center) != null ? o : !1, sizeSmall: (a = e == null ? void 0 : e.sizeSmall) != null ? a : !1, sizeMiddle: (d = e == null ? void 0 : e.sizeMiddle) != null ? d : !1, sizeLarge: (l = e == null ? void 0 : e.sizeLarge) != null ? l : !1, resize: (
|
|
2749
|
+
var n, r, o, a, d, l, p, c, u, g, m, f, v, L, w, _, B;
|
|
2750
|
+
this.settings = [], this.api = t, this.block = s, this.data = { floatLeft: (n = e == null ? void 0 : e.floatLeft) != null ? n : !1, floatRight: (r = e == null ? void 0 : e.floatRight) != null ? r : !1, center: (o = e == null ? void 0 : e.center) != null ? o : !1, sizeSmall: (a = e == null ? void 0 : e.sizeSmall) != null ? a : !1, sizeMiddle: (d = e == null ? void 0 : e.sizeMiddle) != null ? d : !1, sizeLarge: (l = e == null ? void 0 : e.sizeLarge) != null ? l : !1, resize: (c = (p = e == null ? void 0 : e.resize) != null ? p : i == null ? void 0 : i.resize) != null ? c : !1, resizeSize: (u = e == null ? void 0 : e.resizeSize) != null ? u : 0, crop: (m = (g = e == null ? void 0 : e.crop) != null ? g : i == null ? void 0 : i.crop) != null ? m : !1, cropperFrameHeight: (f = e == null ? void 0 : e.cropperFrameHeight) != null ? f : 0, cropperFrameWidth: (v = e == null ? void 0 : e.cropperFrameWidth) != null ? v : 0, cropperFrameLeft: (L = e == null ? void 0 : e.cropperFrameLeft) != null ? L : 0, cropperFrameTop: (w = e == null ? void 0 : e.cropperFrameTop) != null ? w : 0, cropperImageHeight: (_ = e == null ? void 0 : e.cropperImageHeight) != null ? _ : 0, cropperImageWidth: (B = e == null ? void 0 : e.cropperImageWidth) != null ? B : 0, cropperInterface: void 0 }, this.wrapper = void 0, this.buttons = [], this.styles = { settingsButton: "cdx-settings-button", settingsButtonActive: "cdx-settings-button--active", settingsButtonModifier: "", settingsButtonModifierActive: "" };
|
|
2752
2751
|
}
|
|
2753
2752
|
static get isTune() {
|
|
2754
2753
|
return !0;
|
|
@@ -2882,8 +2881,8 @@ class Ce {
|
|
|
2882
2881
|
const s = document.getElementsByClassName("codex-editor")[0].clientWidth;
|
|
2883
2882
|
let n = 0, r = 0;
|
|
2884
2883
|
const o = (d) => {
|
|
2885
|
-
const l = d.clientX - n,
|
|
2886
|
-
|
|
2884
|
+
const l = d.clientX - n, p = r + l;
|
|
2885
|
+
p > 50 && p < s && (t.style.width = p + "px");
|
|
2887
2886
|
}, a = () => {
|
|
2888
2887
|
const d = parseInt(window.getComputedStyle(t).width, 10);
|
|
2889
2888
|
d > 0 && (this.data.resizeSize = d), document.removeEventListener("mousemove", o), document.removeEventListener("mouseup", a), this.block.dispatchChange();
|
|
@@ -2948,7 +2947,7 @@ const ve = { class: "ebl-editor", id: "holder" }, ke = Nt({ name: "EblEditor", i
|
|
|
2948
2947
|
const o = ["indent", "blockAlignment"];
|
|
2949
2948
|
return Ft(() => {
|
|
2950
2949
|
const a = Pt(n.data);
|
|
2951
|
-
r = new Ut({ holder: "holder", autofocus: !0, defaultBlock: "paragraph", placeholder: n.placeholder, tunes: o, tools: { inlineCode: $, underline: nt, Color: { class: ce }, marker: { class: W }, indent: { class: st }, alert: { class: H, inlineToolbar: !0 }, List: { class:
|
|
2950
|
+
r = new Ut({ holder: "holder", autofocus: !0, defaultBlock: "paragraph", placeholder: n.placeholder, tunes: o, tools: { inlineCode: $, underline: nt, Color: { class: ce }, marker: { class: W }, indent: { class: st }, alert: { class: H, inlineToolbar: !0 }, List: { class: K, inlineToolbar: !0, config: { defaultStyle: "unordered" } }, h1: { class: Zt, inlineToolbar: !0 }, h2: { class: te, inlineToolbar: !0 }, h3: { class: ee, inlineToolbar: !0 }, h4: { class: ie, inlineToolbar: !0 }, h5: { class: se, inlineToolbar: !0 }, h6: { class: ne, inlineToolbar: !0 }, paragraph: { class: at, inlineToolbar: !0 }, blockAlignment: { class: ot, inlineToolbar: !0 }, code: { class: q, config: { lang: "javascript", theme: "catppuccin-latte" } }, quote: { class: re, inlineToolbar: !0 }, delimiter: oe, table: { class: ge, inlineToolbar: !0, config: { rows: 2, cols: 3 } }, image: { class: Y, inlineToolbar: !0, tunes: o.concat(["imageResize"]), config: { types: ".png,.jpeg,.jpg,.gif,.webp", userStore: n.userStore, endpoints: { byFile: i == null ? void 0 : i.fileUploadEndpoint, byUrl: i == null ? void 0 : i.urlUploadEndpoint }, features: { caption: !1, stretch: !1, border: !1, background: !1 } } }, imageResize: { class: Ce, config: { resize: !0, crop: !1 } } }, data: a, readOnly: n.readOnly, i18n: n.locale, onChange: (d, l) => {
|
|
2952
2951
|
s("onChange", d, l);
|
|
2953
2952
|
}, onReady: () => {
|
|
2954
2953
|
new Qt("holder", n.readOnly, r, "1px solid #999"), new de({ editor: r, config: { debounceTimer: 200, maxLength: 100 }, onUpdate: () => {
|
|
@@ -2973,7 +2972,7 @@ for (let h in _t) {
|
|
|
2973
2972
|
const t = Xt(_t[h]);
|
|
2974
2973
|
Rt.push(t);
|
|
2975
2974
|
}
|
|
2976
|
-
const Ee = { messages: { ui: { blockTunes: { toggler: { "Click to tune": "可拖拽和点击" } }, toolbar: { toolbox: { Add: "添加", Filter: "过滤", "Nothing found": "无内容" }, popover: { Filter: "过滤", "Nothing found": "无内容" } }, popover: { Filter: "筛选", "Nothing found": "未找到任何内容", "Convert to": "转化为" } }, toolNames: { Text: "段落", H1: "一级标题", H2: "二级标题", H3: "三级标题", H4: "四级标题", H5: "五级标题", H6: "六级标题", "Ordered List": "有序列表", "Unordered List": "无序列表", Checklist: "任务列表", Quote: "引用", Code: "代码块", Delimiter: "分割线", Link: "链接", Bold: "加粗", Italic: "倾斜", Alert: "高亮块", indent: "缩进", Marker: "突出显示", Color: "文本颜色", Underline: "下划线", InlineCode: "行内代码", Table: "表格", Image: "图片" }, tools: { image: { "Couldn’t upload image. Please try another.": "上传图片失败,请稍后重试。" }, table: { "Add row above": "在下面插入行", "Add row below": "在下面插入行", "Delete row": "删除行", "Add column to left": "在左边插入列", "Add column to right": "在右边插入列", "Delete column": "删除列", "With headings": "使用标题行", "Without headings": "不使用标题行" }, marker: { Marker: "突出显示" }, link: { "Add a link": "添加链接", Save: "保存", "Pasted link is not valid.": "链接地址无效" }, List: { Unordered: "无序", Ordered: "有序", Checklist: "任务列表", "Counter type": "计数器类型", Numeric: "阿拉伯数字", "Lower Roman": "小写罗马数字", "Upper Roman": "大写罗马数字", "Lower Alpha": "小写字母", "Upper Alpha": "大写字母", "Start with": "从" }, paragraph: { "Enter something": "请输入内容" }, stub: { "The block can not be displayed correctly.": "该模块不能放置在这里" }, code: { "Enter your code": "输入代码", Copied: "已复制" }, convertTo: { "Convert to": "转化为" }, alert: { "alert-primary": "主要样式", "alert-secondary": "次要样式", "alert-info": "信息", "alert-success": "成功", "alert-warning": "警告", "alert-danger": "危险", "alert-light": "浅色", "alert-dark": "深色", "align-left": "左对齐", "align-center": "居中", "align-right": "右对齐" } }, blockTunes: { delete: { Delete: "删除", "Click to delete": "点击删除" }, moveUp: { "Move up": "向上移" }, moveDown: { "Move down": "向下移" }, filter: { Filter: "过滤" }, blockAlignment: { "left align": "左对齐", "center align": "居中对齐", "right align": "右对齐", "justify align": "两端对齐" }, indent: { "Indent right": "向右缩进", "Indent left": "向左缩进" } } } }, Dt = /* @__PURE__ */ ((h = []) => ({ version: "1.1.
|
|
2975
|
+
const Ee = { messages: { ui: { blockTunes: { toggler: { "Click to tune": "可拖拽和点击" } }, toolbar: { toolbox: { Add: "添加", Filter: "过滤", "Nothing found": "无内容" }, popover: { Filter: "过滤", "Nothing found": "无内容" } }, popover: { Filter: "筛选", "Nothing found": "未找到任何内容", "Convert to": "转化为" } }, toolNames: { Text: "段落", H1: "一级标题", H2: "二级标题", H3: "三级标题", H4: "四级标题", H5: "五级标题", H6: "六级标题", "Ordered List": "有序列表", "Unordered List": "无序列表", Checklist: "任务列表", Quote: "引用", Code: "代码块", Delimiter: "分割线", Link: "链接", Bold: "加粗", Italic: "倾斜", Alert: "高亮块", indent: "缩进", Marker: "突出显示", Color: "文本颜色", Underline: "下划线", InlineCode: "行内代码", Table: "表格", Image: "图片" }, tools: { image: { "Couldn’t upload image. Please try another.": "上传图片失败,请稍后重试。" }, table: { "Add row above": "在下面插入行", "Add row below": "在下面插入行", "Delete row": "删除行", "Add column to left": "在左边插入列", "Add column to right": "在右边插入列", "Delete column": "删除列", "With headings": "使用标题行", "Without headings": "不使用标题行" }, marker: { Marker: "突出显示" }, link: { "Add a link": "添加链接", Save: "保存", "Pasted link is not valid.": "链接地址无效" }, List: { Unordered: "无序", Ordered: "有序", Checklist: "任务列表", "Counter type": "计数器类型", Numeric: "阿拉伯数字", "Lower Roman": "小写罗马数字", "Upper Roman": "大写罗马数字", "Lower Alpha": "小写字母", "Upper Alpha": "大写字母", "Start with": "从" }, paragraph: { "Enter something": "请输入内容" }, stub: { "The block can not be displayed correctly.": "该模块不能放置在这里" }, code: { "Enter your code": "输入代码", Copied: "已复制" }, convertTo: { "Convert to": "转化为" }, alert: { "alert-primary": "主要样式", "alert-secondary": "次要样式", "alert-info": "信息", "alert-success": "成功", "alert-warning": "警告", "alert-danger": "危险", "alert-light": "浅色", "alert-dark": "深色", "align-left": "左对齐", "align-center": "居中", "align-right": "右对齐" } }, blockTunes: { delete: { Delete: "删除", "Click to delete": "点击删除" }, moveUp: { "Move up": "向上移" }, moveDown: { "Move down": "向下移" }, filter: { Filter: "过滤" }, blockAlignment: { "left align": "左对齐", "center align": "居中对齐", "right align": "右对齐", "justify align": "两端对齐" }, indent: { "Indent right": "向右缩进", "Indent left": "向左缩进" } } } }, Dt = /* @__PURE__ */ ((h = []) => ({ version: "1.1.5", install: (t, e) => {
|
|
2977
2976
|
t[dt] || (t[dt] = !0, h.forEach((i) => t.use(i)), e && t.provide("EblEditorSettings", e));
|
|
2978
2977
|
} }))(Rt), Me = Dt.install, _e = Dt.version;
|
|
2979
2978
|
export {
|