@halo-dev/richtext-editor 0.0.0-alpha.6 → 0.0.0-alpha.8
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/extensions/code-block/code-block.d.ts +2 -0
- package/dist/extensions/code-block/index.d.ts +2 -0
- package/dist/extensions/code-block/lowlight.d.ts +2 -0
- package/dist/extensions/commands-menu/commands.d.ts +3 -0
- package/dist/extensions/commands-menu/index.d.ts +2 -0
- package/dist/extensions/commands-menu/suggestion.d.ts +23 -0
- package/dist/extensions/index.d.ts +35 -0
- package/dist/extensions/katex/index.d.ts +2 -0
- package/dist/index.d.ts +7 -0
- package/dist/rich-text-editor.es.js +2050 -514
- package/dist/rich-text-editor.es.js.map +1 -1
- package/dist/rich-text-editor.iife.js +2049 -513
- package/dist/rich-text-editor.iife.js.map +1 -1
- package/dist/style.css +86 -1117
- package/package.json +45 -45
|
@@ -9002,7 +9002,7 @@ var RichTextEditor = function(exports, vue) {
|
|
|
9002
9002
|
dispatch(state.tr.insertText("\n").scrollIntoView());
|
|
9003
9003
|
return true;
|
|
9004
9004
|
};
|
|
9005
|
-
function defaultBlockAt$
|
|
9005
|
+
function defaultBlockAt$1(match) {
|
|
9006
9006
|
for (let i2 = 0; i2 < match.edgeCount; i2++) {
|
|
9007
9007
|
let { type } = match.edge(i2);
|
|
9008
9008
|
if (type.isTextblock && !type.hasRequiredAttrs())
|
|
@@ -9014,7 +9014,7 @@ var RichTextEditor = function(exports, vue) {
|
|
|
9014
9014
|
let { $head, $anchor } = state.selection;
|
|
9015
9015
|
if (!$head.parent.type.spec.code || !$head.sameParent($anchor))
|
|
9016
9016
|
return false;
|
|
9017
|
-
let above = $head.node(-1), after = $head.indexAfter(-1), type = defaultBlockAt$
|
|
9017
|
+
let above = $head.node(-1), after = $head.indexAfter(-1), type = defaultBlockAt$1(above.contentMatchAt(after));
|
|
9018
9018
|
if (!type || !above.canReplaceWith(after, after, type))
|
|
9019
9019
|
return false;
|
|
9020
9020
|
if (dispatch) {
|
|
@@ -9028,7 +9028,7 @@ var RichTextEditor = function(exports, vue) {
|
|
|
9028
9028
|
let sel = state.selection, { $from, $to } = sel;
|
|
9029
9029
|
if (sel instanceof AllSelection || $from.parent.inlineContent || $to.parent.inlineContent)
|
|
9030
9030
|
return false;
|
|
9031
|
-
let type = defaultBlockAt$
|
|
9031
|
+
let type = defaultBlockAt$1($to.parent.contentMatchAt($to.indexAfter()));
|
|
9032
9032
|
if (!type || !type.isTextblock)
|
|
9033
9033
|
return false;
|
|
9034
9034
|
if (dispatch) {
|
|
@@ -9387,11 +9387,11 @@ var RichTextEditor = function(exports, vue) {
|
|
|
9387
9387
|
}
|
|
9388
9388
|
createCan(startTr) {
|
|
9389
9389
|
const { rawCommands, state } = this;
|
|
9390
|
-
const dispatch =
|
|
9390
|
+
const dispatch = false;
|
|
9391
9391
|
const tr = startTr || state.tr;
|
|
9392
9392
|
const props = this.buildProps(tr, dispatch);
|
|
9393
9393
|
const formattedCommands = Object.fromEntries(Object.entries(rawCommands).map(([name, command2]) => {
|
|
9394
|
-
return [name, (...args) => command2(...args)({ ...props, dispatch })];
|
|
9394
|
+
return [name, (...args) => command2(...args)({ ...props, dispatch: void 0 })];
|
|
9395
9395
|
}));
|
|
9396
9396
|
return {
|
|
9397
9397
|
...formattedCommands,
|
|
@@ -10048,7 +10048,7 @@ var RichTextEditor = function(exports, vue) {
|
|
|
10048
10048
|
editor,
|
|
10049
10049
|
state: chainableState,
|
|
10050
10050
|
from: Math.max(from - 1, 0),
|
|
10051
|
-
to: to.b,
|
|
10051
|
+
to: to.b - 1,
|
|
10052
10052
|
rule
|
|
10053
10053
|
});
|
|
10054
10054
|
if (!handler || !tr.steps.length) {
|
|
@@ -10193,13 +10193,18 @@ var RichTextEditor = function(exports, vue) {
|
|
|
10193
10193
|
};
|
|
10194
10194
|
const plugins = [];
|
|
10195
10195
|
const addKeyboardShortcuts = getExtensionField(extension, "addKeyboardShortcuts", context);
|
|
10196
|
+
let defaultBindings = {};
|
|
10197
|
+
if (extension.type === "mark" && extension.config.exitable) {
|
|
10198
|
+
defaultBindings.ArrowRight = () => Mark.handleExit({ editor, mark: extension });
|
|
10199
|
+
}
|
|
10196
10200
|
if (addKeyboardShortcuts) {
|
|
10197
10201
|
const bindings = Object.fromEntries(Object.entries(addKeyboardShortcuts()).map(([shortcut, method]) => {
|
|
10198
10202
|
return [shortcut, () => method({ editor })];
|
|
10199
10203
|
}));
|
|
10200
|
-
|
|
10201
|
-
plugins.push(keyMapPlugin);
|
|
10204
|
+
defaultBindings = { ...defaultBindings, ...bindings };
|
|
10202
10205
|
}
|
|
10206
|
+
const keyMapPlugin = keymap(defaultBindings);
|
|
10207
|
+
plugins.push(keyMapPlugin);
|
|
10203
10208
|
const addInputRules = getExtensionField(extension, "addInputRules", context);
|
|
10204
10209
|
if (isExtensionRulesEnabled(extension, editor.options.enableInputRules) && addInputRules) {
|
|
10205
10210
|
inputRules.push(...addInputRules());
|
|
@@ -10574,18 +10579,8 @@ var RichTextEditor = function(exports, vue) {
|
|
|
10574
10579
|
}
|
|
10575
10580
|
return false;
|
|
10576
10581
|
};
|
|
10577
|
-
function isClass(value) {
|
|
10578
|
-
var _a;
|
|
10579
|
-
if (((_a = value.constructor) === null || _a === void 0 ? void 0 : _a.toString().substring(0, 5)) !== "class") {
|
|
10580
|
-
return false;
|
|
10581
|
-
}
|
|
10582
|
-
return true;
|
|
10583
|
-
}
|
|
10584
|
-
function isObject(value) {
|
|
10585
|
-
return value && typeof value === "object" && !Array.isArray(value) && !isClass(value);
|
|
10586
|
-
}
|
|
10587
10582
|
function isTextSelection(value) {
|
|
10588
|
-
return
|
|
10583
|
+
return value instanceof TextSelection;
|
|
10589
10584
|
}
|
|
10590
10585
|
function minMax(value = 0, min2 = 0, max2 = 0) {
|
|
10591
10586
|
return Math.min(Math.max(value, min2), max2);
|
|
@@ -11045,10 +11040,8 @@ var RichTextEditor = function(exports, vue) {
|
|
|
11045
11040
|
const setNodeSelection = (position) => ({ tr, dispatch }) => {
|
|
11046
11041
|
if (dispatch) {
|
|
11047
11042
|
const { doc: doc2 } = tr;
|
|
11048
|
-
const
|
|
11049
|
-
const
|
|
11050
|
-
const resolvedPos = minMax(position, minPos, maxPos);
|
|
11051
|
-
const selection = NodeSelection.create(doc2, resolvedPos);
|
|
11043
|
+
const from = minMax(position, 0, doc2.content.size);
|
|
11044
|
+
const selection = NodeSelection.create(doc2, from);
|
|
11052
11045
|
tr.setSelection(selection);
|
|
11053
11046
|
}
|
|
11054
11047
|
return true;
|
|
@@ -11070,6 +11063,15 @@ var RichTextEditor = function(exports, vue) {
|
|
|
11070
11063
|
const type = getNodeType(typeOrName, state.schema);
|
|
11071
11064
|
return sinkListItem$1(type)(state, dispatch);
|
|
11072
11065
|
};
|
|
11066
|
+
function defaultBlockAt(match) {
|
|
11067
|
+
for (let i2 = 0; i2 < match.edgeCount; i2 += 1) {
|
|
11068
|
+
const { type } = match.edge(i2);
|
|
11069
|
+
if (type.isTextblock && !type.hasRequiredAttrs()) {
|
|
11070
|
+
return type;
|
|
11071
|
+
}
|
|
11072
|
+
}
|
|
11073
|
+
return null;
|
|
11074
|
+
}
|
|
11073
11075
|
function getSplittedAttributes(extensionAttributes, typeName, attributes) {
|
|
11074
11076
|
return Object.fromEntries(Object.entries(attributes).filter(([name]) => {
|
|
11075
11077
|
const extensionAttribute = extensionAttributes.find((item) => {
|
|
@@ -11081,15 +11083,6 @@ var RichTextEditor = function(exports, vue) {
|
|
|
11081
11083
|
return extensionAttribute.attribute.keepOnSplit;
|
|
11082
11084
|
}));
|
|
11083
11085
|
}
|
|
11084
|
-
function defaultBlockAt$1(match) {
|
|
11085
|
-
for (let i2 = 0; i2 < match.edgeCount; i2 += 1) {
|
|
11086
|
-
const { type } = match.edge(i2);
|
|
11087
|
-
if (type.isTextblock && !type.hasRequiredAttrs()) {
|
|
11088
|
-
return type;
|
|
11089
|
-
}
|
|
11090
|
-
}
|
|
11091
|
-
return null;
|
|
11092
|
-
}
|
|
11093
11086
|
function ensureMarks(state, splittableMarks) {
|
|
11094
11087
|
const marks = state.storedMarks || state.selection.$to.parentOffset && state.selection.$from.marks();
|
|
11095
11088
|
if (marks) {
|
|
@@ -11122,7 +11115,7 @@ var RichTextEditor = function(exports, vue) {
|
|
|
11122
11115
|
if (selection instanceof TextSelection) {
|
|
11123
11116
|
tr.deleteSelection();
|
|
11124
11117
|
}
|
|
11125
|
-
const deflt2 = $from.depth === 0 ? void 0 : defaultBlockAt
|
|
11118
|
+
const deflt2 = $from.depth === 0 ? void 0 : defaultBlockAt($from.node(-1).contentMatchAt($from.indexAfter(-1)));
|
|
11126
11119
|
let types = atEnd && deflt2 ? [{
|
|
11127
11120
|
type: deflt2,
|
|
11128
11121
|
attrs: newAttributes
|
|
@@ -11941,6 +11934,7 @@ img.ProseMirror-separator {
|
|
|
11941
11934
|
}
|
|
11942
11935
|
setEditable(editable) {
|
|
11943
11936
|
this.setOptions({ editable });
|
|
11937
|
+
this.emit("update", { editor: this, transaction: this.state.tr });
|
|
11944
11938
|
}
|
|
11945
11939
|
get isEditable() {
|
|
11946
11940
|
return this.options.editable && this.view && this.view.editable;
|
|
@@ -12111,15 +12105,6 @@ img.ProseMirror-separator {
|
|
|
12111
12105
|
});
|
|
12112
12106
|
return transform;
|
|
12113
12107
|
}
|
|
12114
|
-
function defaultBlockAt(match) {
|
|
12115
|
-
for (let i2 = 0; i2 < match.edgeCount; i2 += 1) {
|
|
12116
|
-
const { type } = match.edge(i2);
|
|
12117
|
-
if (type.isTextblock && !type.hasRequiredAttrs()) {
|
|
12118
|
-
return type;
|
|
12119
|
-
}
|
|
12120
|
-
}
|
|
12121
|
-
return null;
|
|
12122
|
-
}
|
|
12123
12108
|
function findChildren(node, predicate) {
|
|
12124
12109
|
const nodesWithPos = [];
|
|
12125
12110
|
node.descendants((child, pos) => {
|
|
@@ -12285,7 +12270,7 @@ img.ProseMirror-separator {
|
|
|
12285
12270
|
return marks;
|
|
12286
12271
|
}
|
|
12287
12272
|
function isNodeSelection(value) {
|
|
12288
|
-
return
|
|
12273
|
+
return value instanceof NodeSelection;
|
|
12289
12274
|
}
|
|
12290
12275
|
function posToDOMRect(view, from, to) {
|
|
12291
12276
|
const minPos = 0;
|
|
@@ -12490,6 +12475,26 @@ img.ProseMirror-separator {
|
|
|
12490
12475
|
}));
|
|
12491
12476
|
return extension;
|
|
12492
12477
|
}
|
|
12478
|
+
static handleExit({ editor, mark }) {
|
|
12479
|
+
const { tr } = editor.state;
|
|
12480
|
+
const currentPos = editor.state.selection.$from;
|
|
12481
|
+
const isAtEnd = currentPos.pos === currentPos.end();
|
|
12482
|
+
if (isAtEnd) {
|
|
12483
|
+
const currentMarks = currentPos.marks();
|
|
12484
|
+
const isInMark = !!currentMarks.find((m) => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
12485
|
+
if (!isInMark) {
|
|
12486
|
+
return false;
|
|
12487
|
+
}
|
|
12488
|
+
const removeMark2 = currentMarks.find((m) => (m === null || m === void 0 ? void 0 : m.type.name) === mark.name);
|
|
12489
|
+
if (removeMark2) {
|
|
12490
|
+
tr.removeStoredMark(removeMark2);
|
|
12491
|
+
}
|
|
12492
|
+
tr.insertText(" ", currentPos.pos);
|
|
12493
|
+
editor.view.dispatch(tr);
|
|
12494
|
+
return true;
|
|
12495
|
+
}
|
|
12496
|
+
return false;
|
|
12497
|
+
}
|
|
12493
12498
|
}
|
|
12494
12499
|
class Node {
|
|
12495
12500
|
constructor(config2 = {}) {
|
|
@@ -12744,7 +12749,7 @@ img.ProseMirror-separator {
|
|
|
12744
12749
|
return null;
|
|
12745
12750
|
}
|
|
12746
12751
|
if (match.input) {
|
|
12747
|
-
chain().deleteRange(range).
|
|
12752
|
+
chain().deleteRange(range).insertContentAt(range.from, {
|
|
12748
12753
|
type: config2.type.name,
|
|
12749
12754
|
attrs: attributes
|
|
12750
12755
|
});
|
|
@@ -14670,7 +14675,7 @@ img.ProseMirror-separator {
|
|
|
14670
14675
|
})
|
|
14671
14676
|
};
|
|
14672
14677
|
}
|
|
14673
|
-
function render$
|
|
14678
|
+
function render$o(instance) {
|
|
14674
14679
|
var popper2 = div();
|
|
14675
14680
|
var box = div();
|
|
14676
14681
|
box.className = BOX_CLASS;
|
|
@@ -14725,7 +14730,7 @@ img.ProseMirror-separator {
|
|
|
14725
14730
|
onUpdate
|
|
14726
14731
|
};
|
|
14727
14732
|
}
|
|
14728
|
-
render$
|
|
14733
|
+
render$o.$$tippy = true;
|
|
14729
14734
|
var idCounter = 1;
|
|
14730
14735
|
var mouseMoveListeners = [];
|
|
14731
14736
|
var mountedInstances = [];
|
|
@@ -15498,7 +15503,7 @@ img.ProseMirror-separator {
|
|
|
15498
15503
|
}
|
|
15499
15504
|
});
|
|
15500
15505
|
tippy.setDefaultProps({
|
|
15501
|
-
render: render$
|
|
15506
|
+
render: render$o
|
|
15502
15507
|
});
|
|
15503
15508
|
class BubbleMenuView {
|
|
15504
15509
|
constructor({ editor, element, view, tippyOptions = {}, shouldShow }) {
|
|
@@ -15507,7 +15512,9 @@ img.ProseMirror-separator {
|
|
|
15507
15512
|
const { doc: doc2, selection } = state;
|
|
15508
15513
|
const { empty: empty2 } = selection;
|
|
15509
15514
|
const isEmptyTextBlock = !doc2.textBetween(from, to).length && isTextSelection(state.selection);
|
|
15510
|
-
|
|
15515
|
+
const isChildOfMenu = this.element.contains(document.activeElement);
|
|
15516
|
+
const hasEditorFocus = view2.hasFocus() || isChildOfMenu;
|
|
15517
|
+
if (!hasEditorFocus || empty2 || isEmptyTextBlock || !this.editor.isEditable) {
|
|
15511
15518
|
return false;
|
|
15512
15519
|
}
|
|
15513
15520
|
return true;
|
|
@@ -15661,7 +15668,7 @@ img.ProseMirror-separator {
|
|
|
15661
15668
|
const { $anchor, empty: empty2 } = selection;
|
|
15662
15669
|
const isRootDepth = $anchor.depth === 1;
|
|
15663
15670
|
const isEmptyTextBlock = $anchor.parent.isTextblock && !$anchor.parent.type.spec.code && !$anchor.parent.textContent;
|
|
15664
|
-
if (!view2.hasFocus() || !empty2 || !isRootDepth || !isEmptyTextBlock) {
|
|
15671
|
+
if (!view2.hasFocus() || !empty2 || !isRootDepth || !isEmptyTextBlock || !this.editor.isEditable) {
|
|
15665
15672
|
return false;
|
|
15666
15673
|
}
|
|
15667
15674
|
return true;
|
|
@@ -16018,7 +16025,7 @@ img.ProseMirror-separator {
|
|
|
16018
16025
|
render() {
|
|
16019
16026
|
var _a, _b;
|
|
16020
16027
|
return vue.h(this.as, {
|
|
16021
|
-
class: this.decorationClasses
|
|
16028
|
+
class: this.decorationClasses,
|
|
16022
16029
|
style: {
|
|
16023
16030
|
whiteSpace: "normal"
|
|
16024
16031
|
},
|
|
@@ -17624,6 +17631,10 @@ img.ProseMirror-separator {
|
|
|
17624
17631
|
shiftCrossAxis: {
|
|
17625
17632
|
type: Boolean,
|
|
17626
17633
|
default: defaultPropFactory("shiftCrossAxis")
|
|
17634
|
+
},
|
|
17635
|
+
noAutoFocus: {
|
|
17636
|
+
type: Boolean,
|
|
17637
|
+
default: defaultPropFactory("noAutoFocus")
|
|
17627
17638
|
}
|
|
17628
17639
|
},
|
|
17629
17640
|
emits: [
|
|
@@ -18055,7 +18066,8 @@ img.ProseMirror-separator {
|
|
|
18055
18066
|
await nextFrame();
|
|
18056
18067
|
this.classes.showFrom = false;
|
|
18057
18068
|
this.classes.showTo = true;
|
|
18058
|
-
this
|
|
18069
|
+
if (!this.noAutoFocus)
|
|
18070
|
+
this.$_popperNode.focus();
|
|
18059
18071
|
},
|
|
18060
18072
|
async $_applyHide(skipTransition = false) {
|
|
18061
18073
|
if (this.shownChildren.size > 0) {
|
|
@@ -18492,10 +18504,10 @@ img.ProseMirror-separator {
|
|
|
18492
18504
|
tabindex: "-1"
|
|
18493
18505
|
};
|
|
18494
18506
|
vue.popScopeId();
|
|
18495
|
-
const render$
|
|
18507
|
+
const render$n = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {
|
|
18496
18508
|
return vue.openBlock(), vue.createBlock("div", _hoisted_1$2$1);
|
|
18497
18509
|
});
|
|
18498
|
-
script.render = render$
|
|
18510
|
+
script.render = render$n;
|
|
18499
18511
|
script.__scopeId = "data-v-b329ee4c";
|
|
18500
18512
|
script.__file = "src/components/ResizeObserver.vue";
|
|
18501
18513
|
var PrivateThemeClass = (prop = "theme") => ({
|
|
@@ -18542,11 +18554,11 @@ img.ProseMirror-separator {
|
|
|
18542
18554
|
ref: "inner",
|
|
18543
18555
|
class: "v-popper__inner"
|
|
18544
18556
|
};
|
|
18545
|
-
const _hoisted_3$
|
|
18546
|
-
const _hoisted_4$
|
|
18547
|
-
const _hoisted_5$
|
|
18548
|
-
_hoisted_3$
|
|
18549
|
-
_hoisted_4$
|
|
18557
|
+
const _hoisted_3$r = /* @__PURE__ */ vue.createElementVNode("div", { class: "v-popper__arrow-outer" }, null, -1);
|
|
18558
|
+
const _hoisted_4$2 = /* @__PURE__ */ vue.createElementVNode("div", { class: "v-popper__arrow-inner" }, null, -1);
|
|
18559
|
+
const _hoisted_5$2 = [
|
|
18560
|
+
_hoisted_3$r,
|
|
18561
|
+
_hoisted_4$2
|
|
18550
18562
|
];
|
|
18551
18563
|
function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
18552
18564
|
const _component_ResizeObserver = vue.resolveComponent("ResizeObserver");
|
|
@@ -18605,7 +18617,7 @@ img.ProseMirror-separator {
|
|
|
18605
18617
|
left: _ctx.toPx(_ctx.result.arrow.x),
|
|
18606
18618
|
top: _ctx.toPx(_ctx.result.arrow.y)
|
|
18607
18619
|
} : void 0)
|
|
18608
|
-
}, _hoisted_5$
|
|
18620
|
+
}, _hoisted_5$2, 4)
|
|
18609
18621
|
], 4)
|
|
18610
18622
|
], 46, _hoisted_1$1$1);
|
|
18611
18623
|
}
|
|
@@ -18815,32 +18827,14 @@ img.ProseMirror-separator {
|
|
|
18815
18827
|
}
|
|
18816
18828
|
});
|
|
18817
18829
|
const Menu = _sfc_main$2$1;
|
|
18818
|
-
const _hoisted_1$s = {
|
|
18819
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18820
|
-
viewBox: "0 0 24 24",
|
|
18821
|
-
width: "1.2em",
|
|
18822
|
-
height: "1.2em"
|
|
18823
|
-
};
|
|
18824
|
-
const _hoisted_2$s = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18825
|
-
fill: "currentColor",
|
|
18826
|
-
d: "M13.5 15.5H10v-3h3.5A1.5 1.5 0 0 1 15 14a1.5 1.5 0 0 1-1.5 1.5m-3.5-9h3A1.5 1.5 0 0 1 14.5 8A1.5 1.5 0 0 1 13 9.5h-3m5.6 1.29c.97-.68 1.65-1.79 1.65-2.79c0-2.26-1.75-4-4-4H7v14h7.04c2.1 0 3.71-1.7 3.71-3.79c0-1.52-.86-2.82-2.15-3.42Z"
|
|
18827
|
-
}, null, -1);
|
|
18828
|
-
const _hoisted_3$r = [
|
|
18829
|
-
_hoisted_2$s
|
|
18830
|
-
];
|
|
18831
|
-
function render$n(_ctx, _cache) {
|
|
18832
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$s, _hoisted_3$r);
|
|
18833
|
-
}
|
|
18834
|
-
const MdiFormatBold = { name: "mdi-format-bold", render: render$n };
|
|
18835
18830
|
const _hoisted_1$r = {
|
|
18836
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18837
18831
|
viewBox: "0 0 24 24",
|
|
18838
18832
|
width: "1.2em",
|
|
18839
18833
|
height: "1.2em"
|
|
18840
18834
|
};
|
|
18841
18835
|
const _hoisted_2$r = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18842
18836
|
fill: "currentColor",
|
|
18843
|
-
d: "
|
|
18837
|
+
d: "M13.5 15.5H10v-3h3.5A1.5 1.5 0 0 1 15 14a1.5 1.5 0 0 1-1.5 1.5m-3.5-9h3A1.5 1.5 0 0 1 14.5 8A1.5 1.5 0 0 1 13 9.5h-3m5.6 1.29c.97-.68 1.65-1.79 1.65-2.79c0-2.26-1.75-4-4-4H7v14h7.04c2.1 0 3.71-1.7 3.71-3.79c0-1.52-.86-2.82-2.15-3.42Z"
|
|
18844
18838
|
}, null, -1);
|
|
18845
18839
|
const _hoisted_3$q = [
|
|
18846
18840
|
_hoisted_2$r
|
|
@@ -18848,16 +18842,15 @@ img.ProseMirror-separator {
|
|
|
18848
18842
|
function render$m(_ctx, _cache) {
|
|
18849
18843
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$r, _hoisted_3$q);
|
|
18850
18844
|
}
|
|
18851
|
-
const
|
|
18845
|
+
const MdiFormatBold = { name: "mdi-format-bold", render: render$m };
|
|
18852
18846
|
const _hoisted_1$q = {
|
|
18853
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18854
18847
|
viewBox: "0 0 24 24",
|
|
18855
18848
|
width: "1.2em",
|
|
18856
18849
|
height: "1.2em"
|
|
18857
18850
|
};
|
|
18858
18851
|
const _hoisted_2$q = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18859
18852
|
fill: "currentColor",
|
|
18860
|
-
d: "
|
|
18853
|
+
d: "M10 4v3h2.21l-3.42 8H6v3h8v-3h-2.21l3.42-8H18V4h-8Z"
|
|
18861
18854
|
}, null, -1);
|
|
18862
18855
|
const _hoisted_3$p = [
|
|
18863
18856
|
_hoisted_2$q
|
|
@@ -18865,16 +18858,15 @@ img.ProseMirror-separator {
|
|
|
18865
18858
|
function render$l(_ctx, _cache) {
|
|
18866
18859
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$q, _hoisted_3$p);
|
|
18867
18860
|
}
|
|
18868
|
-
const
|
|
18861
|
+
const MdiFormatItalic = { name: "mdi-format-italic", render: render$l };
|
|
18869
18862
|
const _hoisted_1$p = {
|
|
18870
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18871
18863
|
viewBox: "0 0 24 24",
|
|
18872
18864
|
width: "1.2em",
|
|
18873
18865
|
height: "1.2em"
|
|
18874
18866
|
};
|
|
18875
18867
|
const _hoisted_2$p = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18876
18868
|
fill: "currentColor",
|
|
18877
|
-
d: "M3
|
|
18869
|
+
d: "M3 14h18v-2H3m2-8v3h5v3h4V7h5V4m-9 15h4v-3h-4v3Z"
|
|
18878
18870
|
}, null, -1);
|
|
18879
18871
|
const _hoisted_3$o = [
|
|
18880
18872
|
_hoisted_2$p
|
|
@@ -18882,16 +18874,15 @@ img.ProseMirror-separator {
|
|
|
18882
18874
|
function render$k(_ctx, _cache) {
|
|
18883
18875
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$p, _hoisted_3$o);
|
|
18884
18876
|
}
|
|
18885
|
-
const
|
|
18877
|
+
const MdiFormatStrikethrough = { name: "mdi-format-strikethrough", render: render$k };
|
|
18886
18878
|
const _hoisted_1$o = {
|
|
18887
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18888
18879
|
viewBox: "0 0 24 24",
|
|
18889
18880
|
width: "1.2em",
|
|
18890
18881
|
height: "1.2em"
|
|
18891
18882
|
};
|
|
18892
18883
|
const _hoisted_2$o = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18893
18884
|
fill: "currentColor",
|
|
18894
|
-
d: "M3 4h2v6h4V4h2v14H9v-
|
|
18885
|
+
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m10 4h2.31l.32-3h2l-.32 3h2l.32-3h2l-.32 3H23v2h-1.9l-.2 2H23v2h-2.31l-.32 3h-2l.32-3h-2l-.32 3h-2l.32-3H13v-2h1.9l.2-2H13V8m4.1 2l-.2 2h2l.2-2h-2Z"
|
|
18895
18886
|
}, null, -1);
|
|
18896
18887
|
const _hoisted_3$n = [
|
|
18897
18888
|
_hoisted_2$o
|
|
@@ -18899,16 +18890,15 @@ img.ProseMirror-separator {
|
|
|
18899
18890
|
function render$j(_ctx, _cache) {
|
|
18900
18891
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$o, _hoisted_3$n);
|
|
18901
18892
|
}
|
|
18902
|
-
const
|
|
18893
|
+
const MdiFormatHeaderPound = { name: "mdi-format-header-pound", render: render$j };
|
|
18903
18894
|
const _hoisted_1$n = {
|
|
18904
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18905
18895
|
viewBox: "0 0 24 24",
|
|
18906
18896
|
width: "1.2em",
|
|
18907
18897
|
height: "1.2em"
|
|
18908
18898
|
};
|
|
18909
18899
|
const _hoisted_2$n = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18910
18900
|
fill: "currentColor",
|
|
18911
|
-
d: "M3 4h2v6h4V4h2v14H9v-
|
|
18901
|
+
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m11 14v-2h2V6.31l-2.5 1.44V5.44L16 4h2v12h2v2h-6Z"
|
|
18912
18902
|
}, null, -1);
|
|
18913
18903
|
const _hoisted_3$m = [
|
|
18914
18904
|
_hoisted_2$n
|
|
@@ -18916,16 +18906,15 @@ img.ProseMirror-separator {
|
|
|
18916
18906
|
function render$i(_ctx, _cache) {
|
|
18917
18907
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$n, _hoisted_3$m);
|
|
18918
18908
|
}
|
|
18919
|
-
const
|
|
18909
|
+
const MdiFormatHeader1 = { name: "mdi-format-header-1", render: render$i };
|
|
18920
18910
|
const _hoisted_1$m = {
|
|
18921
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18922
18911
|
viewBox: "0 0 24 24",
|
|
18923
18912
|
width: "1.2em",
|
|
18924
18913
|
height: "1.2em"
|
|
18925
18914
|
};
|
|
18926
18915
|
const _hoisted_2$m = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18927
18916
|
fill: "currentColor",
|
|
18928
|
-
d: "M3 4h2v6h4V4h2v14H9v-
|
|
18917
|
+
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m18 14h-6a2 2 0 0 1-2-2c0-.53.2-1 .54-1.36l4.87-5.23c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2a2 2 0 0 0-2 2h-2a4 4 0 0 1 4-4a4 4 0 0 1 4 4c0 1.1-.45 2.1-1.17 2.83L15 16h6v2Z"
|
|
18929
18918
|
}, null, -1);
|
|
18930
18919
|
const _hoisted_3$l = [
|
|
18931
18920
|
_hoisted_2$m
|
|
@@ -18933,16 +18922,15 @@ img.ProseMirror-separator {
|
|
|
18933
18922
|
function render$h(_ctx, _cache) {
|
|
18934
18923
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$m, _hoisted_3$l);
|
|
18935
18924
|
}
|
|
18936
|
-
const
|
|
18925
|
+
const MdiFormatHeader2 = { name: "mdi-format-header-2", render: render$h };
|
|
18937
18926
|
const _hoisted_1$l = {
|
|
18938
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18939
18927
|
viewBox: "0 0 24 24",
|
|
18940
18928
|
width: "1.2em",
|
|
18941
18929
|
height: "1.2em"
|
|
18942
18930
|
};
|
|
18943
18931
|
const _hoisted_2$l = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18944
18932
|
fill: "currentColor",
|
|
18945
|
-
d: "M3 4h2v6h4V4h2v14H9v-
|
|
18933
|
+
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h4a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h2v1h4v-4h-4v-2h4V6h-4v1h-2V6a2 2 0 0 1 2-2Z"
|
|
18946
18934
|
}, null, -1);
|
|
18947
18935
|
const _hoisted_3$k = [
|
|
18948
18936
|
_hoisted_2$l
|
|
@@ -18950,16 +18938,15 @@ img.ProseMirror-separator {
|
|
|
18950
18938
|
function render$g(_ctx, _cache) {
|
|
18951
18939
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$l, _hoisted_3$k);
|
|
18952
18940
|
}
|
|
18953
|
-
const
|
|
18941
|
+
const MdiFormatHeader3 = { name: "mdi-format-header-3", render: render$g };
|
|
18954
18942
|
const _hoisted_1$k = {
|
|
18955
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18956
18943
|
viewBox: "0 0 24 24",
|
|
18957
18944
|
width: "1.2em",
|
|
18958
18945
|
height: "1.2em"
|
|
18959
18946
|
};
|
|
18960
18947
|
const _hoisted_2$k = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18961
18948
|
fill: "currentColor",
|
|
18962
|
-
d: "M3 4h2v6h4V4h2v14H9v-
|
|
18949
|
+
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m15 14v-5h-5v-2l5-7h2v7h1v2h-1v5h-2m0-7V7.42L15.45 11H18Z"
|
|
18963
18950
|
}, null, -1);
|
|
18964
18951
|
const _hoisted_3$j = [
|
|
18965
18952
|
_hoisted_2$k
|
|
@@ -18967,16 +18954,15 @@ img.ProseMirror-separator {
|
|
|
18967
18954
|
function render$f(_ctx, _cache) {
|
|
18968
18955
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$k, _hoisted_3$j);
|
|
18969
18956
|
}
|
|
18970
|
-
const
|
|
18957
|
+
const MdiFormatHeader4 = { name: "mdi-format-header-4", render: render$f };
|
|
18971
18958
|
const _hoisted_1$j = {
|
|
18972
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18973
18959
|
viewBox: "0 0 24 24",
|
|
18974
18960
|
width: "1.2em",
|
|
18975
18961
|
height: "1.2em"
|
|
18976
18962
|
};
|
|
18977
18963
|
const _hoisted_2$j = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18978
18964
|
fill: "currentColor",
|
|
18979
|
-
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12
|
|
18965
|
+
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h5v2h-5v4h2a4 4 0 0 1 4 4a4 4 0 0 1-4 4h-2a2 2 0 0 1-2-2v-1h2v1h2a2 2 0 0 0 2-2a2 2 0 0 0-2-2h-2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z"
|
|
18980
18966
|
}, null, -1);
|
|
18981
18967
|
const _hoisted_3$i = [
|
|
18982
18968
|
_hoisted_2$j
|
|
@@ -18984,16 +18970,15 @@ img.ProseMirror-separator {
|
|
|
18984
18970
|
function render$e(_ctx, _cache) {
|
|
18985
18971
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$j, _hoisted_3$i);
|
|
18986
18972
|
}
|
|
18987
|
-
const
|
|
18973
|
+
const MdiFormatHeader5 = { name: "mdi-format-header-5", render: render$e };
|
|
18988
18974
|
const _hoisted_1$i = {
|
|
18989
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
18990
18975
|
viewBox: "0 0 24 24",
|
|
18991
18976
|
width: "1.2em",
|
|
18992
18977
|
height: "1.2em"
|
|
18993
18978
|
};
|
|
18994
18979
|
const _hoisted_2$i = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
18995
18980
|
fill: "currentColor",
|
|
18996
|
-
d: "
|
|
18981
|
+
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m12 0h4a2 2 0 0 1 2 2v1h-2V6h-4v4h4a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 8v4h4v-4h-4Z"
|
|
18997
18982
|
}, null, -1);
|
|
18998
18983
|
const _hoisted_3$h = [
|
|
18999
18984
|
_hoisted_2$i
|
|
@@ -19001,16 +18986,15 @@ img.ProseMirror-separator {
|
|
|
19001
18986
|
function render$d(_ctx, _cache) {
|
|
19002
18987
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$i, _hoisted_3$h);
|
|
19003
18988
|
}
|
|
19004
|
-
const
|
|
18989
|
+
const MdiFormatHeader6 = { name: "mdi-format-header-6", render: render$d };
|
|
19005
18990
|
const _hoisted_1$h = {
|
|
19006
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19007
18991
|
viewBox: "0 0 24 24",
|
|
19008
18992
|
width: "1.2em",
|
|
19009
18993
|
height: "1.2em"
|
|
19010
18994
|
};
|
|
19011
18995
|
const _hoisted_2$h = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19012
18996
|
fill: "currentColor",
|
|
19013
|
-
d: "
|
|
18997
|
+
d: "M13.5 7a6.5 6.5 0 0 1 6.5 6.5a6.5 6.5 0 0 1-6.5 6.5H10v-2h3.5c2.5 0 4.5-2 4.5-4.5S16 9 13.5 9H7.83l3.08 3.09L9.5 13.5L4 8l5.5-5.5l1.42 1.41L7.83 7h5.67M6 18h2v2H6v-2Z"
|
|
19014
18998
|
}, null, -1);
|
|
19015
18999
|
const _hoisted_3$g = [
|
|
19016
19000
|
_hoisted_2$h
|
|
@@ -19018,16 +19002,15 @@ img.ProseMirror-separator {
|
|
|
19018
19002
|
function render$c(_ctx, _cache) {
|
|
19019
19003
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$h, _hoisted_3$g);
|
|
19020
19004
|
}
|
|
19021
|
-
const
|
|
19005
|
+
const MdiUndoVariant = { name: "mdi-undo-variant", render: render$c };
|
|
19022
19006
|
const _hoisted_1$g = {
|
|
19023
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19024
19007
|
viewBox: "0 0 24 24",
|
|
19025
19008
|
width: "1.2em",
|
|
19026
19009
|
height: "1.2em"
|
|
19027
19010
|
};
|
|
19028
19011
|
const _hoisted_2$g = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19029
19012
|
fill: "currentColor",
|
|
19030
|
-
d: "
|
|
19013
|
+
d: "M10.5 7A6.5 6.5 0 0 0 4 13.5a6.5 6.5 0 0 0 6.5 6.5H14v-2h-3.5C8 18 6 16 6 13.5S8 9 10.5 9h5.67l-3.08 3.09l1.41 1.41L20 8l-5.5-5.5l-1.42 1.41L16.17 7H10.5M18 18h-2v2h2v-2Z"
|
|
19031
19014
|
}, null, -1);
|
|
19032
19015
|
const _hoisted_3$f = [
|
|
19033
19016
|
_hoisted_2$g
|
|
@@ -19035,16 +19018,15 @@ img.ProseMirror-separator {
|
|
|
19035
19018
|
function render$b(_ctx, _cache) {
|
|
19036
19019
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$g, _hoisted_3$f);
|
|
19037
19020
|
}
|
|
19038
|
-
const
|
|
19021
|
+
const MdiRedoVariant = { name: "mdi-redo-variant", render: render$b };
|
|
19039
19022
|
const _hoisted_1$f = {
|
|
19040
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19041
19023
|
viewBox: "0 0 24 24",
|
|
19042
19024
|
width: "1.2em",
|
|
19043
19025
|
height: "1.2em"
|
|
19044
19026
|
};
|
|
19045
19027
|
const _hoisted_2$f = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19046
19028
|
fill: "currentColor",
|
|
19047
|
-
d: "
|
|
19029
|
+
d: "M5 21h14v-2H5v2m7-4a6 6 0 0 0 6-6V3h-2.5v8a3.5 3.5 0 0 1-3.5 3.5A3.5 3.5 0 0 1 8.5 11V3H6v8a6 6 0 0 0 6 6Z"
|
|
19048
19030
|
}, null, -1);
|
|
19049
19031
|
const _hoisted_3$e = [
|
|
19050
19032
|
_hoisted_2$f
|
|
@@ -19052,16 +19034,15 @@ img.ProseMirror-separator {
|
|
|
19052
19034
|
function render$a(_ctx, _cache) {
|
|
19053
19035
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$f, _hoisted_3$e);
|
|
19054
19036
|
}
|
|
19055
|
-
const
|
|
19037
|
+
const MdiFormatUnderline = { name: "mdi-format-underline", render: render$a };
|
|
19056
19038
|
const _hoisted_1$e = {
|
|
19057
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19058
19039
|
viewBox: "0 0 24 24",
|
|
19059
19040
|
width: "1.2em",
|
|
19060
19041
|
height: "1.2em"
|
|
19061
19042
|
};
|
|
19062
19043
|
const _hoisted_2$e = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19063
19044
|
fill: "currentColor",
|
|
19064
|
-
d: "M3
|
|
19045
|
+
d: "M3 3h18v2H3V3m0 4h12v2H3V7m0 4h18v2H3v-2m0 4h12v2H3v-2m0 4h18v2H3v-2Z"
|
|
19065
19046
|
}, null, -1);
|
|
19066
19047
|
const _hoisted_3$d = [
|
|
19067
19048
|
_hoisted_2$e
|
|
@@ -19069,16 +19050,15 @@ img.ProseMirror-separator {
|
|
|
19069
19050
|
function render$9(_ctx, _cache) {
|
|
19070
19051
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$e, _hoisted_3$d);
|
|
19071
19052
|
}
|
|
19072
|
-
const
|
|
19053
|
+
const MdiFormatAlignLeft = { name: "mdi-format-align-left", render: render$9 };
|
|
19073
19054
|
const _hoisted_1$d = {
|
|
19074
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19075
19055
|
viewBox: "0 0 24 24",
|
|
19076
19056
|
width: "1.2em",
|
|
19077
19057
|
height: "1.2em"
|
|
19078
19058
|
};
|
|
19079
19059
|
const _hoisted_2$d = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19080
19060
|
fill: "currentColor",
|
|
19081
|
-
d: "M3
|
|
19061
|
+
d: "M3 3h18v2H3V3m4 4h10v2H7V7m-4 4h18v2H3v-2m4 4h10v2H7v-2m-4 4h18v2H3v-2Z"
|
|
19082
19062
|
}, null, -1);
|
|
19083
19063
|
const _hoisted_3$c = [
|
|
19084
19064
|
_hoisted_2$d
|
|
@@ -19086,16 +19066,15 @@ img.ProseMirror-separator {
|
|
|
19086
19066
|
function render$8(_ctx, _cache) {
|
|
19087
19067
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$d, _hoisted_3$c);
|
|
19088
19068
|
}
|
|
19089
|
-
const
|
|
19069
|
+
const MdiFormatAlignCenter = { name: "mdi-format-align-center", render: render$8 };
|
|
19090
19070
|
const _hoisted_1$c = {
|
|
19091
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19092
19071
|
viewBox: "0 0 24 24",
|
|
19093
19072
|
width: "1.2em",
|
|
19094
19073
|
height: "1.2em"
|
|
19095
19074
|
};
|
|
19096
19075
|
const _hoisted_2$c = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19097
19076
|
fill: "currentColor",
|
|
19098
|
-
d: "M3
|
|
19077
|
+
d: "M3 3h18v2H3V3m6 4h12v2H9V7m-6 4h18v2H3v-2m6 4h12v2H9v-2m-6 4h18v2H3v-2Z"
|
|
19099
19078
|
}, null, -1);
|
|
19100
19079
|
const _hoisted_3$b = [
|
|
19101
19080
|
_hoisted_2$c
|
|
@@ -19103,16 +19082,15 @@ img.ProseMirror-separator {
|
|
|
19103
19082
|
function render$7(_ctx, _cache) {
|
|
19104
19083
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$c, _hoisted_3$b);
|
|
19105
19084
|
}
|
|
19106
|
-
const
|
|
19085
|
+
const MdiFormatAlignRight = { name: "mdi-format-align-right", render: render$7 };
|
|
19107
19086
|
const _hoisted_1$b = {
|
|
19108
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19109
19087
|
viewBox: "0 0 24 24",
|
|
19110
19088
|
width: "1.2em",
|
|
19111
19089
|
height: "1.2em"
|
|
19112
19090
|
};
|
|
19113
19091
|
const _hoisted_2$b = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19114
19092
|
fill: "currentColor",
|
|
19115
|
-
d: "
|
|
19093
|
+
d: "M3 3h18v2H3V3m0 4h18v2H3V7m0 4h18v2H3v-2m0 4h18v2H3v-2m0 4h18v2H3v-2Z"
|
|
19116
19094
|
}, null, -1);
|
|
19117
19095
|
const _hoisted_3$a = [
|
|
19118
19096
|
_hoisted_2$b
|
|
@@ -19120,16 +19098,15 @@ img.ProseMirror-separator {
|
|
|
19120
19098
|
function render$6(_ctx, _cache) {
|
|
19121
19099
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$b, _hoisted_3$a);
|
|
19122
19100
|
}
|
|
19123
|
-
const
|
|
19101
|
+
const MdiFormatAlignJustify = { name: "mdi-format-align-justify", render: render$6 };
|
|
19124
19102
|
const _hoisted_1$a = {
|
|
19125
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19126
19103
|
viewBox: "0 0 24 24",
|
|
19127
19104
|
width: "1.2em",
|
|
19128
19105
|
height: "1.2em"
|
|
19129
19106
|
};
|
|
19130
19107
|
const _hoisted_2$a = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19131
19108
|
fill: "currentColor",
|
|
19132
|
-
d: "
|
|
19109
|
+
d: "m10 7l-2 4h3v6H5v-6l2-4h3m8 0l-2 4h3v6h-6v-6l2-4h3Z"
|
|
19133
19110
|
}, null, -1);
|
|
19134
19111
|
const _hoisted_3$9 = [
|
|
19135
19112
|
_hoisted_2$a
|
|
@@ -19137,16 +19114,15 @@ img.ProseMirror-separator {
|
|
|
19137
19114
|
function render$5(_ctx, _cache) {
|
|
19138
19115
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$a, _hoisted_3$9);
|
|
19139
19116
|
}
|
|
19140
|
-
const
|
|
19117
|
+
const MdiFormatQuoteOpen = { name: "mdi-format-quote-open", render: render$5 };
|
|
19141
19118
|
const _hoisted_1$9 = {
|
|
19142
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19143
19119
|
viewBox: "0 0 24 24",
|
|
19144
19120
|
width: "1.2em",
|
|
19145
19121
|
height: "1.2em"
|
|
19146
19122
|
};
|
|
19147
19123
|
const _hoisted_2$9 = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19148
19124
|
fill: "currentColor",
|
|
19149
|
-
d: "
|
|
19125
|
+
d: "m14.6 16.6l4.6-4.6l-4.6-4.6L16 6l6 6l-6 6l-1.4-1.4m-5.2 0L4.8 12l4.6-4.6L8 6l-6 6l6 6l1.4-1.4Z"
|
|
19150
19126
|
}, null, -1);
|
|
19151
19127
|
const _hoisted_3$8 = [
|
|
19152
19128
|
_hoisted_2$9
|
|
@@ -19154,16 +19130,15 @@ img.ProseMirror-separator {
|
|
|
19154
19130
|
function render$4(_ctx, _cache) {
|
|
19155
19131
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$9, _hoisted_3$8);
|
|
19156
19132
|
}
|
|
19157
|
-
const
|
|
19133
|
+
const MdiCodeTags = { name: "mdi-code-tags", render: render$4 };
|
|
19158
19134
|
const _hoisted_1$8 = {
|
|
19159
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19160
19135
|
viewBox: "0 0 24 24",
|
|
19161
19136
|
width: "1.2em",
|
|
19162
19137
|
height: "1.2em"
|
|
19163
19138
|
};
|
|
19164
19139
|
const _hoisted_2$8 = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19165
19140
|
fill: "currentColor",
|
|
19166
|
-
d: "
|
|
19141
|
+
d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-8 5H9v2c0 1.1-.9 2-2 2c1.1 0 2 .9 2 2v2h2v2H9c-1.1 0-2-.9-2-2v-1c0-1.1-.9-2-2-2v-2c1.1 0 2-.9 2-2V8c0-1.1.9-2 2-2h2v2m8 5c-1.1 0-2 .9-2 2v1c0 1.1-.9 2-2 2h-2v-2h2v-2c0-1.1.9-2 2-2c-1.1 0-2-.9-2-2V8h-2V6h2c1.1 0 2 .9 2 2v1c0 1.1.9 2 2 2v2Z"
|
|
19167
19142
|
}, null, -1);
|
|
19168
19143
|
const _hoisted_3$7 = [
|
|
19169
19144
|
_hoisted_2$8
|
|
@@ -19171,9 +19146,8 @@ img.ProseMirror-separator {
|
|
|
19171
19146
|
function render$3(_ctx, _cache) {
|
|
19172
19147
|
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$8, _hoisted_3$7);
|
|
19173
19148
|
}
|
|
19174
|
-
const
|
|
19149
|
+
const MdiCodeBracesBox = { name: "mdi-code-braces-box", render: render$3 };
|
|
19175
19150
|
const _hoisted_1$7 = {
|
|
19176
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19177
19151
|
viewBox: "0 0 24 24",
|
|
19178
19152
|
width: "1.2em",
|
|
19179
19153
|
height: "1.2em"
|
|
@@ -19190,7 +19164,6 @@ img.ProseMirror-separator {
|
|
|
19190
19164
|
}
|
|
19191
19165
|
const MdiFormatSuperscript = { name: "mdi-format-superscript", render: render$2 };
|
|
19192
19166
|
const _hoisted_1$6 = {
|
|
19193
|
-
preserveAspectRatio: "xMidYMid meet",
|
|
19194
19167
|
viewBox: "0 0 24 24",
|
|
19195
19168
|
width: "1.2em",
|
|
19196
19169
|
height: "1.2em"
|
|
@@ -19209,14 +19182,19 @@ img.ProseMirror-separator {
|
|
|
19209
19182
|
const _hoisted_1$5 = { class: "editor-header flex items-center py-1 space-x-0.5 justify-center border-b drop-shadow-sm bg-white" };
|
|
19210
19183
|
const _hoisted_2$5 = ["onClick"];
|
|
19211
19184
|
const _hoisted_3$4 = { class: "w-24 flex flex-col" };
|
|
19212
|
-
const _hoisted_4 = ["onClick"];
|
|
19213
|
-
const _hoisted_5 = { class: "text-sm" };
|
|
19185
|
+
const _hoisted_4$1 = ["onClick"];
|
|
19186
|
+
const _hoisted_5$1 = { class: "text-sm" };
|
|
19214
19187
|
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
19215
19188
|
__name: "EditorHeader",
|
|
19216
19189
|
props: {
|
|
19217
19190
|
editor: {
|
|
19218
19191
|
type: Object,
|
|
19219
19192
|
required: true
|
|
19193
|
+
},
|
|
19194
|
+
additionalMenuItems: {
|
|
19195
|
+
type: Array,
|
|
19196
|
+
required: false,
|
|
19197
|
+
default: () => []
|
|
19220
19198
|
}
|
|
19221
19199
|
},
|
|
19222
19200
|
setup(__props) {
|
|
@@ -19299,13 +19277,6 @@ img.ProseMirror-separator {
|
|
|
19299
19277
|
action: () => props.editor.chain().focus().toggleCodeBlock().run(),
|
|
19300
19278
|
isActive: () => props.editor.isActive("codeBlock")
|
|
19301
19279
|
},
|
|
19302
|
-
{
|
|
19303
|
-
type: "button",
|
|
19304
|
-
icon: MdiMathCompass,
|
|
19305
|
-
title: "Math",
|
|
19306
|
-
action: () => props.editor.chain().addKatex().run(),
|
|
19307
|
-
isActive: () => props.editor.isActive("katexBlock")
|
|
19308
|
-
},
|
|
19309
19280
|
{
|
|
19310
19281
|
type: "button",
|
|
19311
19282
|
icon: MdiFormatHeaderPound,
|
|
@@ -19383,19 +19354,20 @@ img.ProseMirror-separator {
|
|
|
19383
19354
|
title: "Align justify",
|
|
19384
19355
|
action: () => props.editor.chain().focus().setTextAlign("justify").run(),
|
|
19385
19356
|
isActive: () => props.editor.isActive({ textAlign: "justify" })
|
|
19386
|
-
}
|
|
19357
|
+
},
|
|
19358
|
+
...props.additionalMenuItems
|
|
19387
19359
|
];
|
|
19388
19360
|
return (_ctx, _cache) => {
|
|
19389
19361
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
|
|
19390
19362
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuItems, (menuItem, index2) => {
|
|
19391
|
-
var _a;
|
|
19363
|
+
var _a, _b;
|
|
19392
19364
|
return vue.createElementVNode("div", {
|
|
19393
19365
|
key: index2,
|
|
19394
19366
|
class: "inline-flex items-center justify-center"
|
|
19395
19367
|
}, [
|
|
19396
19368
|
!((_a = menuItem.children) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
19397
19369
|
key: 0,
|
|
19398
|
-
class: vue.normalizeClass([{ "bg-gray-200": menuItem.isActive() }, "hover:bg-gray-100 p-1 rounded-sm"]),
|
|
19370
|
+
class: vue.normalizeClass([{ "bg-gray-200": (_b = menuItem.isActive) == null ? void 0 : _b.call(menuItem) }, "hover:bg-gray-100 p-1 rounded-sm"]),
|
|
19399
19371
|
onClick: menuItem.action
|
|
19400
19372
|
}, [
|
|
19401
19373
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(menuItem.icon)))
|
|
@@ -19403,28 +19375,32 @@ img.ProseMirror-separator {
|
|
|
19403
19375
|
popper: vue.withCtx(() => [
|
|
19404
19376
|
vue.createElementVNode("div", _hoisted_3$4, [
|
|
19405
19377
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuItem.children, (child, childIndex) => {
|
|
19378
|
+
var _a2;
|
|
19406
19379
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
19407
19380
|
key: childIndex,
|
|
19408
|
-
class: vue.normalizeClass([{ "bg-gray-200": child.isActive() }, "p-1 hover:bg-gray-100"])
|
|
19381
|
+
class: vue.normalizeClass([{ "bg-gray-200": (_a2 = child.isActive) == null ? void 0 : _a2.call(child) }, "p-1 hover:bg-gray-100"])
|
|
19409
19382
|
}, [
|
|
19410
19383
|
vue.createElementVNode("button", {
|
|
19411
19384
|
class: "flex flex-row gap-2 items-center justify-center",
|
|
19412
19385
|
onClick: child.action
|
|
19413
19386
|
}, [
|
|
19414
19387
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(child.icon))),
|
|
19415
|
-
vue.createElementVNode("span", _hoisted_5, vue.toDisplayString(child.title), 1)
|
|
19416
|
-
], 8, _hoisted_4)
|
|
19388
|
+
vue.createElementVNode("span", _hoisted_5$1, vue.toDisplayString(child.title), 1)
|
|
19389
|
+
], 8, _hoisted_4$1)
|
|
19417
19390
|
], 2);
|
|
19418
19391
|
}), 128))
|
|
19419
19392
|
])
|
|
19420
19393
|
]),
|
|
19421
|
-
default: vue.withCtx(() =>
|
|
19422
|
-
|
|
19423
|
-
|
|
19424
|
-
|
|
19425
|
-
|
|
19426
|
-
|
|
19427
|
-
|
|
19394
|
+
default: vue.withCtx(() => {
|
|
19395
|
+
var _a2;
|
|
19396
|
+
return [
|
|
19397
|
+
vue.createElementVNode("button", {
|
|
19398
|
+
class: vue.normalizeClass([{ "bg-gray-200": (_a2 = menuItem.isActive) == null ? void 0 : _a2.call(menuItem) }, "hover:bg-gray-100 p-1 rounded-sm"])
|
|
19399
|
+
}, [
|
|
19400
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(menuItem.icon)))
|
|
19401
|
+
], 2)
|
|
19402
|
+
];
|
|
19403
|
+
}),
|
|
19428
19404
|
_: 2
|
|
19429
19405
|
}, 1024))
|
|
19430
19406
|
]);
|
|
@@ -19547,11 +19523,15 @@ img.ProseMirror-separator {
|
|
|
19547
19523
|
default: vue.withCtx(() => [
|
|
19548
19524
|
vue.createElementVNode("div", _hoisted_1$4, [
|
|
19549
19525
|
(vue.openBlock(), vue.createElementBlock(vue.Fragment, null, vue.renderList(menuItems, (menuItem, index2) => {
|
|
19526
|
+
var _a;
|
|
19550
19527
|
return vue.createElementVNode("button", {
|
|
19551
19528
|
key: index2,
|
|
19552
|
-
class: vue.normalizeClass([{ "bg-gray-200 !text-black": menuItem.isActive() }, "text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm"]),
|
|
19529
|
+
class: vue.normalizeClass([{ "bg-gray-200 !text-black": (_a = menuItem.isActive) == null ? void 0 : _a.call(menuItem) }, "text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm"]),
|
|
19553
19530
|
title: menuItem.title,
|
|
19554
|
-
onClick: ($event) =>
|
|
19531
|
+
onClick: ($event) => {
|
|
19532
|
+
var _a2;
|
|
19533
|
+
return (_a2 = menuItem.action) == null ? void 0 : _a2.call(menuItem);
|
|
19534
|
+
}
|
|
19555
19535
|
}, [
|
|
19556
19536
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(menuItem.icon)))
|
|
19557
19537
|
], 10, _hoisted_2$4);
|
|
@@ -19575,13 +19555,21 @@ img.ProseMirror-separator {
|
|
|
19575
19555
|
editor: {
|
|
19576
19556
|
type: Object,
|
|
19577
19557
|
required: true
|
|
19558
|
+
},
|
|
19559
|
+
additionalMenuItems: {
|
|
19560
|
+
type: Array,
|
|
19561
|
+
required: false,
|
|
19562
|
+
default: () => []
|
|
19578
19563
|
}
|
|
19579
19564
|
},
|
|
19580
19565
|
setup(__props) {
|
|
19581
19566
|
return (_ctx, _cache) => {
|
|
19582
19567
|
return __props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
|
|
19583
19568
|
vue.createVNode(_sfc_main$4, { editor: __props.editor }, null, 8, ["editor"]),
|
|
19584
|
-
vue.createVNode(_sfc_main$5, {
|
|
19569
|
+
vue.createVNode(_sfc_main$5, {
|
|
19570
|
+
editor: __props.editor,
|
|
19571
|
+
additionalMenuItems: __props.additionalMenuItems
|
|
19572
|
+
}, null, 8, ["editor", "additionalMenuItems"]),
|
|
19585
19573
|
vue.createElementVNode("div", _hoisted_2$3, [
|
|
19586
19574
|
vue.createVNode(vue.unref(EditorContent), {
|
|
19587
19575
|
editor: __props.editor,
|
|
@@ -19598,7 +19586,6 @@ img.ProseMirror-separator {
|
|
|
19598
19586
|
const index = "";
|
|
19599
19587
|
const tailwind = "";
|
|
19600
19588
|
const style = "";
|
|
19601
|
-
const katex$1 = "";
|
|
19602
19589
|
const githubMarkdownLight = "";
|
|
19603
19590
|
const inputRegex$6 = /^\s*>\s$/;
|
|
19604
19591
|
const Blockquote = Node.create({
|
|
@@ -19772,6 +19759,7 @@ img.ProseMirror-separator {
|
|
|
19772
19759
|
},
|
|
19773
19760
|
excludes: "_",
|
|
19774
19761
|
code: true,
|
|
19762
|
+
exitable: true,
|
|
19775
19763
|
parseHTML() {
|
|
19776
19764
|
return [
|
|
19777
19765
|
{ tag: "code" }
|
|
@@ -23885,7 +23873,7 @@ img.ProseMirror-separator {
|
|
|
23885
23873
|
var value = input.substr(startIdx, endIdx - startIdx);
|
|
23886
23874
|
return new Multi(value, tokens);
|
|
23887
23875
|
}
|
|
23888
|
-
var warn$
|
|
23876
|
+
var warn$2 = typeof console !== "undefined" && console && console.warn || function() {
|
|
23889
23877
|
};
|
|
23890
23878
|
var INIT = {
|
|
23891
23879
|
scanner: null,
|
|
@@ -23896,7 +23884,7 @@ img.ProseMirror-separator {
|
|
|
23896
23884
|
};
|
|
23897
23885
|
function registerCustomProtocol(protocol) {
|
|
23898
23886
|
if (INIT.initialized) {
|
|
23899
|
-
warn$
|
|
23887
|
+
warn$2('linkifyjs: already initialized - will not register custom protocol "'.concat(protocol, '" until you manually call linkify.init(). To avoid this warning, please register all custom protocols before invoking linkify the first time.'));
|
|
23900
23888
|
}
|
|
23901
23889
|
if (!/^[a-z-]+$/.test(protocol)) {
|
|
23902
23890
|
throw Error("linkifyjs: protocols containing characters other than a-z or - (hyphen) are not supported");
|
|
@@ -26691,7 +26679,7 @@ img.ProseMirror-separator {
|
|
|
26691
26679
|
return;
|
|
26692
26680
|
}
|
|
26693
26681
|
const state = handleExit && !handleStart ? prev : next;
|
|
26694
|
-
const decorationNode =
|
|
26682
|
+
const decorationNode = view.dom.querySelector(`[data-decoration-id="${state.decorationId}"]`);
|
|
26695
26683
|
props = {
|
|
26696
26684
|
editor,
|
|
26697
26685
|
range: state.range,
|
|
@@ -26709,7 +26697,7 @@ img.ProseMirror-separator {
|
|
|
26709
26697
|
clientRect: decorationNode ? () => {
|
|
26710
26698
|
var _a2;
|
|
26711
26699
|
const { decorationId } = (_a2 = this.key) === null || _a2 === void 0 ? void 0 : _a2.getState(editor.state);
|
|
26712
|
-
const currentDecorationNode =
|
|
26700
|
+
const currentDecorationNode = view.dom.querySelector(`[data-decoration-id="${decorationId}"]`);
|
|
26713
26701
|
return (currentDecorationNode === null || currentDecorationNode === void 0 ? void 0 : currentDecorationNode.getBoundingClientRect()) || null;
|
|
26714
26702
|
} : null
|
|
26715
26703
|
};
|
|
@@ -26849,12 +26837,17 @@ img.ProseMirror-separator {
|
|
|
26849
26837
|
];
|
|
26850
26838
|
}
|
|
26851
26839
|
});
|
|
26852
|
-
const _hoisted_1$2 = { class: "items" };
|
|
26840
|
+
const _hoisted_1$2 = { class: "command-items" };
|
|
26853
26841
|
const _hoisted_2$2 = ["onClick"];
|
|
26854
|
-
const _hoisted_3$2 = {
|
|
26842
|
+
const _hoisted_3$2 = { class: "command-title" };
|
|
26843
|
+
const _hoisted_4 = {
|
|
26855
26844
|
key: 1,
|
|
26856
|
-
class: "
|
|
26845
|
+
class: "command-empty"
|
|
26857
26846
|
};
|
|
26847
|
+
const _hoisted_5 = /* @__PURE__ */ vue.createElementVNode("span", null, "\u6CA1\u6709\u641C\u7D22\u7ED3\u679C", -1);
|
|
26848
|
+
const _hoisted_6 = [
|
|
26849
|
+
_hoisted_5
|
|
26850
|
+
];
|
|
26858
26851
|
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
26859
26852
|
__name: "CommandsView",
|
|
26860
26853
|
props: {
|
|
@@ -26912,15 +26905,15 @@ img.ProseMirror-separator {
|
|
|
26912
26905
|
return (_ctx, _cache) => {
|
|
26913
26906
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
|
|
26914
26907
|
__props.items.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(__props.items, (item, index2) => {
|
|
26915
|
-
return vue.openBlock(), vue.createElementBlock("
|
|
26908
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
26916
26909
|
key: index2,
|
|
26917
|
-
class: vue.normalizeClass([{ "is-selected": index2 === selectedIndex.value }, "item
|
|
26910
|
+
class: vue.normalizeClass([{ "is-selected": index2 === selectedIndex.value }, "command-item"]),
|
|
26918
26911
|
onClick: ($event) => handleSelectItem(index2)
|
|
26919
26912
|
}, [
|
|
26920
|
-
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.icon), { class: "
|
|
26921
|
-
vue.
|
|
26913
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.icon), { class: "command-icon" })),
|
|
26914
|
+
vue.createElementVNode("span", _hoisted_3$2, vue.toDisplayString(item.title), 1)
|
|
26922
26915
|
], 10, _hoisted_2$2);
|
|
26923
|
-
}), 128)) : (vue.openBlock(), vue.createElementBlock("div",
|
|
26916
|
+
}), 128)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, _hoisted_6))
|
|
26924
26917
|
]);
|
|
26925
26918
|
};
|
|
26926
26919
|
}
|
|
@@ -26930,7 +26923,7 @@ img.ProseMirror-separator {
|
|
|
26930
26923
|
items: ({ query }) => {
|
|
26931
26924
|
return [
|
|
26932
26925
|
{
|
|
26933
|
-
icon: MdiFormatHeader1,
|
|
26926
|
+
icon: vue.markRaw(MdiFormatHeader1),
|
|
26934
26927
|
title: "\u4E00\u7EA7\u6807\u9898",
|
|
26935
26928
|
keywords: ["h1", "header1", "1", "yijibiaoti"],
|
|
26936
26929
|
command: ({ editor, range }) => {
|
|
@@ -26938,7 +26931,7 @@ img.ProseMirror-separator {
|
|
|
26938
26931
|
}
|
|
26939
26932
|
},
|
|
26940
26933
|
{
|
|
26941
|
-
icon: MdiFormatHeader2,
|
|
26934
|
+
icon: vue.markRaw(MdiFormatHeader2),
|
|
26942
26935
|
title: "\u4E8C\u7EA7\u6807\u9898",
|
|
26943
26936
|
keywords: ["h2", "header2", "2", "erjibiaoti"],
|
|
26944
26937
|
command: ({ editor, range }) => {
|
|
@@ -26946,7 +26939,7 @@ img.ProseMirror-separator {
|
|
|
26946
26939
|
}
|
|
26947
26940
|
},
|
|
26948
26941
|
{
|
|
26949
|
-
icon: MdiFormatHeader3,
|
|
26942
|
+
icon: vue.markRaw(MdiFormatHeader3),
|
|
26950
26943
|
title: "\u4E09\u7EA7\u6807\u9898",
|
|
26951
26944
|
keywords: ["h3", "header3", "3", "sanjibiaoti"],
|
|
26952
26945
|
command: ({ editor, range }) => {
|
|
@@ -26954,7 +26947,7 @@ img.ProseMirror-separator {
|
|
|
26954
26947
|
}
|
|
26955
26948
|
},
|
|
26956
26949
|
{
|
|
26957
|
-
icon: MdiFormatHeader4,
|
|
26950
|
+
icon: vue.markRaw(MdiFormatHeader4),
|
|
26958
26951
|
title: "\u56DB\u7EA7\u6807\u9898",
|
|
26959
26952
|
keywords: ["h4", "header4", "4", "sijibiaoti"],
|
|
26960
26953
|
command: ({ editor, range }) => {
|
|
@@ -26962,7 +26955,7 @@ img.ProseMirror-separator {
|
|
|
26962
26955
|
}
|
|
26963
26956
|
},
|
|
26964
26957
|
{
|
|
26965
|
-
icon: MdiFormatHeader5,
|
|
26958
|
+
icon: vue.markRaw(MdiFormatHeader5),
|
|
26966
26959
|
title: "\u4E94\u7EA7\u6807\u9898",
|
|
26967
26960
|
keywords: ["h5", "header5", "5", "wujibiaoti"],
|
|
26968
26961
|
command: ({ editor, range }) => {
|
|
@@ -26970,7 +26963,7 @@ img.ProseMirror-separator {
|
|
|
26970
26963
|
}
|
|
26971
26964
|
},
|
|
26972
26965
|
{
|
|
26973
|
-
icon: MdiFormatHeader6,
|
|
26966
|
+
icon: vue.markRaw(MdiFormatHeader6),
|
|
26974
26967
|
title: "\u516D\u7EA7\u6807\u9898",
|
|
26975
26968
|
keywords: ["h6", "header6", "6", "liujibiaoti"],
|
|
26976
26969
|
command: ({ editor, range }) => {
|
|
@@ -26978,19 +26971,11 @@ img.ProseMirror-separator {
|
|
|
26978
26971
|
}
|
|
26979
26972
|
},
|
|
26980
26973
|
{
|
|
26981
|
-
icon: MdiCodeBracesBox,
|
|
26974
|
+
icon: vue.markRaw(MdiCodeBracesBox),
|
|
26982
26975
|
title: "\u4EE3\u7801\u5757",
|
|
26983
26976
|
keywords: ["codeblock", "daimakuai"],
|
|
26984
26977
|
command: ({ editor, range }) => {
|
|
26985
|
-
editor.chain().focus().deleteRange(range).
|
|
26986
|
-
}
|
|
26987
|
-
},
|
|
26988
|
-
{
|
|
26989
|
-
icon: MdiMathCompass,
|
|
26990
|
-
title: "\u6570\u5B66\u516C\u5F0F",
|
|
26991
|
-
keywords: ["katex", "math", "shuxuegongshi"],
|
|
26992
|
-
command: ({ editor, range }) => {
|
|
26993
|
-
editor.chain().focus().deleteRange(range).addKatex().run();
|
|
26978
|
+
editor.chain().focus().deleteRange(range).setCodeBlock().run();
|
|
26994
26979
|
}
|
|
26995
26980
|
}
|
|
26996
26981
|
].filter(
|
|
@@ -27015,7 +27000,6 @@ img.ProseMirror-separator {
|
|
|
27015
27000
|
getReferenceClientRect: props.clientRect,
|
|
27016
27001
|
appendTo: () => document.body,
|
|
27017
27002
|
content: component.element,
|
|
27018
|
-
arrow: ROUND_ARROW,
|
|
27019
27003
|
showOnCreate: true,
|
|
27020
27004
|
interactive: true,
|
|
27021
27005
|
trigger: "manual",
|
|
@@ -27088,141 +27072,1588 @@ img.ProseMirror-separator {
|
|
|
27088
27072
|
tag: "pre",
|
|
27089
27073
|
preserveWhitespace: "full"
|
|
27090
27074
|
}
|
|
27091
|
-
];
|
|
27092
|
-
},
|
|
27093
|
-
renderHTML({ node, HTMLAttributes }) {
|
|
27094
|
-
return [
|
|
27095
|
-
"pre",
|
|
27096
|
-
mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
|
|
27097
|
-
[
|
|
27098
|
-
"code",
|
|
27099
|
-
{
|
|
27100
|
-
class: node.attrs.language ? this.options.languageClassPrefix + node.attrs.language : null
|
|
27101
|
-
},
|
|
27102
|
-
0
|
|
27103
|
-
]
|
|
27104
|
-
];
|
|
27105
|
-
},
|
|
27106
|
-
addCommands() {
|
|
27107
|
-
return {
|
|
27108
|
-
setCodeBlock: (attributes) => ({ commands: commands2 }) => {
|
|
27109
|
-
return commands2.setNode(this.name, attributes);
|
|
27110
|
-
},
|
|
27111
|
-
toggleCodeBlock: (attributes) => ({ commands: commands2 }) => {
|
|
27112
|
-
return commands2.toggleNode(this.name, "paragraph", attributes);
|
|
27075
|
+
];
|
|
27076
|
+
},
|
|
27077
|
+
renderHTML({ node, HTMLAttributes }) {
|
|
27078
|
+
return [
|
|
27079
|
+
"pre",
|
|
27080
|
+
mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
|
|
27081
|
+
[
|
|
27082
|
+
"code",
|
|
27083
|
+
{
|
|
27084
|
+
class: node.attrs.language ? this.options.languageClassPrefix + node.attrs.language : null
|
|
27085
|
+
},
|
|
27086
|
+
0
|
|
27087
|
+
]
|
|
27088
|
+
];
|
|
27089
|
+
},
|
|
27090
|
+
addCommands() {
|
|
27091
|
+
return {
|
|
27092
|
+
setCodeBlock: (attributes) => ({ commands: commands2 }) => {
|
|
27093
|
+
return commands2.setNode(this.name, attributes);
|
|
27094
|
+
},
|
|
27095
|
+
toggleCodeBlock: (attributes) => ({ commands: commands2 }) => {
|
|
27096
|
+
return commands2.toggleNode(this.name, "paragraph", attributes);
|
|
27097
|
+
}
|
|
27098
|
+
};
|
|
27099
|
+
},
|
|
27100
|
+
addKeyboardShortcuts() {
|
|
27101
|
+
return {
|
|
27102
|
+
"Mod-Alt-c": () => this.editor.commands.toggleCodeBlock(),
|
|
27103
|
+
Backspace: () => {
|
|
27104
|
+
const { empty: empty2, $anchor } = this.editor.state.selection;
|
|
27105
|
+
const isAtStart = $anchor.pos === 1;
|
|
27106
|
+
if (!empty2 || $anchor.parent.type.name !== this.name) {
|
|
27107
|
+
return false;
|
|
27108
|
+
}
|
|
27109
|
+
if (isAtStart || !$anchor.parent.textContent.length) {
|
|
27110
|
+
return this.editor.commands.clearNodes();
|
|
27111
|
+
}
|
|
27112
|
+
return false;
|
|
27113
|
+
},
|
|
27114
|
+
Enter: ({ editor }) => {
|
|
27115
|
+
if (!this.options.exitOnTripleEnter) {
|
|
27116
|
+
return false;
|
|
27117
|
+
}
|
|
27118
|
+
const { state } = editor;
|
|
27119
|
+
const { selection } = state;
|
|
27120
|
+
const { $from, empty: empty2 } = selection;
|
|
27121
|
+
if (!empty2 || $from.parent.type !== this.type) {
|
|
27122
|
+
return false;
|
|
27123
|
+
}
|
|
27124
|
+
const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
|
|
27125
|
+
const endsWithDoubleNewline = $from.parent.textContent.endsWith("\n\n");
|
|
27126
|
+
if (!isAtEnd || !endsWithDoubleNewline) {
|
|
27127
|
+
return false;
|
|
27128
|
+
}
|
|
27129
|
+
return editor.chain().command(({ tr }) => {
|
|
27130
|
+
tr.delete($from.pos - 2, $from.pos);
|
|
27131
|
+
return true;
|
|
27132
|
+
}).exitCode().run();
|
|
27133
|
+
},
|
|
27134
|
+
ArrowDown: ({ editor }) => {
|
|
27135
|
+
if (!this.options.exitOnArrowDown) {
|
|
27136
|
+
return false;
|
|
27137
|
+
}
|
|
27138
|
+
const { state } = editor;
|
|
27139
|
+
const { selection, doc: doc2 } = state;
|
|
27140
|
+
const { $from, empty: empty2 } = selection;
|
|
27141
|
+
if (!empty2 || $from.parent.type !== this.type) {
|
|
27142
|
+
return false;
|
|
27143
|
+
}
|
|
27144
|
+
const isAtEnd = $from.parentOffset === $from.parent.nodeSize - 2;
|
|
27145
|
+
if (!isAtEnd) {
|
|
27146
|
+
return false;
|
|
27147
|
+
}
|
|
27148
|
+
const after = $from.after();
|
|
27149
|
+
if (after === void 0) {
|
|
27150
|
+
return false;
|
|
27151
|
+
}
|
|
27152
|
+
const nodeAfter = doc2.nodeAt(after);
|
|
27153
|
+
if (nodeAfter) {
|
|
27154
|
+
return false;
|
|
27155
|
+
}
|
|
27156
|
+
return editor.commands.exitCode();
|
|
27157
|
+
}
|
|
27158
|
+
};
|
|
27159
|
+
},
|
|
27160
|
+
addInputRules() {
|
|
27161
|
+
return [
|
|
27162
|
+
textblockTypeInputRule({
|
|
27163
|
+
find: backtickInputRegex,
|
|
27164
|
+
type: this.type,
|
|
27165
|
+
getAttributes: (match) => ({
|
|
27166
|
+
language: match[1]
|
|
27167
|
+
})
|
|
27168
|
+
}),
|
|
27169
|
+
textblockTypeInputRule({
|
|
27170
|
+
find: tildeInputRegex,
|
|
27171
|
+
type: this.type,
|
|
27172
|
+
getAttributes: (match) => ({
|
|
27173
|
+
language: match[1]
|
|
27174
|
+
})
|
|
27175
|
+
})
|
|
27176
|
+
];
|
|
27177
|
+
},
|
|
27178
|
+
addProseMirrorPlugins() {
|
|
27179
|
+
return [
|
|
27180
|
+
new Plugin({
|
|
27181
|
+
key: new PluginKey("codeBlockVSCodeHandler"),
|
|
27182
|
+
props: {
|
|
27183
|
+
handlePaste: (view, event) => {
|
|
27184
|
+
if (!event.clipboardData) {
|
|
27185
|
+
return false;
|
|
27186
|
+
}
|
|
27187
|
+
if (this.editor.isActive(this.type.name)) {
|
|
27188
|
+
return false;
|
|
27189
|
+
}
|
|
27190
|
+
const text2 = event.clipboardData.getData("text/plain");
|
|
27191
|
+
const vscode = event.clipboardData.getData("vscode-editor-data");
|
|
27192
|
+
const vscodeData = vscode ? JSON.parse(vscode) : void 0;
|
|
27193
|
+
const language = vscodeData === null || vscodeData === void 0 ? void 0 : vscodeData.mode;
|
|
27194
|
+
if (!text2 || !language) {
|
|
27195
|
+
return false;
|
|
27196
|
+
}
|
|
27197
|
+
const { tr } = view.state;
|
|
27198
|
+
tr.replaceSelectionWith(this.type.create({ language }));
|
|
27199
|
+
tr.setSelection(TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));
|
|
27200
|
+
tr.insertText(text2.replace(/\r\n?/g, "\n"));
|
|
27201
|
+
tr.setMeta("paste", true);
|
|
27202
|
+
view.dispatch(tr);
|
|
27203
|
+
return true;
|
|
27204
|
+
}
|
|
27205
|
+
}
|
|
27206
|
+
})
|
|
27207
|
+
];
|
|
27208
|
+
}
|
|
27209
|
+
});
|
|
27210
|
+
var deepFreezeEs6$1 = { exports: {} };
|
|
27211
|
+
function deepFreeze$1(obj) {
|
|
27212
|
+
if (obj instanceof Map) {
|
|
27213
|
+
obj.clear = obj.delete = obj.set = function() {
|
|
27214
|
+
throw new Error("map is read-only");
|
|
27215
|
+
};
|
|
27216
|
+
} else if (obj instanceof Set) {
|
|
27217
|
+
obj.add = obj.clear = obj.delete = function() {
|
|
27218
|
+
throw new Error("set is read-only");
|
|
27219
|
+
};
|
|
27220
|
+
}
|
|
27221
|
+
Object.freeze(obj);
|
|
27222
|
+
Object.getOwnPropertyNames(obj).forEach(function(name) {
|
|
27223
|
+
var prop = obj[name];
|
|
27224
|
+
if (typeof prop == "object" && !Object.isFrozen(prop)) {
|
|
27225
|
+
deepFreeze$1(prop);
|
|
27226
|
+
}
|
|
27227
|
+
});
|
|
27228
|
+
return obj;
|
|
27229
|
+
}
|
|
27230
|
+
deepFreezeEs6$1.exports = deepFreeze$1;
|
|
27231
|
+
deepFreezeEs6$1.exports.default = deepFreeze$1;
|
|
27232
|
+
class Response$1 {
|
|
27233
|
+
constructor(mode) {
|
|
27234
|
+
if (mode.data === void 0)
|
|
27235
|
+
mode.data = {};
|
|
27236
|
+
this.data = mode.data;
|
|
27237
|
+
this.isMatchIgnored = false;
|
|
27238
|
+
}
|
|
27239
|
+
ignoreMatch() {
|
|
27240
|
+
this.isMatchIgnored = true;
|
|
27241
|
+
}
|
|
27242
|
+
}
|
|
27243
|
+
function escapeHTML$1(value) {
|
|
27244
|
+
return value.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
27245
|
+
}
|
|
27246
|
+
function inherit$1$1(original, ...objects) {
|
|
27247
|
+
const result = /* @__PURE__ */ Object.create(null);
|
|
27248
|
+
for (const key2 in original) {
|
|
27249
|
+
result[key2] = original[key2];
|
|
27250
|
+
}
|
|
27251
|
+
objects.forEach(function(obj) {
|
|
27252
|
+
for (const key2 in obj) {
|
|
27253
|
+
result[key2] = obj[key2];
|
|
27254
|
+
}
|
|
27255
|
+
});
|
|
27256
|
+
return result;
|
|
27257
|
+
}
|
|
27258
|
+
const SPAN_CLOSE$1 = "</span>";
|
|
27259
|
+
const emitsWrappingTags$1 = (node) => {
|
|
27260
|
+
return !!node.scope || node.sublanguage && node.language;
|
|
27261
|
+
};
|
|
27262
|
+
const scopeToCSSClass$1 = (name, { prefix }) => {
|
|
27263
|
+
if (name.includes(".")) {
|
|
27264
|
+
const pieces = name.split(".");
|
|
27265
|
+
return [
|
|
27266
|
+
`${prefix}${pieces.shift()}`,
|
|
27267
|
+
...pieces.map((x, i2) => `${x}${"_".repeat(i2 + 1)}`)
|
|
27268
|
+
].join(" ");
|
|
27269
|
+
}
|
|
27270
|
+
return `${prefix}${name}`;
|
|
27271
|
+
};
|
|
27272
|
+
class HTMLRenderer$1 {
|
|
27273
|
+
constructor(parseTree2, options) {
|
|
27274
|
+
this.buffer = "";
|
|
27275
|
+
this.classPrefix = options.classPrefix;
|
|
27276
|
+
parseTree2.walk(this);
|
|
27277
|
+
}
|
|
27278
|
+
addText(text2) {
|
|
27279
|
+
this.buffer += escapeHTML$1(text2);
|
|
27280
|
+
}
|
|
27281
|
+
openNode(node) {
|
|
27282
|
+
if (!emitsWrappingTags$1(node))
|
|
27283
|
+
return;
|
|
27284
|
+
let className = "";
|
|
27285
|
+
if (node.sublanguage) {
|
|
27286
|
+
className = `language-${node.language}`;
|
|
27287
|
+
} else {
|
|
27288
|
+
className = scopeToCSSClass$1(node.scope, { prefix: this.classPrefix });
|
|
27289
|
+
}
|
|
27290
|
+
this.span(className);
|
|
27291
|
+
}
|
|
27292
|
+
closeNode(node) {
|
|
27293
|
+
if (!emitsWrappingTags$1(node))
|
|
27294
|
+
return;
|
|
27295
|
+
this.buffer += SPAN_CLOSE$1;
|
|
27296
|
+
}
|
|
27297
|
+
value() {
|
|
27298
|
+
return this.buffer;
|
|
27299
|
+
}
|
|
27300
|
+
span(className) {
|
|
27301
|
+
this.buffer += `<span class="${className}">`;
|
|
27302
|
+
}
|
|
27303
|
+
}
|
|
27304
|
+
const newNode$1 = (opts = {}) => {
|
|
27305
|
+
const result = { children: [] };
|
|
27306
|
+
Object.assign(result, opts);
|
|
27307
|
+
return result;
|
|
27308
|
+
};
|
|
27309
|
+
class TokenTree$1 {
|
|
27310
|
+
constructor() {
|
|
27311
|
+
this.rootNode = newNode$1();
|
|
27312
|
+
this.stack = [this.rootNode];
|
|
27313
|
+
}
|
|
27314
|
+
get top() {
|
|
27315
|
+
return this.stack[this.stack.length - 1];
|
|
27316
|
+
}
|
|
27317
|
+
get root() {
|
|
27318
|
+
return this.rootNode;
|
|
27319
|
+
}
|
|
27320
|
+
add(node) {
|
|
27321
|
+
this.top.children.push(node);
|
|
27322
|
+
}
|
|
27323
|
+
openNode(scope) {
|
|
27324
|
+
const node = newNode$1({ scope });
|
|
27325
|
+
this.add(node);
|
|
27326
|
+
this.stack.push(node);
|
|
27327
|
+
}
|
|
27328
|
+
closeNode() {
|
|
27329
|
+
if (this.stack.length > 1) {
|
|
27330
|
+
return this.stack.pop();
|
|
27331
|
+
}
|
|
27332
|
+
return void 0;
|
|
27333
|
+
}
|
|
27334
|
+
closeAllNodes() {
|
|
27335
|
+
while (this.closeNode())
|
|
27336
|
+
;
|
|
27337
|
+
}
|
|
27338
|
+
toJSON() {
|
|
27339
|
+
return JSON.stringify(this.rootNode, null, 4);
|
|
27340
|
+
}
|
|
27341
|
+
walk(builder) {
|
|
27342
|
+
return this.constructor._walk(builder, this.rootNode);
|
|
27343
|
+
}
|
|
27344
|
+
static _walk(builder, node) {
|
|
27345
|
+
if (typeof node === "string") {
|
|
27346
|
+
builder.addText(node);
|
|
27347
|
+
} else if (node.children) {
|
|
27348
|
+
builder.openNode(node);
|
|
27349
|
+
node.children.forEach((child) => this._walk(builder, child));
|
|
27350
|
+
builder.closeNode(node);
|
|
27351
|
+
}
|
|
27352
|
+
return builder;
|
|
27353
|
+
}
|
|
27354
|
+
static _collapse(node) {
|
|
27355
|
+
if (typeof node === "string")
|
|
27356
|
+
return;
|
|
27357
|
+
if (!node.children)
|
|
27358
|
+
return;
|
|
27359
|
+
if (node.children.every((el) => typeof el === "string")) {
|
|
27360
|
+
node.children = [node.children.join("")];
|
|
27361
|
+
} else {
|
|
27362
|
+
node.children.forEach((child) => {
|
|
27363
|
+
TokenTree$1._collapse(child);
|
|
27364
|
+
});
|
|
27365
|
+
}
|
|
27366
|
+
}
|
|
27367
|
+
}
|
|
27368
|
+
class TokenTreeEmitter$1 extends TokenTree$1 {
|
|
27369
|
+
constructor(options) {
|
|
27370
|
+
super();
|
|
27371
|
+
this.options = options;
|
|
27372
|
+
}
|
|
27373
|
+
addKeyword(text2, scope) {
|
|
27374
|
+
if (text2 === "") {
|
|
27375
|
+
return;
|
|
27376
|
+
}
|
|
27377
|
+
this.openNode(scope);
|
|
27378
|
+
this.addText(text2);
|
|
27379
|
+
this.closeNode();
|
|
27380
|
+
}
|
|
27381
|
+
addText(text2) {
|
|
27382
|
+
if (text2 === "") {
|
|
27383
|
+
return;
|
|
27384
|
+
}
|
|
27385
|
+
this.add(text2);
|
|
27386
|
+
}
|
|
27387
|
+
addSublanguage(emitter, name) {
|
|
27388
|
+
const node = emitter.root;
|
|
27389
|
+
node.sublanguage = true;
|
|
27390
|
+
node.language = name;
|
|
27391
|
+
this.add(node);
|
|
27392
|
+
}
|
|
27393
|
+
toHTML() {
|
|
27394
|
+
const renderer = new HTMLRenderer$1(this, this.options);
|
|
27395
|
+
return renderer.value();
|
|
27396
|
+
}
|
|
27397
|
+
finalize() {
|
|
27398
|
+
return true;
|
|
27399
|
+
}
|
|
27400
|
+
}
|
|
27401
|
+
function source$3(re) {
|
|
27402
|
+
if (!re)
|
|
27403
|
+
return null;
|
|
27404
|
+
if (typeof re === "string")
|
|
27405
|
+
return re;
|
|
27406
|
+
return re.source;
|
|
27407
|
+
}
|
|
27408
|
+
function lookahead$3(re) {
|
|
27409
|
+
return concat$3("(?=", re, ")");
|
|
27410
|
+
}
|
|
27411
|
+
function anyNumberOfTimes$1(re) {
|
|
27412
|
+
return concat$3("(?:", re, ")*");
|
|
27413
|
+
}
|
|
27414
|
+
function optional$1(re) {
|
|
27415
|
+
return concat$3("(?:", re, ")?");
|
|
27416
|
+
}
|
|
27417
|
+
function concat$3(...args) {
|
|
27418
|
+
const joined = args.map((x) => source$3(x)).join("");
|
|
27419
|
+
return joined;
|
|
27420
|
+
}
|
|
27421
|
+
function stripOptionsFromArgs$3(args) {
|
|
27422
|
+
const opts = args[args.length - 1];
|
|
27423
|
+
if (typeof opts === "object" && opts.constructor === Object) {
|
|
27424
|
+
args.splice(args.length - 1, 1);
|
|
27425
|
+
return opts;
|
|
27426
|
+
} else {
|
|
27427
|
+
return {};
|
|
27428
|
+
}
|
|
27429
|
+
}
|
|
27430
|
+
function either$3(...args) {
|
|
27431
|
+
const opts = stripOptionsFromArgs$3(args);
|
|
27432
|
+
const joined = "(" + (opts.capture ? "" : "?:") + args.map((x) => source$3(x)).join("|") + ")";
|
|
27433
|
+
return joined;
|
|
27434
|
+
}
|
|
27435
|
+
function countMatchGroups$1(re) {
|
|
27436
|
+
return new RegExp(re.toString() + "|").exec("").length - 1;
|
|
27437
|
+
}
|
|
27438
|
+
function startsWith$1(re, lexeme) {
|
|
27439
|
+
const match = re && re.exec(lexeme);
|
|
27440
|
+
return match && match.index === 0;
|
|
27441
|
+
}
|
|
27442
|
+
const BACKREF_RE$1 = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;
|
|
27443
|
+
function _rewriteBackreferences$1(regexps, { joinWith }) {
|
|
27444
|
+
let numCaptures = 0;
|
|
27445
|
+
return regexps.map((regex) => {
|
|
27446
|
+
numCaptures += 1;
|
|
27447
|
+
const offset2 = numCaptures;
|
|
27448
|
+
let re = source$3(regex);
|
|
27449
|
+
let out = "";
|
|
27450
|
+
while (re.length > 0) {
|
|
27451
|
+
const match = BACKREF_RE$1.exec(re);
|
|
27452
|
+
if (!match) {
|
|
27453
|
+
out += re;
|
|
27454
|
+
break;
|
|
27455
|
+
}
|
|
27456
|
+
out += re.substring(0, match.index);
|
|
27457
|
+
re = re.substring(match.index + match[0].length);
|
|
27458
|
+
if (match[0][0] === "\\" && match[1]) {
|
|
27459
|
+
out += "\\" + String(Number(match[1]) + offset2);
|
|
27460
|
+
} else {
|
|
27461
|
+
out += match[0];
|
|
27462
|
+
if (match[0] === "(") {
|
|
27463
|
+
numCaptures++;
|
|
27464
|
+
}
|
|
27465
|
+
}
|
|
27466
|
+
}
|
|
27467
|
+
return out;
|
|
27468
|
+
}).map((re) => `(${re})`).join(joinWith);
|
|
27469
|
+
}
|
|
27470
|
+
const MATCH_NOTHING_RE$1 = /\b\B/;
|
|
27471
|
+
const IDENT_RE$3 = "[a-zA-Z]\\w*";
|
|
27472
|
+
const UNDERSCORE_IDENT_RE$1 = "[a-zA-Z_]\\w*";
|
|
27473
|
+
const NUMBER_RE$1 = "\\b\\d+(\\.\\d+)?";
|
|
27474
|
+
const C_NUMBER_RE$1 = "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";
|
|
27475
|
+
const BINARY_NUMBER_RE$1 = "\\b(0b[01]+)";
|
|
27476
|
+
const RE_STARTERS_RE$1 = "!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";
|
|
27477
|
+
const SHEBANG$1 = (opts = {}) => {
|
|
27478
|
+
const beginShebang = /^#![ ]*\//;
|
|
27479
|
+
if (opts.binary) {
|
|
27480
|
+
opts.begin = concat$3(
|
|
27481
|
+
beginShebang,
|
|
27482
|
+
/.*\b/,
|
|
27483
|
+
opts.binary,
|
|
27484
|
+
/\b.*/
|
|
27485
|
+
);
|
|
27486
|
+
}
|
|
27487
|
+
return inherit$1$1({
|
|
27488
|
+
scope: "meta",
|
|
27489
|
+
begin: beginShebang,
|
|
27490
|
+
end: /$/,
|
|
27491
|
+
relevance: 0,
|
|
27492
|
+
"on:begin": (m, resp) => {
|
|
27493
|
+
if (m.index !== 0)
|
|
27494
|
+
resp.ignoreMatch();
|
|
27495
|
+
}
|
|
27496
|
+
}, opts);
|
|
27497
|
+
};
|
|
27498
|
+
const BACKSLASH_ESCAPE$1 = {
|
|
27499
|
+
begin: "\\\\[\\s\\S]",
|
|
27500
|
+
relevance: 0
|
|
27501
|
+
};
|
|
27502
|
+
const APOS_STRING_MODE$1 = {
|
|
27503
|
+
scope: "string",
|
|
27504
|
+
begin: "'",
|
|
27505
|
+
end: "'",
|
|
27506
|
+
illegal: "\\n",
|
|
27507
|
+
contains: [BACKSLASH_ESCAPE$1]
|
|
27508
|
+
};
|
|
27509
|
+
const QUOTE_STRING_MODE$1 = {
|
|
27510
|
+
scope: "string",
|
|
27511
|
+
begin: '"',
|
|
27512
|
+
end: '"',
|
|
27513
|
+
illegal: "\\n",
|
|
27514
|
+
contains: [BACKSLASH_ESCAPE$1]
|
|
27515
|
+
};
|
|
27516
|
+
const PHRASAL_WORDS_MODE$1 = {
|
|
27517
|
+
begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/
|
|
27518
|
+
};
|
|
27519
|
+
const COMMENT$1 = function(begin, end2, modeOptions = {}) {
|
|
27520
|
+
const mode = inherit$1$1(
|
|
27521
|
+
{
|
|
27522
|
+
scope: "comment",
|
|
27523
|
+
begin,
|
|
27524
|
+
end: end2,
|
|
27525
|
+
contains: []
|
|
27526
|
+
},
|
|
27527
|
+
modeOptions
|
|
27528
|
+
);
|
|
27529
|
+
mode.contains.push({
|
|
27530
|
+
scope: "doctag",
|
|
27531
|
+
begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
|
|
27532
|
+
end: /(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,
|
|
27533
|
+
excludeBegin: true,
|
|
27534
|
+
relevance: 0
|
|
27535
|
+
});
|
|
27536
|
+
const ENGLISH_WORD = either$3(
|
|
27537
|
+
"I",
|
|
27538
|
+
"a",
|
|
27539
|
+
"is",
|
|
27540
|
+
"so",
|
|
27541
|
+
"us",
|
|
27542
|
+
"to",
|
|
27543
|
+
"at",
|
|
27544
|
+
"if",
|
|
27545
|
+
"in",
|
|
27546
|
+
"it",
|
|
27547
|
+
"on",
|
|
27548
|
+
/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,
|
|
27549
|
+
/[A-Za-z]+[-][a-z]+/,
|
|
27550
|
+
/[A-Za-z][a-z]{2,}/
|
|
27551
|
+
);
|
|
27552
|
+
mode.contains.push(
|
|
27553
|
+
{
|
|
27554
|
+
begin: concat$3(
|
|
27555
|
+
/[ ]+/,
|
|
27556
|
+
"(",
|
|
27557
|
+
ENGLISH_WORD,
|
|
27558
|
+
/[.]?[:]?([.][ ]|[ ])/,
|
|
27559
|
+
"){3}"
|
|
27560
|
+
)
|
|
27561
|
+
}
|
|
27562
|
+
);
|
|
27563
|
+
return mode;
|
|
27564
|
+
};
|
|
27565
|
+
const C_LINE_COMMENT_MODE$1 = COMMENT$1("//", "$");
|
|
27566
|
+
const C_BLOCK_COMMENT_MODE$1 = COMMENT$1("/\\*", "\\*/");
|
|
27567
|
+
const HASH_COMMENT_MODE$1 = COMMENT$1("#", "$");
|
|
27568
|
+
const NUMBER_MODE$1 = {
|
|
27569
|
+
scope: "number",
|
|
27570
|
+
begin: NUMBER_RE$1,
|
|
27571
|
+
relevance: 0
|
|
27572
|
+
};
|
|
27573
|
+
const C_NUMBER_MODE$1 = {
|
|
27574
|
+
scope: "number",
|
|
27575
|
+
begin: C_NUMBER_RE$1,
|
|
27576
|
+
relevance: 0
|
|
27577
|
+
};
|
|
27578
|
+
const BINARY_NUMBER_MODE$1 = {
|
|
27579
|
+
scope: "number",
|
|
27580
|
+
begin: BINARY_NUMBER_RE$1,
|
|
27581
|
+
relevance: 0
|
|
27582
|
+
};
|
|
27583
|
+
const REGEXP_MODE$1 = {
|
|
27584
|
+
begin: /(?=\/[^/\n]*\/)/,
|
|
27585
|
+
contains: [{
|
|
27586
|
+
scope: "regexp",
|
|
27587
|
+
begin: /\//,
|
|
27588
|
+
end: /\/[gimuy]*/,
|
|
27589
|
+
illegal: /\n/,
|
|
27590
|
+
contains: [
|
|
27591
|
+
BACKSLASH_ESCAPE$1,
|
|
27592
|
+
{
|
|
27593
|
+
begin: /\[/,
|
|
27594
|
+
end: /\]/,
|
|
27595
|
+
relevance: 0,
|
|
27596
|
+
contains: [BACKSLASH_ESCAPE$1]
|
|
27597
|
+
}
|
|
27598
|
+
]
|
|
27599
|
+
}]
|
|
27600
|
+
};
|
|
27601
|
+
const TITLE_MODE$1 = {
|
|
27602
|
+
scope: "title",
|
|
27603
|
+
begin: IDENT_RE$3,
|
|
27604
|
+
relevance: 0
|
|
27605
|
+
};
|
|
27606
|
+
const UNDERSCORE_TITLE_MODE$1 = {
|
|
27607
|
+
scope: "title",
|
|
27608
|
+
begin: UNDERSCORE_IDENT_RE$1,
|
|
27609
|
+
relevance: 0
|
|
27610
|
+
};
|
|
27611
|
+
const METHOD_GUARD$1 = {
|
|
27612
|
+
begin: "\\.\\s*" + UNDERSCORE_IDENT_RE$1,
|
|
27613
|
+
relevance: 0
|
|
27614
|
+
};
|
|
27615
|
+
const END_SAME_AS_BEGIN$1 = function(mode) {
|
|
27616
|
+
return Object.assign(
|
|
27617
|
+
mode,
|
|
27618
|
+
{
|
|
27619
|
+
"on:begin": (m, resp) => {
|
|
27620
|
+
resp.data._beginMatch = m[1];
|
|
27621
|
+
},
|
|
27622
|
+
"on:end": (m, resp) => {
|
|
27623
|
+
if (resp.data._beginMatch !== m[1])
|
|
27624
|
+
resp.ignoreMatch();
|
|
27625
|
+
}
|
|
27626
|
+
}
|
|
27627
|
+
);
|
|
27628
|
+
};
|
|
27629
|
+
var MODES$5 = /* @__PURE__ */ Object.freeze({
|
|
27630
|
+
__proto__: null,
|
|
27631
|
+
MATCH_NOTHING_RE: MATCH_NOTHING_RE$1,
|
|
27632
|
+
IDENT_RE: IDENT_RE$3,
|
|
27633
|
+
UNDERSCORE_IDENT_RE: UNDERSCORE_IDENT_RE$1,
|
|
27634
|
+
NUMBER_RE: NUMBER_RE$1,
|
|
27635
|
+
C_NUMBER_RE: C_NUMBER_RE$1,
|
|
27636
|
+
BINARY_NUMBER_RE: BINARY_NUMBER_RE$1,
|
|
27637
|
+
RE_STARTERS_RE: RE_STARTERS_RE$1,
|
|
27638
|
+
SHEBANG: SHEBANG$1,
|
|
27639
|
+
BACKSLASH_ESCAPE: BACKSLASH_ESCAPE$1,
|
|
27640
|
+
APOS_STRING_MODE: APOS_STRING_MODE$1,
|
|
27641
|
+
QUOTE_STRING_MODE: QUOTE_STRING_MODE$1,
|
|
27642
|
+
PHRASAL_WORDS_MODE: PHRASAL_WORDS_MODE$1,
|
|
27643
|
+
COMMENT: COMMENT$1,
|
|
27644
|
+
C_LINE_COMMENT_MODE: C_LINE_COMMENT_MODE$1,
|
|
27645
|
+
C_BLOCK_COMMENT_MODE: C_BLOCK_COMMENT_MODE$1,
|
|
27646
|
+
HASH_COMMENT_MODE: HASH_COMMENT_MODE$1,
|
|
27647
|
+
NUMBER_MODE: NUMBER_MODE$1,
|
|
27648
|
+
C_NUMBER_MODE: C_NUMBER_MODE$1,
|
|
27649
|
+
BINARY_NUMBER_MODE: BINARY_NUMBER_MODE$1,
|
|
27650
|
+
REGEXP_MODE: REGEXP_MODE$1,
|
|
27651
|
+
TITLE_MODE: TITLE_MODE$1,
|
|
27652
|
+
UNDERSCORE_TITLE_MODE: UNDERSCORE_TITLE_MODE$1,
|
|
27653
|
+
METHOD_GUARD: METHOD_GUARD$1,
|
|
27654
|
+
END_SAME_AS_BEGIN: END_SAME_AS_BEGIN$1
|
|
27655
|
+
});
|
|
27656
|
+
function skipIfHasPrecedingDot$1(match, response) {
|
|
27657
|
+
const before = match.input[match.index - 1];
|
|
27658
|
+
if (before === ".") {
|
|
27659
|
+
response.ignoreMatch();
|
|
27660
|
+
}
|
|
27661
|
+
}
|
|
27662
|
+
function scopeClassName$1(mode, _parent) {
|
|
27663
|
+
if (mode.className !== void 0) {
|
|
27664
|
+
mode.scope = mode.className;
|
|
27665
|
+
delete mode.className;
|
|
27666
|
+
}
|
|
27667
|
+
}
|
|
27668
|
+
function beginKeywords$1(mode, parent) {
|
|
27669
|
+
if (!parent)
|
|
27670
|
+
return;
|
|
27671
|
+
if (!mode.beginKeywords)
|
|
27672
|
+
return;
|
|
27673
|
+
mode.begin = "\\b(" + mode.beginKeywords.split(" ").join("|") + ")(?!\\.)(?=\\b|\\s)";
|
|
27674
|
+
mode.__beforeBegin = skipIfHasPrecedingDot$1;
|
|
27675
|
+
mode.keywords = mode.keywords || mode.beginKeywords;
|
|
27676
|
+
delete mode.beginKeywords;
|
|
27677
|
+
if (mode.relevance === void 0)
|
|
27678
|
+
mode.relevance = 0;
|
|
27679
|
+
}
|
|
27680
|
+
function compileIllegal$1(mode, _parent) {
|
|
27681
|
+
if (!Array.isArray(mode.illegal))
|
|
27682
|
+
return;
|
|
27683
|
+
mode.illegal = either$3(...mode.illegal);
|
|
27684
|
+
}
|
|
27685
|
+
function compileMatch$1(mode, _parent) {
|
|
27686
|
+
if (!mode.match)
|
|
27687
|
+
return;
|
|
27688
|
+
if (mode.begin || mode.end)
|
|
27689
|
+
throw new Error("begin & end are not supported with match");
|
|
27690
|
+
mode.begin = mode.match;
|
|
27691
|
+
delete mode.match;
|
|
27692
|
+
}
|
|
27693
|
+
function compileRelevance$1(mode, _parent) {
|
|
27694
|
+
if (mode.relevance === void 0)
|
|
27695
|
+
mode.relevance = 1;
|
|
27696
|
+
}
|
|
27697
|
+
const beforeMatchExt$1 = (mode, parent) => {
|
|
27698
|
+
if (!mode.beforeMatch)
|
|
27699
|
+
return;
|
|
27700
|
+
if (mode.starts)
|
|
27701
|
+
throw new Error("beforeMatch cannot be used with starts");
|
|
27702
|
+
const originalMode = Object.assign({}, mode);
|
|
27703
|
+
Object.keys(mode).forEach((key2) => {
|
|
27704
|
+
delete mode[key2];
|
|
27705
|
+
});
|
|
27706
|
+
mode.keywords = originalMode.keywords;
|
|
27707
|
+
mode.begin = concat$3(originalMode.beforeMatch, lookahead$3(originalMode.begin));
|
|
27708
|
+
mode.starts = {
|
|
27709
|
+
relevance: 0,
|
|
27710
|
+
contains: [
|
|
27711
|
+
Object.assign(originalMode, { endsParent: true })
|
|
27712
|
+
]
|
|
27713
|
+
};
|
|
27714
|
+
mode.relevance = 0;
|
|
27715
|
+
delete originalMode.beforeMatch;
|
|
27716
|
+
};
|
|
27717
|
+
const COMMON_KEYWORDS$1 = [
|
|
27718
|
+
"of",
|
|
27719
|
+
"and",
|
|
27720
|
+
"for",
|
|
27721
|
+
"in",
|
|
27722
|
+
"not",
|
|
27723
|
+
"or",
|
|
27724
|
+
"if",
|
|
27725
|
+
"then",
|
|
27726
|
+
"parent",
|
|
27727
|
+
"list",
|
|
27728
|
+
"value"
|
|
27729
|
+
];
|
|
27730
|
+
const DEFAULT_KEYWORD_SCOPE$1 = "keyword";
|
|
27731
|
+
function compileKeywords$1(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWORD_SCOPE$1) {
|
|
27732
|
+
const compiledKeywords = /* @__PURE__ */ Object.create(null);
|
|
27733
|
+
if (typeof rawKeywords === "string") {
|
|
27734
|
+
compileList(scopeName, rawKeywords.split(" "));
|
|
27735
|
+
} else if (Array.isArray(rawKeywords)) {
|
|
27736
|
+
compileList(scopeName, rawKeywords);
|
|
27737
|
+
} else {
|
|
27738
|
+
Object.keys(rawKeywords).forEach(function(scopeName2) {
|
|
27739
|
+
Object.assign(
|
|
27740
|
+
compiledKeywords,
|
|
27741
|
+
compileKeywords$1(rawKeywords[scopeName2], caseInsensitive, scopeName2)
|
|
27742
|
+
);
|
|
27743
|
+
});
|
|
27744
|
+
}
|
|
27745
|
+
return compiledKeywords;
|
|
27746
|
+
function compileList(scopeName2, keywordList) {
|
|
27747
|
+
if (caseInsensitive) {
|
|
27748
|
+
keywordList = keywordList.map((x) => x.toLowerCase());
|
|
27749
|
+
}
|
|
27750
|
+
keywordList.forEach(function(keyword) {
|
|
27751
|
+
const pair = keyword.split("|");
|
|
27752
|
+
compiledKeywords[pair[0]] = [scopeName2, scoreForKeyword$1(pair[0], pair[1])];
|
|
27753
|
+
});
|
|
27754
|
+
}
|
|
27755
|
+
}
|
|
27756
|
+
function scoreForKeyword$1(keyword, providedScore) {
|
|
27757
|
+
if (providedScore) {
|
|
27758
|
+
return Number(providedScore);
|
|
27759
|
+
}
|
|
27760
|
+
return commonKeyword$1(keyword) ? 0 : 1;
|
|
27761
|
+
}
|
|
27762
|
+
function commonKeyword$1(keyword) {
|
|
27763
|
+
return COMMON_KEYWORDS$1.includes(keyword.toLowerCase());
|
|
27764
|
+
}
|
|
27765
|
+
const seenDeprecations$1 = {};
|
|
27766
|
+
const error$1 = (message) => {
|
|
27767
|
+
console.error(message);
|
|
27768
|
+
};
|
|
27769
|
+
const warn$1 = (message, ...args) => {
|
|
27770
|
+
console.log(`WARN: ${message}`, ...args);
|
|
27771
|
+
};
|
|
27772
|
+
const deprecated$1 = (version2, message) => {
|
|
27773
|
+
if (seenDeprecations$1[`${version2}/${message}`])
|
|
27774
|
+
return;
|
|
27775
|
+
console.log(`Deprecated as of ${version2}. ${message}`);
|
|
27776
|
+
seenDeprecations$1[`${version2}/${message}`] = true;
|
|
27777
|
+
};
|
|
27778
|
+
const MultiClassError$1 = new Error();
|
|
27779
|
+
function remapScopeNames$1(mode, regexes, { key: key2 }) {
|
|
27780
|
+
let offset2 = 0;
|
|
27781
|
+
const scopeNames = mode[key2];
|
|
27782
|
+
const emit = {};
|
|
27783
|
+
const positions = {};
|
|
27784
|
+
for (let i2 = 1; i2 <= regexes.length; i2++) {
|
|
27785
|
+
positions[i2 + offset2] = scopeNames[i2];
|
|
27786
|
+
emit[i2 + offset2] = true;
|
|
27787
|
+
offset2 += countMatchGroups$1(regexes[i2 - 1]);
|
|
27788
|
+
}
|
|
27789
|
+
mode[key2] = positions;
|
|
27790
|
+
mode[key2]._emit = emit;
|
|
27791
|
+
mode[key2]._multi = true;
|
|
27792
|
+
}
|
|
27793
|
+
function beginMultiClass$1(mode) {
|
|
27794
|
+
if (!Array.isArray(mode.begin))
|
|
27795
|
+
return;
|
|
27796
|
+
if (mode.skip || mode.excludeBegin || mode.returnBegin) {
|
|
27797
|
+
error$1("skip, excludeBegin, returnBegin not compatible with beginScope: {}");
|
|
27798
|
+
throw MultiClassError$1;
|
|
27799
|
+
}
|
|
27800
|
+
if (typeof mode.beginScope !== "object" || mode.beginScope === null) {
|
|
27801
|
+
error$1("beginScope must be object");
|
|
27802
|
+
throw MultiClassError$1;
|
|
27803
|
+
}
|
|
27804
|
+
remapScopeNames$1(mode, mode.begin, { key: "beginScope" });
|
|
27805
|
+
mode.begin = _rewriteBackreferences$1(mode.begin, { joinWith: "" });
|
|
27806
|
+
}
|
|
27807
|
+
function endMultiClass$1(mode) {
|
|
27808
|
+
if (!Array.isArray(mode.end))
|
|
27809
|
+
return;
|
|
27810
|
+
if (mode.skip || mode.excludeEnd || mode.returnEnd) {
|
|
27811
|
+
error$1("skip, excludeEnd, returnEnd not compatible with endScope: {}");
|
|
27812
|
+
throw MultiClassError$1;
|
|
27813
|
+
}
|
|
27814
|
+
if (typeof mode.endScope !== "object" || mode.endScope === null) {
|
|
27815
|
+
error$1("endScope must be object");
|
|
27816
|
+
throw MultiClassError$1;
|
|
27817
|
+
}
|
|
27818
|
+
remapScopeNames$1(mode, mode.end, { key: "endScope" });
|
|
27819
|
+
mode.end = _rewriteBackreferences$1(mode.end, { joinWith: "" });
|
|
27820
|
+
}
|
|
27821
|
+
function scopeSugar$1(mode) {
|
|
27822
|
+
if (mode.scope && typeof mode.scope === "object" && mode.scope !== null) {
|
|
27823
|
+
mode.beginScope = mode.scope;
|
|
27824
|
+
delete mode.scope;
|
|
27825
|
+
}
|
|
27826
|
+
}
|
|
27827
|
+
function MultiClass$1(mode) {
|
|
27828
|
+
scopeSugar$1(mode);
|
|
27829
|
+
if (typeof mode.beginScope === "string") {
|
|
27830
|
+
mode.beginScope = { _wrap: mode.beginScope };
|
|
27831
|
+
}
|
|
27832
|
+
if (typeof mode.endScope === "string") {
|
|
27833
|
+
mode.endScope = { _wrap: mode.endScope };
|
|
27834
|
+
}
|
|
27835
|
+
beginMultiClass$1(mode);
|
|
27836
|
+
endMultiClass$1(mode);
|
|
27837
|
+
}
|
|
27838
|
+
function compileLanguage$1(language) {
|
|
27839
|
+
function langRe(value, global) {
|
|
27840
|
+
return new RegExp(
|
|
27841
|
+
source$3(value),
|
|
27842
|
+
"m" + (language.case_insensitive ? "i" : "") + (language.unicodeRegex ? "u" : "") + (global ? "g" : "")
|
|
27843
|
+
);
|
|
27844
|
+
}
|
|
27845
|
+
class MultiRegex {
|
|
27846
|
+
constructor() {
|
|
27847
|
+
this.matchIndexes = {};
|
|
27848
|
+
this.regexes = [];
|
|
27849
|
+
this.matchAt = 1;
|
|
27850
|
+
this.position = 0;
|
|
27851
|
+
}
|
|
27852
|
+
addRule(re, opts) {
|
|
27853
|
+
opts.position = this.position++;
|
|
27854
|
+
this.matchIndexes[this.matchAt] = opts;
|
|
27855
|
+
this.regexes.push([opts, re]);
|
|
27856
|
+
this.matchAt += countMatchGroups$1(re) + 1;
|
|
27857
|
+
}
|
|
27858
|
+
compile() {
|
|
27859
|
+
if (this.regexes.length === 0) {
|
|
27860
|
+
this.exec = () => null;
|
|
27861
|
+
}
|
|
27862
|
+
const terminators = this.regexes.map((el) => el[1]);
|
|
27863
|
+
this.matcherRe = langRe(_rewriteBackreferences$1(terminators, { joinWith: "|" }), true);
|
|
27864
|
+
this.lastIndex = 0;
|
|
27865
|
+
}
|
|
27866
|
+
exec(s) {
|
|
27867
|
+
this.matcherRe.lastIndex = this.lastIndex;
|
|
27868
|
+
const match = this.matcherRe.exec(s);
|
|
27869
|
+
if (!match) {
|
|
27870
|
+
return null;
|
|
27871
|
+
}
|
|
27872
|
+
const i2 = match.findIndex((el, i3) => i3 > 0 && el !== void 0);
|
|
27873
|
+
const matchData = this.matchIndexes[i2];
|
|
27874
|
+
match.splice(0, i2);
|
|
27875
|
+
return Object.assign(match, matchData);
|
|
27876
|
+
}
|
|
27877
|
+
}
|
|
27878
|
+
class ResumableMultiRegex {
|
|
27879
|
+
constructor() {
|
|
27880
|
+
this.rules = [];
|
|
27881
|
+
this.multiRegexes = [];
|
|
27882
|
+
this.count = 0;
|
|
27883
|
+
this.lastIndex = 0;
|
|
27884
|
+
this.regexIndex = 0;
|
|
27885
|
+
}
|
|
27886
|
+
getMatcher(index2) {
|
|
27887
|
+
if (this.multiRegexes[index2])
|
|
27888
|
+
return this.multiRegexes[index2];
|
|
27889
|
+
const matcher = new MultiRegex();
|
|
27890
|
+
this.rules.slice(index2).forEach(([re, opts]) => matcher.addRule(re, opts));
|
|
27891
|
+
matcher.compile();
|
|
27892
|
+
this.multiRegexes[index2] = matcher;
|
|
27893
|
+
return matcher;
|
|
27894
|
+
}
|
|
27895
|
+
resumingScanAtSamePosition() {
|
|
27896
|
+
return this.regexIndex !== 0;
|
|
27897
|
+
}
|
|
27898
|
+
considerAll() {
|
|
27899
|
+
this.regexIndex = 0;
|
|
27900
|
+
}
|
|
27901
|
+
addRule(re, opts) {
|
|
27902
|
+
this.rules.push([re, opts]);
|
|
27903
|
+
if (opts.type === "begin")
|
|
27904
|
+
this.count++;
|
|
27905
|
+
}
|
|
27906
|
+
exec(s) {
|
|
27907
|
+
const m = this.getMatcher(this.regexIndex);
|
|
27908
|
+
m.lastIndex = this.lastIndex;
|
|
27909
|
+
let result = m.exec(s);
|
|
27910
|
+
if (this.resumingScanAtSamePosition()) {
|
|
27911
|
+
if (result && result.index === this.lastIndex)
|
|
27912
|
+
;
|
|
27913
|
+
else {
|
|
27914
|
+
const m2 = this.getMatcher(0);
|
|
27915
|
+
m2.lastIndex = this.lastIndex + 1;
|
|
27916
|
+
result = m2.exec(s);
|
|
27917
|
+
}
|
|
27918
|
+
}
|
|
27919
|
+
if (result) {
|
|
27920
|
+
this.regexIndex += result.position + 1;
|
|
27921
|
+
if (this.regexIndex === this.count) {
|
|
27922
|
+
this.considerAll();
|
|
27923
|
+
}
|
|
27924
|
+
}
|
|
27925
|
+
return result;
|
|
27926
|
+
}
|
|
27927
|
+
}
|
|
27928
|
+
function buildModeRegex(mode) {
|
|
27929
|
+
const mm = new ResumableMultiRegex();
|
|
27930
|
+
mode.contains.forEach((term) => mm.addRule(term.begin, { rule: term, type: "begin" }));
|
|
27931
|
+
if (mode.terminatorEnd) {
|
|
27932
|
+
mm.addRule(mode.terminatorEnd, { type: "end" });
|
|
27933
|
+
}
|
|
27934
|
+
if (mode.illegal) {
|
|
27935
|
+
mm.addRule(mode.illegal, { type: "illegal" });
|
|
27936
|
+
}
|
|
27937
|
+
return mm;
|
|
27938
|
+
}
|
|
27939
|
+
function compileMode(mode, parent) {
|
|
27940
|
+
const cmode = mode;
|
|
27941
|
+
if (mode.isCompiled)
|
|
27942
|
+
return cmode;
|
|
27943
|
+
[
|
|
27944
|
+
scopeClassName$1,
|
|
27945
|
+
compileMatch$1,
|
|
27946
|
+
MultiClass$1,
|
|
27947
|
+
beforeMatchExt$1
|
|
27948
|
+
].forEach((ext) => ext(mode, parent));
|
|
27949
|
+
language.compilerExtensions.forEach((ext) => ext(mode, parent));
|
|
27950
|
+
mode.__beforeBegin = null;
|
|
27951
|
+
[
|
|
27952
|
+
beginKeywords$1,
|
|
27953
|
+
compileIllegal$1,
|
|
27954
|
+
compileRelevance$1
|
|
27955
|
+
].forEach((ext) => ext(mode, parent));
|
|
27956
|
+
mode.isCompiled = true;
|
|
27957
|
+
let keywordPattern = null;
|
|
27958
|
+
if (typeof mode.keywords === "object" && mode.keywords.$pattern) {
|
|
27959
|
+
mode.keywords = Object.assign({}, mode.keywords);
|
|
27960
|
+
keywordPattern = mode.keywords.$pattern;
|
|
27961
|
+
delete mode.keywords.$pattern;
|
|
27962
|
+
}
|
|
27963
|
+
keywordPattern = keywordPattern || /\w+/;
|
|
27964
|
+
if (mode.keywords) {
|
|
27965
|
+
mode.keywords = compileKeywords$1(mode.keywords, language.case_insensitive);
|
|
27966
|
+
}
|
|
27967
|
+
cmode.keywordPatternRe = langRe(keywordPattern, true);
|
|
27968
|
+
if (parent) {
|
|
27969
|
+
if (!mode.begin)
|
|
27970
|
+
mode.begin = /\B|\b/;
|
|
27971
|
+
cmode.beginRe = langRe(cmode.begin);
|
|
27972
|
+
if (!mode.end && !mode.endsWithParent)
|
|
27973
|
+
mode.end = /\B|\b/;
|
|
27974
|
+
if (mode.end)
|
|
27975
|
+
cmode.endRe = langRe(cmode.end);
|
|
27976
|
+
cmode.terminatorEnd = source$3(cmode.end) || "";
|
|
27977
|
+
if (mode.endsWithParent && parent.terminatorEnd) {
|
|
27978
|
+
cmode.terminatorEnd += (mode.end ? "|" : "") + parent.terminatorEnd;
|
|
27979
|
+
}
|
|
27980
|
+
}
|
|
27981
|
+
if (mode.illegal)
|
|
27982
|
+
cmode.illegalRe = langRe(mode.illegal);
|
|
27983
|
+
if (!mode.contains)
|
|
27984
|
+
mode.contains = [];
|
|
27985
|
+
mode.contains = [].concat(...mode.contains.map(function(c2) {
|
|
27986
|
+
return expandOrCloneMode$1(c2 === "self" ? mode : c2);
|
|
27987
|
+
}));
|
|
27988
|
+
mode.contains.forEach(function(c2) {
|
|
27989
|
+
compileMode(c2, cmode);
|
|
27990
|
+
});
|
|
27991
|
+
if (mode.starts) {
|
|
27992
|
+
compileMode(mode.starts, parent);
|
|
27993
|
+
}
|
|
27994
|
+
cmode.matcher = buildModeRegex(cmode);
|
|
27995
|
+
return cmode;
|
|
27996
|
+
}
|
|
27997
|
+
if (!language.compilerExtensions)
|
|
27998
|
+
language.compilerExtensions = [];
|
|
27999
|
+
if (language.contains && language.contains.includes("self")) {
|
|
28000
|
+
throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");
|
|
28001
|
+
}
|
|
28002
|
+
language.classNameAliases = inherit$1$1(language.classNameAliases || {});
|
|
28003
|
+
return compileMode(language);
|
|
28004
|
+
}
|
|
28005
|
+
function dependencyOnParent$1(mode) {
|
|
28006
|
+
if (!mode)
|
|
28007
|
+
return false;
|
|
28008
|
+
return mode.endsWithParent || dependencyOnParent$1(mode.starts);
|
|
28009
|
+
}
|
|
28010
|
+
function expandOrCloneMode$1(mode) {
|
|
28011
|
+
if (mode.variants && !mode.cachedVariants) {
|
|
28012
|
+
mode.cachedVariants = mode.variants.map(function(variant) {
|
|
28013
|
+
return inherit$1$1(mode, { variants: null }, variant);
|
|
28014
|
+
});
|
|
28015
|
+
}
|
|
28016
|
+
if (mode.cachedVariants) {
|
|
28017
|
+
return mode.cachedVariants;
|
|
28018
|
+
}
|
|
28019
|
+
if (dependencyOnParent$1(mode)) {
|
|
28020
|
+
return inherit$1$1(mode, { starts: mode.starts ? inherit$1$1(mode.starts) : null });
|
|
28021
|
+
}
|
|
28022
|
+
if (Object.isFrozen(mode)) {
|
|
28023
|
+
return inherit$1$1(mode);
|
|
28024
|
+
}
|
|
28025
|
+
return mode;
|
|
28026
|
+
}
|
|
28027
|
+
var version$1 = "11.6.0";
|
|
28028
|
+
class HTMLInjectionError$1 extends Error {
|
|
28029
|
+
constructor(reason, html) {
|
|
28030
|
+
super(reason);
|
|
28031
|
+
this.name = "HTMLInjectionError";
|
|
28032
|
+
this.html = html;
|
|
28033
|
+
}
|
|
28034
|
+
}
|
|
28035
|
+
const escape$3 = escapeHTML$1;
|
|
28036
|
+
const inherit$2 = inherit$1$1;
|
|
28037
|
+
const NO_MATCH$1 = Symbol("nomatch");
|
|
28038
|
+
const MAX_KEYWORD_HITS$1 = 7;
|
|
28039
|
+
const HLJS$1 = function(hljs) {
|
|
28040
|
+
const languages = /* @__PURE__ */ Object.create(null);
|
|
28041
|
+
const aliases = /* @__PURE__ */ Object.create(null);
|
|
28042
|
+
const plugins = [];
|
|
28043
|
+
let SAFE_MODE = true;
|
|
28044
|
+
const LANGUAGE_NOT_FOUND = "Could not find the language '{}', did you forget to load/include a language module?";
|
|
28045
|
+
const PLAINTEXT_LANGUAGE = { disableAutodetect: true, name: "Plain text", contains: [] };
|
|
28046
|
+
let options = {
|
|
28047
|
+
ignoreUnescapedHTML: false,
|
|
28048
|
+
throwUnescapedHTML: false,
|
|
28049
|
+
noHighlightRe: /^(no-?highlight)$/i,
|
|
28050
|
+
languageDetectRe: /\blang(?:uage)?-([\w-]+)\b/i,
|
|
28051
|
+
classPrefix: "hljs-",
|
|
28052
|
+
cssSelector: "pre code",
|
|
28053
|
+
languages: null,
|
|
28054
|
+
__emitter: TokenTreeEmitter$1
|
|
28055
|
+
};
|
|
28056
|
+
function shouldNotHighlight(languageName) {
|
|
28057
|
+
return options.noHighlightRe.test(languageName);
|
|
28058
|
+
}
|
|
28059
|
+
function blockLanguage(block) {
|
|
28060
|
+
let classes = block.className + " ";
|
|
28061
|
+
classes += block.parentNode ? block.parentNode.className : "";
|
|
28062
|
+
const match = options.languageDetectRe.exec(classes);
|
|
28063
|
+
if (match) {
|
|
28064
|
+
const language = getLanguage(match[1]);
|
|
28065
|
+
if (!language) {
|
|
28066
|
+
warn$1(LANGUAGE_NOT_FOUND.replace("{}", match[1]));
|
|
28067
|
+
warn$1("Falling back to no-highlight mode for this block.", block);
|
|
28068
|
+
}
|
|
28069
|
+
return language ? match[1] : "no-highlight";
|
|
28070
|
+
}
|
|
28071
|
+
return classes.split(/\s+/).find((_class) => shouldNotHighlight(_class) || getLanguage(_class));
|
|
28072
|
+
}
|
|
28073
|
+
function highlight2(codeOrLanguageName, optionsOrCode, ignoreIllegals) {
|
|
28074
|
+
let code2 = "";
|
|
28075
|
+
let languageName = "";
|
|
28076
|
+
if (typeof optionsOrCode === "object") {
|
|
28077
|
+
code2 = codeOrLanguageName;
|
|
28078
|
+
ignoreIllegals = optionsOrCode.ignoreIllegals;
|
|
28079
|
+
languageName = optionsOrCode.language;
|
|
28080
|
+
} else {
|
|
28081
|
+
deprecated$1("10.7.0", "highlight(lang, code, ...args) has been deprecated.");
|
|
28082
|
+
deprecated$1("10.7.0", "Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277");
|
|
28083
|
+
languageName = codeOrLanguageName;
|
|
28084
|
+
code2 = optionsOrCode;
|
|
28085
|
+
}
|
|
28086
|
+
if (ignoreIllegals === void 0) {
|
|
28087
|
+
ignoreIllegals = true;
|
|
28088
|
+
}
|
|
28089
|
+
const context = {
|
|
28090
|
+
code: code2,
|
|
28091
|
+
language: languageName
|
|
28092
|
+
};
|
|
28093
|
+
fire("before:highlight", context);
|
|
28094
|
+
const result = context.result ? context.result : _highlight(context.language, context.code, ignoreIllegals);
|
|
28095
|
+
result.code = context.code;
|
|
28096
|
+
fire("after:highlight", result);
|
|
28097
|
+
return result;
|
|
28098
|
+
}
|
|
28099
|
+
function _highlight(languageName, codeToHighlight, ignoreIllegals, continuation) {
|
|
28100
|
+
const keywordHits = /* @__PURE__ */ Object.create(null);
|
|
28101
|
+
function keywordData(mode, matchText) {
|
|
28102
|
+
return mode.keywords[matchText];
|
|
28103
|
+
}
|
|
28104
|
+
function processKeywords() {
|
|
28105
|
+
if (!top2.keywords) {
|
|
28106
|
+
emitter.addText(modeBuffer);
|
|
28107
|
+
return;
|
|
28108
|
+
}
|
|
28109
|
+
let lastIndex = 0;
|
|
28110
|
+
top2.keywordPatternRe.lastIndex = 0;
|
|
28111
|
+
let match = top2.keywordPatternRe.exec(modeBuffer);
|
|
28112
|
+
let buf = "";
|
|
28113
|
+
while (match) {
|
|
28114
|
+
buf += modeBuffer.substring(lastIndex, match.index);
|
|
28115
|
+
const word = language.case_insensitive ? match[0].toLowerCase() : match[0];
|
|
28116
|
+
const data = keywordData(top2, word);
|
|
28117
|
+
if (data) {
|
|
28118
|
+
const [kind, keywordRelevance] = data;
|
|
28119
|
+
emitter.addText(buf);
|
|
28120
|
+
buf = "";
|
|
28121
|
+
keywordHits[word] = (keywordHits[word] || 0) + 1;
|
|
28122
|
+
if (keywordHits[word] <= MAX_KEYWORD_HITS$1)
|
|
28123
|
+
relevance += keywordRelevance;
|
|
28124
|
+
if (kind.startsWith("_")) {
|
|
28125
|
+
buf += match[0];
|
|
28126
|
+
} else {
|
|
28127
|
+
const cssClass = language.classNameAliases[kind] || kind;
|
|
28128
|
+
emitter.addKeyword(match[0], cssClass);
|
|
28129
|
+
}
|
|
28130
|
+
} else {
|
|
28131
|
+
buf += match[0];
|
|
28132
|
+
}
|
|
28133
|
+
lastIndex = top2.keywordPatternRe.lastIndex;
|
|
28134
|
+
match = top2.keywordPatternRe.exec(modeBuffer);
|
|
28135
|
+
}
|
|
28136
|
+
buf += modeBuffer.substring(lastIndex);
|
|
28137
|
+
emitter.addText(buf);
|
|
28138
|
+
}
|
|
28139
|
+
function processSubLanguage() {
|
|
28140
|
+
if (modeBuffer === "")
|
|
28141
|
+
return;
|
|
28142
|
+
let result2 = null;
|
|
28143
|
+
if (typeof top2.subLanguage === "string") {
|
|
28144
|
+
if (!languages[top2.subLanguage]) {
|
|
28145
|
+
emitter.addText(modeBuffer);
|
|
28146
|
+
return;
|
|
28147
|
+
}
|
|
28148
|
+
result2 = _highlight(top2.subLanguage, modeBuffer, true, continuations[top2.subLanguage]);
|
|
28149
|
+
continuations[top2.subLanguage] = result2._top;
|
|
28150
|
+
} else {
|
|
28151
|
+
result2 = highlightAuto2(modeBuffer, top2.subLanguage.length ? top2.subLanguage : null);
|
|
28152
|
+
}
|
|
28153
|
+
if (top2.relevance > 0) {
|
|
28154
|
+
relevance += result2.relevance;
|
|
28155
|
+
}
|
|
28156
|
+
emitter.addSublanguage(result2._emitter, result2.language);
|
|
28157
|
+
}
|
|
28158
|
+
function processBuffer() {
|
|
28159
|
+
if (top2.subLanguage != null) {
|
|
28160
|
+
processSubLanguage();
|
|
28161
|
+
} else {
|
|
28162
|
+
processKeywords();
|
|
28163
|
+
}
|
|
28164
|
+
modeBuffer = "";
|
|
28165
|
+
}
|
|
28166
|
+
function emitMultiClass(scope, match) {
|
|
28167
|
+
let i2 = 1;
|
|
28168
|
+
const max2 = match.length - 1;
|
|
28169
|
+
while (i2 <= max2) {
|
|
28170
|
+
if (!scope._emit[i2]) {
|
|
28171
|
+
i2++;
|
|
28172
|
+
continue;
|
|
28173
|
+
}
|
|
28174
|
+
const klass = language.classNameAliases[scope[i2]] || scope[i2];
|
|
28175
|
+
const text2 = match[i2];
|
|
28176
|
+
if (klass) {
|
|
28177
|
+
emitter.addKeyword(text2, klass);
|
|
28178
|
+
} else {
|
|
28179
|
+
modeBuffer = text2;
|
|
28180
|
+
processKeywords();
|
|
28181
|
+
modeBuffer = "";
|
|
28182
|
+
}
|
|
28183
|
+
i2++;
|
|
28184
|
+
}
|
|
28185
|
+
}
|
|
28186
|
+
function startNewMode(mode, match) {
|
|
28187
|
+
if (mode.scope && typeof mode.scope === "string") {
|
|
28188
|
+
emitter.openNode(language.classNameAliases[mode.scope] || mode.scope);
|
|
28189
|
+
}
|
|
28190
|
+
if (mode.beginScope) {
|
|
28191
|
+
if (mode.beginScope._wrap) {
|
|
28192
|
+
emitter.addKeyword(modeBuffer, language.classNameAliases[mode.beginScope._wrap] || mode.beginScope._wrap);
|
|
28193
|
+
modeBuffer = "";
|
|
28194
|
+
} else if (mode.beginScope._multi) {
|
|
28195
|
+
emitMultiClass(mode.beginScope, match);
|
|
28196
|
+
modeBuffer = "";
|
|
28197
|
+
}
|
|
28198
|
+
}
|
|
28199
|
+
top2 = Object.create(mode, { parent: { value: top2 } });
|
|
28200
|
+
return top2;
|
|
28201
|
+
}
|
|
28202
|
+
function endOfMode(mode, match, matchPlusRemainder) {
|
|
28203
|
+
let matched = startsWith$1(mode.endRe, matchPlusRemainder);
|
|
28204
|
+
if (matched) {
|
|
28205
|
+
if (mode["on:end"]) {
|
|
28206
|
+
const resp = new Response$1(mode);
|
|
28207
|
+
mode["on:end"](match, resp);
|
|
28208
|
+
if (resp.isMatchIgnored)
|
|
28209
|
+
matched = false;
|
|
28210
|
+
}
|
|
28211
|
+
if (matched) {
|
|
28212
|
+
while (mode.endsParent && mode.parent) {
|
|
28213
|
+
mode = mode.parent;
|
|
28214
|
+
}
|
|
28215
|
+
return mode;
|
|
28216
|
+
}
|
|
28217
|
+
}
|
|
28218
|
+
if (mode.endsWithParent) {
|
|
28219
|
+
return endOfMode(mode.parent, match, matchPlusRemainder);
|
|
28220
|
+
}
|
|
28221
|
+
}
|
|
28222
|
+
function doIgnore(lexeme) {
|
|
28223
|
+
if (top2.matcher.regexIndex === 0) {
|
|
28224
|
+
modeBuffer += lexeme[0];
|
|
28225
|
+
return 1;
|
|
28226
|
+
} else {
|
|
28227
|
+
resumeScanAtSamePosition = true;
|
|
28228
|
+
return 0;
|
|
27113
28229
|
}
|
|
27114
|
-
}
|
|
27115
|
-
|
|
27116
|
-
|
|
27117
|
-
|
|
27118
|
-
|
|
27119
|
-
|
|
27120
|
-
|
|
27121
|
-
|
|
27122
|
-
|
|
27123
|
-
|
|
28230
|
+
}
|
|
28231
|
+
function doBeginMatch(match) {
|
|
28232
|
+
const lexeme = match[0];
|
|
28233
|
+
const newMode = match.rule;
|
|
28234
|
+
const resp = new Response$1(newMode);
|
|
28235
|
+
const beforeCallbacks = [newMode.__beforeBegin, newMode["on:begin"]];
|
|
28236
|
+
for (const cb of beforeCallbacks) {
|
|
28237
|
+
if (!cb)
|
|
28238
|
+
continue;
|
|
28239
|
+
cb(match, resp);
|
|
28240
|
+
if (resp.isMatchIgnored)
|
|
28241
|
+
return doIgnore(lexeme);
|
|
28242
|
+
}
|
|
28243
|
+
if (newMode.skip) {
|
|
28244
|
+
modeBuffer += lexeme;
|
|
28245
|
+
} else {
|
|
28246
|
+
if (newMode.excludeBegin) {
|
|
28247
|
+
modeBuffer += lexeme;
|
|
27124
28248
|
}
|
|
27125
|
-
|
|
27126
|
-
|
|
28249
|
+
processBuffer();
|
|
28250
|
+
if (!newMode.returnBegin && !newMode.excludeBegin) {
|
|
28251
|
+
modeBuffer = lexeme;
|
|
27127
28252
|
}
|
|
27128
|
-
|
|
27129
|
-
|
|
27130
|
-
|
|
27131
|
-
|
|
27132
|
-
|
|
28253
|
+
}
|
|
28254
|
+
startNewMode(newMode, match);
|
|
28255
|
+
return newMode.returnBegin ? 0 : lexeme.length;
|
|
28256
|
+
}
|
|
28257
|
+
function doEndMatch(match) {
|
|
28258
|
+
const lexeme = match[0];
|
|
28259
|
+
const matchPlusRemainder = codeToHighlight.substring(match.index);
|
|
28260
|
+
const endMode = endOfMode(top2, match, matchPlusRemainder);
|
|
28261
|
+
if (!endMode) {
|
|
28262
|
+
return NO_MATCH$1;
|
|
28263
|
+
}
|
|
28264
|
+
const origin = top2;
|
|
28265
|
+
if (top2.endScope && top2.endScope._wrap) {
|
|
28266
|
+
processBuffer();
|
|
28267
|
+
emitter.addKeyword(lexeme, top2.endScope._wrap);
|
|
28268
|
+
} else if (top2.endScope && top2.endScope._multi) {
|
|
28269
|
+
processBuffer();
|
|
28270
|
+
emitMultiClass(top2.endScope, match);
|
|
28271
|
+
} else if (origin.skip) {
|
|
28272
|
+
modeBuffer += lexeme;
|
|
28273
|
+
} else {
|
|
28274
|
+
if (!(origin.returnEnd || origin.excludeEnd)) {
|
|
28275
|
+
modeBuffer += lexeme;
|
|
27133
28276
|
}
|
|
27134
|
-
|
|
27135
|
-
|
|
27136
|
-
|
|
27137
|
-
if (!empty2 || $from.parent.type !== this.type) {
|
|
27138
|
-
return false;
|
|
28277
|
+
processBuffer();
|
|
28278
|
+
if (origin.excludeEnd) {
|
|
28279
|
+
modeBuffer = lexeme;
|
|
27139
28280
|
}
|
|
27140
|
-
|
|
27141
|
-
|
|
27142
|
-
if (
|
|
27143
|
-
|
|
28281
|
+
}
|
|
28282
|
+
do {
|
|
28283
|
+
if (top2.scope) {
|
|
28284
|
+
emitter.closeNode();
|
|
27144
28285
|
}
|
|
27145
|
-
|
|
27146
|
-
|
|
27147
|
-
return true;
|
|
27148
|
-
}).exitCode().run();
|
|
27149
|
-
},
|
|
27150
|
-
ArrowDown: ({ editor }) => {
|
|
27151
|
-
if (!this.options.exitOnArrowDown) {
|
|
27152
|
-
return false;
|
|
28286
|
+
if (!top2.skip && !top2.subLanguage) {
|
|
28287
|
+
relevance += top2.relevance;
|
|
27153
28288
|
}
|
|
27154
|
-
|
|
27155
|
-
|
|
27156
|
-
|
|
27157
|
-
|
|
27158
|
-
|
|
28289
|
+
top2 = top2.parent;
|
|
28290
|
+
} while (top2 !== endMode.parent);
|
|
28291
|
+
if (endMode.starts) {
|
|
28292
|
+
startNewMode(endMode.starts, match);
|
|
28293
|
+
}
|
|
28294
|
+
return origin.returnEnd ? 0 : lexeme.length;
|
|
28295
|
+
}
|
|
28296
|
+
function processContinuations() {
|
|
28297
|
+
const list = [];
|
|
28298
|
+
for (let current = top2; current !== language; current = current.parent) {
|
|
28299
|
+
if (current.scope) {
|
|
28300
|
+
list.unshift(current.scope);
|
|
27159
28301
|
}
|
|
27160
|
-
|
|
27161
|
-
|
|
27162
|
-
|
|
28302
|
+
}
|
|
28303
|
+
list.forEach((item) => emitter.openNode(item));
|
|
28304
|
+
}
|
|
28305
|
+
let lastMatch = {};
|
|
28306
|
+
function processLexeme(textBeforeMatch, match) {
|
|
28307
|
+
const lexeme = match && match[0];
|
|
28308
|
+
modeBuffer += textBeforeMatch;
|
|
28309
|
+
if (lexeme == null) {
|
|
28310
|
+
processBuffer();
|
|
28311
|
+
return 0;
|
|
28312
|
+
}
|
|
28313
|
+
if (lastMatch.type === "begin" && match.type === "end" && lastMatch.index === match.index && lexeme === "") {
|
|
28314
|
+
modeBuffer += codeToHighlight.slice(match.index, match.index + 1);
|
|
28315
|
+
if (!SAFE_MODE) {
|
|
28316
|
+
const err = new Error(`0 width match regex (${languageName})`);
|
|
28317
|
+
err.languageName = languageName;
|
|
28318
|
+
err.badRule = lastMatch.rule;
|
|
28319
|
+
throw err;
|
|
27163
28320
|
}
|
|
27164
|
-
|
|
27165
|
-
|
|
27166
|
-
|
|
28321
|
+
return 1;
|
|
28322
|
+
}
|
|
28323
|
+
lastMatch = match;
|
|
28324
|
+
if (match.type === "begin") {
|
|
28325
|
+
return doBeginMatch(match);
|
|
28326
|
+
} else if (match.type === "illegal" && !ignoreIllegals) {
|
|
28327
|
+
const err = new Error('Illegal lexeme "' + lexeme + '" for mode "' + (top2.scope || "<unnamed>") + '"');
|
|
28328
|
+
err.mode = top2;
|
|
28329
|
+
throw err;
|
|
28330
|
+
} else if (match.type === "end") {
|
|
28331
|
+
const processed = doEndMatch(match);
|
|
28332
|
+
if (processed !== NO_MATCH$1) {
|
|
28333
|
+
return processed;
|
|
27167
28334
|
}
|
|
27168
|
-
|
|
27169
|
-
|
|
27170
|
-
|
|
28335
|
+
}
|
|
28336
|
+
if (match.type === "illegal" && lexeme === "") {
|
|
28337
|
+
return 1;
|
|
28338
|
+
}
|
|
28339
|
+
if (iterations > 1e5 && iterations > match.index * 3) {
|
|
28340
|
+
const err = new Error("potential infinite loop, way more iterations than matches");
|
|
28341
|
+
throw err;
|
|
28342
|
+
}
|
|
28343
|
+
modeBuffer += lexeme;
|
|
28344
|
+
return lexeme.length;
|
|
28345
|
+
}
|
|
28346
|
+
const language = getLanguage(languageName);
|
|
28347
|
+
if (!language) {
|
|
28348
|
+
error$1(LANGUAGE_NOT_FOUND.replace("{}", languageName));
|
|
28349
|
+
throw new Error('Unknown language: "' + languageName + '"');
|
|
28350
|
+
}
|
|
28351
|
+
const md = compileLanguage$1(language);
|
|
28352
|
+
let result = "";
|
|
28353
|
+
let top2 = continuation || md;
|
|
28354
|
+
const continuations = {};
|
|
28355
|
+
const emitter = new options.__emitter(options);
|
|
28356
|
+
processContinuations();
|
|
28357
|
+
let modeBuffer = "";
|
|
28358
|
+
let relevance = 0;
|
|
28359
|
+
let index2 = 0;
|
|
28360
|
+
let iterations = 0;
|
|
28361
|
+
let resumeScanAtSamePosition = false;
|
|
28362
|
+
try {
|
|
28363
|
+
top2.matcher.considerAll();
|
|
28364
|
+
for (; ; ) {
|
|
28365
|
+
iterations++;
|
|
28366
|
+
if (resumeScanAtSamePosition) {
|
|
28367
|
+
resumeScanAtSamePosition = false;
|
|
28368
|
+
} else {
|
|
28369
|
+
top2.matcher.considerAll();
|
|
27171
28370
|
}
|
|
27172
|
-
|
|
28371
|
+
top2.matcher.lastIndex = index2;
|
|
28372
|
+
const match = top2.matcher.exec(codeToHighlight);
|
|
28373
|
+
if (!match)
|
|
28374
|
+
break;
|
|
28375
|
+
const beforeMatch = codeToHighlight.substring(index2, match.index);
|
|
28376
|
+
const processedCount = processLexeme(beforeMatch, match);
|
|
28377
|
+
index2 = match.index + processedCount;
|
|
28378
|
+
}
|
|
28379
|
+
processLexeme(codeToHighlight.substring(index2));
|
|
28380
|
+
emitter.closeAllNodes();
|
|
28381
|
+
emitter.finalize();
|
|
28382
|
+
result = emitter.toHTML();
|
|
28383
|
+
return {
|
|
28384
|
+
language: languageName,
|
|
28385
|
+
value: result,
|
|
28386
|
+
relevance,
|
|
28387
|
+
illegal: false,
|
|
28388
|
+
_emitter: emitter,
|
|
28389
|
+
_top: top2
|
|
28390
|
+
};
|
|
28391
|
+
} catch (err) {
|
|
28392
|
+
if (err.message && err.message.includes("Illegal")) {
|
|
28393
|
+
return {
|
|
28394
|
+
language: languageName,
|
|
28395
|
+
value: escape$3(codeToHighlight),
|
|
28396
|
+
illegal: true,
|
|
28397
|
+
relevance: 0,
|
|
28398
|
+
_illegalBy: {
|
|
28399
|
+
message: err.message,
|
|
28400
|
+
index: index2,
|
|
28401
|
+
context: codeToHighlight.slice(index2 - 100, index2 + 100),
|
|
28402
|
+
mode: err.mode,
|
|
28403
|
+
resultSoFar: result
|
|
28404
|
+
},
|
|
28405
|
+
_emitter: emitter
|
|
28406
|
+
};
|
|
28407
|
+
} else if (SAFE_MODE) {
|
|
28408
|
+
return {
|
|
28409
|
+
language: languageName,
|
|
28410
|
+
value: escape$3(codeToHighlight),
|
|
28411
|
+
illegal: false,
|
|
28412
|
+
relevance: 0,
|
|
28413
|
+
errorRaised: err,
|
|
28414
|
+
_emitter: emitter,
|
|
28415
|
+
_top: top2
|
|
28416
|
+
};
|
|
28417
|
+
} else {
|
|
28418
|
+
throw err;
|
|
27173
28419
|
}
|
|
28420
|
+
}
|
|
28421
|
+
}
|
|
28422
|
+
function justTextHighlightResult(code2) {
|
|
28423
|
+
const result = {
|
|
28424
|
+
value: escape$3(code2),
|
|
28425
|
+
illegal: false,
|
|
28426
|
+
relevance: 0,
|
|
28427
|
+
_top: PLAINTEXT_LANGUAGE,
|
|
28428
|
+
_emitter: new options.__emitter(options)
|
|
27174
28429
|
};
|
|
27175
|
-
|
|
27176
|
-
|
|
27177
|
-
|
|
27178
|
-
|
|
27179
|
-
|
|
27180
|
-
|
|
27181
|
-
|
|
27182
|
-
|
|
27183
|
-
|
|
27184
|
-
|
|
27185
|
-
|
|
27186
|
-
|
|
27187
|
-
|
|
27188
|
-
|
|
27189
|
-
|
|
27190
|
-
|
|
27191
|
-
|
|
27192
|
-
|
|
27193
|
-
},
|
|
27194
|
-
addProseMirrorPlugins() {
|
|
27195
|
-
return [
|
|
27196
|
-
new Plugin({
|
|
27197
|
-
key: new PluginKey("codeBlockVSCodeHandler"),
|
|
27198
|
-
props: {
|
|
27199
|
-
handlePaste: (view, event) => {
|
|
27200
|
-
if (!event.clipboardData) {
|
|
27201
|
-
return false;
|
|
27202
|
-
}
|
|
27203
|
-
if (this.editor.isActive(this.type.name)) {
|
|
27204
|
-
return false;
|
|
27205
|
-
}
|
|
27206
|
-
const text2 = event.clipboardData.getData("text/plain");
|
|
27207
|
-
const vscode = event.clipboardData.getData("vscode-editor-data");
|
|
27208
|
-
const vscodeData = vscode ? JSON.parse(vscode) : void 0;
|
|
27209
|
-
const language = vscodeData === null || vscodeData === void 0 ? void 0 : vscodeData.mode;
|
|
27210
|
-
if (!text2 || !language) {
|
|
27211
|
-
return false;
|
|
27212
|
-
}
|
|
27213
|
-
const { tr } = view.state;
|
|
27214
|
-
tr.replaceSelectionWith(this.type.create({ language }));
|
|
27215
|
-
tr.setSelection(TextSelection.near(tr.doc.resolve(Math.max(0, tr.selection.from - 2))));
|
|
27216
|
-
tr.insertText(text2.replace(/\r\n?/g, "\n"));
|
|
27217
|
-
tr.setMeta("paste", true);
|
|
27218
|
-
view.dispatch(tr);
|
|
27219
|
-
return true;
|
|
27220
|
-
}
|
|
28430
|
+
result._emitter.addText(code2);
|
|
28431
|
+
return result;
|
|
28432
|
+
}
|
|
28433
|
+
function highlightAuto2(code2, languageSubset) {
|
|
28434
|
+
languageSubset = languageSubset || options.languages || Object.keys(languages);
|
|
28435
|
+
const plaintext2 = justTextHighlightResult(code2);
|
|
28436
|
+
const results = languageSubset.filter(getLanguage).filter(autoDetection).map(
|
|
28437
|
+
(name) => _highlight(name, code2, false)
|
|
28438
|
+
);
|
|
28439
|
+
results.unshift(plaintext2);
|
|
28440
|
+
const sorted = results.sort((a, b) => {
|
|
28441
|
+
if (a.relevance !== b.relevance)
|
|
28442
|
+
return b.relevance - a.relevance;
|
|
28443
|
+
if (a.language && b.language) {
|
|
28444
|
+
if (getLanguage(a.language).supersetOf === b.language) {
|
|
28445
|
+
return 1;
|
|
28446
|
+
} else if (getLanguage(b.language).supersetOf === a.language) {
|
|
28447
|
+
return -1;
|
|
27221
28448
|
}
|
|
27222
|
-
}
|
|
27223
|
-
|
|
28449
|
+
}
|
|
28450
|
+
return 0;
|
|
28451
|
+
});
|
|
28452
|
+
const [best, secondBest] = sorted;
|
|
28453
|
+
const result = best;
|
|
28454
|
+
result.secondBest = secondBest;
|
|
28455
|
+
return result;
|
|
27224
28456
|
}
|
|
27225
|
-
|
|
28457
|
+
function updateClassName(element, currentLang, resultLang) {
|
|
28458
|
+
const language = currentLang && aliases[currentLang] || resultLang;
|
|
28459
|
+
element.classList.add("hljs");
|
|
28460
|
+
element.classList.add(`language-${language}`);
|
|
28461
|
+
}
|
|
28462
|
+
function highlightElement(element) {
|
|
28463
|
+
let node = null;
|
|
28464
|
+
const language = blockLanguage(element);
|
|
28465
|
+
if (shouldNotHighlight(language))
|
|
28466
|
+
return;
|
|
28467
|
+
fire(
|
|
28468
|
+
"before:highlightElement",
|
|
28469
|
+
{ el: element, language }
|
|
28470
|
+
);
|
|
28471
|
+
if (element.children.length > 0) {
|
|
28472
|
+
if (!options.ignoreUnescapedHTML) {
|
|
28473
|
+
console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk.");
|
|
28474
|
+
console.warn("https://github.com/highlightjs/highlight.js/wiki/security");
|
|
28475
|
+
console.warn("The element with unescaped HTML:");
|
|
28476
|
+
console.warn(element);
|
|
28477
|
+
}
|
|
28478
|
+
if (options.throwUnescapedHTML) {
|
|
28479
|
+
const err = new HTMLInjectionError$1(
|
|
28480
|
+
"One of your code blocks includes unescaped HTML.",
|
|
28481
|
+
element.innerHTML
|
|
28482
|
+
);
|
|
28483
|
+
throw err;
|
|
28484
|
+
}
|
|
28485
|
+
}
|
|
28486
|
+
node = element;
|
|
28487
|
+
const text2 = node.textContent;
|
|
28488
|
+
const result = language ? highlight2(text2, { language, ignoreIllegals: true }) : highlightAuto2(text2);
|
|
28489
|
+
element.innerHTML = result.value;
|
|
28490
|
+
updateClassName(element, language, result.language);
|
|
28491
|
+
element.result = {
|
|
28492
|
+
language: result.language,
|
|
28493
|
+
re: result.relevance,
|
|
28494
|
+
relevance: result.relevance
|
|
28495
|
+
};
|
|
28496
|
+
if (result.secondBest) {
|
|
28497
|
+
element.secondBest = {
|
|
28498
|
+
language: result.secondBest.language,
|
|
28499
|
+
relevance: result.secondBest.relevance
|
|
28500
|
+
};
|
|
28501
|
+
}
|
|
28502
|
+
fire("after:highlightElement", { el: element, result, text: text2 });
|
|
28503
|
+
}
|
|
28504
|
+
function configure(userOptions) {
|
|
28505
|
+
options = inherit$2(options, userOptions);
|
|
28506
|
+
}
|
|
28507
|
+
const initHighlighting = () => {
|
|
28508
|
+
highlightAll();
|
|
28509
|
+
deprecated$1("10.6.0", "initHighlighting() deprecated. Use highlightAll() now.");
|
|
28510
|
+
};
|
|
28511
|
+
function initHighlightingOnLoad() {
|
|
28512
|
+
highlightAll();
|
|
28513
|
+
deprecated$1("10.6.0", "initHighlightingOnLoad() deprecated. Use highlightAll() now.");
|
|
28514
|
+
}
|
|
28515
|
+
let wantsHighlight = false;
|
|
28516
|
+
function highlightAll() {
|
|
28517
|
+
if (document.readyState === "loading") {
|
|
28518
|
+
wantsHighlight = true;
|
|
28519
|
+
return;
|
|
28520
|
+
}
|
|
28521
|
+
const blocks = document.querySelectorAll(options.cssSelector);
|
|
28522
|
+
blocks.forEach(highlightElement);
|
|
28523
|
+
}
|
|
28524
|
+
function boot() {
|
|
28525
|
+
if (wantsHighlight)
|
|
28526
|
+
highlightAll();
|
|
28527
|
+
}
|
|
28528
|
+
if (typeof window !== "undefined" && window.addEventListener) {
|
|
28529
|
+
window.addEventListener("DOMContentLoaded", boot, false);
|
|
28530
|
+
}
|
|
28531
|
+
function registerLanguage2(languageName, languageDefinition) {
|
|
28532
|
+
let lang = null;
|
|
28533
|
+
try {
|
|
28534
|
+
lang = languageDefinition(hljs);
|
|
28535
|
+
} catch (error$1$1) {
|
|
28536
|
+
error$1("Language definition for '{}' could not be registered.".replace("{}", languageName));
|
|
28537
|
+
if (!SAFE_MODE) {
|
|
28538
|
+
throw error$1$1;
|
|
28539
|
+
} else {
|
|
28540
|
+
error$1(error$1$1);
|
|
28541
|
+
}
|
|
28542
|
+
lang = PLAINTEXT_LANGUAGE;
|
|
28543
|
+
}
|
|
28544
|
+
if (!lang.name)
|
|
28545
|
+
lang.name = languageName;
|
|
28546
|
+
languages[languageName] = lang;
|
|
28547
|
+
lang.rawDefinition = languageDefinition.bind(null, hljs);
|
|
28548
|
+
if (lang.aliases) {
|
|
28549
|
+
registerAliases(lang.aliases, { languageName });
|
|
28550
|
+
}
|
|
28551
|
+
}
|
|
28552
|
+
function unregisterLanguage(languageName) {
|
|
28553
|
+
delete languages[languageName];
|
|
28554
|
+
for (const alias of Object.keys(aliases)) {
|
|
28555
|
+
if (aliases[alias] === languageName) {
|
|
28556
|
+
delete aliases[alias];
|
|
28557
|
+
}
|
|
28558
|
+
}
|
|
28559
|
+
}
|
|
28560
|
+
function listLanguages2() {
|
|
28561
|
+
return Object.keys(languages);
|
|
28562
|
+
}
|
|
28563
|
+
function getLanguage(name) {
|
|
28564
|
+
name = (name || "").toLowerCase();
|
|
28565
|
+
return languages[name] || languages[aliases[name]];
|
|
28566
|
+
}
|
|
28567
|
+
function registerAliases(aliasList, { languageName }) {
|
|
28568
|
+
if (typeof aliasList === "string") {
|
|
28569
|
+
aliasList = [aliasList];
|
|
28570
|
+
}
|
|
28571
|
+
aliasList.forEach((alias) => {
|
|
28572
|
+
aliases[alias.toLowerCase()] = languageName;
|
|
28573
|
+
});
|
|
28574
|
+
}
|
|
28575
|
+
function autoDetection(name) {
|
|
28576
|
+
const lang = getLanguage(name);
|
|
28577
|
+
return lang && !lang.disableAutodetect;
|
|
28578
|
+
}
|
|
28579
|
+
function upgradePluginAPI(plugin2) {
|
|
28580
|
+
if (plugin2["before:highlightBlock"] && !plugin2["before:highlightElement"]) {
|
|
28581
|
+
plugin2["before:highlightElement"] = (data) => {
|
|
28582
|
+
plugin2["before:highlightBlock"](
|
|
28583
|
+
Object.assign({ block: data.el }, data)
|
|
28584
|
+
);
|
|
28585
|
+
};
|
|
28586
|
+
}
|
|
28587
|
+
if (plugin2["after:highlightBlock"] && !plugin2["after:highlightElement"]) {
|
|
28588
|
+
plugin2["after:highlightElement"] = (data) => {
|
|
28589
|
+
plugin2["after:highlightBlock"](
|
|
28590
|
+
Object.assign({ block: data.el }, data)
|
|
28591
|
+
);
|
|
28592
|
+
};
|
|
28593
|
+
}
|
|
28594
|
+
}
|
|
28595
|
+
function addPlugin(plugin2) {
|
|
28596
|
+
upgradePluginAPI(plugin2);
|
|
28597
|
+
plugins.push(plugin2);
|
|
28598
|
+
}
|
|
28599
|
+
function fire(event, args) {
|
|
28600
|
+
const cb = event;
|
|
28601
|
+
plugins.forEach(function(plugin2) {
|
|
28602
|
+
if (plugin2[cb]) {
|
|
28603
|
+
plugin2[cb](args);
|
|
28604
|
+
}
|
|
28605
|
+
});
|
|
28606
|
+
}
|
|
28607
|
+
function deprecateHighlightBlock(el) {
|
|
28608
|
+
deprecated$1("10.7.0", "highlightBlock will be removed entirely in v12.0");
|
|
28609
|
+
deprecated$1("10.7.0", "Please use highlightElement now.");
|
|
28610
|
+
return highlightElement(el);
|
|
28611
|
+
}
|
|
28612
|
+
Object.assign(hljs, {
|
|
28613
|
+
highlight: highlight2,
|
|
28614
|
+
highlightAuto: highlightAuto2,
|
|
28615
|
+
highlightAll,
|
|
28616
|
+
highlightElement,
|
|
28617
|
+
highlightBlock: deprecateHighlightBlock,
|
|
28618
|
+
configure,
|
|
28619
|
+
initHighlighting,
|
|
28620
|
+
initHighlightingOnLoad,
|
|
28621
|
+
registerLanguage: registerLanguage2,
|
|
28622
|
+
unregisterLanguage,
|
|
28623
|
+
listLanguages: listLanguages2,
|
|
28624
|
+
getLanguage,
|
|
28625
|
+
registerAliases,
|
|
28626
|
+
autoDetection,
|
|
28627
|
+
inherit: inherit$2,
|
|
28628
|
+
addPlugin
|
|
28629
|
+
});
|
|
28630
|
+
hljs.debugMode = function() {
|
|
28631
|
+
SAFE_MODE = false;
|
|
28632
|
+
};
|
|
28633
|
+
hljs.safeMode = function() {
|
|
28634
|
+
SAFE_MODE = true;
|
|
28635
|
+
};
|
|
28636
|
+
hljs.versionString = version$1;
|
|
28637
|
+
hljs.regex = {
|
|
28638
|
+
concat: concat$3,
|
|
28639
|
+
lookahead: lookahead$3,
|
|
28640
|
+
either: either$3,
|
|
28641
|
+
optional: optional$1,
|
|
28642
|
+
anyNumberOfTimes: anyNumberOfTimes$1
|
|
28643
|
+
};
|
|
28644
|
+
for (const key2 in MODES$5) {
|
|
28645
|
+
if (typeof MODES$5[key2] === "object") {
|
|
28646
|
+
deepFreezeEs6$1.exports(MODES$5[key2]);
|
|
28647
|
+
}
|
|
28648
|
+
}
|
|
28649
|
+
Object.assign(hljs, MODES$5);
|
|
28650
|
+
return hljs;
|
|
28651
|
+
};
|
|
28652
|
+
var highlight$2 = HLJS$1({});
|
|
28653
|
+
var core$1 = highlight$2;
|
|
28654
|
+
highlight$2.HighlightJS = highlight$2;
|
|
28655
|
+
highlight$2.default = highlight$2;
|
|
28656
|
+
var HighlightJS$1 = core$1;
|
|
27226
28657
|
function parseNodes(nodes, className = []) {
|
|
27227
28658
|
return nodes.map((node) => {
|
|
27228
28659
|
const classes = [
|
|
@@ -27241,13 +28672,16 @@ img.ProseMirror-separator {
|
|
|
27241
28672
|
function getHighlightNodes(result) {
|
|
27242
28673
|
return result.value || result.children || [];
|
|
27243
28674
|
}
|
|
28675
|
+
function registered$1(aliasOrLanguage) {
|
|
28676
|
+
return Boolean(HighlightJS$1.getLanguage(aliasOrLanguage));
|
|
28677
|
+
}
|
|
27244
28678
|
function getDecorations({ doc: doc2, name, lowlight: lowlight2, defaultLanguage }) {
|
|
27245
28679
|
const decorations = [];
|
|
27246
28680
|
findChildren(doc2, (node) => node.type.name === name).forEach((block) => {
|
|
27247
28681
|
let from = block.pos + 1;
|
|
27248
28682
|
const language = block.node.attrs.language || defaultLanguage;
|
|
27249
28683
|
const languages = lowlight2.listLanguages();
|
|
27250
|
-
const nodes = language && languages.includes(language) ? getHighlightNodes(lowlight2.highlight(language, block.node.textContent)) : getHighlightNodes(lowlight2.highlightAuto(block.node.textContent));
|
|
28684
|
+
const nodes = language && (languages.includes(language) || registered$1(language)) ? getHighlightNodes(lowlight2.highlight(language, block.node.textContent)) : getHighlightNodes(lowlight2.highlightAuto(block.node.textContent));
|
|
27251
28685
|
parseNodes(nodes).forEach((node) => {
|
|
27252
28686
|
const to = from + node.text.length;
|
|
27253
28687
|
if (node.classes.length) {
|
|
@@ -40201,12 +41635,12 @@ img.ProseMirror-separator {
|
|
|
40201
41635
|
let lang = null;
|
|
40202
41636
|
try {
|
|
40203
41637
|
lang = languageDefinition(hljs);
|
|
40204
|
-
} catch (error$
|
|
41638
|
+
} catch (error$12) {
|
|
40205
41639
|
error("Language definition for '{}' could not be registered.".replace("{}", languageName));
|
|
40206
41640
|
if (!SAFE_MODE) {
|
|
40207
|
-
throw error$
|
|
41641
|
+
throw error$12;
|
|
40208
41642
|
} else {
|
|
40209
|
-
error(error$
|
|
41643
|
+
error(error$12);
|
|
40210
41644
|
}
|
|
40211
41645
|
lang = PLAINTEXT_LANGUAGE;
|
|
40212
41646
|
}
|
|
@@ -73692,7 +75126,9 @@ img.ProseMirror-separator {
|
|
|
73692
75126
|
])
|
|
73693
75127
|
]),
|
|
73694
75128
|
vue.createElementVNode("pre", null, [
|
|
73695
|
-
vue.
|
|
75129
|
+
vue.createElementVNode("code", null, [
|
|
75130
|
+
vue.createVNode(vue.unref(NodeViewContent))
|
|
75131
|
+
])
|
|
73696
75132
|
])
|
|
73697
75133
|
]),
|
|
73698
75134
|
_: 1
|
|
@@ -74248,6 +75684,32 @@ img.ProseMirror-separator {
|
|
|
74248
75684
|
shortbaraboveleftharpoon: "M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",
|
|
74249
75685
|
shortrightharpoonabovebar: "M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"
|
|
74250
75686
|
};
|
|
75687
|
+
var tallDelim = function tallDelim2(label, midHeight) {
|
|
75688
|
+
switch (label) {
|
|
75689
|
+
case "lbrack":
|
|
75690
|
+
return "M403 1759 V84 H666 V0 H319 V1759 v" + midHeight + " v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v" + midHeight + " v1759 h84z";
|
|
75691
|
+
case "rbrack":
|
|
75692
|
+
return "M347 1759 V0 H0 V84 H263 V1759 v" + midHeight + " v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v" + midHeight + " v1759 h84z";
|
|
75693
|
+
case "vert":
|
|
75694
|
+
return "M145 15 v585 v" + midHeight + " v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v" + -midHeight + " v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v" + midHeight + " v585 h43z";
|
|
75695
|
+
case "doublevert":
|
|
75696
|
+
return "M145 15 v585 v" + midHeight + " v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v" + -midHeight + " v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v" + midHeight + " v585 h43z\nM367 15 v585 v" + midHeight + " v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v" + -midHeight + " v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v" + midHeight + " v585 h43z";
|
|
75697
|
+
case "lfloor":
|
|
75698
|
+
return "M319 602 V0 H403 V602 v" + midHeight + " v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v" + midHeight + " v1715 H319z";
|
|
75699
|
+
case "rfloor":
|
|
75700
|
+
return "M319 602 V0 H403 V602 v" + midHeight + " v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v" + midHeight + " v1715 H319z";
|
|
75701
|
+
case "lceil":
|
|
75702
|
+
return "M403 1759 V84 H666 V0 H319 V1759 v" + midHeight + " v602 h84z\nM403 1759 V0 H319 V1759 v" + midHeight + " v602 h84z";
|
|
75703
|
+
case "rceil":
|
|
75704
|
+
return "M347 1759 V0 H0 V84 H263 V1759 v" + midHeight + " v602 h84z\nM347 1759 V0 h-84 V1759 v" + midHeight + " v602 h84z";
|
|
75705
|
+
case "lparen":
|
|
75706
|
+
return "M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0," + (midHeight + 84) + "c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-" + (midHeight + 92) + "c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";
|
|
75707
|
+
case "rparen":
|
|
75708
|
+
return "M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0," + (midHeight + 9) + "\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-" + (midHeight + 144) + "c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";
|
|
75709
|
+
default:
|
|
75710
|
+
throw new Error("Unknown stretchy delimiter.");
|
|
75711
|
+
}
|
|
75712
|
+
};
|
|
74251
75713
|
class DocumentFragment {
|
|
74252
75714
|
constructor(children) {
|
|
74253
75715
|
this.children = void 0;
|
|
@@ -77997,7 +79459,7 @@ img.ProseMirror-separator {
|
|
|
77997
79459
|
}
|
|
77998
79460
|
if (lookupSymbol(text2, fontName, mode).metrics) {
|
|
77999
79461
|
return makeSymbol(text2, fontName, mode, options, classes.concat(fontClasses));
|
|
78000
|
-
} else if (ligatures.hasOwnProperty(text2) && fontName.
|
|
79462
|
+
} else if (ligatures.hasOwnProperty(text2) && fontName.slice(0, 10) === "Typewriter") {
|
|
78001
79463
|
var parts = [];
|
|
78002
79464
|
for (var i2 = 0; i2 < text2.length; i2++) {
|
|
78003
79465
|
parts.push(makeSymbol(text2[i2], fontName, mode, options, classes.concat(fontClasses)));
|
|
@@ -78843,7 +80305,7 @@ img.ProseMirror-separator {
|
|
|
78843
80305
|
newDocumentFragment
|
|
78844
80306
|
};
|
|
78845
80307
|
var makeText = function makeText2(text2, mode, options) {
|
|
78846
|
-
if (symbols[mode][text2] && symbols[mode][text2].replace && text2.charCodeAt(0) !== 55349 && !(ligatures.hasOwnProperty(text2) && options && (options.fontFamily && options.fontFamily.
|
|
80308
|
+
if (symbols[mode][text2] && symbols[mode][text2].replace && text2.charCodeAt(0) !== 55349 && !(ligatures.hasOwnProperty(text2) && options && (options.fontFamily && options.fontFamily.slice(4, 6) === "tt" || options.font && options.font.slice(4, 6) === "tt"))) {
|
|
78847
80309
|
text2 = symbols[mode][text2].replace;
|
|
78848
80310
|
}
|
|
78849
80311
|
return new mathMLTree.TextNode(text2);
|
|
@@ -79127,7 +80589,7 @@ img.ProseMirror-separator {
|
|
|
79127
80589
|
var svgSpan = function svgSpan2(group, options) {
|
|
79128
80590
|
function buildSvgSpan_() {
|
|
79129
80591
|
var viewBoxWidth = 4e5;
|
|
79130
|
-
var label = group.label.
|
|
80592
|
+
var label = group.label.slice(1);
|
|
79131
80593
|
if (utils.contains(["widehat", "widecheck", "widetilde", "utilde"], label)) {
|
|
79132
80594
|
var grp = group;
|
|
79133
80595
|
var numChars = groupLength(grp.base);
|
|
@@ -79627,6 +81089,175 @@ img.ProseMirror-separator {
|
|
|
79627
81089
|
return node;
|
|
79628
81090
|
}
|
|
79629
81091
|
});
|
|
81092
|
+
var makeSpan = buildCommon.makeSpan;
|
|
81093
|
+
function htmlBuilder$9(group, options) {
|
|
81094
|
+
var elements = buildExpression$1(group.body, options, true);
|
|
81095
|
+
return makeSpan([group.mclass], elements, options);
|
|
81096
|
+
}
|
|
81097
|
+
function mathmlBuilder$8(group, options) {
|
|
81098
|
+
var node;
|
|
81099
|
+
var inner2 = buildExpression(group.body, options);
|
|
81100
|
+
if (group.mclass === "minner") {
|
|
81101
|
+
node = new mathMLTree.MathNode("mpadded", inner2);
|
|
81102
|
+
} else if (group.mclass === "mord") {
|
|
81103
|
+
if (group.isCharacterBox) {
|
|
81104
|
+
node = inner2[0];
|
|
81105
|
+
node.type = "mi";
|
|
81106
|
+
} else {
|
|
81107
|
+
node = new mathMLTree.MathNode("mi", inner2);
|
|
81108
|
+
}
|
|
81109
|
+
} else {
|
|
81110
|
+
if (group.isCharacterBox) {
|
|
81111
|
+
node = inner2[0];
|
|
81112
|
+
node.type = "mo";
|
|
81113
|
+
} else {
|
|
81114
|
+
node = new mathMLTree.MathNode("mo", inner2);
|
|
81115
|
+
}
|
|
81116
|
+
if (group.mclass === "mbin") {
|
|
81117
|
+
node.attributes.lspace = "0.22em";
|
|
81118
|
+
node.attributes.rspace = "0.22em";
|
|
81119
|
+
} else if (group.mclass === "mpunct") {
|
|
81120
|
+
node.attributes.lspace = "0em";
|
|
81121
|
+
node.attributes.rspace = "0.17em";
|
|
81122
|
+
} else if (group.mclass === "mopen" || group.mclass === "mclose") {
|
|
81123
|
+
node.attributes.lspace = "0em";
|
|
81124
|
+
node.attributes.rspace = "0em";
|
|
81125
|
+
} else if (group.mclass === "minner") {
|
|
81126
|
+
node.attributes.lspace = "0.0556em";
|
|
81127
|
+
node.attributes.width = "+0.1111em";
|
|
81128
|
+
}
|
|
81129
|
+
}
|
|
81130
|
+
return node;
|
|
81131
|
+
}
|
|
81132
|
+
defineFunction({
|
|
81133
|
+
type: "mclass",
|
|
81134
|
+
names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"],
|
|
81135
|
+
props: {
|
|
81136
|
+
numArgs: 1,
|
|
81137
|
+
primitive: true
|
|
81138
|
+
},
|
|
81139
|
+
handler(_ref, args) {
|
|
81140
|
+
var {
|
|
81141
|
+
parser,
|
|
81142
|
+
funcName
|
|
81143
|
+
} = _ref;
|
|
81144
|
+
var body = args[0];
|
|
81145
|
+
return {
|
|
81146
|
+
type: "mclass",
|
|
81147
|
+
mode: parser.mode,
|
|
81148
|
+
mclass: "m" + funcName.slice(5),
|
|
81149
|
+
body: ordargument(body),
|
|
81150
|
+
isCharacterBox: utils.isCharacterBox(body)
|
|
81151
|
+
};
|
|
81152
|
+
},
|
|
81153
|
+
htmlBuilder: htmlBuilder$9,
|
|
81154
|
+
mathmlBuilder: mathmlBuilder$8
|
|
81155
|
+
});
|
|
81156
|
+
var binrelClass = (arg) => {
|
|
81157
|
+
var atom = arg.type === "ordgroup" && arg.body.length ? arg.body[0] : arg;
|
|
81158
|
+
if (atom.type === "atom" && (atom.family === "bin" || atom.family === "rel")) {
|
|
81159
|
+
return "m" + atom.family;
|
|
81160
|
+
} else {
|
|
81161
|
+
return "mord";
|
|
81162
|
+
}
|
|
81163
|
+
};
|
|
81164
|
+
defineFunction({
|
|
81165
|
+
type: "mclass",
|
|
81166
|
+
names: ["\\@binrel"],
|
|
81167
|
+
props: {
|
|
81168
|
+
numArgs: 2
|
|
81169
|
+
},
|
|
81170
|
+
handler(_ref2, args) {
|
|
81171
|
+
var {
|
|
81172
|
+
parser
|
|
81173
|
+
} = _ref2;
|
|
81174
|
+
return {
|
|
81175
|
+
type: "mclass",
|
|
81176
|
+
mode: parser.mode,
|
|
81177
|
+
mclass: binrelClass(args[0]),
|
|
81178
|
+
body: ordargument(args[1]),
|
|
81179
|
+
isCharacterBox: utils.isCharacterBox(args[1])
|
|
81180
|
+
};
|
|
81181
|
+
}
|
|
81182
|
+
});
|
|
81183
|
+
defineFunction({
|
|
81184
|
+
type: "mclass",
|
|
81185
|
+
names: ["\\stackrel", "\\overset", "\\underset"],
|
|
81186
|
+
props: {
|
|
81187
|
+
numArgs: 2
|
|
81188
|
+
},
|
|
81189
|
+
handler(_ref3, args) {
|
|
81190
|
+
var {
|
|
81191
|
+
parser,
|
|
81192
|
+
funcName
|
|
81193
|
+
} = _ref3;
|
|
81194
|
+
var baseArg = args[1];
|
|
81195
|
+
var shiftedArg = args[0];
|
|
81196
|
+
var mclass;
|
|
81197
|
+
if (funcName !== "\\stackrel") {
|
|
81198
|
+
mclass = binrelClass(baseArg);
|
|
81199
|
+
} else {
|
|
81200
|
+
mclass = "mrel";
|
|
81201
|
+
}
|
|
81202
|
+
var baseOp = {
|
|
81203
|
+
type: "op",
|
|
81204
|
+
mode: baseArg.mode,
|
|
81205
|
+
limits: true,
|
|
81206
|
+
alwaysHandleSupSub: true,
|
|
81207
|
+
parentIsSupSub: false,
|
|
81208
|
+
symbol: false,
|
|
81209
|
+
suppressBaseShift: funcName !== "\\stackrel",
|
|
81210
|
+
body: ordargument(baseArg)
|
|
81211
|
+
};
|
|
81212
|
+
var supsub = {
|
|
81213
|
+
type: "supsub",
|
|
81214
|
+
mode: shiftedArg.mode,
|
|
81215
|
+
base: baseOp,
|
|
81216
|
+
sup: funcName === "\\underset" ? null : shiftedArg,
|
|
81217
|
+
sub: funcName === "\\underset" ? shiftedArg : null
|
|
81218
|
+
};
|
|
81219
|
+
return {
|
|
81220
|
+
type: "mclass",
|
|
81221
|
+
mode: parser.mode,
|
|
81222
|
+
mclass,
|
|
81223
|
+
body: [supsub],
|
|
81224
|
+
isCharacterBox: utils.isCharacterBox(supsub)
|
|
81225
|
+
};
|
|
81226
|
+
},
|
|
81227
|
+
htmlBuilder: htmlBuilder$9,
|
|
81228
|
+
mathmlBuilder: mathmlBuilder$8
|
|
81229
|
+
});
|
|
81230
|
+
defineFunction({
|
|
81231
|
+
type: "pmb",
|
|
81232
|
+
names: ["\\pmb"],
|
|
81233
|
+
props: {
|
|
81234
|
+
numArgs: 1,
|
|
81235
|
+
allowedInText: true
|
|
81236
|
+
},
|
|
81237
|
+
handler(_ref, args) {
|
|
81238
|
+
var {
|
|
81239
|
+
parser
|
|
81240
|
+
} = _ref;
|
|
81241
|
+
return {
|
|
81242
|
+
type: "pmb",
|
|
81243
|
+
mode: parser.mode,
|
|
81244
|
+
mclass: binrelClass(args[0]),
|
|
81245
|
+
body: ordargument(args[0])
|
|
81246
|
+
};
|
|
81247
|
+
},
|
|
81248
|
+
htmlBuilder(group, options) {
|
|
81249
|
+
var elements = buildExpression$1(group.body, options, true);
|
|
81250
|
+
var node = buildCommon.makeSpan([group.mclass], elements, options);
|
|
81251
|
+
node.style.textShadow = "0.02em 0.01em 0.04px";
|
|
81252
|
+
return node;
|
|
81253
|
+
},
|
|
81254
|
+
mathmlBuilder(group, style2) {
|
|
81255
|
+
var inner2 = buildExpression(group.body, style2);
|
|
81256
|
+
var node = new mathMLTree.MathNode("mstyle", inner2);
|
|
81257
|
+
node.setAttribute("style", "text-shadow: 0.02em 0.01em 0.04px");
|
|
81258
|
+
return node;
|
|
81259
|
+
}
|
|
81260
|
+
});
|
|
79630
81261
|
var cdArrowFunctionName = {
|
|
79631
81262
|
">": "\\\\cdrightarrow",
|
|
79632
81263
|
"<": "\\\\cdleftarrow",
|
|
@@ -79901,11 +81532,11 @@ img.ProseMirror-separator {
|
|
|
79901
81532
|
};
|
|
79902
81533
|
}
|
|
79903
81534
|
});
|
|
79904
|
-
var htmlBuilder$
|
|
81535
|
+
var htmlBuilder$8 = (group, options) => {
|
|
79905
81536
|
var elements = buildExpression$1(group.body, options.withColor(group.color), false);
|
|
79906
81537
|
return buildCommon.makeFragment(elements);
|
|
79907
81538
|
};
|
|
79908
|
-
var mathmlBuilder$
|
|
81539
|
+
var mathmlBuilder$7 = (group, options) => {
|
|
79909
81540
|
var inner2 = buildExpression(group.body, options.withColor(group.color));
|
|
79910
81541
|
var node = new mathMLTree.MathNode("mstyle", inner2);
|
|
79911
81542
|
node.setAttribute("mathcolor", group.color);
|
|
@@ -79932,8 +81563,8 @@ img.ProseMirror-separator {
|
|
|
79932
81563
|
body: ordargument(body)
|
|
79933
81564
|
};
|
|
79934
81565
|
},
|
|
79935
|
-
htmlBuilder: htmlBuilder$
|
|
79936
|
-
mathmlBuilder: mathmlBuilder$
|
|
81566
|
+
htmlBuilder: htmlBuilder$8,
|
|
81567
|
+
mathmlBuilder: mathmlBuilder$7
|
|
79937
81568
|
});
|
|
79938
81569
|
defineFunction({
|
|
79939
81570
|
type: "color",
|
|
@@ -79958,8 +81589,8 @@ img.ProseMirror-separator {
|
|
|
79958
81589
|
body
|
|
79959
81590
|
};
|
|
79960
81591
|
},
|
|
79961
|
-
htmlBuilder: htmlBuilder$
|
|
79962
|
-
mathmlBuilder: mathmlBuilder$
|
|
81592
|
+
htmlBuilder: htmlBuilder$8,
|
|
81593
|
+
mathmlBuilder: mathmlBuilder$7
|
|
79963
81594
|
});
|
|
79964
81595
|
defineFunction({
|
|
79965
81596
|
type: "cr",
|
|
@@ -80278,6 +81909,8 @@ img.ProseMirror-separator {
|
|
|
80278
81909
|
var middle;
|
|
80279
81910
|
var repeat;
|
|
80280
81911
|
var bottom2;
|
|
81912
|
+
var svgLabel = "";
|
|
81913
|
+
var viewBoxWidth = 0;
|
|
80281
81914
|
top2 = repeat = bottom2 = delim;
|
|
80282
81915
|
middle = null;
|
|
80283
81916
|
var font = "Size1-Regular";
|
|
@@ -80299,44 +81932,64 @@ img.ProseMirror-separator {
|
|
|
80299
81932
|
bottom2 = "\\Downarrow";
|
|
80300
81933
|
} else if (utils.contains(verts, delim)) {
|
|
80301
81934
|
repeat = "\u2223";
|
|
81935
|
+
svgLabel = "vert";
|
|
81936
|
+
viewBoxWidth = 333;
|
|
80302
81937
|
} else if (utils.contains(doubleVerts, delim)) {
|
|
80303
81938
|
repeat = "\u2225";
|
|
81939
|
+
svgLabel = "doublevert";
|
|
81940
|
+
viewBoxWidth = 556;
|
|
80304
81941
|
} else if (delim === "[" || delim === "\\lbrack") {
|
|
80305
81942
|
top2 = "\u23A1";
|
|
80306
81943
|
repeat = "\u23A2";
|
|
80307
81944
|
bottom2 = "\u23A3";
|
|
80308
81945
|
font = "Size4-Regular";
|
|
81946
|
+
svgLabel = "lbrack";
|
|
81947
|
+
viewBoxWidth = 667;
|
|
80309
81948
|
} else if (delim === "]" || delim === "\\rbrack") {
|
|
80310
81949
|
top2 = "\u23A4";
|
|
80311
81950
|
repeat = "\u23A5";
|
|
80312
81951
|
bottom2 = "\u23A6";
|
|
80313
81952
|
font = "Size4-Regular";
|
|
81953
|
+
svgLabel = "rbrack";
|
|
81954
|
+
viewBoxWidth = 667;
|
|
80314
81955
|
} else if (delim === "\\lfloor" || delim === "\u230A") {
|
|
80315
81956
|
repeat = top2 = "\u23A2";
|
|
80316
81957
|
bottom2 = "\u23A3";
|
|
80317
81958
|
font = "Size4-Regular";
|
|
81959
|
+
svgLabel = "lfloor";
|
|
81960
|
+
viewBoxWidth = 667;
|
|
80318
81961
|
} else if (delim === "\\lceil" || delim === "\u2308") {
|
|
80319
81962
|
top2 = "\u23A1";
|
|
80320
81963
|
repeat = bottom2 = "\u23A2";
|
|
80321
81964
|
font = "Size4-Regular";
|
|
81965
|
+
svgLabel = "lceil";
|
|
81966
|
+
viewBoxWidth = 667;
|
|
80322
81967
|
} else if (delim === "\\rfloor" || delim === "\u230B") {
|
|
80323
81968
|
repeat = top2 = "\u23A5";
|
|
80324
81969
|
bottom2 = "\u23A6";
|
|
80325
81970
|
font = "Size4-Regular";
|
|
81971
|
+
svgLabel = "rfloor";
|
|
81972
|
+
viewBoxWidth = 667;
|
|
80326
81973
|
} else if (delim === "\\rceil" || delim === "\u2309") {
|
|
80327
81974
|
top2 = "\u23A4";
|
|
80328
81975
|
repeat = bottom2 = "\u23A5";
|
|
80329
81976
|
font = "Size4-Regular";
|
|
81977
|
+
svgLabel = "rceil";
|
|
81978
|
+
viewBoxWidth = 667;
|
|
80330
81979
|
} else if (delim === "(" || delim === "\\lparen") {
|
|
80331
81980
|
top2 = "\u239B";
|
|
80332
81981
|
repeat = "\u239C";
|
|
80333
81982
|
bottom2 = "\u239D";
|
|
80334
81983
|
font = "Size4-Regular";
|
|
81984
|
+
svgLabel = "lparen";
|
|
81985
|
+
viewBoxWidth = 875;
|
|
80335
81986
|
} else if (delim === ")" || delim === "\\rparen") {
|
|
80336
81987
|
top2 = "\u239E";
|
|
80337
81988
|
repeat = "\u239F";
|
|
80338
81989
|
bottom2 = "\u23A0";
|
|
80339
81990
|
font = "Size4-Regular";
|
|
81991
|
+
svgLabel = "rparen";
|
|
81992
|
+
viewBoxWidth = 875;
|
|
80340
81993
|
} else if (delim === "\\{" || delim === "\\lbrace") {
|
|
80341
81994
|
top2 = "\u23A7";
|
|
80342
81995
|
middle = "\u23A8";
|
|
@@ -80392,21 +82045,43 @@ img.ProseMirror-separator {
|
|
|
80392
82045
|
}
|
|
80393
82046
|
var depth = realHeightTotal / 2 - axisHeight;
|
|
80394
82047
|
var stack = [];
|
|
80395
|
-
|
|
80396
|
-
|
|
80397
|
-
|
|
80398
|
-
var
|
|
80399
|
-
|
|
82048
|
+
if (svgLabel.length > 0) {
|
|
82049
|
+
var midHeight = realHeightTotal - topHeightTotal - bottomHeightTotal;
|
|
82050
|
+
var viewBoxHeight = Math.round(realHeightTotal * 1e3);
|
|
82051
|
+
var pathStr = tallDelim(svgLabel, Math.round(midHeight * 1e3));
|
|
82052
|
+
var path2 = new PathNode(svgLabel, pathStr);
|
|
82053
|
+
var width = (viewBoxWidth / 1e3).toFixed(3) + "em";
|
|
82054
|
+
var height = (viewBoxHeight / 1e3).toFixed(3) + "em";
|
|
82055
|
+
var svg = new SvgNode([path2], {
|
|
82056
|
+
"width": width,
|
|
82057
|
+
"height": height,
|
|
82058
|
+
"viewBox": "0 0 " + viewBoxWidth + " " + viewBoxHeight
|
|
82059
|
+
});
|
|
82060
|
+
var wrapper = buildCommon.makeSvgSpan([], [svg], options);
|
|
82061
|
+
wrapper.height = viewBoxHeight / 1e3;
|
|
82062
|
+
wrapper.style.width = width;
|
|
82063
|
+
wrapper.style.height = height;
|
|
82064
|
+
stack.push({
|
|
82065
|
+
type: "elem",
|
|
82066
|
+
elem: wrapper
|
|
82067
|
+
});
|
|
80400
82068
|
} else {
|
|
80401
|
-
|
|
80402
|
-
stack.push(makeInner(repeat, _innerHeight, options));
|
|
82069
|
+
stack.push(makeGlyphSpan(bottom2, font, mode));
|
|
80403
82070
|
stack.push(lap);
|
|
80404
|
-
|
|
82071
|
+
if (middle === null) {
|
|
82072
|
+
var innerHeight2 = realHeightTotal - topHeightTotal - bottomHeightTotal + 2 * lapInEms;
|
|
82073
|
+
stack.push(makeInner(repeat, innerHeight2, options));
|
|
82074
|
+
} else {
|
|
82075
|
+
var _innerHeight = (realHeightTotal - topHeightTotal - bottomHeightTotal - middleHeightTotal) / 2 + 2 * lapInEms;
|
|
82076
|
+
stack.push(makeInner(repeat, _innerHeight, options));
|
|
82077
|
+
stack.push(lap);
|
|
82078
|
+
stack.push(makeGlyphSpan(middle, font, mode));
|
|
82079
|
+
stack.push(lap);
|
|
82080
|
+
stack.push(makeInner(repeat, _innerHeight, options));
|
|
82081
|
+
}
|
|
80405
82082
|
stack.push(lap);
|
|
80406
|
-
stack.push(
|
|
82083
|
+
stack.push(makeGlyphSpan(top2, font, mode));
|
|
80407
82084
|
}
|
|
80408
|
-
stack.push(lap);
|
|
80409
|
-
stack.push(makeGlyphSpan(top2, font, mode));
|
|
80410
82085
|
var newOptions = options.havingBaseStyle(Style$1.TEXT);
|
|
80411
82086
|
var inner2 = buildCommon.makeVList({
|
|
80412
82087
|
positionType: "bottom",
|
|
@@ -80888,9 +82563,9 @@ img.ProseMirror-separator {
|
|
|
80888
82563
|
return middleNode;
|
|
80889
82564
|
}
|
|
80890
82565
|
});
|
|
80891
|
-
var htmlBuilder$
|
|
82566
|
+
var htmlBuilder$7 = (group, options) => {
|
|
80892
82567
|
var inner2 = buildCommon.wrapFragment(buildGroup$1(group.body, options), options);
|
|
80893
|
-
var label = group.label.
|
|
82568
|
+
var label = group.label.slice(1);
|
|
80894
82569
|
var scale = options.sizeMultiplier;
|
|
80895
82570
|
var img;
|
|
80896
82571
|
var imgShift = 0;
|
|
@@ -81013,7 +82688,7 @@ img.ProseMirror-separator {
|
|
|
81013
82688
|
return buildCommon.makeSpan(["mord"], [vlist], options);
|
|
81014
82689
|
}
|
|
81015
82690
|
};
|
|
81016
|
-
var mathmlBuilder$
|
|
82691
|
+
var mathmlBuilder$6 = (group, options) => {
|
|
81017
82692
|
var fboxsep = 0;
|
|
81018
82693
|
var node = new mathMLTree.MathNode(group.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [buildGroup(group.body, options)]);
|
|
81019
82694
|
switch (group.label) {
|
|
@@ -81082,8 +82757,8 @@ img.ProseMirror-separator {
|
|
|
81082
82757
|
body
|
|
81083
82758
|
};
|
|
81084
82759
|
},
|
|
81085
|
-
htmlBuilder: htmlBuilder$
|
|
81086
|
-
mathmlBuilder: mathmlBuilder$
|
|
82760
|
+
htmlBuilder: htmlBuilder$7,
|
|
82761
|
+
mathmlBuilder: mathmlBuilder$6
|
|
81087
82762
|
});
|
|
81088
82763
|
defineFunction({
|
|
81089
82764
|
type: "enclose",
|
|
@@ -81110,8 +82785,8 @@ img.ProseMirror-separator {
|
|
|
81110
82785
|
body
|
|
81111
82786
|
};
|
|
81112
82787
|
},
|
|
81113
|
-
htmlBuilder: htmlBuilder$
|
|
81114
|
-
mathmlBuilder: mathmlBuilder$
|
|
82788
|
+
htmlBuilder: htmlBuilder$7,
|
|
82789
|
+
mathmlBuilder: mathmlBuilder$6
|
|
81115
82790
|
});
|
|
81116
82791
|
defineFunction({
|
|
81117
82792
|
type: "enclose",
|
|
@@ -81152,8 +82827,8 @@ img.ProseMirror-separator {
|
|
|
81152
82827
|
body
|
|
81153
82828
|
};
|
|
81154
82829
|
},
|
|
81155
|
-
htmlBuilder: htmlBuilder$
|
|
81156
|
-
mathmlBuilder: mathmlBuilder$
|
|
82830
|
+
htmlBuilder: htmlBuilder$7,
|
|
82831
|
+
mathmlBuilder: mathmlBuilder$6
|
|
81157
82832
|
});
|
|
81158
82833
|
defineFunction({
|
|
81159
82834
|
type: "enclose",
|
|
@@ -81351,13 +83026,13 @@ img.ProseMirror-separator {
|
|
|
81351
83026
|
};
|
|
81352
83027
|
}
|
|
81353
83028
|
function dCellStyle(envName) {
|
|
81354
|
-
if (envName.
|
|
83029
|
+
if (envName.slice(0, 1) === "d") {
|
|
81355
83030
|
return "display";
|
|
81356
83031
|
} else {
|
|
81357
83032
|
return "text";
|
|
81358
83033
|
}
|
|
81359
83034
|
}
|
|
81360
|
-
var htmlBuilder$
|
|
83035
|
+
var htmlBuilder$6 = function htmlBuilder2(group, options) {
|
|
81361
83036
|
var r2;
|
|
81362
83037
|
var c2;
|
|
81363
83038
|
var nr = group.body.length;
|
|
@@ -81583,7 +83258,7 @@ img.ProseMirror-separator {
|
|
|
81583
83258
|
l: "left ",
|
|
81584
83259
|
r: "right "
|
|
81585
83260
|
};
|
|
81586
|
-
var mathmlBuilder$
|
|
83261
|
+
var mathmlBuilder$5 = function mathmlBuilder2(group, options) {
|
|
81587
83262
|
var tbl = [];
|
|
81588
83263
|
var glue = new mathMLTree.MathNode("mtd", [], ["mtr-glue"]);
|
|
81589
83264
|
var tag = new mathMLTree.MathNode("mtd", [], ["mml-eqn-num"]);
|
|
@@ -81781,8 +83456,8 @@ img.ProseMirror-separator {
|
|
|
81781
83456
|
};
|
|
81782
83457
|
return parseArray(context.parser, res, dCellStyle(context.envName));
|
|
81783
83458
|
},
|
|
81784
|
-
htmlBuilder: htmlBuilder$
|
|
81785
|
-
mathmlBuilder: mathmlBuilder$
|
|
83459
|
+
htmlBuilder: htmlBuilder$6,
|
|
83460
|
+
mathmlBuilder: mathmlBuilder$5
|
|
81786
83461
|
});
|
|
81787
83462
|
defineEnvironment({
|
|
81788
83463
|
type: "array",
|
|
@@ -81842,8 +83517,8 @@ img.ProseMirror-separator {
|
|
|
81842
83517
|
rightColor: void 0
|
|
81843
83518
|
} : res;
|
|
81844
83519
|
},
|
|
81845
|
-
htmlBuilder: htmlBuilder$
|
|
81846
|
-
mathmlBuilder: mathmlBuilder$
|
|
83520
|
+
htmlBuilder: htmlBuilder$6,
|
|
83521
|
+
mathmlBuilder: mathmlBuilder$5
|
|
81847
83522
|
});
|
|
81848
83523
|
defineEnvironment({
|
|
81849
83524
|
type: "array",
|
|
@@ -81859,8 +83534,8 @@ img.ProseMirror-separator {
|
|
|
81859
83534
|
res.colSeparationType = "small";
|
|
81860
83535
|
return res;
|
|
81861
83536
|
},
|
|
81862
|
-
htmlBuilder: htmlBuilder$
|
|
81863
|
-
mathmlBuilder: mathmlBuilder$
|
|
83537
|
+
htmlBuilder: htmlBuilder$6,
|
|
83538
|
+
mathmlBuilder: mathmlBuilder$5
|
|
81864
83539
|
});
|
|
81865
83540
|
defineEnvironment({
|
|
81866
83541
|
type: "array",
|
|
@@ -81896,8 +83571,8 @@ img.ProseMirror-separator {
|
|
|
81896
83571
|
}
|
|
81897
83572
|
return res;
|
|
81898
83573
|
},
|
|
81899
|
-
htmlBuilder: htmlBuilder$
|
|
81900
|
-
mathmlBuilder: mathmlBuilder$
|
|
83574
|
+
htmlBuilder: htmlBuilder$6,
|
|
83575
|
+
mathmlBuilder: mathmlBuilder$5
|
|
81901
83576
|
});
|
|
81902
83577
|
defineEnvironment({
|
|
81903
83578
|
type: "array",
|
|
@@ -81930,8 +83605,8 @@ img.ProseMirror-separator {
|
|
|
81930
83605
|
rightColor: void 0
|
|
81931
83606
|
};
|
|
81932
83607
|
},
|
|
81933
|
-
htmlBuilder: htmlBuilder$
|
|
81934
|
-
mathmlBuilder: mathmlBuilder$
|
|
83608
|
+
htmlBuilder: htmlBuilder$6,
|
|
83609
|
+
mathmlBuilder: mathmlBuilder$5
|
|
81935
83610
|
});
|
|
81936
83611
|
defineEnvironment({
|
|
81937
83612
|
type: "array",
|
|
@@ -81940,8 +83615,8 @@ img.ProseMirror-separator {
|
|
|
81940
83615
|
numArgs: 0
|
|
81941
83616
|
},
|
|
81942
83617
|
handler: alignedHandler,
|
|
81943
|
-
htmlBuilder: htmlBuilder$
|
|
81944
|
-
mathmlBuilder: mathmlBuilder$
|
|
83618
|
+
htmlBuilder: htmlBuilder$6,
|
|
83619
|
+
mathmlBuilder: mathmlBuilder$5
|
|
81945
83620
|
});
|
|
81946
83621
|
defineEnvironment({
|
|
81947
83622
|
type: "array",
|
|
@@ -81966,8 +83641,8 @@ img.ProseMirror-separator {
|
|
|
81966
83641
|
};
|
|
81967
83642
|
return parseArray(context.parser, res, "display");
|
|
81968
83643
|
},
|
|
81969
|
-
htmlBuilder: htmlBuilder$
|
|
81970
|
-
mathmlBuilder: mathmlBuilder$
|
|
83644
|
+
htmlBuilder: htmlBuilder$6,
|
|
83645
|
+
mathmlBuilder: mathmlBuilder$5
|
|
81971
83646
|
});
|
|
81972
83647
|
defineEnvironment({
|
|
81973
83648
|
type: "array",
|
|
@@ -81976,8 +83651,8 @@ img.ProseMirror-separator {
|
|
|
81976
83651
|
numArgs: 1
|
|
81977
83652
|
},
|
|
81978
83653
|
handler: alignedHandler,
|
|
81979
|
-
htmlBuilder: htmlBuilder$
|
|
81980
|
-
mathmlBuilder: mathmlBuilder$
|
|
83654
|
+
htmlBuilder: htmlBuilder$6,
|
|
83655
|
+
mathmlBuilder: mathmlBuilder$5
|
|
81981
83656
|
});
|
|
81982
83657
|
defineEnvironment({
|
|
81983
83658
|
type: "array",
|
|
@@ -81996,8 +83671,8 @@ img.ProseMirror-separator {
|
|
|
81996
83671
|
};
|
|
81997
83672
|
return parseArray(context.parser, res, "display");
|
|
81998
83673
|
},
|
|
81999
|
-
htmlBuilder: htmlBuilder$
|
|
82000
|
-
mathmlBuilder: mathmlBuilder$
|
|
83674
|
+
htmlBuilder: htmlBuilder$6,
|
|
83675
|
+
mathmlBuilder: mathmlBuilder$5
|
|
82001
83676
|
});
|
|
82002
83677
|
defineEnvironment({
|
|
82003
83678
|
type: "array",
|
|
@@ -82009,8 +83684,8 @@ img.ProseMirror-separator {
|
|
|
82009
83684
|
validateAmsEnvironmentContext(context);
|
|
82010
83685
|
return parseCD(context.parser);
|
|
82011
83686
|
},
|
|
82012
|
-
htmlBuilder: htmlBuilder$
|
|
82013
|
-
mathmlBuilder: mathmlBuilder$
|
|
83687
|
+
htmlBuilder: htmlBuilder$6,
|
|
83688
|
+
mathmlBuilder: mathmlBuilder$5
|
|
82014
83689
|
});
|
|
82015
83690
|
defineMacro("\\nonumber", "\\gdef\\@eqnsw{0}");
|
|
82016
83691
|
defineMacro("\\notag", "\\nonumber");
|
|
@@ -82078,144 +83753,6 @@ img.ProseMirror-separator {
|
|
|
82078
83753
|
};
|
|
82079
83754
|
}
|
|
82080
83755
|
});
|
|
82081
|
-
var makeSpan = buildCommon.makeSpan;
|
|
82082
|
-
function htmlBuilder$6(group, options) {
|
|
82083
|
-
var elements = buildExpression$1(group.body, options, true);
|
|
82084
|
-
return makeSpan([group.mclass], elements, options);
|
|
82085
|
-
}
|
|
82086
|
-
function mathmlBuilder$5(group, options) {
|
|
82087
|
-
var node;
|
|
82088
|
-
var inner2 = buildExpression(group.body, options);
|
|
82089
|
-
if (group.mclass === "minner") {
|
|
82090
|
-
node = new mathMLTree.MathNode("mpadded", inner2);
|
|
82091
|
-
} else if (group.mclass === "mord") {
|
|
82092
|
-
if (group.isCharacterBox) {
|
|
82093
|
-
node = inner2[0];
|
|
82094
|
-
node.type = "mi";
|
|
82095
|
-
} else {
|
|
82096
|
-
node = new mathMLTree.MathNode("mi", inner2);
|
|
82097
|
-
}
|
|
82098
|
-
} else {
|
|
82099
|
-
if (group.isCharacterBox) {
|
|
82100
|
-
node = inner2[0];
|
|
82101
|
-
node.type = "mo";
|
|
82102
|
-
} else {
|
|
82103
|
-
node = new mathMLTree.MathNode("mo", inner2);
|
|
82104
|
-
}
|
|
82105
|
-
if (group.mclass === "mbin") {
|
|
82106
|
-
node.attributes.lspace = "0.22em";
|
|
82107
|
-
node.attributes.rspace = "0.22em";
|
|
82108
|
-
} else if (group.mclass === "mpunct") {
|
|
82109
|
-
node.attributes.lspace = "0em";
|
|
82110
|
-
node.attributes.rspace = "0.17em";
|
|
82111
|
-
} else if (group.mclass === "mopen" || group.mclass === "mclose") {
|
|
82112
|
-
node.attributes.lspace = "0em";
|
|
82113
|
-
node.attributes.rspace = "0em";
|
|
82114
|
-
} else if (group.mclass === "minner") {
|
|
82115
|
-
node.attributes.lspace = "0.0556em";
|
|
82116
|
-
node.attributes.width = "+0.1111em";
|
|
82117
|
-
}
|
|
82118
|
-
}
|
|
82119
|
-
return node;
|
|
82120
|
-
}
|
|
82121
|
-
defineFunction({
|
|
82122
|
-
type: "mclass",
|
|
82123
|
-
names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"],
|
|
82124
|
-
props: {
|
|
82125
|
-
numArgs: 1,
|
|
82126
|
-
primitive: true
|
|
82127
|
-
},
|
|
82128
|
-
handler(_ref, args) {
|
|
82129
|
-
var {
|
|
82130
|
-
parser,
|
|
82131
|
-
funcName
|
|
82132
|
-
} = _ref;
|
|
82133
|
-
var body = args[0];
|
|
82134
|
-
return {
|
|
82135
|
-
type: "mclass",
|
|
82136
|
-
mode: parser.mode,
|
|
82137
|
-
mclass: "m" + funcName.substr(5),
|
|
82138
|
-
body: ordargument(body),
|
|
82139
|
-
isCharacterBox: utils.isCharacterBox(body)
|
|
82140
|
-
};
|
|
82141
|
-
},
|
|
82142
|
-
htmlBuilder: htmlBuilder$6,
|
|
82143
|
-
mathmlBuilder: mathmlBuilder$5
|
|
82144
|
-
});
|
|
82145
|
-
var binrelClass = (arg) => {
|
|
82146
|
-
var atom = arg.type === "ordgroup" && arg.body.length ? arg.body[0] : arg;
|
|
82147
|
-
if (atom.type === "atom" && (atom.family === "bin" || atom.family === "rel")) {
|
|
82148
|
-
return "m" + atom.family;
|
|
82149
|
-
} else {
|
|
82150
|
-
return "mord";
|
|
82151
|
-
}
|
|
82152
|
-
};
|
|
82153
|
-
defineFunction({
|
|
82154
|
-
type: "mclass",
|
|
82155
|
-
names: ["\\@binrel"],
|
|
82156
|
-
props: {
|
|
82157
|
-
numArgs: 2
|
|
82158
|
-
},
|
|
82159
|
-
handler(_ref2, args) {
|
|
82160
|
-
var {
|
|
82161
|
-
parser
|
|
82162
|
-
} = _ref2;
|
|
82163
|
-
return {
|
|
82164
|
-
type: "mclass",
|
|
82165
|
-
mode: parser.mode,
|
|
82166
|
-
mclass: binrelClass(args[0]),
|
|
82167
|
-
body: ordargument(args[1]),
|
|
82168
|
-
isCharacterBox: utils.isCharacterBox(args[1])
|
|
82169
|
-
};
|
|
82170
|
-
}
|
|
82171
|
-
});
|
|
82172
|
-
defineFunction({
|
|
82173
|
-
type: "mclass",
|
|
82174
|
-
names: ["\\stackrel", "\\overset", "\\underset"],
|
|
82175
|
-
props: {
|
|
82176
|
-
numArgs: 2
|
|
82177
|
-
},
|
|
82178
|
-
handler(_ref3, args) {
|
|
82179
|
-
var {
|
|
82180
|
-
parser,
|
|
82181
|
-
funcName
|
|
82182
|
-
} = _ref3;
|
|
82183
|
-
var baseArg = args[1];
|
|
82184
|
-
var shiftedArg = args[0];
|
|
82185
|
-
var mclass;
|
|
82186
|
-
if (funcName !== "\\stackrel") {
|
|
82187
|
-
mclass = binrelClass(baseArg);
|
|
82188
|
-
} else {
|
|
82189
|
-
mclass = "mrel";
|
|
82190
|
-
}
|
|
82191
|
-
var baseOp = {
|
|
82192
|
-
type: "op",
|
|
82193
|
-
mode: baseArg.mode,
|
|
82194
|
-
limits: true,
|
|
82195
|
-
alwaysHandleSupSub: true,
|
|
82196
|
-
parentIsSupSub: false,
|
|
82197
|
-
symbol: false,
|
|
82198
|
-
suppressBaseShift: funcName !== "\\stackrel",
|
|
82199
|
-
body: ordargument(baseArg)
|
|
82200
|
-
};
|
|
82201
|
-
var supsub = {
|
|
82202
|
-
type: "supsub",
|
|
82203
|
-
mode: shiftedArg.mode,
|
|
82204
|
-
base: baseOp,
|
|
82205
|
-
sup: funcName === "\\underset" ? null : shiftedArg,
|
|
82206
|
-
sub: funcName === "\\underset" ? shiftedArg : null
|
|
82207
|
-
};
|
|
82208
|
-
return {
|
|
82209
|
-
type: "mclass",
|
|
82210
|
-
mode: parser.mode,
|
|
82211
|
-
mclass,
|
|
82212
|
-
body: [supsub],
|
|
82213
|
-
isCharacterBox: utils.isCharacterBox(supsub)
|
|
82214
|
-
};
|
|
82215
|
-
},
|
|
82216
|
-
htmlBuilder: htmlBuilder$6,
|
|
82217
|
-
mathmlBuilder: mathmlBuilder$5
|
|
82218
|
-
});
|
|
82219
83756
|
var htmlBuilder$5 = (group, options) => {
|
|
82220
83757
|
var font = group.font;
|
|
82221
83758
|
var newOptions = options.withFont(font);
|
|
@@ -83542,7 +85079,7 @@ img.ProseMirror-separator {
|
|
|
83542
85079
|
var fontName = large ? "Size2-Regular" : "Size1-Regular";
|
|
83543
85080
|
var stash = "";
|
|
83544
85081
|
if (group.name === "\\oiint" || group.name === "\\oiiint") {
|
|
83545
|
-
stash = group.name.
|
|
85082
|
+
stash = group.name.slice(1);
|
|
83546
85083
|
group.name = stash === "oiint" ? "\\iint" : "\\iiint";
|
|
83547
85084
|
}
|
|
83548
85085
|
base2 = buildCommon.makeSymbol(group.name, fontName, "math", options, ["mop", "op-symbol", large ? "large-op" : "small-op"]);
|
|
@@ -85341,7 +86878,7 @@ img.ProseMirror-separator {
|
|
|
85341
86878
|
var next = context.expandAfterFuture().text;
|
|
85342
86879
|
if (next in dotsByToken) {
|
|
85343
86880
|
thedots = dotsByToken[next];
|
|
85344
|
-
} else if (next.
|
|
86881
|
+
} else if (next.slice(0, 4) === "\\not") {
|
|
85345
86882
|
thedots = "\\dotsb";
|
|
85346
86883
|
} else if (next in symbols.math) {
|
|
85347
86884
|
if (utils.contains(["bin", "rel"], symbols.math[next].group)) {
|
|
@@ -85430,7 +86967,6 @@ img.ProseMirror-separator {
|
|
|
85430
86967
|
defineMacro("\\pod", "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");
|
|
85431
86968
|
defineMacro("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}");
|
|
85432
86969
|
defineMacro("\\mod", "\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");
|
|
85433
|
-
defineMacro("\\pmb", "\\html@mathml{\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}{\\mathbf{#1}}");
|
|
85434
86970
|
defineMacro("\\newline", "\\\\\\relax");
|
|
85435
86971
|
defineMacro("\\TeX", "\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");
|
|
85436
86972
|
var latexRaiseA = makeEm(fontMetricsData["Main-Regular"]["T".charCodeAt(0)][1] - 0.7 * fontMetricsData["Main-Regular"]["A".charCodeAt(0)][1]);
|
|
@@ -87067,7 +88603,7 @@ img.ProseMirror-separator {
|
|
|
87067
88603
|
if (this.settings.strict && this.mode === "math") {
|
|
87068
88604
|
this.settings.reportNonstrict("unicodeTextInMathMode", 'Accented Unicode text character "' + text2[0] + '" used in math mode', nucleus);
|
|
87069
88605
|
}
|
|
87070
|
-
text2 = unicodeSymbols[text2[0]] + text2.
|
|
88606
|
+
text2 = unicodeSymbols[text2[0]] + text2.slice(1);
|
|
87071
88607
|
}
|
|
87072
88608
|
var match = combiningDiacriticalMarksEndRegex.exec(text2);
|
|
87073
88609
|
if (match) {
|
|
@@ -87218,7 +88754,7 @@ img.ProseMirror-separator {
|
|
|
87218
88754
|
}
|
|
87219
88755
|
};
|
|
87220
88756
|
var katex = {
|
|
87221
|
-
version: "0.16.
|
|
88757
|
+
version: "0.16.2",
|
|
87222
88758
|
render,
|
|
87223
88759
|
renderToString,
|
|
87224
88760
|
ParseError,
|