@halo-dev/richtext-editor 0.0.0-alpha.18-1 → 0.0.0-alpha.18
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/components/EditorHeader.vue.d.ts +19 -0
- package/dist/components/EditorLinkBubbleMenuItems.vue.d.ts +23 -0
- package/dist/components/block/BlockActionButton.vue.d.ts +27 -0
- package/dist/components/block/BlockActionInput.vue.d.ts +30 -0
- package/dist/components/block/BlockActionSeparator.vue.d.ts +2 -0
- package/dist/components/block/BlockCard.vue.d.ts +73 -0
- package/dist/extensions/audio/AudioView.vue.d.ts +98 -0
- package/dist/extensions/audio/index.d.ts +12 -0
- package/dist/extensions/code-block/CodeBlockViewRenderer.vue.d.ts +99 -0
- 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/CommandsView.vue.d.ts +33 -0
- package/dist/extensions/commands-menu/commands.d.ts +3 -0
- package/dist/extensions/commands-menu/index.d.ts +3 -0
- package/dist/extensions/commands-menu/suggestion.d.ts +29 -0
- package/dist/extensions/iframe/IframeView.vue.d.ts +102 -0
- package/dist/extensions/iframe/index.d.ts +12 -0
- package/dist/extensions/image/ImageView.vue.d.ts +97 -0
- package/dist/extensions/image/index.d.ts +2 -0
- package/dist/extensions/index.d.ts +35 -0
- package/dist/extensions/table/index.d.ts +2 -0
- package/dist/extensions/video/VideoView.vue.d.ts +109 -0
- package/dist/extensions/video/index.d.ts +12 -0
- package/dist/index.d.ts +9 -0
- package/dist/menus/index.d.ts +32 -0
- package/dist/rich-text-editor.es.js +1163 -305
- package/dist/rich-text-editor.es.js.map +1 -1
- package/dist/rich-text-editor.iife.js +1224 -366
- package/dist/rich-text-editor.iife.js.map +1 -1
- package/dist/style.css +24 -4
- package/package.json +1 -1
|
@@ -15027,7 +15027,7 @@ img.ProseMirror-separator {
|
|
|
15027
15027
|
})
|
|
15028
15028
|
};
|
|
15029
15029
|
}
|
|
15030
|
-
function render$
|
|
15030
|
+
function render$_(instance) {
|
|
15031
15031
|
var popper2 = div();
|
|
15032
15032
|
var box = div();
|
|
15033
15033
|
box.className = BOX_CLASS;
|
|
@@ -15082,7 +15082,7 @@ img.ProseMirror-separator {
|
|
|
15082
15082
|
onUpdate
|
|
15083
15083
|
};
|
|
15084
15084
|
}
|
|
15085
|
-
render$
|
|
15085
|
+
render$_.$$tippy = true;
|
|
15086
15086
|
var idCounter = 1;
|
|
15087
15087
|
var mouseMoveListeners = [];
|
|
15088
15088
|
var mountedInstances = [];
|
|
@@ -15855,7 +15855,7 @@ img.ProseMirror-separator {
|
|
|
15855
15855
|
}
|
|
15856
15856
|
});
|
|
15857
15857
|
tippy.setDefaultProps({
|
|
15858
|
-
render: render$
|
|
15858
|
+
render: render$_
|
|
15859
15859
|
});
|
|
15860
15860
|
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
|
|
15861
15861
|
function isObject$2(value) {
|
|
@@ -19074,10 +19074,10 @@ img.ProseMirror-separator {
|
|
|
19074
19074
|
tabindex: "-1"
|
|
19075
19075
|
};
|
|
19076
19076
|
vue.popScopeId();
|
|
19077
|
-
const render$
|
|
19077
|
+
const render$Z = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {
|
|
19078
19078
|
return vue.openBlock(), vue.createBlock("div", _hoisted_1$2$1);
|
|
19079
19079
|
});
|
|
19080
|
-
script.render = render$
|
|
19080
|
+
script.render = render$Z;
|
|
19081
19081
|
script.__scopeId = "data-v-b329ee4c";
|
|
19082
19082
|
script.__file = "src/components/ResizeObserver.vue";
|
|
19083
19083
|
var PrivateThemeClass = (prop = "theme") => ({
|
|
@@ -19124,11 +19124,11 @@ img.ProseMirror-separator {
|
|
|
19124
19124
|
ref: "inner",
|
|
19125
19125
|
class: "v-popper__inner"
|
|
19126
19126
|
};
|
|
19127
|
-
const _hoisted_3$
|
|
19128
|
-
const _hoisted_4$
|
|
19127
|
+
const _hoisted_3$14 = /* @__PURE__ */ vue.createElementVNode("div", { class: "v-popper__arrow-outer" }, null, -1);
|
|
19128
|
+
const _hoisted_4$3 = /* @__PURE__ */ vue.createElementVNode("div", { class: "v-popper__arrow-inner" }, null, -1);
|
|
19129
19129
|
const _hoisted_5$2 = [
|
|
19130
|
-
_hoisted_3$
|
|
19131
|
-
_hoisted_4$
|
|
19130
|
+
_hoisted_3$14,
|
|
19131
|
+
_hoisted_4$3
|
|
19132
19132
|
];
|
|
19133
19133
|
function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19134
19134
|
const _component_ResizeObserver = vue.resolveComponent("ResizeObserver");
|
|
@@ -19305,7 +19305,7 @@ img.ProseMirror-separator {
|
|
|
19305
19305
|
name: "VTooltip",
|
|
19306
19306
|
vPopperTheme: "tooltip"
|
|
19307
19307
|
}));
|
|
19308
|
-
const _sfc_main$
|
|
19308
|
+
const _sfc_main$e = vue.defineComponent({
|
|
19309
19309
|
name: "VTooltipDirective",
|
|
19310
19310
|
components: {
|
|
19311
19311
|
Popper: PrivatePopper(),
|
|
@@ -19396,8 +19396,8 @@ img.ProseMirror-separator {
|
|
|
19396
19396
|
}
|
|
19397
19397
|
}
|
|
19398
19398
|
});
|
|
19399
|
-
const _hoisted_1$
|
|
19400
|
-
const _hoisted_2$
|
|
19399
|
+
const _hoisted_1$19 = ["innerHTML"];
|
|
19400
|
+
const _hoisted_2$17 = ["textContent"];
|
|
19401
19401
|
function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
|
|
19402
19402
|
const _component_PopperContent = vue.resolveComponent("PopperContent");
|
|
19403
19403
|
const _component_Popper = vue.resolveComponent("Popper");
|
|
@@ -19440,10 +19440,10 @@ img.ProseMirror-separator {
|
|
|
19440
19440
|
_ctx.html ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
19441
19441
|
key: 0,
|
|
19442
19442
|
innerHTML: _ctx.finalContent
|
|
19443
|
-
}, null, 8, _hoisted_1$
|
|
19443
|
+
}, null, 8, _hoisted_1$19)) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
19444
19444
|
key: 1,
|
|
19445
19445
|
textContent: vue.toDisplayString(_ctx.finalContent)
|
|
19446
|
-
}, null, 8, _hoisted_2$
|
|
19446
|
+
}, null, 8, _hoisted_2$17))
|
|
19447
19447
|
]),
|
|
19448
19448
|
_: 2
|
|
19449
19449
|
}, 1032, ["class", "popper-id", "theme", "shown", "mounted", "skip-transition", "auto-hide", "handle-resize", "classes", "result", "onHide", "onResize"])
|
|
@@ -19451,7 +19451,7 @@ img.ProseMirror-separator {
|
|
|
19451
19451
|
_: 1
|
|
19452
19452
|
}, 16, ["theme", "popper-node", "onApplyShow", "onApplyHide"]);
|
|
19453
19453
|
}
|
|
19454
|
-
var PrivateTooltipDirective = /* @__PURE__ */ _export_sfc$1(_sfc_main$
|
|
19454
|
+
var PrivateTooltipDirective = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["render", _sfc_render$4]]);
|
|
19455
19455
|
const TARGET_CLASS = "v-popper--has-tooltip";
|
|
19456
19456
|
function getPlacement(options2, modifiers2) {
|
|
19457
19457
|
let result = options2.placement;
|
|
@@ -19578,22 +19578,22 @@ img.ProseMirror-separator {
|
|
|
19578
19578
|
const VTooltip = PrivateVTooltip;
|
|
19579
19579
|
const Dropdown = _sfc_main$3$1;
|
|
19580
19580
|
const Menu = _sfc_main$2$1;
|
|
19581
|
-
const _hoisted_1$
|
|
19582
|
-
const _hoisted_2$
|
|
19581
|
+
const _hoisted_1$18 = { class: "editor-header flex items-center py-1 space-x-0.5 justify-center border-b drop-shadow-sm bg-white" };
|
|
19582
|
+
const _hoisted_2$16 = {
|
|
19583
19583
|
key: 0,
|
|
19584
19584
|
class: "px-1"
|
|
19585
19585
|
};
|
|
19586
|
-
const _hoisted_3$
|
|
19586
|
+
const _hoisted_3$13 = /* @__PURE__ */ vue.createElementVNode("div", {
|
|
19587
19587
|
class: "h-5 bg-gray-100",
|
|
19588
19588
|
style: { "width": "1px" }
|
|
19589
19589
|
}, null, -1);
|
|
19590
|
-
const _hoisted_4$
|
|
19591
|
-
_hoisted_3$
|
|
19590
|
+
const _hoisted_4$2 = [
|
|
19591
|
+
_hoisted_3$13
|
|
19592
19592
|
];
|
|
19593
19593
|
const _hoisted_5$1 = ["onClick"];
|
|
19594
19594
|
const _hoisted_6$1 = { class: "relative rounded-md bg-white overflow-hidden drop-shadow w-48 p-1 max-h-72 overflow-y-auto" };
|
|
19595
19595
|
const _hoisted_7 = ["onClick"];
|
|
19596
|
-
const _sfc_main$
|
|
19596
|
+
const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
|
|
19597
19597
|
__name: "EditorHeader",
|
|
19598
19598
|
props: {
|
|
19599
19599
|
menuItems: {
|
|
@@ -19604,14 +19604,14 @@ img.ProseMirror-separator {
|
|
|
19604
19604
|
},
|
|
19605
19605
|
setup(__props) {
|
|
19606
19606
|
return (_ctx, _cache) => {
|
|
19607
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19607
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$18, [
|
|
19608
19608
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.menuItems, (menuItem, index2) => {
|
|
19609
19609
|
var _a, _b;
|
|
19610
19610
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
19611
19611
|
key: index2,
|
|
19612
19612
|
class: "inline-flex items-center justify-center"
|
|
19613
19613
|
}, [
|
|
19614
|
-
menuItem.type === "separator" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$
|
|
19614
|
+
menuItem.type === "separator" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$16, _hoisted_4$2)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
19615
19615
|
!((_a = menuItem.children) == null ? void 0 : _a.length) ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("button", {
|
|
19616
19616
|
key: 0,
|
|
19617
19617
|
class: vue.normalizeClass([{ "bg-gray-200": (_b = menuItem.isActive) == null ? void 0 : _b.call(menuItem) }, "hover:bg-gray-100 p-1 rounded-sm"]),
|
|
@@ -19663,9 +19663,172 @@ img.ProseMirror-separator {
|
|
|
19663
19663
|
}
|
|
19664
19664
|
});
|
|
19665
19665
|
const svgArrow = "";
|
|
19666
|
-
const _hoisted_1$
|
|
19667
|
-
|
|
19668
|
-
|
|
19666
|
+
const _hoisted_1$17 = {
|
|
19667
|
+
viewBox: "0 0 24 24",
|
|
19668
|
+
width: "1.2em",
|
|
19669
|
+
height: "1.2em"
|
|
19670
|
+
};
|
|
19671
|
+
const _hoisted_2$15 = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19672
|
+
fill: "currentColor",
|
|
19673
|
+
d: "M10.59 13.41c.41.39.41 1.03 0 1.42c-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24a2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24a2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24a.973.973 0 0 1 0-1.42Z"
|
|
19674
|
+
}, null, -1);
|
|
19675
|
+
const _hoisted_3$12 = [
|
|
19676
|
+
_hoisted_2$15
|
|
19677
|
+
];
|
|
19678
|
+
function render$Y(_ctx, _cache) {
|
|
19679
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$17, _hoisted_3$12);
|
|
19680
|
+
}
|
|
19681
|
+
const MdiLinkVariant = { name: "mdi-link-variant", render: render$Y };
|
|
19682
|
+
const _hoisted_1$16 = {
|
|
19683
|
+
viewBox: "0 0 24 24",
|
|
19684
|
+
width: "1.2em",
|
|
19685
|
+
height: "1.2em"
|
|
19686
|
+
};
|
|
19687
|
+
const _hoisted_2$14 = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19688
|
+
fill: "currentColor",
|
|
19689
|
+
d: "M2 5.27L3.28 4L20 20.72L18.73 22l-4.83-4.83l-2.61 2.61a5.003 5.003 0 0 1-7.07 0a5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24a2.982 2.982 0 0 0 4.24 0l2.62-2.6l-1.62-1.61c-.01.24-.11.49-.29.68c-.39.39-1.03.39-1.42 0A4.973 4.973 0 0 1 7.72 11L2 5.27m10.71-1.05a5.003 5.003 0 0 1 7.07 0a5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24a2.982 2.982 0 0 0-4.24 0l-3.33 3.33l-1.41-1.42l3.33-3.33m.7 4.95c.39-.39 1.03-.39 1.42 0a4.999 4.999 0 0 1 1.23 5.06l-1.78-1.77c-.05-.68-.34-1.35-.87-1.87a.973.973 0 0 1 0-1.42Z"
|
|
19690
|
+
}, null, -1);
|
|
19691
|
+
const _hoisted_3$11 = [
|
|
19692
|
+
_hoisted_2$14
|
|
19693
|
+
];
|
|
19694
|
+
function render$X(_ctx, _cache) {
|
|
19695
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$16, _hoisted_3$11);
|
|
19696
|
+
}
|
|
19697
|
+
const MdiLinkVariantOff = { name: "mdi-link-variant-off", render: render$X };
|
|
19698
|
+
const _hoisted_1$15 = {
|
|
19699
|
+
viewBox: "0 0 24 24",
|
|
19700
|
+
width: "1.2em",
|
|
19701
|
+
height: "1.2em"
|
|
19702
|
+
};
|
|
19703
|
+
const _hoisted_2$13 = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
19704
|
+
fill: "currentColor",
|
|
19705
|
+
d: "m21 12l-7-7v4C7 10 4 15 3 20c2.5-3.5 6-5.1 11-5.1V19l7-7Z"
|
|
19706
|
+
}, null, -1);
|
|
19707
|
+
const _hoisted_3$10 = [
|
|
19708
|
+
_hoisted_2$13
|
|
19709
|
+
];
|
|
19710
|
+
function render$W(_ctx, _cache) {
|
|
19711
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$15, _hoisted_3$10);
|
|
19712
|
+
}
|
|
19713
|
+
const MdiShare = { name: "mdi-share", render: render$W };
|
|
19714
|
+
const _hoisted_1$14 = { class: "relative rounded-md bg-white overflow-hidden drop-shadow w-96 p-1 max-h-72 overflow-y-auto" };
|
|
19715
|
+
const _hoisted_2$12 = { class: "inline-flex items-center mt-2" };
|
|
19716
|
+
const _hoisted_3$$ = /* @__PURE__ */ vue.createElementVNode("span", { class: "ml-2 text-sm text-gray-500" }, "\u5728\u65B0\u7A97\u53E3\u6253\u5F00", -1);
|
|
19717
|
+
const _hoisted_4$1 = ["href"];
|
|
19718
|
+
const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
|
|
19719
|
+
__name: "EditorLinkBubbleMenuItems",
|
|
19720
|
+
props: {
|
|
19721
|
+
editor: {
|
|
19722
|
+
type: Object,
|
|
19723
|
+
required: true
|
|
19724
|
+
}
|
|
19725
|
+
},
|
|
19726
|
+
setup(__props) {
|
|
19727
|
+
const props = __props;
|
|
19728
|
+
const href = vue.computed({
|
|
19729
|
+
get() {
|
|
19730
|
+
const attrs = props.editor.getAttributes("link");
|
|
19731
|
+
return attrs == null ? void 0 : attrs.href;
|
|
19732
|
+
},
|
|
19733
|
+
set(value) {
|
|
19734
|
+
props.editor.commands.setLink({
|
|
19735
|
+
href: value,
|
|
19736
|
+
target: target.value ? "_blank" : "_self"
|
|
19737
|
+
});
|
|
19738
|
+
}
|
|
19739
|
+
});
|
|
19740
|
+
const target = vue.computed({
|
|
19741
|
+
get() {
|
|
19742
|
+
const attrs = props.editor.getAttributes("link");
|
|
19743
|
+
return (attrs == null ? void 0 : attrs.target) === "_blank";
|
|
19744
|
+
},
|
|
19745
|
+
set(value) {
|
|
19746
|
+
props.editor.commands.setLink({
|
|
19747
|
+
href: href.value,
|
|
19748
|
+
target: value ? "_blank" : "_self"
|
|
19749
|
+
});
|
|
19750
|
+
}
|
|
19751
|
+
});
|
|
19752
|
+
function handleUnSetLink() {
|
|
19753
|
+
props.editor.commands.unsetLink();
|
|
19754
|
+
}
|
|
19755
|
+
return (_ctx, _cache) => {
|
|
19756
|
+
var _a;
|
|
19757
|
+
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
19758
|
+
vue.createVNode(vue.unref(Dropdown), {
|
|
19759
|
+
class: "inline-flex",
|
|
19760
|
+
triggers: ["click"],
|
|
19761
|
+
distance: 10
|
|
19762
|
+
}, {
|
|
19763
|
+
popper: vue.withCtx(() => [
|
|
19764
|
+
vue.createElementVNode("div", _hoisted_1$14, [
|
|
19765
|
+
vue.withDirectives(vue.createElementVNode("input", {
|
|
19766
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(href) ? href.value = $event : null),
|
|
19767
|
+
placeholder: "\u94FE\u63A5\u5730\u5740",
|
|
19768
|
+
class: "bg-gray-50 rounded-md hover:bg-gray-100 block px-2 w-full py-1.5 text-sm text-gray-900 border border-gray-300 focus:ring-blue-500 focus:border-blue-500"
|
|
19769
|
+
}, null, 512), [
|
|
19770
|
+
[
|
|
19771
|
+
vue.vModelText,
|
|
19772
|
+
vue.unref(href),
|
|
19773
|
+
void 0,
|
|
19774
|
+
{ lazy: true }
|
|
19775
|
+
]
|
|
19776
|
+
]),
|
|
19777
|
+
vue.createElementVNode("label", _hoisted_2$12, [
|
|
19778
|
+
vue.withDirectives(vue.createElementVNode("input", {
|
|
19779
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(target) ? target.value = $event : null),
|
|
19780
|
+
type: "checkbox",
|
|
19781
|
+
class: "form-checkbox text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
|
|
19782
|
+
}, null, 512), [
|
|
19783
|
+
[vue.vModelCheckbox, vue.unref(target)]
|
|
19784
|
+
]),
|
|
19785
|
+
_hoisted_3$$
|
|
19786
|
+
])
|
|
19787
|
+
])
|
|
19788
|
+
]),
|
|
19789
|
+
default: vue.withCtx(() => [
|
|
19790
|
+
vue.withDirectives((vue.openBlock(), vue.createElementBlock("button", {
|
|
19791
|
+
class: vue.normalizeClass(["text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm", { "bg-gray-200 !text-black": __props.editor.isActive("link") }])
|
|
19792
|
+
}, [
|
|
19793
|
+
vue.createVNode(vue.unref(MdiLinkVariant))
|
|
19794
|
+
], 2)), [
|
|
19795
|
+
[vue.unref(VTooltip), `${__props.editor.isActive("link") ? "\u4FEE\u6539" : "\u6DFB\u52A0"}\u94FE\u63A5`]
|
|
19796
|
+
])
|
|
19797
|
+
]),
|
|
19798
|
+
_: 1
|
|
19799
|
+
}),
|
|
19800
|
+
__props.editor.isActive("link") ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("button", {
|
|
19801
|
+
key: 0,
|
|
19802
|
+
class: "text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm",
|
|
19803
|
+
onClick: handleUnSetLink
|
|
19804
|
+
}, [
|
|
19805
|
+
vue.createVNode(vue.unref(MdiLinkVariantOff))
|
|
19806
|
+
])), [
|
|
19807
|
+
[vue.unref(VTooltip), `\u53D6\u6D88\u94FE\u63A5`]
|
|
19808
|
+
]) : vue.createCommentVNode("", true),
|
|
19809
|
+
__props.editor.isActive("link") ? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
|
|
19810
|
+
key: 1,
|
|
19811
|
+
class: "text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm",
|
|
19812
|
+
href: (_a = __props.editor.getAttributes("link")) == null ? void 0 : _a.href,
|
|
19813
|
+
target: "_blank"
|
|
19814
|
+
}, [
|
|
19815
|
+
vue.createVNode(vue.unref(MdiShare))
|
|
19816
|
+
], 8, _hoisted_4$1)), [
|
|
19817
|
+
[vue.unref(VTooltip), `\u6253\u5F00\u94FE\u63A5`]
|
|
19818
|
+
]) : vue.createCommentVNode("", true)
|
|
19819
|
+
], 64);
|
|
19820
|
+
};
|
|
19821
|
+
}
|
|
19822
|
+
});
|
|
19823
|
+
const _hoisted_1$13 = { class: "bg-white flex items-center rounded p-1 border drop-shadow space-x-0.5" };
|
|
19824
|
+
const _hoisted_2$11 = ["title", "onClick"];
|
|
19825
|
+
const _hoisted_3$_ = /* @__PURE__ */ vue.createElementVNode("div", { class: "px-1" }, [
|
|
19826
|
+
/* @__PURE__ */ vue.createElementVNode("div", {
|
|
19827
|
+
class: "h-5 bg-gray-100",
|
|
19828
|
+
style: { "width": "1px" }
|
|
19829
|
+
})
|
|
19830
|
+
], -1);
|
|
19831
|
+
const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
|
|
19669
19832
|
__name: "EditorBubbleMenu",
|
|
19670
19833
|
props: {
|
|
19671
19834
|
editor: {
|
|
@@ -19685,10 +19848,10 @@ img.ProseMirror-separator {
|
|
|
19685
19848
|
"tippy-options": { duration: 100, arrow: vue.unref(ROUND_ARROW), maxWidth: "100%" }
|
|
19686
19849
|
}, {
|
|
19687
19850
|
default: vue.withCtx(() => [
|
|
19688
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
19851
|
+
vue.createElementVNode("div", _hoisted_1$13, [
|
|
19689
19852
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.menuItems, (menuItem, index2) => {
|
|
19690
19853
|
var _a;
|
|
19691
|
-
return vue.openBlock(), vue.createElementBlock("button", {
|
|
19854
|
+
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("button", {
|
|
19692
19855
|
key: index2,
|
|
19693
19856
|
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"]),
|
|
19694
19857
|
title: menuItem.title,
|
|
@@ -19697,11 +19860,13 @@ img.ProseMirror-separator {
|
|
|
19697
19860
|
return (_a2 = menuItem.action) == null ? void 0 : _a2.call(menuItem);
|
|
19698
19861
|
}
|
|
19699
19862
|
}, [
|
|
19700
|
-
|
|
19701
|
-
|
|
19702
|
-
]
|
|
19703
|
-
]
|
|
19704
|
-
}), 128))
|
|
19863
|
+
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(menuItem.icon)))
|
|
19864
|
+
], 10, _hoisted_2$11)), [
|
|
19865
|
+
[vue.unref(VTooltip), menuItem.title]
|
|
19866
|
+
]);
|
|
19867
|
+
}), 128)),
|
|
19868
|
+
_hoisted_3$_,
|
|
19869
|
+
vue.createVNode(_sfc_main$c, { editor: __props.editor }, null, 8, ["editor"])
|
|
19705
19870
|
])
|
|
19706
19871
|
]),
|
|
19707
19872
|
_: 1
|
|
@@ -19709,13 +19874,13 @@ img.ProseMirror-separator {
|
|
|
19709
19874
|
};
|
|
19710
19875
|
}
|
|
19711
19876
|
});
|
|
19712
|
-
const _hoisted_1$
|
|
19877
|
+
const _hoisted_1$12 = {
|
|
19713
19878
|
key: 0,
|
|
19714
19879
|
class: "halo-rich-text-editor"
|
|
19715
19880
|
};
|
|
19716
|
-
const _hoisted_2$
|
|
19717
|
-
const _hoisted_3$
|
|
19718
|
-
const _sfc_main$
|
|
19881
|
+
const _hoisted_2$10 = { class: "h-full flex flex-row w-full" };
|
|
19882
|
+
const _hoisted_3$Z = { class: "h-full" };
|
|
19883
|
+
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
|
|
19719
19884
|
__name: "Editor",
|
|
19720
19885
|
props: {
|
|
19721
19886
|
editor: {
|
|
@@ -19745,19 +19910,19 @@ img.ProseMirror-separator {
|
|
|
19745
19910
|
},
|
|
19746
19911
|
setup(__props) {
|
|
19747
19912
|
return (_ctx, _cache) => {
|
|
19748
|
-
return __props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
19749
|
-
vue.createVNode(_sfc_main$
|
|
19913
|
+
return __props.editor ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$12, [
|
|
19914
|
+
vue.createVNode(_sfc_main$b, {
|
|
19750
19915
|
editor: __props.editor,
|
|
19751
19916
|
"menu-items": __props.bubbleMenuItems
|
|
19752
19917
|
}, null, 8, ["editor", "menu-items"]),
|
|
19753
|
-
vue.createVNode(_sfc_main$
|
|
19754
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
19918
|
+
vue.createVNode(_sfc_main$d, { "menu-items": __props.toolbarMenuItems }, null, 8, ["menu-items"]),
|
|
19919
|
+
vue.createElementVNode("div", _hoisted_2$10, [
|
|
19755
19920
|
vue.createVNode(vue.unref(EditorContent), {
|
|
19756
19921
|
editor: __props.editor,
|
|
19757
19922
|
style: vue.normalizeStyle(__props.contentStyles),
|
|
19758
19923
|
class: "editor-content prose prose-base !max-w-none prose-pre:p-0 bg-white prose-p:mt-3 prose-p:mb-3 prose-img:mt-0 prose-img:mb-0"
|
|
19759
19924
|
}, null, 8, ["editor", "style"]),
|
|
19760
|
-
vue.createElementVNode("div", _hoisted_3$
|
|
19925
|
+
vue.createElementVNode("div", _hoisted_3$Z, [
|
|
19761
19926
|
vue.renderSlot(_ctx.$slots, "extra")
|
|
19762
19927
|
])
|
|
19763
19928
|
])
|
|
@@ -23017,9 +23182,9 @@ img.ProseMirror-separator {
|
|
|
23017
23182
|
];
|
|
23018
23183
|
}
|
|
23019
23184
|
});
|
|
23020
|
-
const _hoisted_1$
|
|
23021
|
-
const _hoisted_2
|
|
23022
|
-
const _hoisted_3$
|
|
23185
|
+
const _hoisted_1$11 = { class: "command-items" };
|
|
23186
|
+
const _hoisted_2$$ = ["id", "onClick"];
|
|
23187
|
+
const _hoisted_3$Y = { class: "command-title group-hover:text-gray-900 group-hover:font-medium" };
|
|
23023
23188
|
const _hoisted_4 = {
|
|
23024
23189
|
key: 1,
|
|
23025
23190
|
class: "command-empty"
|
|
@@ -23028,7 +23193,7 @@ img.ProseMirror-separator {
|
|
|
23028
23193
|
const _hoisted_6 = [
|
|
23029
23194
|
_hoisted_5
|
|
23030
23195
|
];
|
|
23031
|
-
const _sfc_main$
|
|
23196
|
+
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
|
|
23032
23197
|
__name: "CommandsView",
|
|
23033
23198
|
props: {
|
|
23034
23199
|
items: {
|
|
@@ -23095,7 +23260,7 @@ img.ProseMirror-separator {
|
|
|
23095
23260
|
onKeyDown
|
|
23096
23261
|
});
|
|
23097
23262
|
return (_ctx, _cache) => {
|
|
23098
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
23263
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$11, [
|
|
23099
23264
|
__props.items.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(__props.items, (item, index2) => {
|
|
23100
23265
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
23101
23266
|
id: `command-item-${index2}`,
|
|
@@ -23104,222 +23269,254 @@ img.ProseMirror-separator {
|
|
|
23104
23269
|
onClick: ($event) => handleSelectItem(index2)
|
|
23105
23270
|
}, [
|
|
23106
23271
|
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.icon), { class: "command-icon group-hover:!bg-white" })),
|
|
23107
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
23108
|
-
], 10, _hoisted_2
|
|
23272
|
+
vue.createElementVNode("span", _hoisted_3$Y, vue.toDisplayString(item.title), 1)
|
|
23273
|
+
], 10, _hoisted_2$$);
|
|
23109
23274
|
}), 128)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, _hoisted_6))
|
|
23110
23275
|
]);
|
|
23111
23276
|
};
|
|
23112
23277
|
}
|
|
23113
23278
|
});
|
|
23114
23279
|
const CommandsView_vue_vue_type_style_index_0_lang = "";
|
|
23115
|
-
const _hoisted_1$
|
|
23280
|
+
const _hoisted_1$10 = {
|
|
23116
23281
|
viewBox: "0 0 24 24",
|
|
23117
23282
|
width: "1.2em",
|
|
23118
23283
|
height: "1.2em"
|
|
23119
23284
|
};
|
|
23120
|
-
const _hoisted_2$
|
|
23285
|
+
const _hoisted_2$_ = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23121
23286
|
fill: "currentColor",
|
|
23122
23287
|
d: "M13 4a4 4 0 0 1 4 4a4 4 0 0 1-4 4h-2v6H9V4h4m0 6a2 2 0 0 0 2-2a2 2 0 0 0-2-2h-2v4h2Z"
|
|
23123
23288
|
}, null, -1);
|
|
23124
|
-
const _hoisted_3$
|
|
23125
|
-
_hoisted_2$
|
|
23289
|
+
const _hoisted_3$X = [
|
|
23290
|
+
_hoisted_2$_
|
|
23126
23291
|
];
|
|
23127
|
-
function render$
|
|
23128
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23292
|
+
function render$V(_ctx, _cache) {
|
|
23293
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$10, _hoisted_3$X);
|
|
23129
23294
|
}
|
|
23130
|
-
const MdiFormatParagraph = { name: "mdi-format-paragraph", render: render$
|
|
23131
|
-
const _hoisted_1
|
|
23295
|
+
const MdiFormatParagraph = { name: "mdi-format-paragraph", render: render$V };
|
|
23296
|
+
const _hoisted_1$$ = {
|
|
23132
23297
|
viewBox: "0 0 24 24",
|
|
23133
23298
|
width: "1.2em",
|
|
23134
23299
|
height: "1.2em"
|
|
23135
23300
|
};
|
|
23136
|
-
const _hoisted_2$
|
|
23301
|
+
const _hoisted_2$Z = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23137
23302
|
fill: "currentColor",
|
|
23138
23303
|
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m11 14v-2h2V6.31l-2.5 1.44V5.44L16 4h2v12h2v2h-6Z"
|
|
23139
23304
|
}, null, -1);
|
|
23140
|
-
const _hoisted_3$
|
|
23141
|
-
_hoisted_2$
|
|
23305
|
+
const _hoisted_3$W = [
|
|
23306
|
+
_hoisted_2$Z
|
|
23142
23307
|
];
|
|
23143
|
-
function render$
|
|
23144
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1
|
|
23308
|
+
function render$U(_ctx, _cache) {
|
|
23309
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$$, _hoisted_3$W);
|
|
23145
23310
|
}
|
|
23146
|
-
const MdiFormatHeader1 = { name: "mdi-format-header-1", render: render$
|
|
23147
|
-
const _hoisted_1$
|
|
23311
|
+
const MdiFormatHeader1 = { name: "mdi-format-header-1", render: render$U };
|
|
23312
|
+
const _hoisted_1$_ = {
|
|
23148
23313
|
viewBox: "0 0 24 24",
|
|
23149
23314
|
width: "1.2em",
|
|
23150
23315
|
height: "1.2em"
|
|
23151
23316
|
};
|
|
23152
|
-
const _hoisted_2$
|
|
23317
|
+
const _hoisted_2$Y = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23153
23318
|
fill: "currentColor",
|
|
23154
23319
|
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"
|
|
23155
23320
|
}, null, -1);
|
|
23156
|
-
const _hoisted_3$
|
|
23157
|
-
_hoisted_2$
|
|
23321
|
+
const _hoisted_3$V = [
|
|
23322
|
+
_hoisted_2$Y
|
|
23158
23323
|
];
|
|
23159
|
-
function render$
|
|
23160
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23324
|
+
function render$T(_ctx, _cache) {
|
|
23325
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$_, _hoisted_3$V);
|
|
23161
23326
|
}
|
|
23162
|
-
const MdiFormatHeader2 = { name: "mdi-format-header-2", render: render$
|
|
23163
|
-
const _hoisted_1$
|
|
23327
|
+
const MdiFormatHeader2 = { name: "mdi-format-header-2", render: render$T };
|
|
23328
|
+
const _hoisted_1$Z = {
|
|
23164
23329
|
viewBox: "0 0 24 24",
|
|
23165
23330
|
width: "1.2em",
|
|
23166
23331
|
height: "1.2em"
|
|
23167
23332
|
};
|
|
23168
|
-
const _hoisted_2$
|
|
23333
|
+
const _hoisted_2$X = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23169
23334
|
fill: "currentColor",
|
|
23170
23335
|
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"
|
|
23171
23336
|
}, null, -1);
|
|
23172
|
-
const _hoisted_3$
|
|
23173
|
-
_hoisted_2$
|
|
23337
|
+
const _hoisted_3$U = [
|
|
23338
|
+
_hoisted_2$X
|
|
23174
23339
|
];
|
|
23175
|
-
function render$
|
|
23176
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23340
|
+
function render$S(_ctx, _cache) {
|
|
23341
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$Z, _hoisted_3$U);
|
|
23177
23342
|
}
|
|
23178
|
-
const MdiFormatHeader3 = { name: "mdi-format-header-3", render: render$
|
|
23179
|
-
const _hoisted_1$
|
|
23343
|
+
const MdiFormatHeader3 = { name: "mdi-format-header-3", render: render$S };
|
|
23344
|
+
const _hoisted_1$Y = {
|
|
23180
23345
|
viewBox: "0 0 24 24",
|
|
23181
23346
|
width: "1.2em",
|
|
23182
23347
|
height: "1.2em"
|
|
23183
23348
|
};
|
|
23184
|
-
const _hoisted_2$
|
|
23349
|
+
const _hoisted_2$W = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23185
23350
|
fill: "currentColor",
|
|
23186
23351
|
d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m15 14v-5h-5v-2l5-7h2v7h1v2h-1v5h-2m0-7V7.42L15.45 11H18Z"
|
|
23187
23352
|
}, null, -1);
|
|
23188
|
-
const _hoisted_3$
|
|
23189
|
-
_hoisted_2$
|
|
23353
|
+
const _hoisted_3$T = [
|
|
23354
|
+
_hoisted_2$W
|
|
23190
23355
|
];
|
|
23191
|
-
function render$
|
|
23192
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23356
|
+
function render$R(_ctx, _cache) {
|
|
23357
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$Y, _hoisted_3$T);
|
|
23193
23358
|
}
|
|
23194
|
-
const MdiFormatHeader4 = { name: "mdi-format-header-4", render: render$
|
|
23195
|
-
const _hoisted_1$
|
|
23359
|
+
const MdiFormatHeader4 = { name: "mdi-format-header-4", render: render$R };
|
|
23360
|
+
const _hoisted_1$X = {
|
|
23196
23361
|
viewBox: "0 0 24 24",
|
|
23197
23362
|
width: "1.2em",
|
|
23198
23363
|
height: "1.2em"
|
|
23199
23364
|
};
|
|
23200
|
-
const _hoisted_2$
|
|
23365
|
+
const _hoisted_2$V = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23201
23366
|
fill: "currentColor",
|
|
23202
23367
|
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"
|
|
23203
23368
|
}, null, -1);
|
|
23204
|
-
const _hoisted_3$
|
|
23205
|
-
_hoisted_2$
|
|
23369
|
+
const _hoisted_3$S = [
|
|
23370
|
+
_hoisted_2$V
|
|
23206
23371
|
];
|
|
23207
|
-
function render$
|
|
23208
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23372
|
+
function render$Q(_ctx, _cache) {
|
|
23373
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$X, _hoisted_3$S);
|
|
23209
23374
|
}
|
|
23210
|
-
const MdiFormatHeader5 = { name: "mdi-format-header-5", render: render$
|
|
23211
|
-
const _hoisted_1$
|
|
23375
|
+
const MdiFormatHeader5 = { name: "mdi-format-header-5", render: render$Q };
|
|
23376
|
+
const _hoisted_1$W = {
|
|
23212
23377
|
viewBox: "0 0 24 24",
|
|
23213
23378
|
width: "1.2em",
|
|
23214
23379
|
height: "1.2em"
|
|
23215
23380
|
};
|
|
23216
|
-
const _hoisted_2$
|
|
23381
|
+
const _hoisted_2$U = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23217
23382
|
fill: "currentColor",
|
|
23218
23383
|
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"
|
|
23219
23384
|
}, null, -1);
|
|
23220
|
-
const _hoisted_3$
|
|
23221
|
-
_hoisted_2$
|
|
23385
|
+
const _hoisted_3$R = [
|
|
23386
|
+
_hoisted_2$U
|
|
23222
23387
|
];
|
|
23223
|
-
function render$
|
|
23224
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23388
|
+
function render$P(_ctx, _cache) {
|
|
23389
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$W, _hoisted_3$R);
|
|
23225
23390
|
}
|
|
23226
|
-
const MdiFormatHeader6 = { name: "mdi-format-header-6", render: render$
|
|
23227
|
-
const _hoisted_1$
|
|
23391
|
+
const MdiFormatHeader6 = { name: "mdi-format-header-6", render: render$P };
|
|
23392
|
+
const _hoisted_1$V = {
|
|
23228
23393
|
viewBox: "0 0 24 24",
|
|
23229
23394
|
width: "1.2em",
|
|
23230
23395
|
height: "1.2em"
|
|
23231
23396
|
};
|
|
23232
|
-
const _hoisted_2$
|
|
23397
|
+
const _hoisted_2$T = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23233
23398
|
fill: "currentColor",
|
|
23234
23399
|
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"
|
|
23235
23400
|
}, null, -1);
|
|
23236
|
-
const _hoisted_3$
|
|
23237
|
-
_hoisted_2$
|
|
23401
|
+
const _hoisted_3$Q = [
|
|
23402
|
+
_hoisted_2$T
|
|
23238
23403
|
];
|
|
23239
|
-
function render$
|
|
23240
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23404
|
+
function render$O(_ctx, _cache) {
|
|
23405
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$V, _hoisted_3$Q);
|
|
23241
23406
|
}
|
|
23242
|
-
const MdiCodeBracesBox = { name: "mdi-code-braces-box", render: render$
|
|
23243
|
-
const _hoisted_1$
|
|
23407
|
+
const MdiCodeBracesBox = { name: "mdi-code-braces-box", render: render$O };
|
|
23408
|
+
const _hoisted_1$U = {
|
|
23244
23409
|
viewBox: "0 0 24 24",
|
|
23245
23410
|
width: "1.2em",
|
|
23246
23411
|
height: "1.2em"
|
|
23247
23412
|
};
|
|
23248
|
-
const _hoisted_2$
|
|
23413
|
+
const _hoisted_2$S = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23249
23414
|
fill: "currentColor",
|
|
23250
23415
|
d: "M7 5h14v2H7V5m0 8v-2h14v2H7M4 4.5A1.5 1.5 0 0 1 5.5 6A1.5 1.5 0 0 1 4 7.5A1.5 1.5 0 0 1 2.5 6A1.5 1.5 0 0 1 4 4.5m0 6A1.5 1.5 0 0 1 5.5 12A1.5 1.5 0 0 1 4 13.5A1.5 1.5 0 0 1 2.5 12A1.5 1.5 0 0 1 4 10.5M7 19v-2h14v2H7m-3-2.5A1.5 1.5 0 0 1 5.5 18A1.5 1.5 0 0 1 4 19.5A1.5 1.5 0 0 1 2.5 18A1.5 1.5 0 0 1 4 16.5Z"
|
|
23251
23416
|
}, null, -1);
|
|
23252
|
-
const _hoisted_3$
|
|
23253
|
-
_hoisted_2$
|
|
23417
|
+
const _hoisted_3$P = [
|
|
23418
|
+
_hoisted_2$S
|
|
23254
23419
|
];
|
|
23255
|
-
function render$
|
|
23256
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23420
|
+
function render$N(_ctx, _cache) {
|
|
23421
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$U, _hoisted_3$P);
|
|
23257
23422
|
}
|
|
23258
|
-
const MdiFormatListBulleted = { name: "mdi-format-list-bulleted", render: render$
|
|
23259
|
-
const _hoisted_1$
|
|
23423
|
+
const MdiFormatListBulleted = { name: "mdi-format-list-bulleted", render: render$N };
|
|
23424
|
+
const _hoisted_1$T = {
|
|
23260
23425
|
viewBox: "0 0 24 24",
|
|
23261
23426
|
width: "1.2em",
|
|
23262
23427
|
height: "1.2em"
|
|
23263
23428
|
};
|
|
23264
|
-
const _hoisted_2$
|
|
23429
|
+
const _hoisted_2$R = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23265
23430
|
fill: "currentColor",
|
|
23266
23431
|
d: "M21 19v-2H8v2h13m0-6v-2H8v2h13M8 7h13V5H8v2M4 5v2h2V5H4M3 5a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5m1 6v2h2v-2H4m-1 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-2m1 6v2h2v-2H4m-1 0a1 1 0 0 1 1-1h2a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-2Z"
|
|
23267
23432
|
}, null, -1);
|
|
23268
|
-
const _hoisted_3$
|
|
23269
|
-
_hoisted_2$
|
|
23433
|
+
const _hoisted_3$O = [
|
|
23434
|
+
_hoisted_2$R
|
|
23270
23435
|
];
|
|
23271
|
-
function render$
|
|
23272
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23436
|
+
function render$M(_ctx, _cache) {
|
|
23437
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$T, _hoisted_3$O);
|
|
23273
23438
|
}
|
|
23274
|
-
const MdiFormatListCheckbox = { name: "mdi-format-list-checkbox", render: render$
|
|
23275
|
-
const _hoisted_1$
|
|
23439
|
+
const MdiFormatListCheckbox = { name: "mdi-format-list-checkbox", render: render$M };
|
|
23440
|
+
const _hoisted_1$S = {
|
|
23276
23441
|
viewBox: "0 0 24 24",
|
|
23277
23442
|
width: "1.2em",
|
|
23278
23443
|
height: "1.2em"
|
|
23279
23444
|
};
|
|
23280
|
-
const _hoisted_2$
|
|
23445
|
+
const _hoisted_2$Q = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23281
23446
|
fill: "currentColor",
|
|
23282
23447
|
d: "M7 13v-2h14v2H7m0 6v-2h14v2H7M7 7V5h14v2H7M3 8V5H2V4h2v4H3m-1 9v-1h3v4H2v-1h2v-.5H3v-1h1V17H2m2.25-7a.75.75 0 0 1 .75.75c0 .2-.08.39-.21.52L3.12 13H5v1H2v-.92L4 11H2v-1h2.25Z"
|
|
23283
23448
|
}, null, -1);
|
|
23284
|
-
const _hoisted_3$
|
|
23285
|
-
_hoisted_2$
|
|
23449
|
+
const _hoisted_3$N = [
|
|
23450
|
+
_hoisted_2$Q
|
|
23286
23451
|
];
|
|
23287
|
-
function render$
|
|
23288
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23452
|
+
function render$L(_ctx, _cache) {
|
|
23453
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$S, _hoisted_3$N);
|
|
23289
23454
|
}
|
|
23290
|
-
const MdiFormatListNumbered = { name: "mdi-format-list-numbered", render: render$
|
|
23291
|
-
const _hoisted_1$
|
|
23455
|
+
const MdiFormatListNumbered = { name: "mdi-format-list-numbered", render: render$L };
|
|
23456
|
+
const _hoisted_1$R = {
|
|
23292
23457
|
viewBox: "0 0 24 24",
|
|
23293
23458
|
width: "1.2em",
|
|
23294
23459
|
height: "1.2em"
|
|
23295
23460
|
};
|
|
23296
|
-
const _hoisted_2$
|
|
23461
|
+
const _hoisted_2$P = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23297
23462
|
fill: "currentColor",
|
|
23298
23463
|
d: "M5 4h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 4v4h6V8H5m8 0v4h6V8h-6m-8 6v4h6v-4H5m8 0v4h6v-4h-6Z"
|
|
23299
23464
|
}, null, -1);
|
|
23300
|
-
const _hoisted_3$
|
|
23301
|
-
_hoisted_2$
|
|
23465
|
+
const _hoisted_3$M = [
|
|
23466
|
+
_hoisted_2$P
|
|
23302
23467
|
];
|
|
23303
|
-
function render$
|
|
23304
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23468
|
+
function render$K(_ctx, _cache) {
|
|
23469
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$R, _hoisted_3$M);
|
|
23305
23470
|
}
|
|
23306
|
-
const MdiTable = { name: "mdi-table", render: render$
|
|
23307
|
-
const _hoisted_1$
|
|
23471
|
+
const MdiTable = { name: "mdi-table", render: render$K };
|
|
23472
|
+
const _hoisted_1$Q = {
|
|
23308
23473
|
viewBox: "0 0 24 24",
|
|
23309
23474
|
width: "1.2em",
|
|
23310
23475
|
height: "1.2em"
|
|
23311
23476
|
};
|
|
23312
|
-
const _hoisted_2$
|
|
23477
|
+
const _hoisted_2$O = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23313
23478
|
fill: "currentColor",
|
|
23314
23479
|
d: "M16.36 14c.08-.66.14-1.32.14-2c0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2c0-.68.06-1.35.16-2h4.68c.09.65.16 1.32.16 2c0 .68-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.923 7.923 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8.008 8.008 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2c0 .68.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.65 15.65 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"
|
|
23315
23480
|
}, null, -1);
|
|
23316
|
-
const _hoisted_3$
|
|
23317
|
-
_hoisted_2$
|
|
23481
|
+
const _hoisted_3$L = [
|
|
23482
|
+
_hoisted_2$O
|
|
23318
23483
|
];
|
|
23319
|
-
function render$
|
|
23320
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
23484
|
+
function render$J(_ctx, _cache) {
|
|
23485
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$Q, _hoisted_3$L);
|
|
23486
|
+
}
|
|
23487
|
+
const MdiWeb = { name: "mdi-web", render: render$J };
|
|
23488
|
+
const _hoisted_1$P = {
|
|
23489
|
+
viewBox: "0 0 24 24",
|
|
23490
|
+
width: "1.2em",
|
|
23491
|
+
height: "1.2em"
|
|
23492
|
+
};
|
|
23493
|
+
const _hoisted_2$N = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23494
|
+
fill: "currentColor",
|
|
23495
|
+
d: "M17 10.5V7a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-3.5l4 4v-11l-4 4Z"
|
|
23496
|
+
}, null, -1);
|
|
23497
|
+
const _hoisted_3$K = [
|
|
23498
|
+
_hoisted_2$N
|
|
23499
|
+
];
|
|
23500
|
+
function render$I(_ctx, _cache) {
|
|
23501
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$P, _hoisted_3$K);
|
|
23502
|
+
}
|
|
23503
|
+
const MdiVideo = { name: "mdi-video", render: render$I };
|
|
23504
|
+
const _hoisted_1$O = {
|
|
23505
|
+
viewBox: "0 0 24 24",
|
|
23506
|
+
width: "1.2em",
|
|
23507
|
+
height: "1.2em"
|
|
23508
|
+
};
|
|
23509
|
+
const _hoisted_2$M = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
23510
|
+
fill: "currentColor",
|
|
23511
|
+
d: "M16 9h-3v5.5a2.5 2.5 0 0 1-2.5 2.5A2.5 2.5 0 0 1 8 14.5a2.5 2.5 0 0 1 2.5-2.5c.57 0 1.08.19 1.5.5V7h4v2m-4-7a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2m0 2a8 8 0 0 0-8 8a8 8 0 0 0 8 8a8 8 0 0 0 8-8a8 8 0 0 0-8-8Z"
|
|
23512
|
+
}, null, -1);
|
|
23513
|
+
const _hoisted_3$J = [
|
|
23514
|
+
_hoisted_2$M
|
|
23515
|
+
];
|
|
23516
|
+
function render$H(_ctx, _cache) {
|
|
23517
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$O, _hoisted_3$J);
|
|
23321
23518
|
}
|
|
23322
|
-
const
|
|
23519
|
+
const MdiMusicCircleOutline = { name: "mdi-music-circle-outline", render: render$H };
|
|
23323
23520
|
const CommentParagraph = {
|
|
23324
23521
|
icon: vue.markRaw(MdiFormatParagraph),
|
|
23325
23522
|
title: "\u666E\u901A\u6587\u672C",
|
|
@@ -23395,6 +23592,28 @@ img.ProseMirror-separator {
|
|
|
23395
23592
|
]).run();
|
|
23396
23593
|
}
|
|
23397
23594
|
};
|
|
23595
|
+
const CommandVideo = {
|
|
23596
|
+
icon: vue.markRaw(MdiVideo),
|
|
23597
|
+
title: "\u89C6\u9891",
|
|
23598
|
+
keywords: ["video", "shipin"],
|
|
23599
|
+
command: ({ editor, range }) => {
|
|
23600
|
+
editor.chain().focus().deleteRange(range).insertContent([
|
|
23601
|
+
{ type: "video", attrs: { src: "" } },
|
|
23602
|
+
{ type: "paragraph", content: "" }
|
|
23603
|
+
]).run();
|
|
23604
|
+
}
|
|
23605
|
+
};
|
|
23606
|
+
const CommandAudio = {
|
|
23607
|
+
icon: vue.markRaw(MdiMusicCircleOutline),
|
|
23608
|
+
title: "\u97F3\u9891",
|
|
23609
|
+
keywords: ["audio", "yinpin"],
|
|
23610
|
+
command: ({ editor, range }) => {
|
|
23611
|
+
editor.chain().focus().deleteRange(range).insertContent([
|
|
23612
|
+
{ type: "audio", attrs: { src: "" } },
|
|
23613
|
+
{ type: "paragraph", content: "" }
|
|
23614
|
+
]).run();
|
|
23615
|
+
}
|
|
23616
|
+
};
|
|
23398
23617
|
const CommandTable = {
|
|
23399
23618
|
icon: vue.markRaw(MdiTable),
|
|
23400
23619
|
title: "\u8868\u683C",
|
|
@@ -23442,7 +23661,9 @@ img.ProseMirror-separator {
|
|
|
23442
23661
|
CommandBulletList,
|
|
23443
23662
|
CommandOrderedList,
|
|
23444
23663
|
CommandTaskList,
|
|
23445
|
-
CommandIframe
|
|
23664
|
+
CommandIframe,
|
|
23665
|
+
CommandVideo,
|
|
23666
|
+
CommandAudio
|
|
23446
23667
|
].filter(
|
|
23447
23668
|
(item) => [...item.keywords, item.title].some(
|
|
23448
23669
|
(keyword) => keyword.includes(query)
|
|
@@ -23454,7 +23675,7 @@ img.ProseMirror-separator {
|
|
|
23454
23675
|
let popup;
|
|
23455
23676
|
return {
|
|
23456
23677
|
onStart: (props) => {
|
|
23457
|
-
component = new VueRenderer(_sfc_main$
|
|
23678
|
+
component = new VueRenderer(_sfc_main$9, {
|
|
23458
23679
|
props,
|
|
23459
23680
|
editor: props.editor
|
|
23460
23681
|
});
|
|
@@ -38556,39 +38777,39 @@ img.ProseMirror-separator {
|
|
|
38556
38777
|
lowlight$1.registerLanguage("yaml", yaml);
|
|
38557
38778
|
lowlight$1.registerLanguage("html", xml);
|
|
38558
38779
|
const lowlight = lowlight$1;
|
|
38559
|
-
const _hoisted_1$
|
|
38780
|
+
const _hoisted_1$N = {
|
|
38560
38781
|
viewBox: "0 0 24 24",
|
|
38561
38782
|
color: "red",
|
|
38562
38783
|
width: "1.2em",
|
|
38563
38784
|
height: "1.2em"
|
|
38564
38785
|
};
|
|
38565
|
-
const _hoisted_2$
|
|
38786
|
+
const _hoisted_2$L = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
38566
38787
|
fill: "currentColor",
|
|
38567
38788
|
d: "M14.12 10.47L12 12.59l-2.13-2.12l-1.41 1.41L10.59 14l-2.12 2.12l1.41 1.41L12 15.41l2.12 2.12l1.41-1.41L13.41 14l2.12-2.12l-1.41-1.41M15.5 4l-1-1h-5l-1 1H5v2h14V4h-3.5M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6v12M8 9h8v10H8V9Z"
|
|
38568
38789
|
}, null, -1);
|
|
38569
|
-
const _hoisted_3$
|
|
38570
|
-
_hoisted_2$
|
|
38790
|
+
const _hoisted_3$I = [
|
|
38791
|
+
_hoisted_2$L
|
|
38571
38792
|
];
|
|
38572
|
-
function render$
|
|
38573
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
38793
|
+
function render$G(_ctx, _cache) {
|
|
38794
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$N, _hoisted_3$I);
|
|
38574
38795
|
}
|
|
38575
|
-
const MdiDeleteForeverOutline = { name: "mdi-delete-forever-outline", render: render$
|
|
38576
|
-
const _hoisted_1$
|
|
38796
|
+
const MdiDeleteForeverOutline = { name: "mdi-delete-forever-outline", render: render$G };
|
|
38797
|
+
const _hoisted_1$M = {
|
|
38577
38798
|
viewBox: "0 0 24 24",
|
|
38578
38799
|
width: "1.2em",
|
|
38579
38800
|
height: "1.2em"
|
|
38580
38801
|
};
|
|
38581
|
-
const _hoisted_2$
|
|
38802
|
+
const _hoisted_2$K = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
38582
38803
|
fill: "currentColor",
|
|
38583
38804
|
d: "M20 10.5a6.5 6.5 0 0 1-6.5 6.5H7.83l3.09 3.09L9.5 21.5L4 16l5.5-5.5l1.41 1.41L7.83 15h5.67c2.5 0 4.5-2 4.5-4.5S16 6 13.5 6H6V4h7.5a6.5 6.5 0 0 1 6.5 6.5Z"
|
|
38584
38805
|
}, null, -1);
|
|
38585
|
-
const _hoisted_3$
|
|
38586
|
-
_hoisted_2$
|
|
38806
|
+
const _hoisted_3$H = [
|
|
38807
|
+
_hoisted_2$K
|
|
38587
38808
|
];
|
|
38588
|
-
function render$
|
|
38589
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
38809
|
+
function render$F(_ctx, _cache) {
|
|
38810
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$M, _hoisted_3$H);
|
|
38590
38811
|
}
|
|
38591
|
-
const MdiArrowULeftBottom = { name: "mdi-arrow-u-left-bottom", render: render$
|
|
38812
|
+
const MdiArrowULeftBottom = { name: "mdi-arrow-u-left-bottom", render: render$F };
|
|
38592
38813
|
const BlockActionSeparator_vue_vue_type_style_index_0_lang = "";
|
|
38593
38814
|
const _export_sfc = (sfc, props) => {
|
|
38594
38815
|
const target = sfc.__vccOpts || sfc;
|
|
@@ -38597,13 +38818,13 @@ img.ProseMirror-separator {
|
|
|
38597
38818
|
}
|
|
38598
38819
|
return target;
|
|
38599
38820
|
};
|
|
38600
|
-
const _sfc_main$
|
|
38601
|
-
const _hoisted_1$
|
|
38821
|
+
const _sfc_main$8 = {};
|
|
38822
|
+
const _hoisted_1$L = { class: "editor-block__actions-separator" };
|
|
38602
38823
|
function _sfc_render(_ctx, _cache) {
|
|
38603
|
-
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$
|
|
38824
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$L);
|
|
38604
38825
|
}
|
|
38605
|
-
const BlockActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
38606
|
-
const _sfc_main$
|
|
38826
|
+
const BlockActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render]]);
|
|
38827
|
+
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
|
|
38607
38828
|
__name: "BlockActionButton",
|
|
38608
38829
|
props: {
|
|
38609
38830
|
tooltip: { default: void 0 },
|
|
@@ -38624,9 +38845,9 @@ img.ProseMirror-separator {
|
|
|
38624
38845
|
}
|
|
38625
38846
|
});
|
|
38626
38847
|
const BlockActionButton_vue_vue_type_style_index_0_lang = "";
|
|
38627
|
-
const _hoisted_1$
|
|
38628
|
-
const _hoisted_2$
|
|
38629
|
-
const _sfc_main$
|
|
38848
|
+
const _hoisted_1$K = { class: "editor-block__content" };
|
|
38849
|
+
const _hoisted_2$J = { class: "editor-block__actions" };
|
|
38850
|
+
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
|
|
38630
38851
|
__name: "BlockCard",
|
|
38631
38852
|
props: {
|
|
38632
38853
|
selected: { type: Boolean, default: false },
|
|
@@ -38659,7 +38880,7 @@ img.ProseMirror-separator {
|
|
|
38659
38880
|
onMouseleave: _cache[1] || (_cache[1] = ($event) => hover.value = false)
|
|
38660
38881
|
}, [
|
|
38661
38882
|
vue.createVNode(vue.unref(Dropdown), {
|
|
38662
|
-
placement: "
|
|
38883
|
+
placement: "bottom-end",
|
|
38663
38884
|
shown: vue.unref(dropdownVisible),
|
|
38664
38885
|
"auto-hide": false,
|
|
38665
38886
|
triggers: [],
|
|
@@ -38667,9 +38888,9 @@ img.ProseMirror-separator {
|
|
|
38667
38888
|
theme: "editor-block-dropdown"
|
|
38668
38889
|
}, {
|
|
38669
38890
|
popper: vue.withCtx(() => [
|
|
38670
|
-
vue.createElementVNode("div", _hoisted_2$
|
|
38891
|
+
vue.createElementVNode("div", _hoisted_2$J, [
|
|
38671
38892
|
vue.renderSlot(_ctx.$slots, "actions"),
|
|
38672
|
-
vue.createVNode(_sfc_main$
|
|
38893
|
+
vue.createVNode(_sfc_main$7, {
|
|
38673
38894
|
tooltip: "\u6362\u884C",
|
|
38674
38895
|
onClick: handleInsertNewLine
|
|
38675
38896
|
}, {
|
|
@@ -38679,7 +38900,7 @@ img.ProseMirror-separator {
|
|
|
38679
38900
|
_: 1
|
|
38680
38901
|
}),
|
|
38681
38902
|
vue.createVNode(BlockActionSeparator),
|
|
38682
|
-
vue.createVNode(_sfc_main$
|
|
38903
|
+
vue.createVNode(_sfc_main$7, {
|
|
38683
38904
|
tooltip: "\u5220\u9664",
|
|
38684
38905
|
onClick: __props.deleteNode
|
|
38685
38906
|
}, {
|
|
@@ -38691,7 +38912,7 @@ img.ProseMirror-separator {
|
|
|
38691
38912
|
])
|
|
38692
38913
|
]),
|
|
38693
38914
|
default: vue.withCtx(() => [
|
|
38694
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
38915
|
+
vue.createElementVNode("div", _hoisted_1$K, [
|
|
38695
38916
|
vue.renderSlot(_ctx.$slots, "content")
|
|
38696
38917
|
])
|
|
38697
38918
|
]),
|
|
@@ -38702,10 +38923,10 @@ img.ProseMirror-separator {
|
|
|
38702
38923
|
}
|
|
38703
38924
|
});
|
|
38704
38925
|
const BlockCard_vue_vue_type_style_index_0_lang = "";
|
|
38705
|
-
const _hoisted_1$
|
|
38706
|
-
const _hoisted_2$
|
|
38707
|
-
const _hoisted_3$
|
|
38708
|
-
const _sfc_main$
|
|
38926
|
+
const _hoisted_1$J = { class: "py-1.5" };
|
|
38927
|
+
const _hoisted_2$I = /* @__PURE__ */ vue.createElementVNode("option", { value: null }, "auto", -1);
|
|
38928
|
+
const _hoisted_3$G = ["value"];
|
|
38929
|
+
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
|
|
38709
38930
|
__name: "CodeBlockViewRenderer",
|
|
38710
38931
|
props: {
|
|
38711
38932
|
editor: null,
|
|
@@ -38734,25 +38955,25 @@ img.ProseMirror-separator {
|
|
|
38734
38955
|
return (_ctx, _cache) => {
|
|
38735
38956
|
return vue.openBlock(), vue.createBlock(vue.unref(NodeViewWrapper), null, {
|
|
38736
38957
|
default: vue.withCtx(() => [
|
|
38737
|
-
vue.createVNode(_sfc_main$
|
|
38958
|
+
vue.createVNode(_sfc_main$6, {
|
|
38738
38959
|
editor: __props.editor,
|
|
38739
38960
|
"delete-node": __props.deleteNode,
|
|
38740
38961
|
"get-pos": __props.getPos,
|
|
38741
38962
|
selected: __props.selected
|
|
38742
38963
|
}, {
|
|
38743
38964
|
content: vue.withCtx(() => [
|
|
38744
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
38965
|
+
vue.createElementVNode("div", _hoisted_1$J, [
|
|
38745
38966
|
vue.withDirectives(vue.createElementVNode("select", {
|
|
38746
38967
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(selectedLanguage) ? selectedLanguage.value = $event : null),
|
|
38747
38968
|
contenteditable: "false",
|
|
38748
38969
|
class: "block px-2 py-1.5 text-sm text-gray-900 border border-gray-300 rounded-md bg-gray-50 focus:ring-blue-500 focus:border-blue-500"
|
|
38749
38970
|
}, [
|
|
38750
|
-
_hoisted_2$
|
|
38971
|
+
_hoisted_2$I,
|
|
38751
38972
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(languages), (language, index2) => {
|
|
38752
38973
|
return vue.openBlock(), vue.createElementBlock("option", {
|
|
38753
38974
|
key: index2,
|
|
38754
38975
|
value: language
|
|
38755
|
-
}, vue.toDisplayString(language), 9, _hoisted_3$
|
|
38976
|
+
}, vue.toDisplayString(language), 9, _hoisted_3$G);
|
|
38756
38977
|
}), 128))
|
|
38757
38978
|
], 512), [
|
|
38758
38979
|
[vue.vModelSelect, vue.unref(selectedLanguage)]
|
|
@@ -38774,10 +38995,10 @@ img.ProseMirror-separator {
|
|
|
38774
38995
|
});
|
|
38775
38996
|
const ExtensionCodeBlock = CodeBlockLowlight.extend({
|
|
38776
38997
|
addNodeView() {
|
|
38777
|
-
return VueNodeViewRenderer(_sfc_main$
|
|
38998
|
+
return VueNodeViewRenderer(_sfc_main$5);
|
|
38778
38999
|
}
|
|
38779
39000
|
});
|
|
38780
|
-
const _sfc_main$
|
|
39001
|
+
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
|
|
38781
39002
|
__name: "BlockActionInput",
|
|
38782
39003
|
props: {
|
|
38783
39004
|
tooltip: { default: void 0 },
|
|
@@ -38810,105 +39031,89 @@ img.ProseMirror-separator {
|
|
|
38810
39031
|
}
|
|
38811
39032
|
});
|
|
38812
39033
|
const BlockActionInput_vue_vue_type_style_index_0_lang = "";
|
|
38813
|
-
const _hoisted_1$
|
|
39034
|
+
const _hoisted_1$I = {
|
|
38814
39035
|
viewBox: "0 0 24 24",
|
|
38815
39036
|
width: "1.2em",
|
|
38816
39037
|
height: "1.2em"
|
|
38817
39038
|
};
|
|
38818
|
-
const _hoisted_2$
|
|
38819
|
-
|
|
38820
|
-
|
|
39039
|
+
const _hoisted_2$H = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39040
|
+
d: "M16 18H7V4h9m-4.5 18a1.5 1.5 0 0 1-1.5-1.5a1.5 1.5 0 0 1 1.5-1.5a1.5 1.5 0 0 1 1.5 1.5a1.5 1.5 0 0 1-1.5 1.5m4-21h-8A2.5 2.5 0 0 0 5 3.5v17A2.5 2.5 0 0 0 7.5 23h8a2.5 2.5 0 0 0 2.5-2.5v-17A2.5 2.5 0 0 0 15.5 1z",
|
|
39041
|
+
fill: "currentColor"
|
|
38821
39042
|
}, null, -1);
|
|
38822
|
-
const _hoisted_3$
|
|
38823
|
-
_hoisted_2$
|
|
39043
|
+
const _hoisted_3$F = [
|
|
39044
|
+
_hoisted_2$H
|
|
38824
39045
|
];
|
|
38825
|
-
function render$
|
|
38826
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39046
|
+
function render$E(_ctx, _cache) {
|
|
39047
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$I, _hoisted_3$F);
|
|
38827
39048
|
}
|
|
38828
|
-
const
|
|
38829
|
-
const _hoisted_1$
|
|
39049
|
+
const MdiCellphoneIphone = { name: "mdi-cellphone-iphone", render: render$E };
|
|
39050
|
+
const _hoisted_1$H = {
|
|
38830
39051
|
viewBox: "0 0 24 24",
|
|
38831
39052
|
width: "1.2em",
|
|
38832
39053
|
height: "1.2em"
|
|
38833
39054
|
};
|
|
38834
|
-
const _hoisted_2$
|
|
38835
|
-
d: "
|
|
39055
|
+
const _hoisted_2$G = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39056
|
+
d: "M19 19H4V3h15m-7.5 20a1.5 1.5 0 0 1-1.5-1.5a1.5 1.5 0 0 1 1.5-1.5a1.5 1.5 0 0 1 1.5 1.5a1.5 1.5 0 0 1-1.5 1.5m7-23h-14A2.5 2.5 0 0 0 2 2.5v19A2.5 2.5 0 0 0 4.5 24h14a2.5 2.5 0 0 0 2.5-2.5v-19A2.5 2.5 0 0 0 18.5 0z",
|
|
38836
39057
|
fill: "currentColor"
|
|
38837
39058
|
}, null, -1);
|
|
38838
|
-
const _hoisted_3$
|
|
38839
|
-
_hoisted_2$
|
|
39059
|
+
const _hoisted_3$E = [
|
|
39060
|
+
_hoisted_2$G
|
|
38840
39061
|
];
|
|
38841
|
-
function render$
|
|
38842
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39062
|
+
function render$D(_ctx, _cache) {
|
|
39063
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$H, _hoisted_3$E);
|
|
38843
39064
|
}
|
|
38844
|
-
const
|
|
38845
|
-
const _hoisted_1$
|
|
39065
|
+
const MdiTabletIpad = { name: "mdi-tablet-ipad", render: render$D };
|
|
39066
|
+
const _hoisted_1$G = {
|
|
38846
39067
|
viewBox: "0 0 24 24",
|
|
38847
39068
|
width: "1.2em",
|
|
38848
39069
|
height: "1.2em"
|
|
38849
39070
|
};
|
|
38850
|
-
const _hoisted_2$
|
|
38851
|
-
|
|
38852
|
-
|
|
39071
|
+
const _hoisted_2$F = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39072
|
+
fill: "currentColor",
|
|
39073
|
+
d: "M21 14H3V4h18m0-2H3c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h7l-2 3v1h8v-1l-2-3h7a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2Z"
|
|
38853
39074
|
}, null, -1);
|
|
38854
|
-
const _hoisted_3$
|
|
38855
|
-
_hoisted_2$
|
|
38856
|
-
];
|
|
38857
|
-
function render$x(_ctx, _cache) {
|
|
38858
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$z, _hoisted_3$x);
|
|
38859
|
-
}
|
|
38860
|
-
const MdiTabletIpad = { name: "mdi-tablet-ipad", render: render$x };
|
|
38861
|
-
const _hoisted_1$y = {
|
|
38862
|
-
viewBox: "0 0 24 24",
|
|
38863
|
-
width: "1.2em",
|
|
38864
|
-
height: "1.2em"
|
|
38865
|
-
};
|
|
38866
|
-
const _hoisted_2$x = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
38867
|
-
fill: "currentColor",
|
|
38868
|
-
d: "M21 14H3V4h18m0-2H3c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h7l-2 3v1h8v-1l-2-3h7a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2Z"
|
|
38869
|
-
}, null, -1);
|
|
38870
|
-
const _hoisted_3$w = [
|
|
38871
|
-
_hoisted_2$x
|
|
39075
|
+
const _hoisted_3$D = [
|
|
39076
|
+
_hoisted_2$F
|
|
38872
39077
|
];
|
|
38873
|
-
function render$
|
|
38874
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39078
|
+
function render$C(_ctx, _cache) {
|
|
39079
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$G, _hoisted_3$D);
|
|
38875
39080
|
}
|
|
38876
|
-
const MdiDesktopMac = { name: "mdi-desktop-mac", render: render$
|
|
38877
|
-
const _hoisted_1$
|
|
39081
|
+
const MdiDesktopMac = { name: "mdi-desktop-mac", render: render$C };
|
|
39082
|
+
const _hoisted_1$F = {
|
|
38878
39083
|
viewBox: "0 0 24 24",
|
|
38879
39084
|
width: "1.2em",
|
|
38880
39085
|
height: "1.2em"
|
|
38881
39086
|
};
|
|
38882
|
-
const _hoisted_2$
|
|
39087
|
+
const _hoisted_2$E = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
38883
39088
|
fill: "currentColor",
|
|
38884
39089
|
d: "M3 21V3h18v18H3M5 5v14h14V5H5Z"
|
|
38885
39090
|
}, null, -1);
|
|
38886
|
-
const _hoisted_3$
|
|
38887
|
-
_hoisted_2$
|
|
39091
|
+
const _hoisted_3$C = [
|
|
39092
|
+
_hoisted_2$E
|
|
38888
39093
|
];
|
|
38889
|
-
function render$
|
|
38890
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39094
|
+
function render$B(_ctx, _cache) {
|
|
39095
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$F, _hoisted_3$C);
|
|
38891
39096
|
}
|
|
38892
|
-
const MdiBorderAllVariant = { name: "mdi-border-all-variant", render: render$
|
|
38893
|
-
const _hoisted_1$
|
|
39097
|
+
const MdiBorderAllVariant = { name: "mdi-border-all-variant", render: render$B };
|
|
39098
|
+
const _hoisted_1$E = {
|
|
38894
39099
|
viewBox: "0 0 24 24",
|
|
38895
39100
|
width: "1.2em",
|
|
38896
39101
|
height: "1.2em"
|
|
38897
39102
|
};
|
|
38898
|
-
const _hoisted_2$
|
|
39103
|
+
const _hoisted_2$D = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
38899
39104
|
fill: "currentColor",
|
|
38900
39105
|
d: "M15 5h2V3h-2m0 18h2v-2h-2M11 5h2V3h-2m8 2h2V3h-2m0 6h2V7h-2m0 14h2v-2h-2m0-6h2v-2h-2m0 6h2v-2h-2M3 5h2V3H3m0 6h2V7H3m0 6h2v-2H3m0 6h2v-2H3m0 6h2v-2H3m8 2h2v-2h-2m-4 2h2v-2H7M7 5h2V3H7v2Z"
|
|
38901
39106
|
}, null, -1);
|
|
38902
|
-
const _hoisted_3$
|
|
38903
|
-
_hoisted_2$
|
|
39107
|
+
const _hoisted_3$B = [
|
|
39108
|
+
_hoisted_2$D
|
|
38904
39109
|
];
|
|
38905
|
-
function render$
|
|
38906
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39110
|
+
function render$A(_ctx, _cache) {
|
|
39111
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$E, _hoisted_3$B);
|
|
38907
39112
|
}
|
|
38908
|
-
const MdiBorderNoneVariant = { name: "mdi-border-none-variant", render: render$
|
|
38909
|
-
const _hoisted_1$
|
|
38910
|
-
const _hoisted_2$
|
|
38911
|
-
const _sfc_main$
|
|
39113
|
+
const MdiBorderNoneVariant = { name: "mdi-border-none-variant", render: render$A };
|
|
39114
|
+
const _hoisted_1$D = { class: "py-1.5" };
|
|
39115
|
+
const _hoisted_2$C = ["src", "width", "height", "frameborder"];
|
|
39116
|
+
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
|
|
38912
39117
|
__name: "IframeView",
|
|
38913
39118
|
props: {
|
|
38914
39119
|
editor: null,
|
|
@@ -38972,7 +39177,7 @@ img.ProseMirror-separator {
|
|
|
38972
39177
|
return (_ctx, _cache) => {
|
|
38973
39178
|
return vue.openBlock(), vue.createBlock(vue.unref(NodeViewWrapper), { as: "div" }, {
|
|
38974
39179
|
default: vue.withCtx(() => [
|
|
38975
|
-
vue.createVNode(_sfc_main$
|
|
39180
|
+
vue.createVNode(_sfc_main$6, {
|
|
38976
39181
|
editor: __props.editor,
|
|
38977
39182
|
"get-pos": __props.getPos,
|
|
38978
39183
|
"delete-node": __props.deleteNode,
|
|
@@ -38985,7 +39190,7 @@ img.ProseMirror-separator {
|
|
|
38985
39190
|
width: __props.node.attrs.width
|
|
38986
39191
|
})
|
|
38987
39192
|
}, [
|
|
38988
|
-
vue.createElementVNode("div", _hoisted_1$
|
|
39193
|
+
vue.createElementVNode("div", _hoisted_1$D, [
|
|
38989
39194
|
vue.withDirectives(vue.createElementVNode("input", {
|
|
38990
39195
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(src) ? src.value = $event : null),
|
|
38991
39196
|
class: "block px-2 w-full py-1.5 text-sm text-gray-900 border border-gray-300 rounded-md bg-gray-50 focus:ring-blue-500 focus:border-blue-500",
|
|
@@ -39012,12 +39217,13 @@ img.ProseMirror-separator {
|
|
|
39012
39217
|
scrolling: "yes",
|
|
39013
39218
|
frameborder: vue.unref(frameborder),
|
|
39014
39219
|
framespacing: "0",
|
|
39015
|
-
allowfullscreen: "true"
|
|
39016
|
-
|
|
39220
|
+
allowfullscreen: "true",
|
|
39221
|
+
onMouseenter: handleSetFocus
|
|
39222
|
+
}, null, 42, _hoisted_2$C)) : vue.createCommentVNode("", true)
|
|
39017
39223
|
], 4)
|
|
39018
39224
|
]),
|
|
39019
39225
|
actions: vue.withCtx(() => [
|
|
39020
|
-
vue.createVNode(_sfc_main$
|
|
39226
|
+
vue.createVNode(_sfc_main$7, {
|
|
39021
39227
|
selected: vue.unref(frameborder) === "1",
|
|
39022
39228
|
tooltip: `${vue.unref(frameborder) === "1" ? "\u53D6\u6D88\u8FB9\u6846" : "\u8BBE\u7F6E\u8FB9\u6846"}`,
|
|
39023
39229
|
onClick: handleToggleFrameborder
|
|
@@ -39028,20 +39234,20 @@ img.ProseMirror-separator {
|
|
|
39028
39234
|
_: 1
|
|
39029
39235
|
}, 8, ["selected", "tooltip"]),
|
|
39030
39236
|
vue.createVNode(BlockActionSeparator),
|
|
39031
|
-
vue.createVNode(_sfc_main$
|
|
39237
|
+
vue.createVNode(_sfc_main$4, {
|
|
39032
39238
|
modelValue: vue.unref(width),
|
|
39033
39239
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(width) ? width.value = $event : null),
|
|
39034
39240
|
modelModifiers: { lazy: true, trim: true },
|
|
39035
39241
|
tooltip: "\u81EA\u5B9A\u4E49\u5BBD\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
|
|
39036
39242
|
}, null, 8, ["modelValue"]),
|
|
39037
|
-
vue.createVNode(_sfc_main$
|
|
39243
|
+
vue.createVNode(_sfc_main$4, {
|
|
39038
39244
|
modelValue: vue.unref(height),
|
|
39039
39245
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(height) ? height.value = $event : null),
|
|
39040
39246
|
modelModifiers: { lazy: true, trim: true },
|
|
39041
39247
|
tooltip: "\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
|
|
39042
39248
|
}, null, 8, ["modelValue"]),
|
|
39043
39249
|
vue.createVNode(BlockActionSeparator),
|
|
39044
|
-
vue.createVNode(_sfc_main$
|
|
39250
|
+
vue.createVNode(_sfc_main$7, {
|
|
39045
39251
|
tooltip: "\u624B\u673A\u5C3A\u5BF8",
|
|
39046
39252
|
selected: sizeMatch("390px", "844px"),
|
|
39047
39253
|
onClick: _cache[3] || (_cache[3] = ($event) => handleSetSize("390px", "844px"))
|
|
@@ -39051,7 +39257,7 @@ img.ProseMirror-separator {
|
|
|
39051
39257
|
]),
|
|
39052
39258
|
_: 1
|
|
39053
39259
|
}, 8, ["selected"]),
|
|
39054
|
-
vue.createVNode(_sfc_main$
|
|
39260
|
+
vue.createVNode(_sfc_main$7, {
|
|
39055
39261
|
tooltip: "\u5E73\u677F\u7535\u8111\u7EB5\u5411\u5C3A\u5BF8",
|
|
39056
39262
|
selected: sizeMatch("834px", "1194px"),
|
|
39057
39263
|
onClick: _cache[4] || (_cache[4] = ($event) => handleSetSize("834px", "1194px"))
|
|
@@ -39061,7 +39267,7 @@ img.ProseMirror-separator {
|
|
|
39061
39267
|
]),
|
|
39062
39268
|
_: 1
|
|
39063
39269
|
}, 8, ["selected"]),
|
|
39064
|
-
vue.createVNode(_sfc_main$
|
|
39270
|
+
vue.createVNode(_sfc_main$7, {
|
|
39065
39271
|
tooltip: "\u5E73\u677F\u7535\u8111\u6A2A\u5411\u5C3A\u5BF8",
|
|
39066
39272
|
selected: sizeMatch("1194px", "834px"),
|
|
39067
39273
|
onClick: _cache[5] || (_cache[5] = ($event) => handleSetSize("1194px", "834px"))
|
|
@@ -39071,7 +39277,7 @@ img.ProseMirror-separator {
|
|
|
39071
39277
|
]),
|
|
39072
39278
|
_: 1
|
|
39073
39279
|
}, 8, ["selected"]),
|
|
39074
|
-
vue.createVNode(_sfc_main$
|
|
39280
|
+
vue.createVNode(_sfc_main$7, {
|
|
39075
39281
|
tooltip: "\u684C\u9762\u7535\u8111\u5C3A\u5BF8",
|
|
39076
39282
|
selected: sizeMatch("100%", "834px"),
|
|
39077
39283
|
onClick: _cache[6] || (_cache[6] = ($event) => handleSetSize("100%", "834px"))
|
|
@@ -39082,7 +39288,7 @@ img.ProseMirror-separator {
|
|
|
39082
39288
|
_: 1
|
|
39083
39289
|
}, 8, ["selected"]),
|
|
39084
39290
|
vue.createVNode(BlockActionSeparator),
|
|
39085
|
-
vue.createVNode(_sfc_main$
|
|
39291
|
+
vue.createVNode(_sfc_main$7, {
|
|
39086
39292
|
tooltip: "\u6253\u5F00\u94FE\u63A5",
|
|
39087
39293
|
onClick: handleOpenLink
|
|
39088
39294
|
}, {
|
|
@@ -39251,123 +39457,157 @@ img.ProseMirror-separator {
|
|
|
39251
39457
|
];
|
|
39252
39458
|
},
|
|
39253
39459
|
addNodeView() {
|
|
39254
|
-
return VueNodeViewRenderer(_sfc_main$
|
|
39255
|
-
}
|
|
39256
|
-
});
|
|
39257
|
-
const inputRegex = /(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/;
|
|
39258
|
-
const Image$1 = Node.create({
|
|
39259
|
-
name: "image",
|
|
39260
|
-
addOptions() {
|
|
39261
|
-
return {
|
|
39262
|
-
inline: false,
|
|
39263
|
-
allowBase64: false,
|
|
39264
|
-
HTMLAttributes: {}
|
|
39265
|
-
};
|
|
39266
|
-
},
|
|
39267
|
-
inline() {
|
|
39268
|
-
return this.options.inline;
|
|
39269
|
-
},
|
|
39270
|
-
group() {
|
|
39271
|
-
return this.options.inline ? "inline" : "block";
|
|
39272
|
-
},
|
|
39273
|
-
draggable: true,
|
|
39274
|
-
addAttributes() {
|
|
39275
|
-
return {
|
|
39276
|
-
src: {
|
|
39277
|
-
default: null
|
|
39278
|
-
},
|
|
39279
|
-
alt: {
|
|
39280
|
-
default: null
|
|
39281
|
-
},
|
|
39282
|
-
title: {
|
|
39283
|
-
default: null
|
|
39284
|
-
}
|
|
39285
|
-
};
|
|
39286
|
-
},
|
|
39287
|
-
parseHTML() {
|
|
39288
|
-
return [
|
|
39289
|
-
{
|
|
39290
|
-
tag: this.options.allowBase64 ? "img[src]" : 'img[src]:not([src^="data:"])'
|
|
39291
|
-
}
|
|
39292
|
-
];
|
|
39293
|
-
},
|
|
39294
|
-
renderHTML({ HTMLAttributes }) {
|
|
39295
|
-
return ["img", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
|
|
39296
|
-
},
|
|
39297
|
-
addCommands() {
|
|
39298
|
-
return {
|
|
39299
|
-
setImage: (options) => ({ commands: commands2 }) => {
|
|
39300
|
-
return commands2.insertContent({
|
|
39301
|
-
type: this.name,
|
|
39302
|
-
attrs: options
|
|
39303
|
-
});
|
|
39304
|
-
}
|
|
39305
|
-
};
|
|
39306
|
-
},
|
|
39307
|
-
addInputRules() {
|
|
39308
|
-
return [
|
|
39309
|
-
nodeInputRule({
|
|
39310
|
-
find: inputRegex,
|
|
39311
|
-
type: this.type,
|
|
39312
|
-
getAttributes: (match) => {
|
|
39313
|
-
const [, , alt, src, title] = match;
|
|
39314
|
-
return { src, alt, title };
|
|
39315
|
-
}
|
|
39316
|
-
})
|
|
39317
|
-
];
|
|
39460
|
+
return VueNodeViewRenderer(_sfc_main$3);
|
|
39318
39461
|
}
|
|
39319
39462
|
});
|
|
39320
|
-
const _hoisted_1$
|
|
39463
|
+
const _hoisted_1$C = {
|
|
39321
39464
|
viewBox: "0 0 24 24",
|
|
39322
39465
|
width: "1.2em",
|
|
39323
39466
|
height: "1.2em"
|
|
39324
39467
|
};
|
|
39325
|
-
const _hoisted_2$
|
|
39468
|
+
const _hoisted_2$B = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39326
39469
|
fill: "currentColor",
|
|
39327
39470
|
d: "M21 3H3C2 3 1 4 1 5v14a2 2 0 0 0 2 2h18c1 0 2-1 2-2V5c0-1-1-2-2-2M5 17l3.5-4.5l2.5 3l3.5-4.5l4.5 6H5Z"
|
|
39328
39471
|
}, null, -1);
|
|
39329
|
-
const _hoisted_3$
|
|
39330
|
-
_hoisted_2$
|
|
39472
|
+
const _hoisted_3$A = [
|
|
39473
|
+
_hoisted_2$B
|
|
39331
39474
|
];
|
|
39332
|
-
function render$
|
|
39333
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39475
|
+
function render$z(_ctx, _cache) {
|
|
39476
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$C, _hoisted_3$A);
|
|
39334
39477
|
}
|
|
39335
|
-
const MdiImageSizeSelectActual = { name: "mdi-image-size-select-actual", render: render$
|
|
39336
|
-
const _hoisted_1$
|
|
39478
|
+
const MdiImageSizeSelectActual = { name: "mdi-image-size-select-actual", render: render$z };
|
|
39479
|
+
const _hoisted_1$B = {
|
|
39337
39480
|
viewBox: "0 0 24 24",
|
|
39338
39481
|
width: "1.2em",
|
|
39339
39482
|
height: "1.2em"
|
|
39340
39483
|
};
|
|
39341
|
-
const _hoisted_2$
|
|
39484
|
+
const _hoisted_2$A = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39342
39485
|
fill: "currentColor",
|
|
39343
39486
|
d: "M23 15h-2v2h2v-2m0-4h-2v2h2v-2m0 8h-2v2c1 0 2-1 2-2M15 3h-2v2h2V3m8 4h-2v2h2V7m-2-4v2h2c0-1-1-2-2-2M3 21h8v-6H1v4a2 2 0 0 0 2 2M3 7H1v2h2V7m12 12h-2v2h2v-2m4-16h-2v2h2V3m0 16h-2v2h2v-2M3 3C2 3 1 4 1 5h2V3m0 8H1v2h2v-2m8-8H9v2h2V3M7 3H5v2h2V3Z"
|
|
39344
39487
|
}, null, -1);
|
|
39345
|
-
const _hoisted_3$
|
|
39346
|
-
_hoisted_2$
|
|
39488
|
+
const _hoisted_3$z = [
|
|
39489
|
+
_hoisted_2$A
|
|
39347
39490
|
];
|
|
39348
|
-
function render$
|
|
39349
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39491
|
+
function render$y(_ctx, _cache) {
|
|
39492
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$B, _hoisted_3$z);
|
|
39350
39493
|
}
|
|
39351
|
-
const MdiImageSizeSelectSmall = { name: "mdi-image-size-select-small", render: render$
|
|
39352
|
-
const _hoisted_1$
|
|
39494
|
+
const MdiImageSizeSelectSmall = { name: "mdi-image-size-select-small", render: render$y };
|
|
39495
|
+
const _hoisted_1$A = {
|
|
39353
39496
|
viewBox: "0 0 24 24",
|
|
39354
39497
|
width: "1.2em",
|
|
39355
39498
|
height: "1.2em"
|
|
39356
39499
|
};
|
|
39357
|
-
const _hoisted_2$
|
|
39500
|
+
const _hoisted_2$z = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39358
39501
|
fill: "currentColor",
|
|
39359
39502
|
d: "M21 15h2v2h-2v-2m0-4h2v2h-2v-2m2 8h-2v2c1 0 2-1 2-2M13 3h2v2h-2V3m8 4h2v2h-2V7m0-4v2h2c0-1-1-2-2-2M1 7h2v2H1V7m16-4h2v2h-2V3m0 16h2v2h-2v-2M3 3C2 3 1 4 1 5h2V3m6 0h2v2H9V3M5 3h2v2H5V3m-4 8v8a2 2 0 0 0 2 2h12V11H1m2 8l2.5-3.21l1.79 2.15l2.5-3.22L13 19H3Z"
|
|
39360
39503
|
}, null, -1);
|
|
39361
|
-
const _hoisted_3$
|
|
39362
|
-
_hoisted_2$
|
|
39504
|
+
const _hoisted_3$y = [
|
|
39505
|
+
_hoisted_2$z
|
|
39506
|
+
];
|
|
39507
|
+
function render$x(_ctx, _cache) {
|
|
39508
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$A, _hoisted_3$y);
|
|
39509
|
+
}
|
|
39510
|
+
const MdiImageSizeSelectLarge = { name: "mdi-image-size-select-large", render: render$x };
|
|
39511
|
+
const _hoisted_1$z = {
|
|
39512
|
+
viewBox: "0 0 24 24",
|
|
39513
|
+
width: "1.2em",
|
|
39514
|
+
height: "1.2em"
|
|
39515
|
+
};
|
|
39516
|
+
const _hoisted_2$y = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39517
|
+
fill: "currentColor",
|
|
39518
|
+
d: "M13.53 22H10c-.25 0-.46-.18-.5-.42l-.37-2.65c-.63-.25-1.17-.59-1.69-.99l-2.49 1.01c-.22.08-.49 0-.61-.22l-2-3.46a.493.493 0 0 1 .12-.64l2.11-1.66c-.04-.32-.07-.64-.07-.97s.03-.66.07-1L2.46 9.37a.493.493 0 0 1-.12-.64l2-3.46c.12-.22.39-.31.61-.22l2.49 1c.52-.39 1.06-.73 1.69-.98l.37-2.65c.04-.24.25-.42.5-.42h4c.25 0 .46.18.5.42l.37 2.65c.63.25 1.17.59 1.69.98l2.49-1c.22-.09.49 0 .61.22l2 3.46c.12.22.07.49-.12.64L19.43 11c.04.34.07.67.07 1v.19c-.5-.12-1-.19-1.5-.19c-.92 0-1.78.21-2.56.58c.03-.19.06-.38.06-.58c0-1.93-1.57-3.5-3.5-3.5S8.5 10.07 8.5 12s1.57 3.5 3.5 3.5c.2 0 .39-.03.58-.06a5.97 5.97 0 0 0 .95 6.56M16 15v6l5-3l-5-3Z"
|
|
39519
|
+
}, null, -1);
|
|
39520
|
+
const _hoisted_3$x = [
|
|
39521
|
+
_hoisted_2$y
|
|
39522
|
+
];
|
|
39523
|
+
function render$w(_ctx, _cache) {
|
|
39524
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$z, _hoisted_3$x);
|
|
39525
|
+
}
|
|
39526
|
+
const MdiCogPlay = { name: "mdi-cog-play", render: render$w };
|
|
39527
|
+
const _hoisted_1$y = {
|
|
39528
|
+
viewBox: "0 0 24 24",
|
|
39529
|
+
width: "1.2em",
|
|
39530
|
+
height: "1.2em"
|
|
39531
|
+
};
|
|
39532
|
+
const _hoisted_2$x = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39533
|
+
fill: "currentColor",
|
|
39534
|
+
d: "M13.54 22H10c-.25 0-.46-.18-.5-.42l-.37-2.65c-.63-.25-1.17-.59-1.69-.99l-2.49 1.01c-.22.08-.49 0-.61-.22l-2-3.46a.493.493 0 0 1 .12-.64l2.11-1.66L4.5 12l.07-1l-2.11-1.63a.493.493 0 0 1-.12-.64l2-3.46c.12-.22.39-.31.61-.22l2.49 1c.52-.39 1.06-.73 1.69-.98l.37-2.65c.04-.24.25-.42.5-.42h4c.25 0 .46.18.5.42l.37 2.65c.63.25 1.17.59 1.69.98l2.49-1c.22-.09.49 0 .61.22l2 3.46c.13.22.07.49-.12.64L19.43 11l.07 1v.19c-.5-.12-1-.19-1.5-.19c-.17 0-.34 0-.5.03c0-.62-.1-1.24-.3-1.83l2.11-1.55l-.75-1.3l-2.41 1.04a5.42 5.42 0 0 0-3.03-1.77L12.75 4h-1.5l-.37 2.61c-1.2.25-2.26.89-3.03 1.78L5.44 7.35l-.75 1.3L6.8 10.2a5.55 5.55 0 0 0 0 3.6l-2.12 1.56l.75 1.3l2.43-1.04c.77.88 1.82 1.52 3.01 1.76l.37 2.62h1.11c.26.75.65 1.42 1.19 2m2.42-9.64c.04-.12.04-.24.04-.36c0-2.21-1.79-4-4-4s-4 1.79-4 4s1.79 4 4 4c.12 0 .24 0 .36-.04a6.045 6.045 0 0 1 3.6-3.6M12 14c-1.1 0-2-.89-2-2s.9-2 2-2s2 .9 2 2s-.89 2-2 2m4 1v6l5-3l-5-3Z"
|
|
39535
|
+
}, null, -1);
|
|
39536
|
+
const _hoisted_3$w = [
|
|
39537
|
+
_hoisted_2$x
|
|
39538
|
+
];
|
|
39539
|
+
function render$v(_ctx, _cache) {
|
|
39540
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$y, _hoisted_3$w);
|
|
39541
|
+
}
|
|
39542
|
+
const MdiCogPlayOutline = { name: "mdi-cog-play-outline", render: render$v };
|
|
39543
|
+
const _hoisted_1$x = {
|
|
39544
|
+
viewBox: "0 0 24 24",
|
|
39545
|
+
width: "1.2em",
|
|
39546
|
+
height: "1.2em"
|
|
39547
|
+
};
|
|
39548
|
+
const _hoisted_2$w = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39549
|
+
fill: "currentColor",
|
|
39550
|
+
d: "M10 16.5v-9l6 4.5M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"
|
|
39551
|
+
}, null, -1);
|
|
39552
|
+
const _hoisted_3$v = [
|
|
39553
|
+
_hoisted_2$w
|
|
39554
|
+
];
|
|
39555
|
+
function render$u(_ctx, _cache) {
|
|
39556
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$x, _hoisted_3$v);
|
|
39557
|
+
}
|
|
39558
|
+
const MdiPlayCircle = { name: "mdi-play-circle", render: render$u };
|
|
39559
|
+
const _hoisted_1$w = {
|
|
39560
|
+
viewBox: "0 0 24 24",
|
|
39561
|
+
width: "1.2em",
|
|
39562
|
+
height: "1.2em"
|
|
39563
|
+
};
|
|
39564
|
+
const _hoisted_2$v = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39565
|
+
fill: "currentColor",
|
|
39566
|
+
d: "M12 20c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2m-2 14.5l6-4.5l-6-4.5v9Z"
|
|
39567
|
+
}, null, -1);
|
|
39568
|
+
const _hoisted_3$u = [
|
|
39569
|
+
_hoisted_2$v
|
|
39570
|
+
];
|
|
39571
|
+
function render$t(_ctx, _cache) {
|
|
39572
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$w, _hoisted_3$u);
|
|
39573
|
+
}
|
|
39574
|
+
const MdiPlayCircleOutline = { name: "mdi-play-circle-outline", render: render$t };
|
|
39575
|
+
const _hoisted_1$v = {
|
|
39576
|
+
viewBox: "0 0 24 24",
|
|
39577
|
+
width: "1.2em",
|
|
39578
|
+
height: "1.2em"
|
|
39579
|
+
};
|
|
39580
|
+
const _hoisted_2$u = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39581
|
+
fill: "currentColor",
|
|
39582
|
+
d: "m10 16.5l6-4.5l-6-4.5M22 12c0-5.54-4.46-10-10-10c-1.17 0-2.3.19-3.38.56l.7 1.94c.85-.34 1.74-.53 2.68-.53c4.41 0 8.03 3.62 8.03 8.03c0 4.41-3.62 8.03-8.03 8.03c-4.41 0-8.03-3.62-8.03-8.03c0-.94.19-1.88.53-2.72l-1.94-.66C2.19 9.7 2 10.83 2 12c0 5.54 4.46 10 10 10s10-4.46 10-10M5.47 3.97c.85 0 1.53.71 1.53 1.5C7 6.32 6.32 7 5.47 7c-.79 0-1.5-.68-1.5-1.53c0-.79.71-1.5 1.5-1.5Z"
|
|
39583
|
+
}, null, -1);
|
|
39584
|
+
const _hoisted_3$t = [
|
|
39585
|
+
_hoisted_2$u
|
|
39586
|
+
];
|
|
39587
|
+
function render$s(_ctx, _cache) {
|
|
39588
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$v, _hoisted_3$t);
|
|
39589
|
+
}
|
|
39590
|
+
const MdiMotionPlayOutline = { name: "mdi-motion-play-outline", render: render$s };
|
|
39591
|
+
const _hoisted_1$u = {
|
|
39592
|
+
viewBox: "0 0 24 24",
|
|
39593
|
+
width: "1.2em",
|
|
39594
|
+
height: "1.2em"
|
|
39595
|
+
};
|
|
39596
|
+
const _hoisted_2$t = /* @__PURE__ */ vue.createElementVNode("path", {
|
|
39597
|
+
fill: "currentColor",
|
|
39598
|
+
d: "M22 12c0-5.54-4.46-10-10-10c-1.17 0-2.3.19-3.38.56l.7 1.94c.85-.34 1.74-.53 2.68-.53c4.41 0 8.03 3.62 8.03 8.03c0 4.41-3.62 8.03-8.03 8.03c-4.41 0-8.03-3.62-8.03-8.03c0-.94.19-1.88.53-2.72l-1.94-.66C2.19 9.7 2 10.83 2 12c0 5.54 4.46 10 10 10s10-4.46 10-10M5.47 3.97c.85 0 1.53.71 1.53 1.5C7 6.32 6.32 7 5.47 7c-.79 0-1.5-.68-1.5-1.53c0-.79.71-1.5 1.5-1.5M18 12c0-3.33-2.67-6-6-6s-6 2.67-6 6s2.67 6 6 6s6-2.67 6-6m-3 0l-5 3V9"
|
|
39599
|
+
}, null, -1);
|
|
39600
|
+
const _hoisted_3$s = [
|
|
39601
|
+
_hoisted_2$t
|
|
39363
39602
|
];
|
|
39364
39603
|
function render$r(_ctx, _cache) {
|
|
39365
|
-
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$
|
|
39604
|
+
return vue.openBlock(), vue.createElementBlock("svg", _hoisted_1$u, _hoisted_3$s);
|
|
39366
39605
|
}
|
|
39367
|
-
const
|
|
39368
|
-
const _hoisted_1$
|
|
39369
|
-
const
|
|
39370
|
-
|
|
39606
|
+
const MdiMotionPlay = { name: "mdi-motion-play", render: render$r };
|
|
39607
|
+
const _hoisted_1$t = { class: "py-1.5" };
|
|
39608
|
+
const _hoisted_2$s = ["controls", "autoplay", "loop", "src"];
|
|
39609
|
+
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
39610
|
+
__name: "VideoView",
|
|
39371
39611
|
props: {
|
|
39372
39612
|
editor: null,
|
|
39373
39613
|
node: null,
|
|
@@ -39380,22 +39620,18 @@ img.ProseMirror-separator {
|
|
|
39380
39620
|
},
|
|
39381
39621
|
setup(__props) {
|
|
39382
39622
|
const props = __props;
|
|
39383
|
-
const src = vue.computed(
|
|
39384
|
-
return props.node.attrs.src;
|
|
39385
|
-
});
|
|
39386
|
-
const alt = vue.computed({
|
|
39623
|
+
const src = vue.computed({
|
|
39387
39624
|
get: () => {
|
|
39388
39625
|
var _a;
|
|
39389
|
-
return (_a = props.node) == null ? void 0 : _a.attrs.
|
|
39626
|
+
return (_a = props.node) == null ? void 0 : _a.attrs.src;
|
|
39390
39627
|
},
|
|
39391
|
-
set: (
|
|
39392
|
-
props.updateAttributes({
|
|
39628
|
+
set: (src2) => {
|
|
39629
|
+
props.updateAttributes({ src: src2 });
|
|
39393
39630
|
}
|
|
39394
39631
|
});
|
|
39395
39632
|
const width = vue.computed({
|
|
39396
39633
|
get: () => {
|
|
39397
|
-
|
|
39398
|
-
return (_a = props.node) == null ? void 0 : _a.attrs.width;
|
|
39634
|
+
return props.node.attrs.width;
|
|
39399
39635
|
},
|
|
39400
39636
|
set: (value) => {
|
|
39401
39637
|
handleSetSize(value, height.value);
|
|
@@ -39403,37 +39639,653 @@ img.ProseMirror-separator {
|
|
|
39403
39639
|
});
|
|
39404
39640
|
const height = vue.computed({
|
|
39405
39641
|
get: () => {
|
|
39406
|
-
|
|
39407
|
-
return (_a = props.node) == null ? void 0 : _a.attrs.height;
|
|
39642
|
+
return props.node.attrs.height;
|
|
39408
39643
|
},
|
|
39409
39644
|
set: (value) => {
|
|
39410
39645
|
handleSetSize(width.value, value);
|
|
39411
39646
|
}
|
|
39412
39647
|
});
|
|
39648
|
+
const controls = vue.computed(() => {
|
|
39649
|
+
return props.node.attrs.controls;
|
|
39650
|
+
});
|
|
39651
|
+
const autoplay = vue.computed(() => {
|
|
39652
|
+
return props.node.attrs.autoplay;
|
|
39653
|
+
});
|
|
39654
|
+
const loop = vue.computed(() => {
|
|
39655
|
+
return props.node.attrs.loop;
|
|
39656
|
+
});
|
|
39657
|
+
function handleSetFocus() {
|
|
39658
|
+
props.editor.commands.setNodeSelection(props.getPos());
|
|
39659
|
+
}
|
|
39413
39660
|
function handleSetSize(width2, height2) {
|
|
39414
39661
|
props.updateAttributes({ width: width2, height: height2 });
|
|
39415
39662
|
props.editor.chain().focus().setNodeSelection(props.getPos()).run();
|
|
39416
39663
|
}
|
|
39664
|
+
function handleToggleControls() {
|
|
39665
|
+
props.updateAttributes({
|
|
39666
|
+
controls: props.node.attrs.controls ? null : true
|
|
39667
|
+
});
|
|
39668
|
+
props.editor.chain().focus().setNodeSelection(props.getPos()).run();
|
|
39669
|
+
}
|
|
39670
|
+
function handleToggleAutoplay() {
|
|
39671
|
+
props.updateAttributes({
|
|
39672
|
+
autoplay: props.node.attrs.autoplay ? null : true
|
|
39673
|
+
});
|
|
39674
|
+
props.editor.chain().focus().setNodeSelection(props.getPos()).run();
|
|
39675
|
+
}
|
|
39676
|
+
function handleToggleLoop() {
|
|
39677
|
+
props.updateAttributes({
|
|
39678
|
+
loop: props.node.attrs.loop ? null : true
|
|
39679
|
+
});
|
|
39680
|
+
props.editor.chain().focus().setNodeSelection(props.getPos()).run();
|
|
39681
|
+
}
|
|
39417
39682
|
function handleOpenLink() {
|
|
39418
39683
|
window.open(src.value, "_blank");
|
|
39419
39684
|
}
|
|
39420
39685
|
return (_ctx, _cache) => {
|
|
39421
39686
|
return vue.openBlock(), vue.createBlock(vue.unref(NodeViewWrapper), { as: "div" }, {
|
|
39422
39687
|
default: vue.withCtx(() => [
|
|
39423
|
-
vue.createVNode(_sfc_main$
|
|
39424
|
-
selected: __props.selected,
|
|
39688
|
+
vue.createVNode(_sfc_main$6, {
|
|
39425
39689
|
editor: __props.editor,
|
|
39690
|
+
"get-pos": __props.getPos,
|
|
39426
39691
|
"delete-node": __props.deleteNode,
|
|
39427
|
-
|
|
39692
|
+
selected: __props.selected
|
|
39428
39693
|
}, {
|
|
39429
39694
|
content: vue.withCtx(() => [
|
|
39430
39695
|
vue.createElementVNode("div", {
|
|
39431
|
-
class:
|
|
39432
|
-
"ring-2 rounded": __props.selected
|
|
39433
|
-
}]),
|
|
39696
|
+
class: "inline-block overflow-hidden transition-all text-center relative h-full",
|
|
39434
39697
|
style: vue.normalizeStyle({
|
|
39435
|
-
width: __props.node.attrs.width
|
|
39436
|
-
|
|
39698
|
+
width: __props.node.attrs.width
|
|
39699
|
+
})
|
|
39700
|
+
}, [
|
|
39701
|
+
vue.createElementVNode("div", _hoisted_1$t, [
|
|
39702
|
+
vue.withDirectives(vue.createElementVNode("input", {
|
|
39703
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(src) ? src.value = $event : null),
|
|
39704
|
+
class: "block px-2 w-full py-1.5 text-sm text-gray-900 border border-gray-300 rounded-md bg-gray-50 focus:ring-blue-500 focus:border-blue-500",
|
|
39705
|
+
placeholder: "\u8F93\u5165\u94FE\u63A5\uFF0C\u6309\u56DE\u8F66\u786E\u5B9A",
|
|
39706
|
+
tabindex: "-1",
|
|
39707
|
+
onFocus: handleSetFocus
|
|
39708
|
+
}, null, 544), [
|
|
39709
|
+
[
|
|
39710
|
+
vue.vModelText,
|
|
39711
|
+
vue.unref(src),
|
|
39712
|
+
void 0,
|
|
39713
|
+
{ lazy: true }
|
|
39714
|
+
]
|
|
39715
|
+
])
|
|
39716
|
+
]),
|
|
39717
|
+
vue.unref(src) ? (vue.openBlock(), vue.createElementBlock("video", {
|
|
39718
|
+
key: 0,
|
|
39719
|
+
controls: vue.unref(controls),
|
|
39720
|
+
autoplay: vue.unref(autoplay),
|
|
39721
|
+
loop: vue.unref(loop),
|
|
39722
|
+
class: "rounded-md m-0",
|
|
39723
|
+
src: __props.node.attrs.src,
|
|
39724
|
+
style: vue.normalizeStyle({
|
|
39725
|
+
width: __props.node.attrs.width,
|
|
39726
|
+
height: __props.node.attrs.height
|
|
39727
|
+
}),
|
|
39728
|
+
onMouseenter: handleSetFocus
|
|
39729
|
+
}, null, 44, _hoisted_2$s)) : vue.createCommentVNode("", true)
|
|
39730
|
+
], 4)
|
|
39731
|
+
]),
|
|
39732
|
+
actions: vue.withCtx(() => [
|
|
39733
|
+
vue.createVNode(_sfc_main$7, {
|
|
39734
|
+
selected: vue.unref(controls),
|
|
39735
|
+
tooltip: `${vue.unref(controls) ? "\u9690\u85CF\u63A7\u5236\u9762\u677F" : "\u663E\u793A\u63A7\u5236\u9762\u677F"}`,
|
|
39736
|
+
onClick: handleToggleControls
|
|
39737
|
+
}, {
|
|
39738
|
+
icon: vue.withCtx(() => [
|
|
39739
|
+
vue.unref(controls) ? (vue.openBlock(), vue.createBlock(vue.unref(MdiCogPlay), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(MdiCogPlayOutline), { key: 1 }))
|
|
39740
|
+
]),
|
|
39741
|
+
_: 1
|
|
39742
|
+
}, 8, ["selected", "tooltip"]),
|
|
39743
|
+
vue.createVNode(_sfc_main$7, {
|
|
39744
|
+
selected: vue.unref(autoplay),
|
|
39745
|
+
tooltip: `${vue.unref(autoplay) ? "\u5173\u95ED\u81EA\u52A8\u64AD\u653E" : "\u5F00\u542F\u81EA\u52A8\u64AD\u653E"}`,
|
|
39746
|
+
onClick: handleToggleAutoplay
|
|
39747
|
+
}, {
|
|
39748
|
+
icon: vue.withCtx(() => [
|
|
39749
|
+
vue.unref(autoplay) ? (vue.openBlock(), vue.createBlock(vue.unref(MdiPlayCircle), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(MdiPlayCircleOutline), { key: 1 }))
|
|
39750
|
+
]),
|
|
39751
|
+
_: 1
|
|
39752
|
+
}, 8, ["selected", "tooltip"]),
|
|
39753
|
+
vue.createVNode(_sfc_main$7, {
|
|
39754
|
+
selected: vue.unref(loop),
|
|
39755
|
+
tooltip: `${vue.unref(loop) ? "\u5173\u95ED\u5FAA\u73AF\u64AD\u653E" : "\u5F00\u542F\u5FAA\u73AF\u64AD\u653E"}`,
|
|
39756
|
+
onClick: handleToggleLoop
|
|
39757
|
+
}, {
|
|
39758
|
+
icon: vue.withCtx(() => [
|
|
39759
|
+
vue.unref(loop) ? (vue.openBlock(), vue.createBlock(vue.unref(MdiMotionPlay), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(MdiMotionPlayOutline), { key: 1 }))
|
|
39760
|
+
]),
|
|
39761
|
+
_: 1
|
|
39762
|
+
}, 8, ["selected", "tooltip"]),
|
|
39763
|
+
vue.createVNode(BlockActionSeparator),
|
|
39764
|
+
vue.createVNode(_sfc_main$4, {
|
|
39765
|
+
modelValue: vue.unref(width),
|
|
39766
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(width) ? width.value = $event : null),
|
|
39767
|
+
modelModifiers: { lazy: true, trim: true },
|
|
39768
|
+
tooltip: "\u81EA\u5B9A\u4E49\u5BBD\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
|
|
39769
|
+
}, null, 8, ["modelValue"]),
|
|
39770
|
+
vue.createVNode(_sfc_main$4, {
|
|
39771
|
+
modelValue: vue.unref(height),
|
|
39772
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.isRef(height) ? height.value = $event : null),
|
|
39773
|
+
modelModifiers: { lazy: true, trim: true },
|
|
39774
|
+
tooltip: "\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
|
|
39775
|
+
}, null, 8, ["modelValue"]),
|
|
39776
|
+
vue.createVNode(BlockActionSeparator),
|
|
39777
|
+
vue.createVNode(_sfc_main$7, {
|
|
39778
|
+
tooltip: "\u5C0F\u5C3A\u5BF8",
|
|
39779
|
+
selected: __props.node.attrs.width === "25%",
|
|
39780
|
+
onClick: _cache[3] || (_cache[3] = ($event) => handleSetSize("25%", "auto"))
|
|
39781
|
+
}, {
|
|
39782
|
+
icon: vue.withCtx(() => [
|
|
39783
|
+
vue.createVNode(vue.unref(MdiImageSizeSelectSmall))
|
|
39784
|
+
]),
|
|
39785
|
+
_: 1
|
|
39786
|
+
}, 8, ["selected"]),
|
|
39787
|
+
vue.createVNode(_sfc_main$7, {
|
|
39788
|
+
tooltip: "\u4E2D\u5C3A\u5BF8",
|
|
39789
|
+
selected: __props.node.attrs.width === "50%",
|
|
39790
|
+
onClick: _cache[4] || (_cache[4] = ($event) => handleSetSize("50%", "auto"))
|
|
39791
|
+
}, {
|
|
39792
|
+
icon: vue.withCtx(() => [
|
|
39793
|
+
vue.createVNode(vue.unref(MdiImageSizeSelectLarge))
|
|
39794
|
+
]),
|
|
39795
|
+
_: 1
|
|
39796
|
+
}, 8, ["selected"]),
|
|
39797
|
+
vue.createVNode(_sfc_main$7, {
|
|
39798
|
+
tooltip: "\u5168\u5C3A\u5BF8",
|
|
39799
|
+
selected: __props.node.attrs.width === "100%",
|
|
39800
|
+
onClick: _cache[5] || (_cache[5] = ($event) => handleSetSize("100%", "auto"))
|
|
39801
|
+
}, {
|
|
39802
|
+
icon: vue.withCtx(() => [
|
|
39803
|
+
vue.createVNode(vue.unref(MdiImageSizeSelectActual))
|
|
39804
|
+
]),
|
|
39805
|
+
_: 1
|
|
39806
|
+
}, 8, ["selected"]),
|
|
39807
|
+
vue.createVNode(BlockActionSeparator),
|
|
39808
|
+
vue.createVNode(_sfc_main$7, {
|
|
39809
|
+
tooltip: "\u6253\u5F00\u94FE\u63A5",
|
|
39810
|
+
onClick: handleOpenLink
|
|
39811
|
+
}, {
|
|
39812
|
+
icon: vue.withCtx(() => [
|
|
39813
|
+
vue.createVNode(vue.unref(MdiLinkVariant))
|
|
39814
|
+
]),
|
|
39815
|
+
_: 1
|
|
39816
|
+
})
|
|
39817
|
+
]),
|
|
39818
|
+
_: 1
|
|
39819
|
+
}, 8, ["editor", "get-pos", "delete-node", "selected"])
|
|
39820
|
+
]),
|
|
39821
|
+
_: 1
|
|
39822
|
+
});
|
|
39823
|
+
};
|
|
39824
|
+
}
|
|
39825
|
+
});
|
|
39826
|
+
const Video = Node.create({
|
|
39827
|
+
name: "video",
|
|
39828
|
+
inline() {
|
|
39829
|
+
return true;
|
|
39830
|
+
},
|
|
39831
|
+
group() {
|
|
39832
|
+
return "inline";
|
|
39833
|
+
},
|
|
39834
|
+
addAttributes() {
|
|
39835
|
+
var _a;
|
|
39836
|
+
return {
|
|
39837
|
+
...(_a = this.parent) == null ? void 0 : _a.call(this),
|
|
39838
|
+
src: {
|
|
39839
|
+
default: null,
|
|
39840
|
+
parseHTML: (element) => {
|
|
39841
|
+
return element.getAttribute("src");
|
|
39842
|
+
}
|
|
39843
|
+
},
|
|
39844
|
+
width: {
|
|
39845
|
+
default: "100%",
|
|
39846
|
+
parseHTML: (element) => {
|
|
39847
|
+
return element.getAttribute("width");
|
|
39848
|
+
},
|
|
39849
|
+
renderHTML(attributes) {
|
|
39850
|
+
return {
|
|
39851
|
+
width: attributes.width
|
|
39852
|
+
};
|
|
39853
|
+
}
|
|
39854
|
+
},
|
|
39855
|
+
height: {
|
|
39856
|
+
default: "auto",
|
|
39857
|
+
parseHTML: (element) => {
|
|
39858
|
+
return element.getAttribute("height");
|
|
39859
|
+
},
|
|
39860
|
+
renderHTML: (attributes) => {
|
|
39861
|
+
return {
|
|
39862
|
+
height: attributes.height
|
|
39863
|
+
};
|
|
39864
|
+
}
|
|
39865
|
+
},
|
|
39866
|
+
autoplay: {
|
|
39867
|
+
default: null,
|
|
39868
|
+
parseHTML: (element) => {
|
|
39869
|
+
return element.getAttribute("autoplay");
|
|
39870
|
+
},
|
|
39871
|
+
renderHTML: (attributes) => {
|
|
39872
|
+
return {
|
|
39873
|
+
autoplay: attributes.autoplay
|
|
39874
|
+
};
|
|
39875
|
+
}
|
|
39876
|
+
},
|
|
39877
|
+
controls: {
|
|
39878
|
+
default: null,
|
|
39879
|
+
parseHTML: (element) => {
|
|
39880
|
+
return element.getAttribute("controls");
|
|
39881
|
+
},
|
|
39882
|
+
renderHTML: (attributes) => {
|
|
39883
|
+
return {
|
|
39884
|
+
controls: attributes.controls
|
|
39885
|
+
};
|
|
39886
|
+
}
|
|
39887
|
+
},
|
|
39888
|
+
loop: {
|
|
39889
|
+
default: null,
|
|
39890
|
+
parseHTML: (element) => {
|
|
39891
|
+
return element.getAttribute("loop");
|
|
39892
|
+
},
|
|
39893
|
+
renderHTML: (attributes) => {
|
|
39894
|
+
return {
|
|
39895
|
+
loop: attributes.loop
|
|
39896
|
+
};
|
|
39897
|
+
}
|
|
39898
|
+
}
|
|
39899
|
+
};
|
|
39900
|
+
},
|
|
39901
|
+
parseHTML() {
|
|
39902
|
+
return [
|
|
39903
|
+
{
|
|
39904
|
+
tag: "video"
|
|
39905
|
+
}
|
|
39906
|
+
];
|
|
39907
|
+
},
|
|
39908
|
+
renderHTML({ HTMLAttributes }) {
|
|
39909
|
+
return [
|
|
39910
|
+
"video",
|
|
39911
|
+
mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)
|
|
39912
|
+
];
|
|
39913
|
+
},
|
|
39914
|
+
addCommands() {
|
|
39915
|
+
return {
|
|
39916
|
+
setVideo: (options) => ({ commands: commands2 }) => {
|
|
39917
|
+
return commands2.insertContent({
|
|
39918
|
+
type: this.name,
|
|
39919
|
+
attrs: options
|
|
39920
|
+
});
|
|
39921
|
+
}
|
|
39922
|
+
};
|
|
39923
|
+
},
|
|
39924
|
+
addInputRules() {
|
|
39925
|
+
return [
|
|
39926
|
+
nodeInputRule({
|
|
39927
|
+
find: /^\$video\$$/,
|
|
39928
|
+
type: this.type,
|
|
39929
|
+
getAttributes: () => {
|
|
39930
|
+
return { width: "100%" };
|
|
39931
|
+
}
|
|
39932
|
+
})
|
|
39933
|
+
];
|
|
39934
|
+
},
|
|
39935
|
+
addNodeView() {
|
|
39936
|
+
return VueNodeViewRenderer(_sfc_main$2);
|
|
39937
|
+
}
|
|
39938
|
+
});
|
|
39939
|
+
const _hoisted_1$s = { class: "inline-block overflow-hidden transition-all text-center relative h-full w-full" };
|
|
39940
|
+
const _hoisted_2$r = { class: "py-1.5" };
|
|
39941
|
+
const _hoisted_3$r = ["autoplay", "loop", "src"];
|
|
39942
|
+
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
|
|
39943
|
+
__name: "AudioView",
|
|
39944
|
+
props: {
|
|
39945
|
+
editor: null,
|
|
39946
|
+
node: null,
|
|
39947
|
+
decorations: null,
|
|
39948
|
+
selected: { type: Boolean },
|
|
39949
|
+
extension: null,
|
|
39950
|
+
getPos: null,
|
|
39951
|
+
updateAttributes: null,
|
|
39952
|
+
deleteNode: null
|
|
39953
|
+
},
|
|
39954
|
+
setup(__props) {
|
|
39955
|
+
const props = __props;
|
|
39956
|
+
const src = vue.computed({
|
|
39957
|
+
get: () => {
|
|
39958
|
+
var _a;
|
|
39959
|
+
return (_a = props.node) == null ? void 0 : _a.attrs.src;
|
|
39960
|
+
},
|
|
39961
|
+
set: (src2) => {
|
|
39962
|
+
props.updateAttributes({ src: src2 });
|
|
39963
|
+
}
|
|
39964
|
+
});
|
|
39965
|
+
const autoplay = vue.computed(() => {
|
|
39966
|
+
return props.node.attrs.autoplay;
|
|
39967
|
+
});
|
|
39968
|
+
const loop = vue.computed(() => {
|
|
39969
|
+
return props.node.attrs.loop;
|
|
39970
|
+
});
|
|
39971
|
+
function handleSetFocus() {
|
|
39972
|
+
props.editor.commands.setNodeSelection(props.getPos());
|
|
39973
|
+
}
|
|
39974
|
+
function handleToggleAutoplay() {
|
|
39975
|
+
props.updateAttributes({
|
|
39976
|
+
autoplay: props.node.attrs.autoplay ? null : true
|
|
39977
|
+
});
|
|
39978
|
+
props.editor.chain().focus().setNodeSelection(props.getPos()).run();
|
|
39979
|
+
}
|
|
39980
|
+
function handleToggleLoop() {
|
|
39981
|
+
props.updateAttributes({
|
|
39982
|
+
loop: props.node.attrs.loop ? null : true
|
|
39983
|
+
});
|
|
39984
|
+
props.editor.chain().focus().setNodeSelection(props.getPos()).run();
|
|
39985
|
+
}
|
|
39986
|
+
function handleOpenLink() {
|
|
39987
|
+
window.open(src.value, "_blank");
|
|
39988
|
+
}
|
|
39989
|
+
return (_ctx, _cache) => {
|
|
39990
|
+
return vue.openBlock(), vue.createBlock(vue.unref(NodeViewWrapper), { as: "div" }, {
|
|
39991
|
+
default: vue.withCtx(() => [
|
|
39992
|
+
vue.createVNode(_sfc_main$6, {
|
|
39993
|
+
editor: __props.editor,
|
|
39994
|
+
"get-pos": __props.getPos,
|
|
39995
|
+
"delete-node": __props.deleteNode,
|
|
39996
|
+
selected: __props.selected
|
|
39997
|
+
}, {
|
|
39998
|
+
content: vue.withCtx(() => [
|
|
39999
|
+
vue.createElementVNode("div", _hoisted_1$s, [
|
|
40000
|
+
vue.createElementVNode("div", _hoisted_2$r, [
|
|
40001
|
+
vue.withDirectives(vue.createElementVNode("input", {
|
|
40002
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(src) ? src.value = $event : null),
|
|
40003
|
+
class: "block px-2 w-full py-1.5 text-sm text-gray-900 border border-gray-300 rounded-md bg-gray-50 focus:ring-blue-500 focus:border-blue-500",
|
|
40004
|
+
placeholder: "\u8F93\u5165\u94FE\u63A5\uFF0C\u6309\u56DE\u8F66\u786E\u5B9A",
|
|
40005
|
+
tabindex: "-1",
|
|
40006
|
+
onFocus: handleSetFocus
|
|
40007
|
+
}, null, 544), [
|
|
40008
|
+
[
|
|
40009
|
+
vue.vModelText,
|
|
40010
|
+
vue.unref(src),
|
|
40011
|
+
void 0,
|
|
40012
|
+
{ lazy: true }
|
|
40013
|
+
]
|
|
40014
|
+
])
|
|
40015
|
+
]),
|
|
40016
|
+
vue.unref(src) ? (vue.openBlock(), vue.createElementBlock("audio", {
|
|
40017
|
+
key: 0,
|
|
40018
|
+
controls: "",
|
|
40019
|
+
autoplay: vue.unref(autoplay),
|
|
40020
|
+
loop: vue.unref(loop),
|
|
40021
|
+
src: __props.node.attrs.src,
|
|
40022
|
+
onMouseenter: handleSetFocus
|
|
40023
|
+
}, null, 40, _hoisted_3$r)) : vue.createCommentVNode("", true)
|
|
40024
|
+
])
|
|
40025
|
+
]),
|
|
40026
|
+
actions: vue.withCtx(() => [
|
|
40027
|
+
vue.createVNode(_sfc_main$7, {
|
|
40028
|
+
selected: vue.unref(autoplay),
|
|
40029
|
+
tooltip: `${vue.unref(autoplay) ? "\u5173\u95ED\u81EA\u52A8\u64AD\u653E" : "\u5F00\u542F\u81EA\u52A8\u64AD\u653E"}`,
|
|
40030
|
+
onClick: handleToggleAutoplay
|
|
40031
|
+
}, {
|
|
40032
|
+
icon: vue.withCtx(() => [
|
|
40033
|
+
vue.unref(autoplay) ? (vue.openBlock(), vue.createBlock(vue.unref(MdiPlayCircle), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(MdiPlayCircleOutline), { key: 1 }))
|
|
40034
|
+
]),
|
|
40035
|
+
_: 1
|
|
40036
|
+
}, 8, ["selected", "tooltip"]),
|
|
40037
|
+
vue.createVNode(_sfc_main$7, {
|
|
40038
|
+
selected: vue.unref(loop),
|
|
40039
|
+
tooltip: `${vue.unref(loop) ? "\u5173\u95ED\u5FAA\u73AF\u64AD\u653E" : "\u5F00\u542F\u5FAA\u73AF\u64AD\u653E"}`,
|
|
40040
|
+
onClick: handleToggleLoop
|
|
40041
|
+
}, {
|
|
40042
|
+
icon: vue.withCtx(() => [
|
|
40043
|
+
vue.unref(loop) ? (vue.openBlock(), vue.createBlock(vue.unref(MdiMotionPlay), { key: 0 })) : (vue.openBlock(), vue.createBlock(vue.unref(MdiMotionPlayOutline), { key: 1 }))
|
|
40044
|
+
]),
|
|
40045
|
+
_: 1
|
|
40046
|
+
}, 8, ["selected", "tooltip"]),
|
|
40047
|
+
vue.createVNode(BlockActionSeparator),
|
|
40048
|
+
vue.createVNode(_sfc_main$7, {
|
|
40049
|
+
tooltip: "\u6253\u5F00\u94FE\u63A5",
|
|
40050
|
+
onClick: handleOpenLink
|
|
40051
|
+
}, {
|
|
40052
|
+
icon: vue.withCtx(() => [
|
|
40053
|
+
vue.createVNode(vue.unref(MdiLinkVariant))
|
|
40054
|
+
]),
|
|
40055
|
+
_: 1
|
|
40056
|
+
})
|
|
40057
|
+
]),
|
|
40058
|
+
_: 1
|
|
40059
|
+
}, 8, ["editor", "get-pos", "delete-node", "selected"])
|
|
40060
|
+
]),
|
|
40061
|
+
_: 1
|
|
40062
|
+
});
|
|
40063
|
+
};
|
|
40064
|
+
}
|
|
40065
|
+
});
|
|
40066
|
+
const Audio = Node.create({
|
|
40067
|
+
name: "audio",
|
|
40068
|
+
inline() {
|
|
40069
|
+
return true;
|
|
40070
|
+
},
|
|
40071
|
+
group() {
|
|
40072
|
+
return "inline";
|
|
40073
|
+
},
|
|
40074
|
+
addAttributes() {
|
|
40075
|
+
var _a;
|
|
40076
|
+
return {
|
|
40077
|
+
...(_a = this.parent) == null ? void 0 : _a.call(this),
|
|
40078
|
+
src: {
|
|
40079
|
+
default: null,
|
|
40080
|
+
parseHTML: (element) => {
|
|
40081
|
+
return element.getAttribute("src");
|
|
40082
|
+
}
|
|
40083
|
+
},
|
|
40084
|
+
autoplay: {
|
|
40085
|
+
default: null,
|
|
40086
|
+
parseHTML: (element) => {
|
|
40087
|
+
return element.getAttribute("autoplay");
|
|
40088
|
+
},
|
|
40089
|
+
renderHTML: (attributes) => {
|
|
40090
|
+
return {
|
|
40091
|
+
autoplay: attributes.autoplay
|
|
40092
|
+
};
|
|
40093
|
+
}
|
|
40094
|
+
},
|
|
40095
|
+
controls: {
|
|
40096
|
+
default: true,
|
|
40097
|
+
parseHTML: (element) => {
|
|
40098
|
+
return element.getAttribute("controls");
|
|
40099
|
+
},
|
|
40100
|
+
renderHTML: (attributes) => {
|
|
40101
|
+
return {
|
|
40102
|
+
controls: attributes.controls
|
|
40103
|
+
};
|
|
40104
|
+
}
|
|
40105
|
+
},
|
|
40106
|
+
loop: {
|
|
40107
|
+
default: null,
|
|
40108
|
+
parseHTML: (element) => {
|
|
40109
|
+
return element.getAttribute("loop");
|
|
40110
|
+
},
|
|
40111
|
+
renderHTML: (attributes) => {
|
|
40112
|
+
return {
|
|
40113
|
+
loop: attributes.loop
|
|
40114
|
+
};
|
|
40115
|
+
}
|
|
40116
|
+
}
|
|
40117
|
+
};
|
|
40118
|
+
},
|
|
40119
|
+
parseHTML() {
|
|
40120
|
+
return [
|
|
40121
|
+
{
|
|
40122
|
+
tag: "audio"
|
|
40123
|
+
}
|
|
40124
|
+
];
|
|
40125
|
+
},
|
|
40126
|
+
renderHTML({ HTMLAttributes }) {
|
|
40127
|
+
return [
|
|
40128
|
+
"audio",
|
|
40129
|
+
mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)
|
|
40130
|
+
];
|
|
40131
|
+
},
|
|
40132
|
+
addCommands() {
|
|
40133
|
+
return {
|
|
40134
|
+
setAudio: (options) => ({ commands: commands2 }) => {
|
|
40135
|
+
return commands2.insertContent({
|
|
40136
|
+
type: this.name,
|
|
40137
|
+
attrs: options
|
|
40138
|
+
});
|
|
40139
|
+
}
|
|
40140
|
+
};
|
|
40141
|
+
},
|
|
40142
|
+
addInputRules() {
|
|
40143
|
+
return [
|
|
40144
|
+
nodeInputRule({
|
|
40145
|
+
find: /^\$audio\$$/,
|
|
40146
|
+
type: this.type,
|
|
40147
|
+
getAttributes: () => {
|
|
40148
|
+
return { width: "100%" };
|
|
40149
|
+
}
|
|
40150
|
+
})
|
|
40151
|
+
];
|
|
40152
|
+
},
|
|
40153
|
+
addNodeView() {
|
|
40154
|
+
return VueNodeViewRenderer(_sfc_main$1);
|
|
40155
|
+
}
|
|
40156
|
+
});
|
|
40157
|
+
const inputRegex = /(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/;
|
|
40158
|
+
const Image$1 = Node.create({
|
|
40159
|
+
name: "image",
|
|
40160
|
+
addOptions() {
|
|
40161
|
+
return {
|
|
40162
|
+
inline: false,
|
|
40163
|
+
allowBase64: false,
|
|
40164
|
+
HTMLAttributes: {}
|
|
40165
|
+
};
|
|
40166
|
+
},
|
|
40167
|
+
inline() {
|
|
40168
|
+
return this.options.inline;
|
|
40169
|
+
},
|
|
40170
|
+
group() {
|
|
40171
|
+
return this.options.inline ? "inline" : "block";
|
|
40172
|
+
},
|
|
40173
|
+
draggable: true,
|
|
40174
|
+
addAttributes() {
|
|
40175
|
+
return {
|
|
40176
|
+
src: {
|
|
40177
|
+
default: null
|
|
40178
|
+
},
|
|
40179
|
+
alt: {
|
|
40180
|
+
default: null
|
|
40181
|
+
},
|
|
40182
|
+
title: {
|
|
40183
|
+
default: null
|
|
40184
|
+
}
|
|
40185
|
+
};
|
|
40186
|
+
},
|
|
40187
|
+
parseHTML() {
|
|
40188
|
+
return [
|
|
40189
|
+
{
|
|
40190
|
+
tag: this.options.allowBase64 ? "img[src]" : 'img[src]:not([src^="data:"])'
|
|
40191
|
+
}
|
|
40192
|
+
];
|
|
40193
|
+
},
|
|
40194
|
+
renderHTML({ HTMLAttributes }) {
|
|
40195
|
+
return ["img", mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
|
|
40196
|
+
},
|
|
40197
|
+
addCommands() {
|
|
40198
|
+
return {
|
|
40199
|
+
setImage: (options) => ({ commands: commands2 }) => {
|
|
40200
|
+
return commands2.insertContent({
|
|
40201
|
+
type: this.name,
|
|
40202
|
+
attrs: options
|
|
40203
|
+
});
|
|
40204
|
+
}
|
|
40205
|
+
};
|
|
40206
|
+
},
|
|
40207
|
+
addInputRules() {
|
|
40208
|
+
return [
|
|
40209
|
+
nodeInputRule({
|
|
40210
|
+
find: inputRegex,
|
|
40211
|
+
type: this.type,
|
|
40212
|
+
getAttributes: (match) => {
|
|
40213
|
+
const [, , alt, src, title] = match;
|
|
40214
|
+
return { src, alt, title };
|
|
40215
|
+
}
|
|
40216
|
+
})
|
|
40217
|
+
];
|
|
40218
|
+
}
|
|
40219
|
+
});
|
|
40220
|
+
const _hoisted_1$r = ["src", "title", "alt"];
|
|
40221
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
40222
|
+
__name: "ImageView",
|
|
40223
|
+
props: {
|
|
40224
|
+
editor: null,
|
|
40225
|
+
node: null,
|
|
40226
|
+
decorations: null,
|
|
40227
|
+
selected: { type: Boolean },
|
|
40228
|
+
extension: null,
|
|
40229
|
+
getPos: null,
|
|
40230
|
+
updateAttributes: null,
|
|
40231
|
+
deleteNode: null
|
|
40232
|
+
},
|
|
40233
|
+
setup(__props) {
|
|
40234
|
+
const props = __props;
|
|
40235
|
+
const src = vue.computed(() => {
|
|
40236
|
+
return props.node.attrs.src;
|
|
40237
|
+
});
|
|
40238
|
+
const alt = vue.computed({
|
|
40239
|
+
get: () => {
|
|
40240
|
+
var _a;
|
|
40241
|
+
return (_a = props.node) == null ? void 0 : _a.attrs.alt;
|
|
40242
|
+
},
|
|
40243
|
+
set: (alt2) => {
|
|
40244
|
+
props.updateAttributes({ alt: alt2 });
|
|
40245
|
+
}
|
|
40246
|
+
});
|
|
40247
|
+
const width = vue.computed({
|
|
40248
|
+
get: () => {
|
|
40249
|
+
var _a;
|
|
40250
|
+
return (_a = props.node) == null ? void 0 : _a.attrs.width;
|
|
40251
|
+
},
|
|
40252
|
+
set: (value) => {
|
|
40253
|
+
handleSetSize(value, height.value);
|
|
40254
|
+
}
|
|
40255
|
+
});
|
|
40256
|
+
const height = vue.computed({
|
|
40257
|
+
get: () => {
|
|
40258
|
+
var _a;
|
|
40259
|
+
return (_a = props.node) == null ? void 0 : _a.attrs.height;
|
|
40260
|
+
},
|
|
40261
|
+
set: (value) => {
|
|
40262
|
+
handleSetSize(width.value, value);
|
|
40263
|
+
}
|
|
40264
|
+
});
|
|
40265
|
+
function handleSetSize(width2, height2) {
|
|
40266
|
+
props.updateAttributes({ width: width2, height: height2 });
|
|
40267
|
+
props.editor.chain().focus().setNodeSelection(props.getPos()).run();
|
|
40268
|
+
}
|
|
40269
|
+
function handleOpenLink() {
|
|
40270
|
+
window.open(src.value, "_blank");
|
|
40271
|
+
}
|
|
40272
|
+
return (_ctx, _cache) => {
|
|
40273
|
+
return vue.openBlock(), vue.createBlock(vue.unref(NodeViewWrapper), { as: "div" }, {
|
|
40274
|
+
default: vue.withCtx(() => [
|
|
40275
|
+
vue.createVNode(_sfc_main$6, {
|
|
40276
|
+
selected: __props.selected,
|
|
40277
|
+
editor: __props.editor,
|
|
40278
|
+
"delete-node": __props.deleteNode,
|
|
40279
|
+
"get-pos": __props.getPos
|
|
40280
|
+
}, {
|
|
40281
|
+
content: vue.withCtx(() => [
|
|
40282
|
+
vue.createElementVNode("div", {
|
|
40283
|
+
class: vue.normalizeClass(["inline-block overflow-hidden transition-all text-center relative", {
|
|
40284
|
+
"ring-2 rounded": __props.selected
|
|
40285
|
+
}]),
|
|
40286
|
+
style: vue.normalizeStyle({
|
|
40287
|
+
width: __props.node.attrs.width,
|
|
40288
|
+
height: __props.node.attrs.height
|
|
39437
40289
|
})
|
|
39438
40290
|
}, [
|
|
39439
40291
|
vue.createElementVNode("img", {
|
|
@@ -39445,20 +40297,20 @@ img.ProseMirror-separator {
|
|
|
39445
40297
|
], 6)
|
|
39446
40298
|
]),
|
|
39447
40299
|
actions: vue.withCtx(() => [
|
|
39448
|
-
vue.createVNode(_sfc_main$
|
|
40300
|
+
vue.createVNode(_sfc_main$4, {
|
|
39449
40301
|
modelValue: vue.unref(width),
|
|
39450
40302
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(width) ? width.value = $event : null),
|
|
39451
40303
|
modelModifiers: { lazy: true, trim: true },
|
|
39452
40304
|
tooltip: "\u81EA\u5B9A\u4E49\u5BBD\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
|
|
39453
40305
|
}, null, 8, ["modelValue"]),
|
|
39454
|
-
vue.createVNode(_sfc_main$
|
|
40306
|
+
vue.createVNode(_sfc_main$4, {
|
|
39455
40307
|
modelValue: vue.unref(height),
|
|
39456
40308
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(height) ? height.value = $event : null),
|
|
39457
40309
|
modelModifiers: { lazy: true, trim: true },
|
|
39458
40310
|
tooltip: "\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
|
|
39459
40311
|
}, null, 8, ["modelValue"]),
|
|
39460
40312
|
vue.createVNode(BlockActionSeparator),
|
|
39461
|
-
vue.createVNode(_sfc_main$
|
|
40313
|
+
vue.createVNode(_sfc_main$7, {
|
|
39462
40314
|
tooltip: "\u5C0F\u5C3A\u5BF8",
|
|
39463
40315
|
selected: __props.node.attrs.width === "25%",
|
|
39464
40316
|
onClick: _cache[2] || (_cache[2] = ($event) => handleSetSize("25%", "auto"))
|
|
@@ -39468,7 +40320,7 @@ img.ProseMirror-separator {
|
|
|
39468
40320
|
]),
|
|
39469
40321
|
_: 1
|
|
39470
40322
|
}, 8, ["selected"]),
|
|
39471
|
-
vue.createVNode(_sfc_main$
|
|
40323
|
+
vue.createVNode(_sfc_main$7, {
|
|
39472
40324
|
tooltip: "\u4E2D\u5C3A\u5BF8",
|
|
39473
40325
|
selected: __props.node.attrs.width === "50%",
|
|
39474
40326
|
onClick: _cache[3] || (_cache[3] = ($event) => handleSetSize("50%", "auto"))
|
|
@@ -39478,7 +40330,7 @@ img.ProseMirror-separator {
|
|
|
39478
40330
|
]),
|
|
39479
40331
|
_: 1
|
|
39480
40332
|
}, 8, ["selected"]),
|
|
39481
|
-
vue.createVNode(_sfc_main$
|
|
40333
|
+
vue.createVNode(_sfc_main$7, {
|
|
39482
40334
|
tooltip: "\u5168\u5C3A\u5BF8",
|
|
39483
40335
|
selected: __props.node.attrs.width === "100%",
|
|
39484
40336
|
onClick: _cache[4] || (_cache[4] = ($event) => handleSetSize("100%", "100%"))
|
|
@@ -39489,7 +40341,7 @@ img.ProseMirror-separator {
|
|
|
39489
40341
|
_: 1
|
|
39490
40342
|
}, 8, ["selected"]),
|
|
39491
40343
|
vue.createVNode(BlockActionSeparator),
|
|
39492
|
-
vue.createVNode(_sfc_main$
|
|
40344
|
+
vue.createVNode(_sfc_main$7, {
|
|
39493
40345
|
tooltip: "\u6253\u5F00\u94FE\u63A5",
|
|
39494
40346
|
onClick: handleOpenLink
|
|
39495
40347
|
}, {
|
|
@@ -39558,7 +40410,7 @@ img.ProseMirror-separator {
|
|
|
39558
40410
|
parseHTML() {
|
|
39559
40411
|
return [
|
|
39560
40412
|
{
|
|
39561
|
-
tag: "img[src]"
|
|
40413
|
+
tag: this.options.allowBase64 ? "img[src]" : 'img[src]:not([src^="data:"])'
|
|
39562
40414
|
}
|
|
39563
40415
|
];
|
|
39564
40416
|
}
|
|
@@ -41851,7 +42703,9 @@ img.ProseMirror-separator {
|
|
|
41851
42703
|
ExtensionCodeBlock.configure({
|
|
41852
42704
|
lowlight
|
|
41853
42705
|
}),
|
|
41854
|
-
Iframe
|
|
42706
|
+
Iframe,
|
|
42707
|
+
Video,
|
|
42708
|
+
Audio
|
|
41855
42709
|
];
|
|
41856
42710
|
const _hoisted_1$q = {
|
|
41857
42711
|
viewBox: "0 0 24 24",
|
|
@@ -42616,7 +43470,7 @@ img.ProseMirror-separator {
|
|
|
42616
43470
|
}
|
|
42617
43471
|
const plugin = {
|
|
42618
43472
|
install(app) {
|
|
42619
|
-
app.component("RichTextEditor", _sfc_main$
|
|
43473
|
+
app.component("RichTextEditor", _sfc_main$a);
|
|
42620
43474
|
}
|
|
42621
43475
|
};
|
|
42622
43476
|
exports.AlignCenterMenuItem = AlignCenterMenuItem;
|
|
@@ -42628,6 +43482,7 @@ img.ProseMirror-separator {
|
|
|
42628
43482
|
exports.BulletListMenuItem = BulletListMenuItem;
|
|
42629
43483
|
exports.CodeBlockMenuItem = CodeBlockMenuItem;
|
|
42630
43484
|
exports.CodeMenuItem = CodeMenuItem;
|
|
43485
|
+
exports.CommandAudio = CommandAudio;
|
|
42631
43486
|
exports.CommandBulletList = CommandBulletList;
|
|
42632
43487
|
exports.CommandCodeBlock = CommandCodeBlock;
|
|
42633
43488
|
exports.CommandHeader1 = CommandHeader1;
|
|
@@ -42641,11 +43496,13 @@ img.ProseMirror-separator {
|
|
|
42641
43496
|
exports.CommandOrderedList = CommandOrderedList;
|
|
42642
43497
|
exports.CommandTable = CommandTable;
|
|
42643
43498
|
exports.CommandTaskList = CommandTaskList;
|
|
43499
|
+
exports.CommandVideo = CommandVideo;
|
|
42644
43500
|
exports.CommandsSuggestion = suggestion;
|
|
42645
43501
|
exports.CommentParagraph = CommentParagraph;
|
|
42646
43502
|
exports.Editor = Editor;
|
|
42647
43503
|
exports.EditorContent = EditorContent;
|
|
42648
43504
|
exports.Extension = Extension;
|
|
43505
|
+
exports.ExtensionAudio = Audio;
|
|
42649
43506
|
exports.ExtensionBlockquote = Blockquote;
|
|
42650
43507
|
exports.ExtensionBold = Bold;
|
|
42651
43508
|
exports.ExtensionBulletList = BulletList;
|
|
@@ -42677,6 +43534,7 @@ img.ProseMirror-separator {
|
|
|
42677
43534
|
exports.ExtensionText = Text$1;
|
|
42678
43535
|
exports.ExtensionTextAlign = TextAlign;
|
|
42679
43536
|
exports.ExtensionUnderline = Underline;
|
|
43537
|
+
exports.ExtensionVideo = Video;
|
|
42680
43538
|
exports.FloatingMenu = FloatingMenu;
|
|
42681
43539
|
exports.HeadingMenuItem = HeadingMenuItem;
|
|
42682
43540
|
exports.HighlightMenuItem = HighlightMenuItem;
|
|
@@ -42691,7 +43549,7 @@ img.ProseMirror-separator {
|
|
|
42691
43549
|
exports.PasteRule = PasteRule;
|
|
42692
43550
|
exports.QuoteMenuItem = QuoteMenuItem;
|
|
42693
43551
|
exports.RedoMenuItem = RedoMenuItem;
|
|
42694
|
-
exports.RichTextEditor = _sfc_main$
|
|
43552
|
+
exports.RichTextEditor = _sfc_main$a;
|
|
42695
43553
|
exports.Separator = Separator;
|
|
42696
43554
|
exports.StrikeMenuItem = StrikeMenuItem;
|
|
42697
43555
|
exports.SubScriptMenuItem = SubScriptMenuItem;
|