@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.
Files changed (32) hide show
  1. package/dist/components/EditorHeader.vue.d.ts +19 -0
  2. package/dist/components/EditorLinkBubbleMenuItems.vue.d.ts +23 -0
  3. package/dist/components/block/BlockActionButton.vue.d.ts +27 -0
  4. package/dist/components/block/BlockActionInput.vue.d.ts +30 -0
  5. package/dist/components/block/BlockActionSeparator.vue.d.ts +2 -0
  6. package/dist/components/block/BlockCard.vue.d.ts +73 -0
  7. package/dist/extensions/audio/AudioView.vue.d.ts +98 -0
  8. package/dist/extensions/audio/index.d.ts +12 -0
  9. package/dist/extensions/code-block/CodeBlockViewRenderer.vue.d.ts +99 -0
  10. package/dist/extensions/code-block/code-block.d.ts +2 -0
  11. package/dist/extensions/code-block/index.d.ts +2 -0
  12. package/dist/extensions/code-block/lowlight.d.ts +2 -0
  13. package/dist/extensions/commands-menu/CommandsView.vue.d.ts +33 -0
  14. package/dist/extensions/commands-menu/commands.d.ts +3 -0
  15. package/dist/extensions/commands-menu/index.d.ts +3 -0
  16. package/dist/extensions/commands-menu/suggestion.d.ts +29 -0
  17. package/dist/extensions/iframe/IframeView.vue.d.ts +102 -0
  18. package/dist/extensions/iframe/index.d.ts +12 -0
  19. package/dist/extensions/image/ImageView.vue.d.ts +97 -0
  20. package/dist/extensions/image/index.d.ts +2 -0
  21. package/dist/extensions/index.d.ts +35 -0
  22. package/dist/extensions/table/index.d.ts +2 -0
  23. package/dist/extensions/video/VideoView.vue.d.ts +109 -0
  24. package/dist/extensions/video/index.d.ts +12 -0
  25. package/dist/index.d.ts +9 -0
  26. package/dist/menus/index.d.ts +32 -0
  27. package/dist/rich-text-editor.es.js +1163 -305
  28. package/dist/rich-text-editor.es.js.map +1 -1
  29. package/dist/rich-text-editor.iife.js +1224 -366
  30. package/dist/rich-text-editor.iife.js.map +1 -1
  31. package/dist/style.css +24 -4
  32. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, onMounted, onBeforeUnmount, h, reactive, markRaw, getCurrentInstance, watchEffect, nextTick, unref, Teleport, shallowRef, customRef, provide, pushScopeId, popScopeId, openBlock, createBlock, createElementBlock, normalizeClass, renderSlot, normalizeProps, guardReactiveProps, withScopeId, resolveComponent, normalizeStyle, withKeys, createElementVNode, Fragment as Fragment$1, createCommentVNode, withCtx, createVNode, createApp, mergeProps, toDisplayString, renderList, withDirectives, resolveDynamicComponent, watch, computed, isRef, vModelSelect, vModelText } from "vue";
1
+ import { defineComponent, ref, onMounted, onBeforeUnmount, h, reactive, markRaw, getCurrentInstance, watchEffect, nextTick, unref, Teleport, shallowRef, customRef, provide, pushScopeId, popScopeId, openBlock, createBlock, createElementBlock, normalizeClass, renderSlot, normalizeProps, guardReactiveProps, withScopeId, resolveComponent, normalizeStyle, withKeys, createElementVNode, Fragment as Fragment$1, createCommentVNode, withCtx, createVNode, createApp, mergeProps, toDisplayString, renderList, withDirectives, resolveDynamicComponent, computed, isRef, vModelText, vModelCheckbox, watch, vModelSelect } from "vue";
2
2
  function OrderedMap(content) {
3
3
  this.content = content;
4
4
  }
@@ -15026,7 +15026,7 @@ function getChildren(popper2) {
15026
15026
  })
15027
15027
  };
15028
15028
  }
15029
- function render$Q(instance) {
15029
+ function render$_(instance) {
15030
15030
  var popper2 = div();
15031
15031
  var box = div();
15032
15032
  box.className = BOX_CLASS;
@@ -15081,7 +15081,7 @@ function render$Q(instance) {
15081
15081
  onUpdate
15082
15082
  };
15083
15083
  }
15084
- render$Q.$$tippy = true;
15084
+ render$_.$$tippy = true;
15085
15085
  var idCounter = 1;
15086
15086
  var mouseMoveListeners = [];
15087
15087
  var mountedInstances = [];
@@ -15854,7 +15854,7 @@ Object.assign({}, applyStyles$1, {
15854
15854
  }
15855
15855
  });
15856
15856
  tippy.setDefaultProps({
15857
- render: render$Q
15857
+ render: render$_
15858
15858
  });
15859
15859
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
15860
15860
  function isObject$2(value) {
@@ -19073,10 +19073,10 @@ const _hoisted_1$2$1 = {
19073
19073
  tabindex: "-1"
19074
19074
  };
19075
19075
  popScopeId();
19076
- const render$P = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {
19076
+ const render$Z = /* @__PURE__ */ _withId((_ctx, _cache, $props, $setup, $data, $options) => {
19077
19077
  return openBlock(), createBlock("div", _hoisted_1$2$1);
19078
19078
  });
19079
- script.render = render$P;
19079
+ script.render = render$Z;
19080
19080
  script.__scopeId = "data-v-b329ee4c";
19081
19081
  script.__file = "src/components/ResizeObserver.vue";
19082
19082
  var PrivateThemeClass = (prop = "theme") => ({
@@ -19123,11 +19123,11 @@ const _hoisted_2$1$1 = {
19123
19123
  ref: "inner",
19124
19124
  class: "v-popper__inner"
19125
19125
  };
19126
- const _hoisted_3$T = /* @__PURE__ */ createElementVNode("div", { class: "v-popper__arrow-outer" }, null, -1);
19127
- const _hoisted_4$2 = /* @__PURE__ */ createElementVNode("div", { class: "v-popper__arrow-inner" }, null, -1);
19126
+ const _hoisted_3$14 = /* @__PURE__ */ createElementVNode("div", { class: "v-popper__arrow-outer" }, null, -1);
19127
+ const _hoisted_4$3 = /* @__PURE__ */ createElementVNode("div", { class: "v-popper__arrow-inner" }, null, -1);
19128
19128
  const _hoisted_5$2 = [
19129
- _hoisted_3$T,
19130
- _hoisted_4$2
19129
+ _hoisted_3$14,
19130
+ _hoisted_4$3
19131
19131
  ];
19132
19132
  function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
19133
19133
  const _component_ResizeObserver = resolveComponent("ResizeObserver");
@@ -19304,7 +19304,7 @@ defineComponent(__spreadProps(__spreadValues({}, PrivatePopperWrapper), {
19304
19304
  name: "VTooltip",
19305
19305
  vPopperTheme: "tooltip"
19306
19306
  }));
19307
- const _sfc_main$b = defineComponent({
19307
+ const _sfc_main$e = defineComponent({
19308
19308
  name: "VTooltipDirective",
19309
19309
  components: {
19310
19310
  Popper: PrivatePopper(),
@@ -19395,8 +19395,8 @@ const _sfc_main$b = defineComponent({
19395
19395
  }
19396
19396
  }
19397
19397
  });
19398
- const _hoisted_1$Y = ["innerHTML"];
19399
- const _hoisted_2$W = ["textContent"];
19398
+ const _hoisted_1$19 = ["innerHTML"];
19399
+ const _hoisted_2$17 = ["textContent"];
19400
19400
  function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
19401
19401
  const _component_PopperContent = resolveComponent("PopperContent");
19402
19402
  const _component_Popper = resolveComponent("Popper");
@@ -19439,10 +19439,10 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
19439
19439
  _ctx.html ? (openBlock(), createElementBlock("div", {
19440
19440
  key: 0,
19441
19441
  innerHTML: _ctx.finalContent
19442
- }, null, 8, _hoisted_1$Y)) : (openBlock(), createElementBlock("div", {
19442
+ }, null, 8, _hoisted_1$19)) : (openBlock(), createElementBlock("div", {
19443
19443
  key: 1,
19444
19444
  textContent: toDisplayString(_ctx.finalContent)
19445
- }, null, 8, _hoisted_2$W))
19445
+ }, null, 8, _hoisted_2$17))
19446
19446
  ]),
19447
19447
  _: 2
19448
19448
  }, 1032, ["class", "popper-id", "theme", "shown", "mounted", "skip-transition", "auto-hide", "handle-resize", "classes", "result", "onHide", "onResize"])
@@ -19450,7 +19450,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
19450
19450
  _: 1
19451
19451
  }, 16, ["theme", "popper-node", "onApplyShow", "onApplyHide"]);
19452
19452
  }
19453
- var PrivateTooltipDirective = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["render", _sfc_render$4]]);
19453
+ var PrivateTooltipDirective = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["render", _sfc_render$4]]);
19454
19454
  const TARGET_CLASS = "v-popper--has-tooltip";
19455
19455
  function getPlacement(options2, modifiers2) {
19456
19456
  let result = options2.placement;
@@ -19577,22 +19577,22 @@ var PrivateVTooltip = {
19577
19577
  const VTooltip = PrivateVTooltip;
19578
19578
  const Dropdown = _sfc_main$3$1;
19579
19579
  const Menu = _sfc_main$2$1;
19580
- const _hoisted_1$X = { class: "editor-header flex items-center py-1 space-x-0.5 justify-center border-b drop-shadow-sm bg-white" };
19581
- const _hoisted_2$V = {
19580
+ 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" };
19581
+ const _hoisted_2$16 = {
19582
19582
  key: 0,
19583
19583
  class: "px-1"
19584
19584
  };
19585
- const _hoisted_3$S = /* @__PURE__ */ createElementVNode("div", {
19585
+ const _hoisted_3$13 = /* @__PURE__ */ createElementVNode("div", {
19586
19586
  class: "h-5 bg-gray-100",
19587
19587
  style: { "width": "1px" }
19588
19588
  }, null, -1);
19589
- const _hoisted_4$1 = [
19590
- _hoisted_3$S
19589
+ const _hoisted_4$2 = [
19590
+ _hoisted_3$13
19591
19591
  ];
19592
19592
  const _hoisted_5$1 = ["onClick"];
19593
19593
  const _hoisted_6$1 = { class: "relative rounded-md bg-white overflow-hidden drop-shadow w-48 p-1 max-h-72 overflow-y-auto" };
19594
19594
  const _hoisted_7 = ["onClick"];
19595
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
19595
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
19596
19596
  __name: "EditorHeader",
19597
19597
  props: {
19598
19598
  menuItems: {
@@ -19603,14 +19603,14 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
19603
19603
  },
19604
19604
  setup(__props) {
19605
19605
  return (_ctx, _cache) => {
19606
- return openBlock(), createElementBlock("div", _hoisted_1$X, [
19606
+ return openBlock(), createElementBlock("div", _hoisted_1$18, [
19607
19607
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(__props.menuItems, (menuItem, index2) => {
19608
19608
  var _a, _b;
19609
19609
  return openBlock(), createElementBlock("div", {
19610
19610
  key: index2,
19611
19611
  class: "inline-flex items-center justify-center"
19612
19612
  }, [
19613
- menuItem.type === "separator" ? (openBlock(), createElementBlock("div", _hoisted_2$V, _hoisted_4$1)) : (openBlock(), createElementBlock(Fragment$1, { key: 1 }, [
19613
+ menuItem.type === "separator" ? (openBlock(), createElementBlock("div", _hoisted_2$16, _hoisted_4$2)) : (openBlock(), createElementBlock(Fragment$1, { key: 1 }, [
19614
19614
  !((_a = menuItem.children) == null ? void 0 : _a.length) ? withDirectives((openBlock(), createElementBlock("button", {
19615
19615
  key: 0,
19616
19616
  class: normalizeClass([{ "bg-gray-200": (_b = menuItem.isActive) == null ? void 0 : _b.call(menuItem) }, "hover:bg-gray-100 p-1 rounded-sm"]),
@@ -19662,9 +19662,172 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
19662
19662
  }
19663
19663
  });
19664
19664
  const svgArrow = "";
19665
- const _hoisted_1$W = { class: "bg-white flex items-center rounded p-1 border drop-shadow space-x-0.5" };
19666
- const _hoisted_2$U = ["title", "onClick"];
19667
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
19665
+ const _hoisted_1$17 = {
19666
+ viewBox: "0 0 24 24",
19667
+ width: "1.2em",
19668
+ height: "1.2em"
19669
+ };
19670
+ const _hoisted_2$15 = /* @__PURE__ */ createElementVNode("path", {
19671
+ fill: "currentColor",
19672
+ 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"
19673
+ }, null, -1);
19674
+ const _hoisted_3$12 = [
19675
+ _hoisted_2$15
19676
+ ];
19677
+ function render$Y(_ctx, _cache) {
19678
+ return openBlock(), createElementBlock("svg", _hoisted_1$17, _hoisted_3$12);
19679
+ }
19680
+ const MdiLinkVariant = { name: "mdi-link-variant", render: render$Y };
19681
+ const _hoisted_1$16 = {
19682
+ viewBox: "0 0 24 24",
19683
+ width: "1.2em",
19684
+ height: "1.2em"
19685
+ };
19686
+ const _hoisted_2$14 = /* @__PURE__ */ createElementVNode("path", {
19687
+ fill: "currentColor",
19688
+ 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"
19689
+ }, null, -1);
19690
+ const _hoisted_3$11 = [
19691
+ _hoisted_2$14
19692
+ ];
19693
+ function render$X(_ctx, _cache) {
19694
+ return openBlock(), createElementBlock("svg", _hoisted_1$16, _hoisted_3$11);
19695
+ }
19696
+ const MdiLinkVariantOff = { name: "mdi-link-variant-off", render: render$X };
19697
+ const _hoisted_1$15 = {
19698
+ viewBox: "0 0 24 24",
19699
+ width: "1.2em",
19700
+ height: "1.2em"
19701
+ };
19702
+ const _hoisted_2$13 = /* @__PURE__ */ createElementVNode("path", {
19703
+ fill: "currentColor",
19704
+ d: "m21 12l-7-7v4C7 10 4 15 3 20c2.5-3.5 6-5.1 11-5.1V19l7-7Z"
19705
+ }, null, -1);
19706
+ const _hoisted_3$10 = [
19707
+ _hoisted_2$13
19708
+ ];
19709
+ function render$W(_ctx, _cache) {
19710
+ return openBlock(), createElementBlock("svg", _hoisted_1$15, _hoisted_3$10);
19711
+ }
19712
+ const MdiShare = { name: "mdi-share", render: render$W };
19713
+ const _hoisted_1$14 = { class: "relative rounded-md bg-white overflow-hidden drop-shadow w-96 p-1 max-h-72 overflow-y-auto" };
19714
+ const _hoisted_2$12 = { class: "inline-flex items-center mt-2" };
19715
+ const _hoisted_3$$ = /* @__PURE__ */ createElementVNode("span", { class: "ml-2 text-sm text-gray-500" }, "\u5728\u65B0\u7A97\u53E3\u6253\u5F00", -1);
19716
+ const _hoisted_4$1 = ["href"];
19717
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
19718
+ __name: "EditorLinkBubbleMenuItems",
19719
+ props: {
19720
+ editor: {
19721
+ type: Object,
19722
+ required: true
19723
+ }
19724
+ },
19725
+ setup(__props) {
19726
+ const props = __props;
19727
+ const href = computed({
19728
+ get() {
19729
+ const attrs = props.editor.getAttributes("link");
19730
+ return attrs == null ? void 0 : attrs.href;
19731
+ },
19732
+ set(value) {
19733
+ props.editor.commands.setLink({
19734
+ href: value,
19735
+ target: target.value ? "_blank" : "_self"
19736
+ });
19737
+ }
19738
+ });
19739
+ const target = computed({
19740
+ get() {
19741
+ const attrs = props.editor.getAttributes("link");
19742
+ return (attrs == null ? void 0 : attrs.target) === "_blank";
19743
+ },
19744
+ set(value) {
19745
+ props.editor.commands.setLink({
19746
+ href: href.value,
19747
+ target: value ? "_blank" : "_self"
19748
+ });
19749
+ }
19750
+ });
19751
+ function handleUnSetLink() {
19752
+ props.editor.commands.unsetLink();
19753
+ }
19754
+ return (_ctx, _cache) => {
19755
+ var _a;
19756
+ return openBlock(), createElementBlock(Fragment$1, null, [
19757
+ createVNode(unref(Dropdown), {
19758
+ class: "inline-flex",
19759
+ triggers: ["click"],
19760
+ distance: 10
19761
+ }, {
19762
+ popper: withCtx(() => [
19763
+ createElementVNode("div", _hoisted_1$14, [
19764
+ withDirectives(createElementVNode("input", {
19765
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(href) ? href.value = $event : null),
19766
+ placeholder: "\u94FE\u63A5\u5730\u5740",
19767
+ 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"
19768
+ }, null, 512), [
19769
+ [
19770
+ vModelText,
19771
+ unref(href),
19772
+ void 0,
19773
+ { lazy: true }
19774
+ ]
19775
+ ]),
19776
+ createElementVNode("label", _hoisted_2$12, [
19777
+ withDirectives(createElementVNode("input", {
19778
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(target) ? target.value = $event : null),
19779
+ type: "checkbox",
19780
+ class: "form-checkbox text-blue-600 focus:ring-blue-500 border-gray-300 rounded"
19781
+ }, null, 512), [
19782
+ [vModelCheckbox, unref(target)]
19783
+ ]),
19784
+ _hoisted_3$$
19785
+ ])
19786
+ ])
19787
+ ]),
19788
+ default: withCtx(() => [
19789
+ withDirectives((openBlock(), createElementBlock("button", {
19790
+ class: normalizeClass(["text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm", { "bg-gray-200 !text-black": __props.editor.isActive("link") }])
19791
+ }, [
19792
+ createVNode(unref(MdiLinkVariant))
19793
+ ], 2)), [
19794
+ [unref(VTooltip), `${__props.editor.isActive("link") ? "\u4FEE\u6539" : "\u6DFB\u52A0"}\u94FE\u63A5`]
19795
+ ])
19796
+ ]),
19797
+ _: 1
19798
+ }),
19799
+ __props.editor.isActive("link") ? withDirectives((openBlock(), createElementBlock("button", {
19800
+ key: 0,
19801
+ class: "text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm",
19802
+ onClick: handleUnSetLink
19803
+ }, [
19804
+ createVNode(unref(MdiLinkVariantOff))
19805
+ ])), [
19806
+ [unref(VTooltip), `\u53D6\u6D88\u94FE\u63A5`]
19807
+ ]) : createCommentVNode("", true),
19808
+ __props.editor.isActive("link") ? withDirectives((openBlock(), createElementBlock("a", {
19809
+ key: 1,
19810
+ class: "text-gray-600 text-lg hover:bg-gray-100 p-0.5 rounded-sm",
19811
+ href: (_a = __props.editor.getAttributes("link")) == null ? void 0 : _a.href,
19812
+ target: "_blank"
19813
+ }, [
19814
+ createVNode(unref(MdiShare))
19815
+ ], 8, _hoisted_4$1)), [
19816
+ [unref(VTooltip), `\u6253\u5F00\u94FE\u63A5`]
19817
+ ]) : createCommentVNode("", true)
19818
+ ], 64);
19819
+ };
19820
+ }
19821
+ });
19822
+ const _hoisted_1$13 = { class: "bg-white flex items-center rounded p-1 border drop-shadow space-x-0.5" };
19823
+ const _hoisted_2$11 = ["title", "onClick"];
19824
+ const _hoisted_3$_ = /* @__PURE__ */ createElementVNode("div", { class: "px-1" }, [
19825
+ /* @__PURE__ */ createElementVNode("div", {
19826
+ class: "h-5 bg-gray-100",
19827
+ style: { "width": "1px" }
19828
+ })
19829
+ ], -1);
19830
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
19668
19831
  __name: "EditorBubbleMenu",
19669
19832
  props: {
19670
19833
  editor: {
@@ -19684,10 +19847,10 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
19684
19847
  "tippy-options": { duration: 100, arrow: unref(ROUND_ARROW), maxWidth: "100%" }
19685
19848
  }, {
19686
19849
  default: withCtx(() => [
19687
- createElementVNode("div", _hoisted_1$W, [
19850
+ createElementVNode("div", _hoisted_1$13, [
19688
19851
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(__props.menuItems, (menuItem, index2) => {
19689
19852
  var _a;
19690
- return openBlock(), createElementBlock("button", {
19853
+ return withDirectives((openBlock(), createElementBlock("button", {
19691
19854
  key: index2,
19692
19855
  class: 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"]),
19693
19856
  title: menuItem.title,
@@ -19696,11 +19859,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
19696
19859
  return (_a2 = menuItem.action) == null ? void 0 : _a2.call(menuItem);
19697
19860
  }
19698
19861
  }, [
19699
- withDirectives((openBlock(), createBlock(resolveDynamicComponent(menuItem.icon), null, null, 512)), [
19700
- [unref(VTooltip), menuItem.title]
19701
- ])
19702
- ], 10, _hoisted_2$U);
19703
- }), 128))
19862
+ (openBlock(), createBlock(resolveDynamicComponent(menuItem.icon)))
19863
+ ], 10, _hoisted_2$11)), [
19864
+ [unref(VTooltip), menuItem.title]
19865
+ ]);
19866
+ }), 128)),
19867
+ _hoisted_3$_,
19868
+ createVNode(_sfc_main$c, { editor: __props.editor }, null, 8, ["editor"])
19704
19869
  ])
19705
19870
  ]),
19706
19871
  _: 1
@@ -19708,13 +19873,13 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
19708
19873
  };
19709
19874
  }
19710
19875
  });
19711
- const _hoisted_1$V = {
19876
+ const _hoisted_1$12 = {
19712
19877
  key: 0,
19713
19878
  class: "halo-rich-text-editor"
19714
19879
  };
19715
- const _hoisted_2$T = { class: "h-full flex flex-row w-full" };
19716
- const _hoisted_3$R = { class: "h-full" };
19717
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
19880
+ const _hoisted_2$10 = { class: "h-full flex flex-row w-full" };
19881
+ const _hoisted_3$Z = { class: "h-full" };
19882
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
19718
19883
  __name: "Editor",
19719
19884
  props: {
19720
19885
  editor: {
@@ -19744,19 +19909,19 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
19744
19909
  },
19745
19910
  setup(__props) {
19746
19911
  return (_ctx, _cache) => {
19747
- return __props.editor ? (openBlock(), createElementBlock("div", _hoisted_1$V, [
19748
- createVNode(_sfc_main$9, {
19912
+ return __props.editor ? (openBlock(), createElementBlock("div", _hoisted_1$12, [
19913
+ createVNode(_sfc_main$b, {
19749
19914
  editor: __props.editor,
19750
19915
  "menu-items": __props.bubbleMenuItems
19751
19916
  }, null, 8, ["editor", "menu-items"]),
19752
- createVNode(_sfc_main$a, { "menu-items": __props.toolbarMenuItems }, null, 8, ["menu-items"]),
19753
- createElementVNode("div", _hoisted_2$T, [
19917
+ createVNode(_sfc_main$d, { "menu-items": __props.toolbarMenuItems }, null, 8, ["menu-items"]),
19918
+ createElementVNode("div", _hoisted_2$10, [
19754
19919
  createVNode(unref(EditorContent), {
19755
19920
  editor: __props.editor,
19756
19921
  style: normalizeStyle(__props.contentStyles),
19757
19922
  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"
19758
19923
  }, null, 8, ["editor", "style"]),
19759
- createElementVNode("div", _hoisted_3$R, [
19924
+ createElementVNode("div", _hoisted_3$Z, [
19760
19925
  renderSlot(_ctx.$slots, "extra")
19761
19926
  ])
19762
19927
  ])
@@ -23016,9 +23181,9 @@ const ExtensionCommands = Extension.create({
23016
23181
  ];
23017
23182
  }
23018
23183
  });
23019
- const _hoisted_1$U = { class: "command-items" };
23020
- const _hoisted_2$S = ["id", "onClick"];
23021
- const _hoisted_3$Q = { class: "command-title group-hover:text-gray-900 group-hover:font-medium" };
23184
+ const _hoisted_1$11 = { class: "command-items" };
23185
+ const _hoisted_2$$ = ["id", "onClick"];
23186
+ const _hoisted_3$Y = { class: "command-title group-hover:text-gray-900 group-hover:font-medium" };
23022
23187
  const _hoisted_4 = {
23023
23188
  key: 1,
23024
23189
  class: "command-empty"
@@ -23027,7 +23192,7 @@ const _hoisted_5 = /* @__PURE__ */ createElementVNode("span", null, "\u6CA1\u670
23027
23192
  const _hoisted_6 = [
23028
23193
  _hoisted_5
23029
23194
  ];
23030
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
23195
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
23031
23196
  __name: "CommandsView",
23032
23197
  props: {
23033
23198
  items: {
@@ -23094,7 +23259,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
23094
23259
  onKeyDown
23095
23260
  });
23096
23261
  return (_ctx, _cache) => {
23097
- return openBlock(), createElementBlock("div", _hoisted_1$U, [
23262
+ return openBlock(), createElementBlock("div", _hoisted_1$11, [
23098
23263
  __props.items.length ? (openBlock(true), createElementBlock(Fragment$1, { key: 0 }, renderList(__props.items, (item, index2) => {
23099
23264
  return openBlock(), createElementBlock("div", {
23100
23265
  id: `command-item-${index2}`,
@@ -23103,222 +23268,254 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
23103
23268
  onClick: ($event) => handleSelectItem(index2)
23104
23269
  }, [
23105
23270
  (openBlock(), createBlock(resolveDynamicComponent(item.icon), { class: "command-icon group-hover:!bg-white" })),
23106
- createElementVNode("span", _hoisted_3$Q, toDisplayString(item.title), 1)
23107
- ], 10, _hoisted_2$S);
23271
+ createElementVNode("span", _hoisted_3$Y, toDisplayString(item.title), 1)
23272
+ ], 10, _hoisted_2$$);
23108
23273
  }), 128)) : (openBlock(), createElementBlock("div", _hoisted_4, _hoisted_6))
23109
23274
  ]);
23110
23275
  };
23111
23276
  }
23112
23277
  });
23113
23278
  const CommandsView_vue_vue_type_style_index_0_lang = "";
23114
- const _hoisted_1$T = {
23279
+ const _hoisted_1$10 = {
23115
23280
  viewBox: "0 0 24 24",
23116
23281
  width: "1.2em",
23117
23282
  height: "1.2em"
23118
23283
  };
23119
- const _hoisted_2$R = /* @__PURE__ */ createElementVNode("path", {
23284
+ const _hoisted_2$_ = /* @__PURE__ */ createElementVNode("path", {
23120
23285
  fill: "currentColor",
23121
23286
  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"
23122
23287
  }, null, -1);
23123
- const _hoisted_3$P = [
23124
- _hoisted_2$R
23288
+ const _hoisted_3$X = [
23289
+ _hoisted_2$_
23125
23290
  ];
23126
- function render$O(_ctx, _cache) {
23127
- return openBlock(), createElementBlock("svg", _hoisted_1$T, _hoisted_3$P);
23291
+ function render$V(_ctx, _cache) {
23292
+ return openBlock(), createElementBlock("svg", _hoisted_1$10, _hoisted_3$X);
23128
23293
  }
23129
- const MdiFormatParagraph = { name: "mdi-format-paragraph", render: render$O };
23130
- const _hoisted_1$S = {
23294
+ const MdiFormatParagraph = { name: "mdi-format-paragraph", render: render$V };
23295
+ const _hoisted_1$$ = {
23131
23296
  viewBox: "0 0 24 24",
23132
23297
  width: "1.2em",
23133
23298
  height: "1.2em"
23134
23299
  };
23135
- const _hoisted_2$Q = /* @__PURE__ */ createElementVNode("path", {
23300
+ const _hoisted_2$Z = /* @__PURE__ */ createElementVNode("path", {
23136
23301
  fill: "currentColor",
23137
23302
  d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m11 14v-2h2V6.31l-2.5 1.44V5.44L16 4h2v12h2v2h-6Z"
23138
23303
  }, null, -1);
23139
- const _hoisted_3$O = [
23140
- _hoisted_2$Q
23304
+ const _hoisted_3$W = [
23305
+ _hoisted_2$Z
23141
23306
  ];
23142
- function render$N(_ctx, _cache) {
23143
- return openBlock(), createElementBlock("svg", _hoisted_1$S, _hoisted_3$O);
23307
+ function render$U(_ctx, _cache) {
23308
+ return openBlock(), createElementBlock("svg", _hoisted_1$$, _hoisted_3$W);
23144
23309
  }
23145
- const MdiFormatHeader1 = { name: "mdi-format-header-1", render: render$N };
23146
- const _hoisted_1$R = {
23310
+ const MdiFormatHeader1 = { name: "mdi-format-header-1", render: render$U };
23311
+ const _hoisted_1$_ = {
23147
23312
  viewBox: "0 0 24 24",
23148
23313
  width: "1.2em",
23149
23314
  height: "1.2em"
23150
23315
  };
23151
- const _hoisted_2$P = /* @__PURE__ */ createElementVNode("path", {
23316
+ const _hoisted_2$Y = /* @__PURE__ */ createElementVNode("path", {
23152
23317
  fill: "currentColor",
23153
23318
  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"
23154
23319
  }, null, -1);
23155
- const _hoisted_3$N = [
23156
- _hoisted_2$P
23320
+ const _hoisted_3$V = [
23321
+ _hoisted_2$Y
23157
23322
  ];
23158
- function render$M(_ctx, _cache) {
23159
- return openBlock(), createElementBlock("svg", _hoisted_1$R, _hoisted_3$N);
23323
+ function render$T(_ctx, _cache) {
23324
+ return openBlock(), createElementBlock("svg", _hoisted_1$_, _hoisted_3$V);
23160
23325
  }
23161
- const MdiFormatHeader2 = { name: "mdi-format-header-2", render: render$M };
23162
- const _hoisted_1$Q = {
23326
+ const MdiFormatHeader2 = { name: "mdi-format-header-2", render: render$T };
23327
+ const _hoisted_1$Z = {
23163
23328
  viewBox: "0 0 24 24",
23164
23329
  width: "1.2em",
23165
23330
  height: "1.2em"
23166
23331
  };
23167
- const _hoisted_2$O = /* @__PURE__ */ createElementVNode("path", {
23332
+ const _hoisted_2$X = /* @__PURE__ */ createElementVNode("path", {
23168
23333
  fill: "currentColor",
23169
23334
  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"
23170
23335
  }, null, -1);
23171
- const _hoisted_3$M = [
23172
- _hoisted_2$O
23336
+ const _hoisted_3$U = [
23337
+ _hoisted_2$X
23173
23338
  ];
23174
- function render$L(_ctx, _cache) {
23175
- return openBlock(), createElementBlock("svg", _hoisted_1$Q, _hoisted_3$M);
23339
+ function render$S(_ctx, _cache) {
23340
+ return openBlock(), createElementBlock("svg", _hoisted_1$Z, _hoisted_3$U);
23176
23341
  }
23177
- const MdiFormatHeader3 = { name: "mdi-format-header-3", render: render$L };
23178
- const _hoisted_1$P = {
23342
+ const MdiFormatHeader3 = { name: "mdi-format-header-3", render: render$S };
23343
+ const _hoisted_1$Y = {
23179
23344
  viewBox: "0 0 24 24",
23180
23345
  width: "1.2em",
23181
23346
  height: "1.2em"
23182
23347
  };
23183
- const _hoisted_2$N = /* @__PURE__ */ createElementVNode("path", {
23348
+ const _hoisted_2$W = /* @__PURE__ */ createElementVNode("path", {
23184
23349
  fill: "currentColor",
23185
23350
  d: "M3 4h2v6h4V4h2v14H9v-6H5v6H3V4m15 14v-5h-5v-2l5-7h2v7h1v2h-1v5h-2m0-7V7.42L15.45 11H18Z"
23186
23351
  }, null, -1);
23187
- const _hoisted_3$L = [
23188
- _hoisted_2$N
23352
+ const _hoisted_3$T = [
23353
+ _hoisted_2$W
23189
23354
  ];
23190
- function render$K(_ctx, _cache) {
23191
- return openBlock(), createElementBlock("svg", _hoisted_1$P, _hoisted_3$L);
23355
+ function render$R(_ctx, _cache) {
23356
+ return openBlock(), createElementBlock("svg", _hoisted_1$Y, _hoisted_3$T);
23192
23357
  }
23193
- const MdiFormatHeader4 = { name: "mdi-format-header-4", render: render$K };
23194
- const _hoisted_1$O = {
23358
+ const MdiFormatHeader4 = { name: "mdi-format-header-4", render: render$R };
23359
+ const _hoisted_1$X = {
23195
23360
  viewBox: "0 0 24 24",
23196
23361
  width: "1.2em",
23197
23362
  height: "1.2em"
23198
23363
  };
23199
- const _hoisted_2$M = /* @__PURE__ */ createElementVNode("path", {
23364
+ const _hoisted_2$V = /* @__PURE__ */ createElementVNode("path", {
23200
23365
  fill: "currentColor",
23201
23366
  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"
23202
23367
  }, null, -1);
23203
- const _hoisted_3$K = [
23204
- _hoisted_2$M
23368
+ const _hoisted_3$S = [
23369
+ _hoisted_2$V
23205
23370
  ];
23206
- function render$J(_ctx, _cache) {
23207
- return openBlock(), createElementBlock("svg", _hoisted_1$O, _hoisted_3$K);
23371
+ function render$Q(_ctx, _cache) {
23372
+ return openBlock(), createElementBlock("svg", _hoisted_1$X, _hoisted_3$S);
23208
23373
  }
23209
- const MdiFormatHeader5 = { name: "mdi-format-header-5", render: render$J };
23210
- const _hoisted_1$N = {
23374
+ const MdiFormatHeader5 = { name: "mdi-format-header-5", render: render$Q };
23375
+ const _hoisted_1$W = {
23211
23376
  viewBox: "0 0 24 24",
23212
23377
  width: "1.2em",
23213
23378
  height: "1.2em"
23214
23379
  };
23215
- const _hoisted_2$L = /* @__PURE__ */ createElementVNode("path", {
23380
+ const _hoisted_2$U = /* @__PURE__ */ createElementVNode("path", {
23216
23381
  fill: "currentColor",
23217
23382
  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"
23218
23383
  }, null, -1);
23219
- const _hoisted_3$J = [
23220
- _hoisted_2$L
23384
+ const _hoisted_3$R = [
23385
+ _hoisted_2$U
23221
23386
  ];
23222
- function render$I(_ctx, _cache) {
23223
- return openBlock(), createElementBlock("svg", _hoisted_1$N, _hoisted_3$J);
23387
+ function render$P(_ctx, _cache) {
23388
+ return openBlock(), createElementBlock("svg", _hoisted_1$W, _hoisted_3$R);
23224
23389
  }
23225
- const MdiFormatHeader6 = { name: "mdi-format-header-6", render: render$I };
23226
- const _hoisted_1$M = {
23390
+ const MdiFormatHeader6 = { name: "mdi-format-header-6", render: render$P };
23391
+ const _hoisted_1$V = {
23227
23392
  viewBox: "0 0 24 24",
23228
23393
  width: "1.2em",
23229
23394
  height: "1.2em"
23230
23395
  };
23231
- const _hoisted_2$K = /* @__PURE__ */ createElementVNode("path", {
23396
+ const _hoisted_2$T = /* @__PURE__ */ createElementVNode("path", {
23232
23397
  fill: "currentColor",
23233
23398
  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"
23234
23399
  }, null, -1);
23235
- const _hoisted_3$I = [
23236
- _hoisted_2$K
23400
+ const _hoisted_3$Q = [
23401
+ _hoisted_2$T
23237
23402
  ];
23238
- function render$H(_ctx, _cache) {
23239
- return openBlock(), createElementBlock("svg", _hoisted_1$M, _hoisted_3$I);
23403
+ function render$O(_ctx, _cache) {
23404
+ return openBlock(), createElementBlock("svg", _hoisted_1$V, _hoisted_3$Q);
23240
23405
  }
23241
- const MdiCodeBracesBox = { name: "mdi-code-braces-box", render: render$H };
23242
- const _hoisted_1$L = {
23406
+ const MdiCodeBracesBox = { name: "mdi-code-braces-box", render: render$O };
23407
+ const _hoisted_1$U = {
23243
23408
  viewBox: "0 0 24 24",
23244
23409
  width: "1.2em",
23245
23410
  height: "1.2em"
23246
23411
  };
23247
- const _hoisted_2$J = /* @__PURE__ */ createElementVNode("path", {
23412
+ const _hoisted_2$S = /* @__PURE__ */ createElementVNode("path", {
23248
23413
  fill: "currentColor",
23249
23414
  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"
23250
23415
  }, null, -1);
23251
- const _hoisted_3$H = [
23252
- _hoisted_2$J
23416
+ const _hoisted_3$P = [
23417
+ _hoisted_2$S
23253
23418
  ];
23254
- function render$G(_ctx, _cache) {
23255
- return openBlock(), createElementBlock("svg", _hoisted_1$L, _hoisted_3$H);
23419
+ function render$N(_ctx, _cache) {
23420
+ return openBlock(), createElementBlock("svg", _hoisted_1$U, _hoisted_3$P);
23256
23421
  }
23257
- const MdiFormatListBulleted = { name: "mdi-format-list-bulleted", render: render$G };
23258
- const _hoisted_1$K = {
23422
+ const MdiFormatListBulleted = { name: "mdi-format-list-bulleted", render: render$N };
23423
+ const _hoisted_1$T = {
23259
23424
  viewBox: "0 0 24 24",
23260
23425
  width: "1.2em",
23261
23426
  height: "1.2em"
23262
23427
  };
23263
- const _hoisted_2$I = /* @__PURE__ */ createElementVNode("path", {
23428
+ const _hoisted_2$R = /* @__PURE__ */ createElementVNode("path", {
23264
23429
  fill: "currentColor",
23265
23430
  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"
23266
23431
  }, null, -1);
23267
- const _hoisted_3$G = [
23268
- _hoisted_2$I
23432
+ const _hoisted_3$O = [
23433
+ _hoisted_2$R
23269
23434
  ];
23270
- function render$F(_ctx, _cache) {
23271
- return openBlock(), createElementBlock("svg", _hoisted_1$K, _hoisted_3$G);
23435
+ function render$M(_ctx, _cache) {
23436
+ return openBlock(), createElementBlock("svg", _hoisted_1$T, _hoisted_3$O);
23272
23437
  }
23273
- const MdiFormatListCheckbox = { name: "mdi-format-list-checkbox", render: render$F };
23274
- const _hoisted_1$J = {
23438
+ const MdiFormatListCheckbox = { name: "mdi-format-list-checkbox", render: render$M };
23439
+ const _hoisted_1$S = {
23275
23440
  viewBox: "0 0 24 24",
23276
23441
  width: "1.2em",
23277
23442
  height: "1.2em"
23278
23443
  };
23279
- const _hoisted_2$H = /* @__PURE__ */ createElementVNode("path", {
23444
+ const _hoisted_2$Q = /* @__PURE__ */ createElementVNode("path", {
23280
23445
  fill: "currentColor",
23281
23446
  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"
23282
23447
  }, null, -1);
23283
- const _hoisted_3$F = [
23284
- _hoisted_2$H
23448
+ const _hoisted_3$N = [
23449
+ _hoisted_2$Q
23285
23450
  ];
23286
- function render$E(_ctx, _cache) {
23287
- return openBlock(), createElementBlock("svg", _hoisted_1$J, _hoisted_3$F);
23451
+ function render$L(_ctx, _cache) {
23452
+ return openBlock(), createElementBlock("svg", _hoisted_1$S, _hoisted_3$N);
23288
23453
  }
23289
- const MdiFormatListNumbered = { name: "mdi-format-list-numbered", render: render$E };
23290
- const _hoisted_1$I = {
23454
+ const MdiFormatListNumbered = { name: "mdi-format-list-numbered", render: render$L };
23455
+ const _hoisted_1$R = {
23291
23456
  viewBox: "0 0 24 24",
23292
23457
  width: "1.2em",
23293
23458
  height: "1.2em"
23294
23459
  };
23295
- const _hoisted_2$G = /* @__PURE__ */ createElementVNode("path", {
23460
+ const _hoisted_2$P = /* @__PURE__ */ createElementVNode("path", {
23296
23461
  fill: "currentColor",
23297
23462
  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"
23298
23463
  }, null, -1);
23299
- const _hoisted_3$E = [
23300
- _hoisted_2$G
23464
+ const _hoisted_3$M = [
23465
+ _hoisted_2$P
23301
23466
  ];
23302
- function render$D(_ctx, _cache) {
23303
- return openBlock(), createElementBlock("svg", _hoisted_1$I, _hoisted_3$E);
23467
+ function render$K(_ctx, _cache) {
23468
+ return openBlock(), createElementBlock("svg", _hoisted_1$R, _hoisted_3$M);
23304
23469
  }
23305
- const MdiTable = { name: "mdi-table", render: render$D };
23306
- const _hoisted_1$H = {
23470
+ const MdiTable = { name: "mdi-table", render: render$K };
23471
+ const _hoisted_1$Q = {
23307
23472
  viewBox: "0 0 24 24",
23308
23473
  width: "1.2em",
23309
23474
  height: "1.2em"
23310
23475
  };
23311
- const _hoisted_2$F = /* @__PURE__ */ createElementVNode("path", {
23476
+ const _hoisted_2$O = /* @__PURE__ */ createElementVNode("path", {
23312
23477
  fill: "currentColor",
23313
23478
  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"
23314
23479
  }, null, -1);
23315
- const _hoisted_3$D = [
23316
- _hoisted_2$F
23480
+ const _hoisted_3$L = [
23481
+ _hoisted_2$O
23317
23482
  ];
23318
- function render$C(_ctx, _cache) {
23319
- return openBlock(), createElementBlock("svg", _hoisted_1$H, _hoisted_3$D);
23483
+ function render$J(_ctx, _cache) {
23484
+ return openBlock(), createElementBlock("svg", _hoisted_1$Q, _hoisted_3$L);
23485
+ }
23486
+ const MdiWeb = { name: "mdi-web", render: render$J };
23487
+ const _hoisted_1$P = {
23488
+ viewBox: "0 0 24 24",
23489
+ width: "1.2em",
23490
+ height: "1.2em"
23491
+ };
23492
+ const _hoisted_2$N = /* @__PURE__ */ createElementVNode("path", {
23493
+ fill: "currentColor",
23494
+ 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"
23495
+ }, null, -1);
23496
+ const _hoisted_3$K = [
23497
+ _hoisted_2$N
23498
+ ];
23499
+ function render$I(_ctx, _cache) {
23500
+ return openBlock(), createElementBlock("svg", _hoisted_1$P, _hoisted_3$K);
23501
+ }
23502
+ const MdiVideo = { name: "mdi-video", render: render$I };
23503
+ const _hoisted_1$O = {
23504
+ viewBox: "0 0 24 24",
23505
+ width: "1.2em",
23506
+ height: "1.2em"
23507
+ };
23508
+ const _hoisted_2$M = /* @__PURE__ */ createElementVNode("path", {
23509
+ fill: "currentColor",
23510
+ 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"
23511
+ }, null, -1);
23512
+ const _hoisted_3$J = [
23513
+ _hoisted_2$M
23514
+ ];
23515
+ function render$H(_ctx, _cache) {
23516
+ return openBlock(), createElementBlock("svg", _hoisted_1$O, _hoisted_3$J);
23320
23517
  }
23321
- const MdiWeb = { name: "mdi-web", render: render$C };
23518
+ const MdiMusicCircleOutline = { name: "mdi-music-circle-outline", render: render$H };
23322
23519
  const CommentParagraph = {
23323
23520
  icon: markRaw(MdiFormatParagraph),
23324
23521
  title: "\u666E\u901A\u6587\u672C",
@@ -23394,6 +23591,28 @@ const CommandIframe = {
23394
23591
  ]).run();
23395
23592
  }
23396
23593
  };
23594
+ const CommandVideo = {
23595
+ icon: markRaw(MdiVideo),
23596
+ title: "\u89C6\u9891",
23597
+ keywords: ["video", "shipin"],
23598
+ command: ({ editor, range }) => {
23599
+ editor.chain().focus().deleteRange(range).insertContent([
23600
+ { type: "video", attrs: { src: "" } },
23601
+ { type: "paragraph", content: "" }
23602
+ ]).run();
23603
+ }
23604
+ };
23605
+ const CommandAudio = {
23606
+ icon: markRaw(MdiMusicCircleOutline),
23607
+ title: "\u97F3\u9891",
23608
+ keywords: ["audio", "yinpin"],
23609
+ command: ({ editor, range }) => {
23610
+ editor.chain().focus().deleteRange(range).insertContent([
23611
+ { type: "audio", attrs: { src: "" } },
23612
+ { type: "paragraph", content: "" }
23613
+ ]).run();
23614
+ }
23615
+ };
23397
23616
  const CommandTable = {
23398
23617
  icon: markRaw(MdiTable),
23399
23618
  title: "\u8868\u683C",
@@ -23441,7 +23660,9 @@ const suggestion = {
23441
23660
  CommandBulletList,
23442
23661
  CommandOrderedList,
23443
23662
  CommandTaskList,
23444
- CommandIframe
23663
+ CommandIframe,
23664
+ CommandVideo,
23665
+ CommandAudio
23445
23666
  ].filter(
23446
23667
  (item) => [...item.keywords, item.title].some(
23447
23668
  (keyword) => keyword.includes(query)
@@ -23453,7 +23674,7 @@ const suggestion = {
23453
23674
  let popup;
23454
23675
  return {
23455
23676
  onStart: (props) => {
23456
- component = new VueRenderer(_sfc_main$7, {
23677
+ component = new VueRenderer(_sfc_main$9, {
23457
23678
  props,
23458
23679
  editor: props.editor
23459
23680
  });
@@ -38555,39 +38776,39 @@ lowlight$1.registerLanguage("xml", xml);
38555
38776
  lowlight$1.registerLanguage("yaml", yaml);
38556
38777
  lowlight$1.registerLanguage("html", xml);
38557
38778
  const lowlight = lowlight$1;
38558
- const _hoisted_1$G = {
38779
+ const _hoisted_1$N = {
38559
38780
  viewBox: "0 0 24 24",
38560
38781
  color: "red",
38561
38782
  width: "1.2em",
38562
38783
  height: "1.2em"
38563
38784
  };
38564
- const _hoisted_2$E = /* @__PURE__ */ createElementVNode("path", {
38785
+ const _hoisted_2$L = /* @__PURE__ */ createElementVNode("path", {
38565
38786
  fill: "currentColor",
38566
38787
  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"
38567
38788
  }, null, -1);
38568
- const _hoisted_3$C = [
38569
- _hoisted_2$E
38789
+ const _hoisted_3$I = [
38790
+ _hoisted_2$L
38570
38791
  ];
38571
- function render$B(_ctx, _cache) {
38572
- return openBlock(), createElementBlock("svg", _hoisted_1$G, _hoisted_3$C);
38792
+ function render$G(_ctx, _cache) {
38793
+ return openBlock(), createElementBlock("svg", _hoisted_1$N, _hoisted_3$I);
38573
38794
  }
38574
- const MdiDeleteForeverOutline = { name: "mdi-delete-forever-outline", render: render$B };
38575
- const _hoisted_1$F = {
38795
+ const MdiDeleteForeverOutline = { name: "mdi-delete-forever-outline", render: render$G };
38796
+ const _hoisted_1$M = {
38576
38797
  viewBox: "0 0 24 24",
38577
38798
  width: "1.2em",
38578
38799
  height: "1.2em"
38579
38800
  };
38580
- const _hoisted_2$D = /* @__PURE__ */ createElementVNode("path", {
38801
+ const _hoisted_2$K = /* @__PURE__ */ createElementVNode("path", {
38581
38802
  fill: "currentColor",
38582
38803
  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"
38583
38804
  }, null, -1);
38584
- const _hoisted_3$B = [
38585
- _hoisted_2$D
38805
+ const _hoisted_3$H = [
38806
+ _hoisted_2$K
38586
38807
  ];
38587
- function render$A(_ctx, _cache) {
38588
- return openBlock(), createElementBlock("svg", _hoisted_1$F, _hoisted_3$B);
38808
+ function render$F(_ctx, _cache) {
38809
+ return openBlock(), createElementBlock("svg", _hoisted_1$M, _hoisted_3$H);
38589
38810
  }
38590
- const MdiArrowULeftBottom = { name: "mdi-arrow-u-left-bottom", render: render$A };
38811
+ const MdiArrowULeftBottom = { name: "mdi-arrow-u-left-bottom", render: render$F };
38591
38812
  const BlockActionSeparator_vue_vue_type_style_index_0_lang = "";
38592
38813
  const _export_sfc = (sfc, props) => {
38593
38814
  const target = sfc.__vccOpts || sfc;
@@ -38596,13 +38817,13 @@ const _export_sfc = (sfc, props) => {
38596
38817
  }
38597
38818
  return target;
38598
38819
  };
38599
- const _sfc_main$6 = {};
38600
- const _hoisted_1$E = { class: "editor-block__actions-separator" };
38820
+ const _sfc_main$8 = {};
38821
+ const _hoisted_1$L = { class: "editor-block__actions-separator" };
38601
38822
  function _sfc_render(_ctx, _cache) {
38602
- return openBlock(), createElementBlock("div", _hoisted_1$E);
38823
+ return openBlock(), createElementBlock("div", _hoisted_1$L);
38603
38824
  }
38604
- const BlockActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["render", _sfc_render]]);
38605
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
38825
+ const BlockActionSeparator = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["render", _sfc_render]]);
38826
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
38606
38827
  __name: "BlockActionButton",
38607
38828
  props: {
38608
38829
  tooltip: { default: void 0 },
@@ -38623,9 +38844,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
38623
38844
  }
38624
38845
  });
38625
38846
  const BlockActionButton_vue_vue_type_style_index_0_lang = "";
38626
- const _hoisted_1$D = { class: "editor-block__content" };
38627
- const _hoisted_2$C = { class: "editor-block__actions" };
38628
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
38847
+ const _hoisted_1$K = { class: "editor-block__content" };
38848
+ const _hoisted_2$J = { class: "editor-block__actions" };
38849
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
38629
38850
  __name: "BlockCard",
38630
38851
  props: {
38631
38852
  selected: { type: Boolean, default: false },
@@ -38658,7 +38879,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
38658
38879
  onMouseleave: _cache[1] || (_cache[1] = ($event) => hover.value = false)
38659
38880
  }, [
38660
38881
  createVNode(unref(Dropdown), {
38661
- placement: "top-end",
38882
+ placement: "bottom-end",
38662
38883
  shown: unref(dropdownVisible),
38663
38884
  "auto-hide": false,
38664
38885
  triggers: [],
@@ -38666,9 +38887,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
38666
38887
  theme: "editor-block-dropdown"
38667
38888
  }, {
38668
38889
  popper: withCtx(() => [
38669
- createElementVNode("div", _hoisted_2$C, [
38890
+ createElementVNode("div", _hoisted_2$J, [
38670
38891
  renderSlot(_ctx.$slots, "actions"),
38671
- createVNode(_sfc_main$5, {
38892
+ createVNode(_sfc_main$7, {
38672
38893
  tooltip: "\u6362\u884C",
38673
38894
  onClick: handleInsertNewLine
38674
38895
  }, {
@@ -38678,7 +38899,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
38678
38899
  _: 1
38679
38900
  }),
38680
38901
  createVNode(BlockActionSeparator),
38681
- createVNode(_sfc_main$5, {
38902
+ createVNode(_sfc_main$7, {
38682
38903
  tooltip: "\u5220\u9664",
38683
38904
  onClick: __props.deleteNode
38684
38905
  }, {
@@ -38690,7 +38911,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
38690
38911
  ])
38691
38912
  ]),
38692
38913
  default: withCtx(() => [
38693
- createElementVNode("div", _hoisted_1$D, [
38914
+ createElementVNode("div", _hoisted_1$K, [
38694
38915
  renderSlot(_ctx.$slots, "content")
38695
38916
  ])
38696
38917
  ]),
@@ -38701,10 +38922,10 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
38701
38922
  }
38702
38923
  });
38703
38924
  const BlockCard_vue_vue_type_style_index_0_lang = "";
38704
- const _hoisted_1$C = { class: "py-1.5" };
38705
- const _hoisted_2$B = /* @__PURE__ */ createElementVNode("option", { value: null }, "auto", -1);
38706
- const _hoisted_3$A = ["value"];
38707
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
38925
+ const _hoisted_1$J = { class: "py-1.5" };
38926
+ const _hoisted_2$I = /* @__PURE__ */ createElementVNode("option", { value: null }, "auto", -1);
38927
+ const _hoisted_3$G = ["value"];
38928
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
38708
38929
  __name: "CodeBlockViewRenderer",
38709
38930
  props: {
38710
38931
  editor: null,
@@ -38733,25 +38954,25 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
38733
38954
  return (_ctx, _cache) => {
38734
38955
  return openBlock(), createBlock(unref(NodeViewWrapper), null, {
38735
38956
  default: withCtx(() => [
38736
- createVNode(_sfc_main$4, {
38957
+ createVNode(_sfc_main$6, {
38737
38958
  editor: __props.editor,
38738
38959
  "delete-node": __props.deleteNode,
38739
38960
  "get-pos": __props.getPos,
38740
38961
  selected: __props.selected
38741
38962
  }, {
38742
38963
  content: withCtx(() => [
38743
- createElementVNode("div", _hoisted_1$C, [
38964
+ createElementVNode("div", _hoisted_1$J, [
38744
38965
  withDirectives(createElementVNode("select", {
38745
38966
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(selectedLanguage) ? selectedLanguage.value = $event : null),
38746
38967
  contenteditable: "false",
38747
38968
  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"
38748
38969
  }, [
38749
- _hoisted_2$B,
38970
+ _hoisted_2$I,
38750
38971
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(unref(languages), (language, index2) => {
38751
38972
  return openBlock(), createElementBlock("option", {
38752
38973
  key: index2,
38753
38974
  value: language
38754
- }, toDisplayString(language), 9, _hoisted_3$A);
38975
+ }, toDisplayString(language), 9, _hoisted_3$G);
38755
38976
  }), 128))
38756
38977
  ], 512), [
38757
38978
  [vModelSelect, unref(selectedLanguage)]
@@ -38773,10 +38994,10 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
38773
38994
  });
38774
38995
  const ExtensionCodeBlock = CodeBlockLowlight.extend({
38775
38996
  addNodeView() {
38776
- return VueNodeViewRenderer(_sfc_main$3);
38997
+ return VueNodeViewRenderer(_sfc_main$5);
38777
38998
  }
38778
38999
  });
38779
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
39000
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
38780
39001
  __name: "BlockActionInput",
38781
39002
  props: {
38782
39003
  tooltip: { default: void 0 },
@@ -38809,105 +39030,89 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
38809
39030
  }
38810
39031
  });
38811
39032
  const BlockActionInput_vue_vue_type_style_index_0_lang = "";
38812
- const _hoisted_1$B = {
38813
- viewBox: "0 0 24 24",
38814
- width: "1.2em",
38815
- height: "1.2em"
38816
- };
38817
- const _hoisted_2$A = /* @__PURE__ */ createElementVNode("path", {
38818
- fill: "currentColor",
38819
- 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"
38820
- }, null, -1);
38821
- const _hoisted_3$z = [
38822
- _hoisted_2$A
38823
- ];
38824
- function render$z(_ctx, _cache) {
38825
- return openBlock(), createElementBlock("svg", _hoisted_1$B, _hoisted_3$z);
38826
- }
38827
- const MdiLinkVariant = { name: "mdi-link-variant", render: render$z };
38828
- const _hoisted_1$A = {
39033
+ const _hoisted_1$I = {
38829
39034
  viewBox: "0 0 24 24",
38830
39035
  width: "1.2em",
38831
39036
  height: "1.2em"
38832
39037
  };
38833
- const _hoisted_2$z = /* @__PURE__ */ createElementVNode("path", {
39038
+ const _hoisted_2$H = /* @__PURE__ */ createElementVNode("path", {
38834
39039
  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",
38835
39040
  fill: "currentColor"
38836
39041
  }, null, -1);
38837
- const _hoisted_3$y = [
38838
- _hoisted_2$z
39042
+ const _hoisted_3$F = [
39043
+ _hoisted_2$H
38839
39044
  ];
38840
- function render$y(_ctx, _cache) {
38841
- return openBlock(), createElementBlock("svg", _hoisted_1$A, _hoisted_3$y);
39045
+ function render$E(_ctx, _cache) {
39046
+ return openBlock(), createElementBlock("svg", _hoisted_1$I, _hoisted_3$F);
38842
39047
  }
38843
- const MdiCellphoneIphone = { name: "mdi-cellphone-iphone", render: render$y };
38844
- const _hoisted_1$z = {
39048
+ const MdiCellphoneIphone = { name: "mdi-cellphone-iphone", render: render$E };
39049
+ const _hoisted_1$H = {
38845
39050
  viewBox: "0 0 24 24",
38846
39051
  width: "1.2em",
38847
39052
  height: "1.2em"
38848
39053
  };
38849
- const _hoisted_2$y = /* @__PURE__ */ createElementVNode("path", {
39054
+ const _hoisted_2$G = /* @__PURE__ */ createElementVNode("path", {
38850
39055
  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",
38851
39056
  fill: "currentColor"
38852
39057
  }, null, -1);
38853
- const _hoisted_3$x = [
38854
- _hoisted_2$y
39058
+ const _hoisted_3$E = [
39059
+ _hoisted_2$G
38855
39060
  ];
38856
- function render$x(_ctx, _cache) {
38857
- return openBlock(), createElementBlock("svg", _hoisted_1$z, _hoisted_3$x);
39061
+ function render$D(_ctx, _cache) {
39062
+ return openBlock(), createElementBlock("svg", _hoisted_1$H, _hoisted_3$E);
38858
39063
  }
38859
- const MdiTabletIpad = { name: "mdi-tablet-ipad", render: render$x };
38860
- const _hoisted_1$y = {
39064
+ const MdiTabletIpad = { name: "mdi-tablet-ipad", render: render$D };
39065
+ const _hoisted_1$G = {
38861
39066
  viewBox: "0 0 24 24",
38862
39067
  width: "1.2em",
38863
39068
  height: "1.2em"
38864
39069
  };
38865
- const _hoisted_2$x = /* @__PURE__ */ createElementVNode("path", {
39070
+ const _hoisted_2$F = /* @__PURE__ */ createElementVNode("path", {
38866
39071
  fill: "currentColor",
38867
39072
  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"
38868
39073
  }, null, -1);
38869
- const _hoisted_3$w = [
38870
- _hoisted_2$x
39074
+ const _hoisted_3$D = [
39075
+ _hoisted_2$F
38871
39076
  ];
38872
- function render$w(_ctx, _cache) {
38873
- return openBlock(), createElementBlock("svg", _hoisted_1$y, _hoisted_3$w);
39077
+ function render$C(_ctx, _cache) {
39078
+ return openBlock(), createElementBlock("svg", _hoisted_1$G, _hoisted_3$D);
38874
39079
  }
38875
- const MdiDesktopMac = { name: "mdi-desktop-mac", render: render$w };
38876
- const _hoisted_1$x = {
39080
+ const MdiDesktopMac = { name: "mdi-desktop-mac", render: render$C };
39081
+ const _hoisted_1$F = {
38877
39082
  viewBox: "0 0 24 24",
38878
39083
  width: "1.2em",
38879
39084
  height: "1.2em"
38880
39085
  };
38881
- const _hoisted_2$w = /* @__PURE__ */ createElementVNode("path", {
39086
+ const _hoisted_2$E = /* @__PURE__ */ createElementVNode("path", {
38882
39087
  fill: "currentColor",
38883
39088
  d: "M3 21V3h18v18H3M5 5v14h14V5H5Z"
38884
39089
  }, null, -1);
38885
- const _hoisted_3$v = [
38886
- _hoisted_2$w
39090
+ const _hoisted_3$C = [
39091
+ _hoisted_2$E
38887
39092
  ];
38888
- function render$v(_ctx, _cache) {
38889
- return openBlock(), createElementBlock("svg", _hoisted_1$x, _hoisted_3$v);
39093
+ function render$B(_ctx, _cache) {
39094
+ return openBlock(), createElementBlock("svg", _hoisted_1$F, _hoisted_3$C);
38890
39095
  }
38891
- const MdiBorderAllVariant = { name: "mdi-border-all-variant", render: render$v };
38892
- const _hoisted_1$w = {
39096
+ const MdiBorderAllVariant = { name: "mdi-border-all-variant", render: render$B };
39097
+ const _hoisted_1$E = {
38893
39098
  viewBox: "0 0 24 24",
38894
39099
  width: "1.2em",
38895
39100
  height: "1.2em"
38896
39101
  };
38897
- const _hoisted_2$v = /* @__PURE__ */ createElementVNode("path", {
39102
+ const _hoisted_2$D = /* @__PURE__ */ createElementVNode("path", {
38898
39103
  fill: "currentColor",
38899
39104
  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"
38900
39105
  }, null, -1);
38901
- const _hoisted_3$u = [
38902
- _hoisted_2$v
39106
+ const _hoisted_3$B = [
39107
+ _hoisted_2$D
38903
39108
  ];
38904
- function render$u(_ctx, _cache) {
38905
- return openBlock(), createElementBlock("svg", _hoisted_1$w, _hoisted_3$u);
39109
+ function render$A(_ctx, _cache) {
39110
+ return openBlock(), createElementBlock("svg", _hoisted_1$E, _hoisted_3$B);
38906
39111
  }
38907
- const MdiBorderNoneVariant = { name: "mdi-border-none-variant", render: render$u };
38908
- const _hoisted_1$v = { class: "py-1.5" };
38909
- const _hoisted_2$u = ["src", "width", "height", "frameborder"];
38910
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
39112
+ const MdiBorderNoneVariant = { name: "mdi-border-none-variant", render: render$A };
39113
+ const _hoisted_1$D = { class: "py-1.5" };
39114
+ const _hoisted_2$C = ["src", "width", "height", "frameborder"];
39115
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
38911
39116
  __name: "IframeView",
38912
39117
  props: {
38913
39118
  editor: null,
@@ -38971,7 +39176,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
38971
39176
  return (_ctx, _cache) => {
38972
39177
  return openBlock(), createBlock(unref(NodeViewWrapper), { as: "div" }, {
38973
39178
  default: withCtx(() => [
38974
- createVNode(_sfc_main$4, {
39179
+ createVNode(_sfc_main$6, {
38975
39180
  editor: __props.editor,
38976
39181
  "get-pos": __props.getPos,
38977
39182
  "delete-node": __props.deleteNode,
@@ -38984,7 +39189,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
38984
39189
  width: __props.node.attrs.width
38985
39190
  })
38986
39191
  }, [
38987
- createElementVNode("div", _hoisted_1$v, [
39192
+ createElementVNode("div", _hoisted_1$D, [
38988
39193
  withDirectives(createElementVNode("input", {
38989
39194
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(src) ? src.value = $event : null),
38990
39195
  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",
@@ -39011,12 +39216,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
39011
39216
  scrolling: "yes",
39012
39217
  frameborder: unref(frameborder),
39013
39218
  framespacing: "0",
39014
- allowfullscreen: "true"
39015
- }, null, 10, _hoisted_2$u)) : createCommentVNode("", true)
39219
+ allowfullscreen: "true",
39220
+ onMouseenter: handleSetFocus
39221
+ }, null, 42, _hoisted_2$C)) : createCommentVNode("", true)
39016
39222
  ], 4)
39017
39223
  ]),
39018
39224
  actions: withCtx(() => [
39019
- createVNode(_sfc_main$5, {
39225
+ createVNode(_sfc_main$7, {
39020
39226
  selected: unref(frameborder) === "1",
39021
39227
  tooltip: `${unref(frameborder) === "1" ? "\u53D6\u6D88\u8FB9\u6846" : "\u8BBE\u7F6E\u8FB9\u6846"}`,
39022
39228
  onClick: handleToggleFrameborder
@@ -39027,20 +39233,20 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
39027
39233
  _: 1
39028
39234
  }, 8, ["selected", "tooltip"]),
39029
39235
  createVNode(BlockActionSeparator),
39030
- createVNode(_sfc_main$2, {
39236
+ createVNode(_sfc_main$4, {
39031
39237
  modelValue: unref(width),
39032
39238
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(width) ? width.value = $event : null),
39033
39239
  modelModifiers: { lazy: true, trim: true },
39034
39240
  tooltip: "\u81EA\u5B9A\u4E49\u5BBD\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
39035
39241
  }, null, 8, ["modelValue"]),
39036
- createVNode(_sfc_main$2, {
39242
+ createVNode(_sfc_main$4, {
39037
39243
  modelValue: unref(height),
39038
39244
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(height) ? height.value = $event : null),
39039
39245
  modelModifiers: { lazy: true, trim: true },
39040
39246
  tooltip: "\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
39041
39247
  }, null, 8, ["modelValue"]),
39042
39248
  createVNode(BlockActionSeparator),
39043
- createVNode(_sfc_main$5, {
39249
+ createVNode(_sfc_main$7, {
39044
39250
  tooltip: "\u624B\u673A\u5C3A\u5BF8",
39045
39251
  selected: sizeMatch("390px", "844px"),
39046
39252
  onClick: _cache[3] || (_cache[3] = ($event) => handleSetSize("390px", "844px"))
@@ -39050,7 +39256,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
39050
39256
  ]),
39051
39257
  _: 1
39052
39258
  }, 8, ["selected"]),
39053
- createVNode(_sfc_main$5, {
39259
+ createVNode(_sfc_main$7, {
39054
39260
  tooltip: "\u5E73\u677F\u7535\u8111\u7EB5\u5411\u5C3A\u5BF8",
39055
39261
  selected: sizeMatch("834px", "1194px"),
39056
39262
  onClick: _cache[4] || (_cache[4] = ($event) => handleSetSize("834px", "1194px"))
@@ -39060,7 +39266,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
39060
39266
  ]),
39061
39267
  _: 1
39062
39268
  }, 8, ["selected"]),
39063
- createVNode(_sfc_main$5, {
39269
+ createVNode(_sfc_main$7, {
39064
39270
  tooltip: "\u5E73\u677F\u7535\u8111\u6A2A\u5411\u5C3A\u5BF8",
39065
39271
  selected: sizeMatch("1194px", "834px"),
39066
39272
  onClick: _cache[5] || (_cache[5] = ($event) => handleSetSize("1194px", "834px"))
@@ -39070,7 +39276,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
39070
39276
  ]),
39071
39277
  _: 1
39072
39278
  }, 8, ["selected"]),
39073
- createVNode(_sfc_main$5, {
39279
+ createVNode(_sfc_main$7, {
39074
39280
  tooltip: "\u684C\u9762\u7535\u8111\u5C3A\u5BF8",
39075
39281
  selected: sizeMatch("100%", "834px"),
39076
39282
  onClick: _cache[6] || (_cache[6] = ($event) => handleSetSize("100%", "834px"))
@@ -39081,7 +39287,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
39081
39287
  _: 1
39082
39288
  }, 8, ["selected"]),
39083
39289
  createVNode(BlockActionSeparator),
39084
- createVNode(_sfc_main$5, {
39290
+ createVNode(_sfc_main$7, {
39085
39291
  tooltip: "\u6253\u5F00\u94FE\u63A5",
39086
39292
  onClick: handleOpenLink
39087
39293
  }, {
@@ -39249,6 +39455,700 @@ const Iframe = Node.create({
39249
39455
  })
39250
39456
  ];
39251
39457
  },
39458
+ addNodeView() {
39459
+ return VueNodeViewRenderer(_sfc_main$3);
39460
+ }
39461
+ });
39462
+ const _hoisted_1$C = {
39463
+ viewBox: "0 0 24 24",
39464
+ width: "1.2em",
39465
+ height: "1.2em"
39466
+ };
39467
+ const _hoisted_2$B = /* @__PURE__ */ createElementVNode("path", {
39468
+ fill: "currentColor",
39469
+ 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"
39470
+ }, null, -1);
39471
+ const _hoisted_3$A = [
39472
+ _hoisted_2$B
39473
+ ];
39474
+ function render$z(_ctx, _cache) {
39475
+ return openBlock(), createElementBlock("svg", _hoisted_1$C, _hoisted_3$A);
39476
+ }
39477
+ const MdiImageSizeSelectActual = { name: "mdi-image-size-select-actual", render: render$z };
39478
+ const _hoisted_1$B = {
39479
+ viewBox: "0 0 24 24",
39480
+ width: "1.2em",
39481
+ height: "1.2em"
39482
+ };
39483
+ const _hoisted_2$A = /* @__PURE__ */ createElementVNode("path", {
39484
+ fill: "currentColor",
39485
+ 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"
39486
+ }, null, -1);
39487
+ const _hoisted_3$z = [
39488
+ _hoisted_2$A
39489
+ ];
39490
+ function render$y(_ctx, _cache) {
39491
+ return openBlock(), createElementBlock("svg", _hoisted_1$B, _hoisted_3$z);
39492
+ }
39493
+ const MdiImageSizeSelectSmall = { name: "mdi-image-size-select-small", render: render$y };
39494
+ const _hoisted_1$A = {
39495
+ viewBox: "0 0 24 24",
39496
+ width: "1.2em",
39497
+ height: "1.2em"
39498
+ };
39499
+ const _hoisted_2$z = /* @__PURE__ */ createElementVNode("path", {
39500
+ fill: "currentColor",
39501
+ 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"
39502
+ }, null, -1);
39503
+ const _hoisted_3$y = [
39504
+ _hoisted_2$z
39505
+ ];
39506
+ function render$x(_ctx, _cache) {
39507
+ return openBlock(), createElementBlock("svg", _hoisted_1$A, _hoisted_3$y);
39508
+ }
39509
+ const MdiImageSizeSelectLarge = { name: "mdi-image-size-select-large", render: render$x };
39510
+ const _hoisted_1$z = {
39511
+ viewBox: "0 0 24 24",
39512
+ width: "1.2em",
39513
+ height: "1.2em"
39514
+ };
39515
+ const _hoisted_2$y = /* @__PURE__ */ createElementVNode("path", {
39516
+ fill: "currentColor",
39517
+ 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"
39518
+ }, null, -1);
39519
+ const _hoisted_3$x = [
39520
+ _hoisted_2$y
39521
+ ];
39522
+ function render$w(_ctx, _cache) {
39523
+ return openBlock(), createElementBlock("svg", _hoisted_1$z, _hoisted_3$x);
39524
+ }
39525
+ const MdiCogPlay = { name: "mdi-cog-play", render: render$w };
39526
+ const _hoisted_1$y = {
39527
+ viewBox: "0 0 24 24",
39528
+ width: "1.2em",
39529
+ height: "1.2em"
39530
+ };
39531
+ const _hoisted_2$x = /* @__PURE__ */ createElementVNode("path", {
39532
+ fill: "currentColor",
39533
+ 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"
39534
+ }, null, -1);
39535
+ const _hoisted_3$w = [
39536
+ _hoisted_2$x
39537
+ ];
39538
+ function render$v(_ctx, _cache) {
39539
+ return openBlock(), createElementBlock("svg", _hoisted_1$y, _hoisted_3$w);
39540
+ }
39541
+ const MdiCogPlayOutline = { name: "mdi-cog-play-outline", render: render$v };
39542
+ const _hoisted_1$x = {
39543
+ viewBox: "0 0 24 24",
39544
+ width: "1.2em",
39545
+ height: "1.2em"
39546
+ };
39547
+ const _hoisted_2$w = /* @__PURE__ */ createElementVNode("path", {
39548
+ fill: "currentColor",
39549
+ 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"
39550
+ }, null, -1);
39551
+ const _hoisted_3$v = [
39552
+ _hoisted_2$w
39553
+ ];
39554
+ function render$u(_ctx, _cache) {
39555
+ return openBlock(), createElementBlock("svg", _hoisted_1$x, _hoisted_3$v);
39556
+ }
39557
+ const MdiPlayCircle = { name: "mdi-play-circle", render: render$u };
39558
+ const _hoisted_1$w = {
39559
+ viewBox: "0 0 24 24",
39560
+ width: "1.2em",
39561
+ height: "1.2em"
39562
+ };
39563
+ const _hoisted_2$v = /* @__PURE__ */ createElementVNode("path", {
39564
+ fill: "currentColor",
39565
+ 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"
39566
+ }, null, -1);
39567
+ const _hoisted_3$u = [
39568
+ _hoisted_2$v
39569
+ ];
39570
+ function render$t(_ctx, _cache) {
39571
+ return openBlock(), createElementBlock("svg", _hoisted_1$w, _hoisted_3$u);
39572
+ }
39573
+ const MdiPlayCircleOutline = { name: "mdi-play-circle-outline", render: render$t };
39574
+ const _hoisted_1$v = {
39575
+ viewBox: "0 0 24 24",
39576
+ width: "1.2em",
39577
+ height: "1.2em"
39578
+ };
39579
+ const _hoisted_2$u = /* @__PURE__ */ createElementVNode("path", {
39580
+ fill: "currentColor",
39581
+ 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"
39582
+ }, null, -1);
39583
+ const _hoisted_3$t = [
39584
+ _hoisted_2$u
39585
+ ];
39586
+ function render$s(_ctx, _cache) {
39587
+ return openBlock(), createElementBlock("svg", _hoisted_1$v, _hoisted_3$t);
39588
+ }
39589
+ const MdiMotionPlayOutline = { name: "mdi-motion-play-outline", render: render$s };
39590
+ const _hoisted_1$u = {
39591
+ viewBox: "0 0 24 24",
39592
+ width: "1.2em",
39593
+ height: "1.2em"
39594
+ };
39595
+ const _hoisted_2$t = /* @__PURE__ */ createElementVNode("path", {
39596
+ fill: "currentColor",
39597
+ 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"
39598
+ }, null, -1);
39599
+ const _hoisted_3$s = [
39600
+ _hoisted_2$t
39601
+ ];
39602
+ function render$r(_ctx, _cache) {
39603
+ return openBlock(), createElementBlock("svg", _hoisted_1$u, _hoisted_3$s);
39604
+ }
39605
+ const MdiMotionPlay = { name: "mdi-motion-play", render: render$r };
39606
+ const _hoisted_1$t = { class: "py-1.5" };
39607
+ const _hoisted_2$s = ["controls", "autoplay", "loop", "src"];
39608
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
39609
+ __name: "VideoView",
39610
+ props: {
39611
+ editor: null,
39612
+ node: null,
39613
+ decorations: null,
39614
+ selected: { type: Boolean },
39615
+ extension: null,
39616
+ getPos: null,
39617
+ updateAttributes: null,
39618
+ deleteNode: null
39619
+ },
39620
+ setup(__props) {
39621
+ const props = __props;
39622
+ const src = computed({
39623
+ get: () => {
39624
+ var _a;
39625
+ return (_a = props.node) == null ? void 0 : _a.attrs.src;
39626
+ },
39627
+ set: (src2) => {
39628
+ props.updateAttributes({ src: src2 });
39629
+ }
39630
+ });
39631
+ const width = computed({
39632
+ get: () => {
39633
+ return props.node.attrs.width;
39634
+ },
39635
+ set: (value) => {
39636
+ handleSetSize(value, height.value);
39637
+ }
39638
+ });
39639
+ const height = computed({
39640
+ get: () => {
39641
+ return props.node.attrs.height;
39642
+ },
39643
+ set: (value) => {
39644
+ handleSetSize(width.value, value);
39645
+ }
39646
+ });
39647
+ const controls = computed(() => {
39648
+ return props.node.attrs.controls;
39649
+ });
39650
+ const autoplay = computed(() => {
39651
+ return props.node.attrs.autoplay;
39652
+ });
39653
+ const loop = computed(() => {
39654
+ return props.node.attrs.loop;
39655
+ });
39656
+ function handleSetFocus() {
39657
+ props.editor.commands.setNodeSelection(props.getPos());
39658
+ }
39659
+ function handleSetSize(width2, height2) {
39660
+ props.updateAttributes({ width: width2, height: height2 });
39661
+ props.editor.chain().focus().setNodeSelection(props.getPos()).run();
39662
+ }
39663
+ function handleToggleControls() {
39664
+ props.updateAttributes({
39665
+ controls: props.node.attrs.controls ? null : true
39666
+ });
39667
+ props.editor.chain().focus().setNodeSelection(props.getPos()).run();
39668
+ }
39669
+ function handleToggleAutoplay() {
39670
+ props.updateAttributes({
39671
+ autoplay: props.node.attrs.autoplay ? null : true
39672
+ });
39673
+ props.editor.chain().focus().setNodeSelection(props.getPos()).run();
39674
+ }
39675
+ function handleToggleLoop() {
39676
+ props.updateAttributes({
39677
+ loop: props.node.attrs.loop ? null : true
39678
+ });
39679
+ props.editor.chain().focus().setNodeSelection(props.getPos()).run();
39680
+ }
39681
+ function handleOpenLink() {
39682
+ window.open(src.value, "_blank");
39683
+ }
39684
+ return (_ctx, _cache) => {
39685
+ return openBlock(), createBlock(unref(NodeViewWrapper), { as: "div" }, {
39686
+ default: withCtx(() => [
39687
+ createVNode(_sfc_main$6, {
39688
+ editor: __props.editor,
39689
+ "get-pos": __props.getPos,
39690
+ "delete-node": __props.deleteNode,
39691
+ selected: __props.selected
39692
+ }, {
39693
+ content: withCtx(() => [
39694
+ createElementVNode("div", {
39695
+ class: "inline-block overflow-hidden transition-all text-center relative h-full",
39696
+ style: normalizeStyle({
39697
+ width: __props.node.attrs.width
39698
+ })
39699
+ }, [
39700
+ createElementVNode("div", _hoisted_1$t, [
39701
+ withDirectives(createElementVNode("input", {
39702
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(src) ? src.value = $event : null),
39703
+ 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",
39704
+ placeholder: "\u8F93\u5165\u94FE\u63A5\uFF0C\u6309\u56DE\u8F66\u786E\u5B9A",
39705
+ tabindex: "-1",
39706
+ onFocus: handleSetFocus
39707
+ }, null, 544), [
39708
+ [
39709
+ vModelText,
39710
+ unref(src),
39711
+ void 0,
39712
+ { lazy: true }
39713
+ ]
39714
+ ])
39715
+ ]),
39716
+ unref(src) ? (openBlock(), createElementBlock("video", {
39717
+ key: 0,
39718
+ controls: unref(controls),
39719
+ autoplay: unref(autoplay),
39720
+ loop: unref(loop),
39721
+ class: "rounded-md m-0",
39722
+ src: __props.node.attrs.src,
39723
+ style: normalizeStyle({
39724
+ width: __props.node.attrs.width,
39725
+ height: __props.node.attrs.height
39726
+ }),
39727
+ onMouseenter: handleSetFocus
39728
+ }, null, 44, _hoisted_2$s)) : createCommentVNode("", true)
39729
+ ], 4)
39730
+ ]),
39731
+ actions: withCtx(() => [
39732
+ createVNode(_sfc_main$7, {
39733
+ selected: unref(controls),
39734
+ tooltip: `${unref(controls) ? "\u9690\u85CF\u63A7\u5236\u9762\u677F" : "\u663E\u793A\u63A7\u5236\u9762\u677F"}`,
39735
+ onClick: handleToggleControls
39736
+ }, {
39737
+ icon: withCtx(() => [
39738
+ unref(controls) ? (openBlock(), createBlock(unref(MdiCogPlay), { key: 0 })) : (openBlock(), createBlock(unref(MdiCogPlayOutline), { key: 1 }))
39739
+ ]),
39740
+ _: 1
39741
+ }, 8, ["selected", "tooltip"]),
39742
+ createVNode(_sfc_main$7, {
39743
+ selected: unref(autoplay),
39744
+ tooltip: `${unref(autoplay) ? "\u5173\u95ED\u81EA\u52A8\u64AD\u653E" : "\u5F00\u542F\u81EA\u52A8\u64AD\u653E"}`,
39745
+ onClick: handleToggleAutoplay
39746
+ }, {
39747
+ icon: withCtx(() => [
39748
+ unref(autoplay) ? (openBlock(), createBlock(unref(MdiPlayCircle), { key: 0 })) : (openBlock(), createBlock(unref(MdiPlayCircleOutline), { key: 1 }))
39749
+ ]),
39750
+ _: 1
39751
+ }, 8, ["selected", "tooltip"]),
39752
+ createVNode(_sfc_main$7, {
39753
+ selected: unref(loop),
39754
+ tooltip: `${unref(loop) ? "\u5173\u95ED\u5FAA\u73AF\u64AD\u653E" : "\u5F00\u542F\u5FAA\u73AF\u64AD\u653E"}`,
39755
+ onClick: handleToggleLoop
39756
+ }, {
39757
+ icon: withCtx(() => [
39758
+ unref(loop) ? (openBlock(), createBlock(unref(MdiMotionPlay), { key: 0 })) : (openBlock(), createBlock(unref(MdiMotionPlayOutline), { key: 1 }))
39759
+ ]),
39760
+ _: 1
39761
+ }, 8, ["selected", "tooltip"]),
39762
+ createVNode(BlockActionSeparator),
39763
+ createVNode(_sfc_main$4, {
39764
+ modelValue: unref(width),
39765
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(width) ? width.value = $event : null),
39766
+ modelModifiers: { lazy: true, trim: true },
39767
+ tooltip: "\u81EA\u5B9A\u4E49\u5BBD\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
39768
+ }, null, 8, ["modelValue"]),
39769
+ createVNode(_sfc_main$4, {
39770
+ modelValue: unref(height),
39771
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(height) ? height.value = $event : null),
39772
+ modelModifiers: { lazy: true, trim: true },
39773
+ tooltip: "\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
39774
+ }, null, 8, ["modelValue"]),
39775
+ createVNode(BlockActionSeparator),
39776
+ createVNode(_sfc_main$7, {
39777
+ tooltip: "\u5C0F\u5C3A\u5BF8",
39778
+ selected: __props.node.attrs.width === "25%",
39779
+ onClick: _cache[3] || (_cache[3] = ($event) => handleSetSize("25%", "auto"))
39780
+ }, {
39781
+ icon: withCtx(() => [
39782
+ createVNode(unref(MdiImageSizeSelectSmall))
39783
+ ]),
39784
+ _: 1
39785
+ }, 8, ["selected"]),
39786
+ createVNode(_sfc_main$7, {
39787
+ tooltip: "\u4E2D\u5C3A\u5BF8",
39788
+ selected: __props.node.attrs.width === "50%",
39789
+ onClick: _cache[4] || (_cache[4] = ($event) => handleSetSize("50%", "auto"))
39790
+ }, {
39791
+ icon: withCtx(() => [
39792
+ createVNode(unref(MdiImageSizeSelectLarge))
39793
+ ]),
39794
+ _: 1
39795
+ }, 8, ["selected"]),
39796
+ createVNode(_sfc_main$7, {
39797
+ tooltip: "\u5168\u5C3A\u5BF8",
39798
+ selected: __props.node.attrs.width === "100%",
39799
+ onClick: _cache[5] || (_cache[5] = ($event) => handleSetSize("100%", "auto"))
39800
+ }, {
39801
+ icon: withCtx(() => [
39802
+ createVNode(unref(MdiImageSizeSelectActual))
39803
+ ]),
39804
+ _: 1
39805
+ }, 8, ["selected"]),
39806
+ createVNode(BlockActionSeparator),
39807
+ createVNode(_sfc_main$7, {
39808
+ tooltip: "\u6253\u5F00\u94FE\u63A5",
39809
+ onClick: handleOpenLink
39810
+ }, {
39811
+ icon: withCtx(() => [
39812
+ createVNode(unref(MdiLinkVariant))
39813
+ ]),
39814
+ _: 1
39815
+ })
39816
+ ]),
39817
+ _: 1
39818
+ }, 8, ["editor", "get-pos", "delete-node", "selected"])
39819
+ ]),
39820
+ _: 1
39821
+ });
39822
+ };
39823
+ }
39824
+ });
39825
+ const Video = Node.create({
39826
+ name: "video",
39827
+ inline() {
39828
+ return true;
39829
+ },
39830
+ group() {
39831
+ return "inline";
39832
+ },
39833
+ addAttributes() {
39834
+ var _a;
39835
+ return {
39836
+ ...(_a = this.parent) == null ? void 0 : _a.call(this),
39837
+ src: {
39838
+ default: null,
39839
+ parseHTML: (element) => {
39840
+ return element.getAttribute("src");
39841
+ }
39842
+ },
39843
+ width: {
39844
+ default: "100%",
39845
+ parseHTML: (element) => {
39846
+ return element.getAttribute("width");
39847
+ },
39848
+ renderHTML(attributes) {
39849
+ return {
39850
+ width: attributes.width
39851
+ };
39852
+ }
39853
+ },
39854
+ height: {
39855
+ default: "auto",
39856
+ parseHTML: (element) => {
39857
+ return element.getAttribute("height");
39858
+ },
39859
+ renderHTML: (attributes) => {
39860
+ return {
39861
+ height: attributes.height
39862
+ };
39863
+ }
39864
+ },
39865
+ autoplay: {
39866
+ default: null,
39867
+ parseHTML: (element) => {
39868
+ return element.getAttribute("autoplay");
39869
+ },
39870
+ renderHTML: (attributes) => {
39871
+ return {
39872
+ autoplay: attributes.autoplay
39873
+ };
39874
+ }
39875
+ },
39876
+ controls: {
39877
+ default: null,
39878
+ parseHTML: (element) => {
39879
+ return element.getAttribute("controls");
39880
+ },
39881
+ renderHTML: (attributes) => {
39882
+ return {
39883
+ controls: attributes.controls
39884
+ };
39885
+ }
39886
+ },
39887
+ loop: {
39888
+ default: null,
39889
+ parseHTML: (element) => {
39890
+ return element.getAttribute("loop");
39891
+ },
39892
+ renderHTML: (attributes) => {
39893
+ return {
39894
+ loop: attributes.loop
39895
+ };
39896
+ }
39897
+ }
39898
+ };
39899
+ },
39900
+ parseHTML() {
39901
+ return [
39902
+ {
39903
+ tag: "video"
39904
+ }
39905
+ ];
39906
+ },
39907
+ renderHTML({ HTMLAttributes }) {
39908
+ return [
39909
+ "video",
39910
+ mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)
39911
+ ];
39912
+ },
39913
+ addCommands() {
39914
+ return {
39915
+ setVideo: (options) => ({ commands: commands2 }) => {
39916
+ return commands2.insertContent({
39917
+ type: this.name,
39918
+ attrs: options
39919
+ });
39920
+ }
39921
+ };
39922
+ },
39923
+ addInputRules() {
39924
+ return [
39925
+ nodeInputRule({
39926
+ find: /^\$video\$$/,
39927
+ type: this.type,
39928
+ getAttributes: () => {
39929
+ return { width: "100%" };
39930
+ }
39931
+ })
39932
+ ];
39933
+ },
39934
+ addNodeView() {
39935
+ return VueNodeViewRenderer(_sfc_main$2);
39936
+ }
39937
+ });
39938
+ const _hoisted_1$s = { class: "inline-block overflow-hidden transition-all text-center relative h-full w-full" };
39939
+ const _hoisted_2$r = { class: "py-1.5" };
39940
+ const _hoisted_3$r = ["autoplay", "loop", "src"];
39941
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
39942
+ __name: "AudioView",
39943
+ props: {
39944
+ editor: null,
39945
+ node: null,
39946
+ decorations: null,
39947
+ selected: { type: Boolean },
39948
+ extension: null,
39949
+ getPos: null,
39950
+ updateAttributes: null,
39951
+ deleteNode: null
39952
+ },
39953
+ setup(__props) {
39954
+ const props = __props;
39955
+ const src = computed({
39956
+ get: () => {
39957
+ var _a;
39958
+ return (_a = props.node) == null ? void 0 : _a.attrs.src;
39959
+ },
39960
+ set: (src2) => {
39961
+ props.updateAttributes({ src: src2 });
39962
+ }
39963
+ });
39964
+ const autoplay = computed(() => {
39965
+ return props.node.attrs.autoplay;
39966
+ });
39967
+ const loop = computed(() => {
39968
+ return props.node.attrs.loop;
39969
+ });
39970
+ function handleSetFocus() {
39971
+ props.editor.commands.setNodeSelection(props.getPos());
39972
+ }
39973
+ function handleToggleAutoplay() {
39974
+ props.updateAttributes({
39975
+ autoplay: props.node.attrs.autoplay ? null : true
39976
+ });
39977
+ props.editor.chain().focus().setNodeSelection(props.getPos()).run();
39978
+ }
39979
+ function handleToggleLoop() {
39980
+ props.updateAttributes({
39981
+ loop: props.node.attrs.loop ? null : true
39982
+ });
39983
+ props.editor.chain().focus().setNodeSelection(props.getPos()).run();
39984
+ }
39985
+ function handleOpenLink() {
39986
+ window.open(src.value, "_blank");
39987
+ }
39988
+ return (_ctx, _cache) => {
39989
+ return openBlock(), createBlock(unref(NodeViewWrapper), { as: "div" }, {
39990
+ default: withCtx(() => [
39991
+ createVNode(_sfc_main$6, {
39992
+ editor: __props.editor,
39993
+ "get-pos": __props.getPos,
39994
+ "delete-node": __props.deleteNode,
39995
+ selected: __props.selected
39996
+ }, {
39997
+ content: withCtx(() => [
39998
+ createElementVNode("div", _hoisted_1$s, [
39999
+ createElementVNode("div", _hoisted_2$r, [
40000
+ withDirectives(createElementVNode("input", {
40001
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(src) ? src.value = $event : null),
40002
+ 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",
40003
+ placeholder: "\u8F93\u5165\u94FE\u63A5\uFF0C\u6309\u56DE\u8F66\u786E\u5B9A",
40004
+ tabindex: "-1",
40005
+ onFocus: handleSetFocus
40006
+ }, null, 544), [
40007
+ [
40008
+ vModelText,
40009
+ unref(src),
40010
+ void 0,
40011
+ { lazy: true }
40012
+ ]
40013
+ ])
40014
+ ]),
40015
+ unref(src) ? (openBlock(), createElementBlock("audio", {
40016
+ key: 0,
40017
+ controls: "",
40018
+ autoplay: unref(autoplay),
40019
+ loop: unref(loop),
40020
+ src: __props.node.attrs.src,
40021
+ onMouseenter: handleSetFocus
40022
+ }, null, 40, _hoisted_3$r)) : createCommentVNode("", true)
40023
+ ])
40024
+ ]),
40025
+ actions: withCtx(() => [
40026
+ createVNode(_sfc_main$7, {
40027
+ selected: unref(autoplay),
40028
+ tooltip: `${unref(autoplay) ? "\u5173\u95ED\u81EA\u52A8\u64AD\u653E" : "\u5F00\u542F\u81EA\u52A8\u64AD\u653E"}`,
40029
+ onClick: handleToggleAutoplay
40030
+ }, {
40031
+ icon: withCtx(() => [
40032
+ unref(autoplay) ? (openBlock(), createBlock(unref(MdiPlayCircle), { key: 0 })) : (openBlock(), createBlock(unref(MdiPlayCircleOutline), { key: 1 }))
40033
+ ]),
40034
+ _: 1
40035
+ }, 8, ["selected", "tooltip"]),
40036
+ createVNode(_sfc_main$7, {
40037
+ selected: unref(loop),
40038
+ tooltip: `${unref(loop) ? "\u5173\u95ED\u5FAA\u73AF\u64AD\u653E" : "\u5F00\u542F\u5FAA\u73AF\u64AD\u653E"}`,
40039
+ onClick: handleToggleLoop
40040
+ }, {
40041
+ icon: withCtx(() => [
40042
+ unref(loop) ? (openBlock(), createBlock(unref(MdiMotionPlay), { key: 0 })) : (openBlock(), createBlock(unref(MdiMotionPlayOutline), { key: 1 }))
40043
+ ]),
40044
+ _: 1
40045
+ }, 8, ["selected", "tooltip"]),
40046
+ createVNode(BlockActionSeparator),
40047
+ createVNode(_sfc_main$7, {
40048
+ tooltip: "\u6253\u5F00\u94FE\u63A5",
40049
+ onClick: handleOpenLink
40050
+ }, {
40051
+ icon: withCtx(() => [
40052
+ createVNode(unref(MdiLinkVariant))
40053
+ ]),
40054
+ _: 1
40055
+ })
40056
+ ]),
40057
+ _: 1
40058
+ }, 8, ["editor", "get-pos", "delete-node", "selected"])
40059
+ ]),
40060
+ _: 1
40061
+ });
40062
+ };
40063
+ }
40064
+ });
40065
+ const Audio = Node.create({
40066
+ name: "audio",
40067
+ inline() {
40068
+ return true;
40069
+ },
40070
+ group() {
40071
+ return "inline";
40072
+ },
40073
+ addAttributes() {
40074
+ var _a;
40075
+ return {
40076
+ ...(_a = this.parent) == null ? void 0 : _a.call(this),
40077
+ src: {
40078
+ default: null,
40079
+ parseHTML: (element) => {
40080
+ return element.getAttribute("src");
40081
+ }
40082
+ },
40083
+ autoplay: {
40084
+ default: null,
40085
+ parseHTML: (element) => {
40086
+ return element.getAttribute("autoplay");
40087
+ },
40088
+ renderHTML: (attributes) => {
40089
+ return {
40090
+ autoplay: attributes.autoplay
40091
+ };
40092
+ }
40093
+ },
40094
+ controls: {
40095
+ default: true,
40096
+ parseHTML: (element) => {
40097
+ return element.getAttribute("controls");
40098
+ },
40099
+ renderHTML: (attributes) => {
40100
+ return {
40101
+ controls: attributes.controls
40102
+ };
40103
+ }
40104
+ },
40105
+ loop: {
40106
+ default: null,
40107
+ parseHTML: (element) => {
40108
+ return element.getAttribute("loop");
40109
+ },
40110
+ renderHTML: (attributes) => {
40111
+ return {
40112
+ loop: attributes.loop
40113
+ };
40114
+ }
40115
+ }
40116
+ };
40117
+ },
40118
+ parseHTML() {
40119
+ return [
40120
+ {
40121
+ tag: "audio"
40122
+ }
40123
+ ];
40124
+ },
40125
+ renderHTML({ HTMLAttributes }) {
40126
+ return [
40127
+ "audio",
40128
+ mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)
40129
+ ];
40130
+ },
40131
+ addCommands() {
40132
+ return {
40133
+ setAudio: (options) => ({ commands: commands2 }) => {
40134
+ return commands2.insertContent({
40135
+ type: this.name,
40136
+ attrs: options
40137
+ });
40138
+ }
40139
+ };
40140
+ },
40141
+ addInputRules() {
40142
+ return [
40143
+ nodeInputRule({
40144
+ find: /^\$audio\$$/,
40145
+ type: this.type,
40146
+ getAttributes: () => {
40147
+ return { width: "100%" };
40148
+ }
40149
+ })
40150
+ ];
40151
+ },
39252
40152
  addNodeView() {
39253
40153
  return VueNodeViewRenderer(_sfc_main$1);
39254
40154
  }
@@ -39316,54 +40216,6 @@ const Image$1 = Node.create({
39316
40216
  ];
39317
40217
  }
39318
40218
  });
39319
- const _hoisted_1$u = {
39320
- viewBox: "0 0 24 24",
39321
- width: "1.2em",
39322
- height: "1.2em"
39323
- };
39324
- const _hoisted_2$t = /* @__PURE__ */ createElementVNode("path", {
39325
- fill: "currentColor",
39326
- 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"
39327
- }, null, -1);
39328
- const _hoisted_3$t = [
39329
- _hoisted_2$t
39330
- ];
39331
- function render$t(_ctx, _cache) {
39332
- return openBlock(), createElementBlock("svg", _hoisted_1$u, _hoisted_3$t);
39333
- }
39334
- const MdiImageSizeSelectActual = { name: "mdi-image-size-select-actual", render: render$t };
39335
- const _hoisted_1$t = {
39336
- viewBox: "0 0 24 24",
39337
- width: "1.2em",
39338
- height: "1.2em"
39339
- };
39340
- const _hoisted_2$s = /* @__PURE__ */ createElementVNode("path", {
39341
- fill: "currentColor",
39342
- 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"
39343
- }, null, -1);
39344
- const _hoisted_3$s = [
39345
- _hoisted_2$s
39346
- ];
39347
- function render$s(_ctx, _cache) {
39348
- return openBlock(), createElementBlock("svg", _hoisted_1$t, _hoisted_3$s);
39349
- }
39350
- const MdiImageSizeSelectSmall = { name: "mdi-image-size-select-small", render: render$s };
39351
- const _hoisted_1$s = {
39352
- viewBox: "0 0 24 24",
39353
- width: "1.2em",
39354
- height: "1.2em"
39355
- };
39356
- const _hoisted_2$r = /* @__PURE__ */ createElementVNode("path", {
39357
- fill: "currentColor",
39358
- 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"
39359
- }, null, -1);
39360
- const _hoisted_3$r = [
39361
- _hoisted_2$r
39362
- ];
39363
- function render$r(_ctx, _cache) {
39364
- return openBlock(), createElementBlock("svg", _hoisted_1$s, _hoisted_3$r);
39365
- }
39366
- const MdiImageSizeSelectLarge = { name: "mdi-image-size-select-large", render: render$r };
39367
40219
  const _hoisted_1$r = ["src", "title", "alt"];
39368
40220
  const _sfc_main = /* @__PURE__ */ defineComponent({
39369
40221
  __name: "ImageView",
@@ -39419,7 +40271,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39419
40271
  return (_ctx, _cache) => {
39420
40272
  return openBlock(), createBlock(unref(NodeViewWrapper), { as: "div" }, {
39421
40273
  default: withCtx(() => [
39422
- createVNode(_sfc_main$4, {
40274
+ createVNode(_sfc_main$6, {
39423
40275
  selected: __props.selected,
39424
40276
  editor: __props.editor,
39425
40277
  "delete-node": __props.deleteNode,
@@ -39444,20 +40296,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39444
40296
  ], 6)
39445
40297
  ]),
39446
40298
  actions: withCtx(() => [
39447
- createVNode(_sfc_main$2, {
40299
+ createVNode(_sfc_main$4, {
39448
40300
  modelValue: unref(width),
39449
40301
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(width) ? width.value = $event : null),
39450
40302
  modelModifiers: { lazy: true, trim: true },
39451
40303
  tooltip: "\u81EA\u5B9A\u4E49\u5BBD\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
39452
40304
  }, null, 8, ["modelValue"]),
39453
- createVNode(_sfc_main$2, {
40305
+ createVNode(_sfc_main$4, {
39454
40306
  modelValue: unref(height),
39455
40307
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(height) ? height.value = $event : null),
39456
40308
  modelModifiers: { lazy: true, trim: true },
39457
40309
  tooltip: "\u81EA\u5B9A\u4E49\u9AD8\u5EA6\uFF0C\u6309\u56DE\u8F66\u952E\u751F\u6548"
39458
40310
  }, null, 8, ["modelValue"]),
39459
40311
  createVNode(BlockActionSeparator),
39460
- createVNode(_sfc_main$5, {
40312
+ createVNode(_sfc_main$7, {
39461
40313
  tooltip: "\u5C0F\u5C3A\u5BF8",
39462
40314
  selected: __props.node.attrs.width === "25%",
39463
40315
  onClick: _cache[2] || (_cache[2] = ($event) => handleSetSize("25%", "auto"))
@@ -39467,7 +40319,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39467
40319
  ]),
39468
40320
  _: 1
39469
40321
  }, 8, ["selected"]),
39470
- createVNode(_sfc_main$5, {
40322
+ createVNode(_sfc_main$7, {
39471
40323
  tooltip: "\u4E2D\u5C3A\u5BF8",
39472
40324
  selected: __props.node.attrs.width === "50%",
39473
40325
  onClick: _cache[3] || (_cache[3] = ($event) => handleSetSize("50%", "auto"))
@@ -39477,7 +40329,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39477
40329
  ]),
39478
40330
  _: 1
39479
40331
  }, 8, ["selected"]),
39480
- createVNode(_sfc_main$5, {
40332
+ createVNode(_sfc_main$7, {
39481
40333
  tooltip: "\u5168\u5C3A\u5BF8",
39482
40334
  selected: __props.node.attrs.width === "100%",
39483
40335
  onClick: _cache[4] || (_cache[4] = ($event) => handleSetSize("100%", "100%"))
@@ -39488,7 +40340,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39488
40340
  _: 1
39489
40341
  }, 8, ["selected"]),
39490
40342
  createVNode(BlockActionSeparator),
39491
- createVNode(_sfc_main$5, {
40343
+ createVNode(_sfc_main$7, {
39492
40344
  tooltip: "\u6253\u5F00\u94FE\u63A5",
39493
40345
  onClick: handleOpenLink
39494
40346
  }, {
@@ -39557,7 +40409,7 @@ const Image = Image$1.extend({
39557
40409
  parseHTML() {
39558
40410
  return [
39559
40411
  {
39560
- tag: "img[src]"
40412
+ tag: this.options.allowBase64 ? "img[src]" : 'img[src]:not([src^="data:"])'
39561
40413
  }
39562
40414
  ];
39563
40415
  }
@@ -41850,7 +42702,9 @@ const allExtensions = [
41850
42702
  ExtensionCodeBlock.configure({
41851
42703
  lowlight
41852
42704
  }),
41853
- Iframe
42705
+ Iframe,
42706
+ Video,
42707
+ Audio
41854
42708
  ];
41855
42709
  const _hoisted_1$q = {
41856
42710
  viewBox: "0 0 24 24",
@@ -42615,7 +43469,7 @@ function Separator() {
42615
43469
  }
42616
43470
  const plugin = {
42617
43471
  install(app) {
42618
- app.component("RichTextEditor", _sfc_main$8);
43472
+ app.component("RichTextEditor", _sfc_main$a);
42619
43473
  }
42620
43474
  };
42621
43475
  export {
@@ -42628,6 +43482,7 @@ export {
42628
43482
  BulletListMenuItem,
42629
43483
  CodeBlockMenuItem,
42630
43484
  CodeMenuItem,
43485
+ CommandAudio,
42631
43486
  CommandBulletList,
42632
43487
  CommandCodeBlock,
42633
43488
  CommandHeader1,
@@ -42641,11 +43496,13 @@ export {
42641
43496
  CommandOrderedList,
42642
43497
  CommandTable,
42643
43498
  CommandTaskList,
43499
+ CommandVideo,
42644
43500
  suggestion as CommandsSuggestion,
42645
43501
  CommentParagraph,
42646
43502
  Editor,
42647
43503
  EditorContent,
42648
43504
  Extension,
43505
+ Audio as ExtensionAudio,
42649
43506
  Blockquote as ExtensionBlockquote,
42650
43507
  Bold as ExtensionBold,
42651
43508
  BulletList as ExtensionBulletList,
@@ -42677,6 +43534,7 @@ export {
42677
43534
  Text$1 as ExtensionText,
42678
43535
  TextAlign as ExtensionTextAlign,
42679
43536
  Underline as ExtensionUnderline,
43537
+ Video as ExtensionVideo,
42680
43538
  FloatingMenu,
42681
43539
  HeadingMenuItem,
42682
43540
  HighlightMenuItem,
@@ -42691,7 +43549,7 @@ export {
42691
43549
  PasteRule,
42692
43550
  QuoteMenuItem,
42693
43551
  RedoMenuItem,
42694
- _sfc_main$8 as RichTextEditor,
43552
+ _sfc_main$a as RichTextEditor,
42695
43553
  Separator,
42696
43554
  StrikeMenuItem,
42697
43555
  SubScriptMenuItem,