vue-editify 0.1.22 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/examples/App.vue +8 -2
- package/lib/components/button/button.vue.d.ts +3 -3
- package/lib/components/button/props.d.ts +1 -1
- package/lib/components/checkbox/checkbox.vue.d.ts +3 -3
- package/lib/components/checkbox/props.d.ts +1 -1
- package/lib/components/colors/colors.vue.d.ts +3 -3
- package/lib/components/colors/props.d.ts +1 -1
- package/lib/components/insertImage/insertImage.vue.d.ts +6 -6
- package/lib/components/insertImage/props.d.ts +2 -2
- package/lib/components/insertLink/insertLink.vue.d.ts +3 -3
- package/lib/components/insertLink/props.d.ts +2 -2
- package/lib/components/insertTable/insertTable.vue.d.ts +3 -3
- package/lib/components/insertTable/props.d.ts +2 -2
- package/lib/components/insertVideo/insertVideo.vue.d.ts +6 -6
- package/lib/components/insertVideo/props.d.ts +2 -2
- package/lib/components/menu/menu.vue.d.ts +3 -3
- package/lib/components/menu/props.d.ts +1 -1
- package/lib/components/toolbar/props.d.ts +1 -1
- package/lib/components/toolbar/toolbar.vue.d.ts +3 -3
- package/lib/core/rule.d.ts +1 -1
- package/lib/core/tool.d.ts +19 -9
- package/lib/editify/editify.vue.d.ts +12 -3
- package/lib/editify/props.d.ts +6 -2
- package/lib/editify.es.js +576 -178
- package/lib/editify.umd.js +1 -1
- package/lib/index.d.ts +7 -4
- package/lib/plugins/attachment/index.d.ts +17 -0
- package/lib/plugins/attachment/insertAttachment/insertAttachment.vue.d.ts +83 -0
- package/lib/plugins/attachment/insertAttachment/props.d.ts +38 -0
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/src/components/button/button.vue +4 -1
- package/src/components/button/props.ts +1 -1
- package/src/components/checkbox/props.ts +1 -1
- package/src/components/colors/colors.vue +1 -1
- package/src/components/colors/props.ts +1 -1
- package/src/components/insertImage/insertImage.vue +12 -10
- package/src/components/insertImage/props.ts +2 -2
- package/src/components/insertLink/insertLink.vue +1 -1
- package/src/components/insertLink/props.ts +2 -2
- package/src/components/insertTable/props.ts +2 -2
- package/src/components/insertVideo/insertVideo.vue +12 -10
- package/src/components/insertVideo/props.ts +2 -2
- package/src/components/menu/menu.vue +28 -13
- package/src/components/menu/props.ts +1 -1
- package/src/components/toolbar/props.ts +1 -1
- package/src/components/toolbar/toolbar.vue +3 -4
- package/src/core/function.ts +5 -5
- package/src/core/rule.ts +1 -1
- package/src/core/tool.ts +24 -11
- package/src/editify/editify.less +27 -0
- package/src/editify/editify.vue +50 -6
- package/src/editify/props.ts +9 -2
- package/src/icon/iconfont.css +4 -0
- package/src/icon/iconfont.ttf +0 -0
- package/src/icon/iconfont.woff +0 -0
- package/src/index.ts +13 -8
- package/src/locale/en_US.ts +9 -1
- package/src/locale/zh_CN.ts +9 -1
- package/src/plugins/attachment/images/attachment.png +0 -0
- package/src/plugins/attachment/index.ts +121 -0
- package/src/plugins/attachment/insertAttachment/insertAttachment.less +135 -0
- package/src/plugins/attachment/insertAttachment/insertAttachment.vue +189 -0
- package/src/plugins/attachment/insertAttachment/props.ts +48 -0
    
        package/lib/editify.es.js
    CHANGED
    
    | @@ -18679,7 +18679,7 @@ const getMenuConfig = function(editTrans, editLocale) { | |
| 18679 18679 | 
             
                  //右侧边框是否显示
         | 
| 18680 18680 | 
             
                  rightBorder: false,
         | 
| 18681 18681 | 
             
                  //图片支持上传的类型,不区分大小写
         | 
| 18682 | 
            -
                   | 
| 18682 | 
            +
                  allowedFileType: ["jpg", "png", "jpeg", "webp", "jfif", "ico", "gif", "svg", "psd"],
         | 
| 18683 18683 | 
             
                  //是否多选图片
         | 
| 18684 18684 | 
             
                  multiple: false,
         | 
| 18685 18685 | 
             
                  //单张图片的最大值,单位kb
         | 
| @@ -18700,7 +18700,7 @@ const getMenuConfig = function(editTrans, editLocale) { | |
| 18700 18700 | 
             
                  //右侧边框是否显示
         | 
| 18701 18701 | 
             
                  rightBorder: false,
         | 
| 18702 18702 | 
             
                  //视频支持上传的类型,不区分大小写
         | 
| 18703 | 
            -
                   | 
| 18703 | 
            +
                  allowedFileType: ["mp4", "avi", "mpg", "wmv", "mov", "rm", "swf", "flv"],
         | 
| 18704 18704 | 
             
                  //是否多选视频
         | 
| 18705 18705 | 
             
                  multiple: false,
         | 
| 18706 18706 | 
             
                  //单个视频的的最大值,单位kb
         | 
| @@ -18814,13 +18814,13 @@ const elementIsInTask = (element2) => { | |
| 18814 18814 | 
             
              }
         | 
| 18815 18815 | 
             
              return false;
         | 
| 18816 18816 | 
             
            };
         | 
| 18817 | 
            -
            const isList =  | 
| 18817 | 
            +
            const isList = (element2, ordered = false) => {
         | 
| 18818 18818 | 
             
              if (element2.isEmpty()) {
         | 
| 18819 18819 | 
             
                return false;
         | 
| 18820 18820 | 
             
              }
         | 
| 18821 18821 | 
             
              return element2.parsedom == "div" && element2.hasMarks() && element2.marks["data-editify-list"] == (ordered ? "ol" : "ul");
         | 
| 18822 18822 | 
             
            };
         | 
| 18823 | 
            -
            const isTask =  | 
| 18823 | 
            +
            const isTask = (element2) => {
         | 
| 18824 18824 | 
             
              if (element2.isEmpty()) {
         | 
| 18825 18825 | 
             
                return false;
         | 
| 18826 18826 | 
             
              }
         | 
| @@ -19066,12 +19066,12 @@ const getFlatElementsByRange = (editor, dataRangeCaches) => { | |
| 19066 19066 | 
             
              }
         | 
| 19067 19067 | 
             
              return elements;
         | 
| 19068 19068 | 
             
            };
         | 
| 19069 | 
            -
            const elementToParagraph =  | 
| 19069 | 
            +
            const elementToParagraph = (element2) => {
         | 
| 19070 19070 | 
             
              element2.marks = null;
         | 
| 19071 19071 | 
             
              element2.styles = null;
         | 
| 19072 19072 | 
             
              element2.parsedom = AlexElement.BLOCK_NODE;
         | 
| 19073 19073 | 
             
            };
         | 
| 19074 | 
            -
            const elementToList =  | 
| 19074 | 
            +
            const elementToList = (element2, ordered = false) => {
         | 
| 19075 19075 | 
             
              if (isList(element2, ordered)) {
         | 
| 19076 19076 | 
             
                return;
         | 
| 19077 19077 | 
             
              }
         | 
| @@ -19082,7 +19082,7 @@ const elementToList = function(element2, ordered = false) { | |
| 19082 19082 | 
             
              }
         | 
| 19083 19083 | 
             
              element2.marks["data-editify-list"] = ordered ? "ol" : "ul";
         | 
| 19084 19084 | 
             
            };
         | 
| 19085 | 
            -
            const elementToTask =  | 
| 19085 | 
            +
            const elementToTask = (element2) => {
         | 
| 19086 19086 | 
             
              if (isTask(element2)) {
         | 
| 19087 19087 | 
             
                return;
         | 
| 19088 19088 | 
             
              }
         | 
| @@ -19933,8 +19933,8 @@ const TriangleProps = { | |
| 19933 19933 | 
             
                default: null
         | 
| 19934 19934 | 
             
              }
         | 
| 19935 19935 | 
             
            };
         | 
| 19936 | 
            -
            const _hoisted_1$ | 
| 19937 | 
            -
            const _sfc_main$ | 
| 19936 | 
            +
            const _hoisted_1$d = ["data-editify-placement"];
         | 
| 19937 | 
            +
            const _sfc_main$e = /* @__PURE__ */ defineComponent({
         | 
| 19938 19938 | 
             
              ...{
         | 
| 19939 19939 | 
             
                name: "Triangle"
         | 
| 19940 19940 | 
             
              },
         | 
| @@ -19998,7 +19998,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({ | |
| 19998 19998 | 
             
                      class: "editify-triangle-el",
         | 
| 19999 19999 | 
             
                      style: normalizeStyle(elStyle.value)
         | 
| 20000 20000 | 
             
                    }, null, 4)
         | 
| 20001 | 
            -
                  ], 12, _hoisted_1$ | 
| 20001 | 
            +
                  ], 12, _hoisted_1$d);
         | 
| 20002 20002 | 
             
                };
         | 
| 20003 20003 | 
             
              }
         | 
| 20004 20004 | 
             
            });
         | 
| @@ -20009,7 +20009,7 @@ const _export_sfc = (sfc, props) => { | |
| 20009 20009 | 
             
              }
         | 
| 20010 20010 | 
             
              return target;
         | 
| 20011 20011 | 
             
            };
         | 
| 20012 | 
            -
            const Triangle = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 20012 | 
            +
            const Triangle = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-e1abc967"]]);
         | 
| 20013 20013 | 
             
            const LayerProps = {
         | 
| 20014 20014 | 
             
              //是否显示
         | 
| 20015 20015 | 
             
              modelValue: {
         | 
| @@ -20073,8 +20073,8 @@ const LayerProps = { | |
| 20073 20073 | 
             
                default: false
         | 
| 20074 20074 | 
             
              }
         | 
| 20075 20075 | 
             
            };
         | 
| 20076 | 
            -
            const _hoisted_1$ | 
| 20077 | 
            -
            const _sfc_main$ | 
| 20076 | 
            +
            const _hoisted_1$c = ["data-editify-placement"];
         | 
| 20077 | 
            +
            const _sfc_main$d = /* @__PURE__ */ defineComponent({
         | 
| 20078 20078 | 
             
              ...{
         | 
| 20079 20079 | 
             
                name: "Layer"
         | 
| 20080 20080 | 
             
              },
         | 
| @@ -20618,14 +20618,14 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({ | |
| 20618 20618 | 
             
                        }, [
         | 
| 20619 20619 | 
             
                          renderSlot(_ctx.$slots, "default", {}, void 0, true)
         | 
| 20620 20620 | 
             
                        ], 6)
         | 
| 20621 | 
            -
                      ], 12, _hoisted_1$ | 
| 20621 | 
            +
                      ], 12, _hoisted_1$c)) : createCommentVNode("", true)
         | 
| 20622 20622 | 
             
                    ]),
         | 
| 20623 20623 | 
             
                    _: 3
         | 
| 20624 20624 | 
             
                  }, 8, ["name"]);
         | 
| 20625 20625 | 
             
                };
         | 
| 20626 20626 | 
             
              }
         | 
| 20627 20627 | 
             
            });
         | 
| 20628 | 
            -
            const Layer = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 20628 | 
            +
            const Layer = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-09578d83"]]);
         | 
| 20629 20629 | 
             
            const TooltipProps = {
         | 
| 20630 20630 | 
             
              //提示内容
         | 
| 20631 20631 | 
             
              content: {
         | 
| @@ -20643,8 +20643,8 @@ const TooltipProps = { | |
| 20643 20643 | 
             
                default: false
         | 
| 20644 20644 | 
             
              }
         | 
| 20645 20645 | 
             
            };
         | 
| 20646 | 
            -
            const _hoisted_1$ | 
| 20647 | 
            -
            const _sfc_main$ | 
| 20646 | 
            +
            const _hoisted_1$b = { class: "editify-tooltip-content" };
         | 
| 20647 | 
            +
            const _sfc_main$c = /* @__PURE__ */ defineComponent({
         | 
| 20648 20648 | 
             
              ...{
         | 
| 20649 20649 | 
             
                name: "Tooltip"
         | 
| 20650 20650 | 
             
              },
         | 
| @@ -20693,7 +20693,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ | |
| 20693 20693 | 
             
                      "z-index": 10
         | 
| 20694 20694 | 
             
                    }, {
         | 
| 20695 20695 | 
             
                      default: withCtx(() => [
         | 
| 20696 | 
            -
                        createElementVNode("div", _hoisted_1$ | 
| 20696 | 
            +
                        createElementVNode("div", _hoisted_1$b, toDisplayString(_ctx.content), 1)
         | 
| 20697 20697 | 
             
                      ]),
         | 
| 20698 20698 | 
             
                      _: 1
         | 
| 20699 20699 | 
             
                    }, 8, ["modelValue", "node"])
         | 
| @@ -20701,7 +20701,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({ | |
| 20701 20701 | 
             
                };
         | 
| 20702 20702 | 
             
              }
         | 
| 20703 20703 | 
             
            });
         | 
| 20704 | 
            -
            const Tooltip = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 20704 | 
            +
            const Tooltip = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-7b5e30d1"]]);
         | 
| 20705 20705 | 
             
            const IconProps = {
         | 
| 20706 20706 | 
             
              //图标值
         | 
| 20707 20707 | 
             
              value: {
         | 
| @@ -20709,7 +20709,7 @@ const IconProps = { | |
| 20709 20709 | 
             
                default: ""
         | 
| 20710 20710 | 
             
              }
         | 
| 20711 20711 | 
             
            };
         | 
| 20712 | 
            -
            const _sfc_main$ | 
| 20712 | 
            +
            const _sfc_main$b = /* @__PURE__ */ defineComponent({
         | 
| 20713 20713 | 
             
              ...{
         | 
| 20714 20714 | 
             
                name: "Icon"
         | 
| 20715 20715 | 
             
              },
         | 
| @@ -20723,7 +20723,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({ | |
| 20723 20723 | 
             
                };
         | 
| 20724 20724 | 
             
              }
         | 
| 20725 20725 | 
             
            });
         | 
| 20726 | 
            -
            const Icon = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 20726 | 
            +
            const Icon = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-6e00035b"]]);
         | 
| 20727 20727 | 
             
            const ButtonProps = {
         | 
| 20728 20728 | 
             
              //按钮类型
         | 
| 20729 20729 | 
             
              type: {
         | 
| @@ -20789,22 +20789,22 @@ const ButtonProps = { | |
| 20789 20789 | 
             
                default: false
         | 
| 20790 20790 | 
             
              }
         | 
| 20791 20791 | 
             
            };
         | 
| 20792 | 
            -
            const _hoisted_1$ | 
| 20793 | 
            -
            const _hoisted_2$ | 
| 20792 | 
            +
            const _hoisted_1$a = { class: "editify-button" };
         | 
| 20793 | 
            +
            const _hoisted_2$9 = {
         | 
| 20794 20794 | 
             
              key: 0,
         | 
| 20795 20795 | 
             
              class: "editify-button-slot"
         | 
| 20796 20796 | 
             
            };
         | 
| 20797 | 
            -
            const _hoisted_3$ | 
| 20798 | 
            -
            const _hoisted_4$ | 
| 20797 | 
            +
            const _hoisted_3$9 = { key: 1 };
         | 
| 20798 | 
            +
            const _hoisted_4$7 = {
         | 
| 20799 20799 | 
             
              key: 1,
         | 
| 20800 20800 | 
             
              class: "editify-button-options"
         | 
| 20801 20801 | 
             
            };
         | 
| 20802 | 
            -
            const _hoisted_5$ | 
| 20803 | 
            -
            const _hoisted_6$ | 
| 20802 | 
            +
            const _hoisted_5$6 = ["onClick"];
         | 
| 20803 | 
            +
            const _hoisted_6$6 = {
         | 
| 20804 20804 | 
             
              key: 1,
         | 
| 20805 20805 | 
             
              class: "editify-button-option-flex"
         | 
| 20806 20806 | 
             
            };
         | 
| 20807 | 
            -
            const _sfc_main$ | 
| 20807 | 
            +
            const _sfc_main$a = /* @__PURE__ */ defineComponent({
         | 
| 20808 20808 | 
             
              ...{
         | 
| 20809 20809 | 
             
                name: "Button"
         | 
| 20810 20810 | 
             
              },
         | 
| @@ -20907,7 +20907,10 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({ | |
| 20907 20907 | 
             
                  return val ? val.label : "";
         | 
| 20908 20908 | 
             
                });
         | 
| 20909 20909 | 
             
                const parseColor = computed(() => {
         | 
| 20910 | 
            -
                   | 
| 20910 | 
            +
                  if (props.color) {
         | 
| 20911 | 
            +
                    return color.hex2rgb(props.color);
         | 
| 20912 | 
            +
                  }
         | 
| 20913 | 
            +
                  return [];
         | 
| 20911 20914 | 
             
                });
         | 
| 20912 20915 | 
             
                const btnStyle = computed(() => {
         | 
| 20913 20916 | 
             
                  if (props.disabled) {
         | 
| @@ -20951,7 +20954,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({ | |
| 20951 20954 | 
             
                  status
         | 
| 20952 20955 | 
             
                });
         | 
| 20953 20956 | 
             
                return (_ctx, _cache) => {
         | 
| 20954 | 
            -
                  return openBlock(), createElementBlock("div", _hoisted_1$ | 
| 20957 | 
            +
                  return openBlock(), createElementBlock("div", _hoisted_1$a, [
         | 
| 20955 20958 | 
             
                    createElementVNode("div", {
         | 
| 20956 20959 | 
             
                      class: normalizeClass(["editify-button-wrap", { "editify-right-border": _ctx.rightBorder, "editify-left-border": _ctx.leftBorder }])
         | 
| 20957 20960 | 
             
                    }, [
         | 
| @@ -20971,9 +20974,9 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({ | |
| 20971 20974 | 
             
                            onMouseup: _cache[3] || (_cache[3] = ($event) => status.value = "hover"),
         | 
| 20972 20975 | 
             
                            onClick: handleClick
         | 
| 20973 20976 | 
             
                          }, [
         | 
| 20974 | 
            -
                            _ctx.type == "default" || _ctx.type == "select" ? (openBlock(), createElementBlock("div", _hoisted_2$ | 
| 20977 | 
            +
                            _ctx.type == "default" || _ctx.type == "select" ? (openBlock(), createElementBlock("div", _hoisted_2$9, [
         | 
| 20975 20978 | 
             
                              renderSlot(_ctx.$slots, "default", {}, void 0, true)
         | 
| 20976 | 
            -
                            ])) : _ctx.type == "display" ? (openBlock(), createElementBlock("div", _hoisted_3$ | 
| 20979 | 
            +
                            ])) : _ctx.type == "display" ? (openBlock(), createElementBlock("div", _hoisted_3$9, toDisplayString(displayLabel.value), 1)) : createCommentVNode("", true),
         | 
| 20977 20980 | 
             
                            _ctx.type == "select" || _ctx.type == "display" ? (openBlock(), createBlock(Icon, {
         | 
| 20978 20981 | 
             
                              key: 2,
         | 
| 20979 20982 | 
             
                              value: "caret-down",
         | 
| @@ -21006,7 +21009,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({ | |
| 21006 21009 | 
             
                            _ctx.$slots.layer ? renderSlot(_ctx.$slots, "layer", {
         | 
| 21007 21010 | 
             
                              key: 0,
         | 
| 21008 21011 | 
             
                              options: cmpOptions.value
         | 
| 21009 | 
            -
                            }, void 0, true) : (openBlock(), createElementBlock("div", _hoisted_4$ | 
| 21012 | 
            +
                            }, void 0, true) : (openBlock(), createElementBlock("div", _hoisted_4$7, [
         | 
| 21010 21013 | 
             
                              (openBlock(true), createElementBlock(Fragment, null, renderList(cmpOptions.value, (item) => {
         | 
| 21011 21014 | 
             
                                return openBlock(), createElementBlock("div", {
         | 
| 21012 21015 | 
             
                                  onClick: ($event) => select(item),
         | 
| @@ -21016,14 +21019,14 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({ | |
| 21016 21019 | 
             
                                  _ctx.$slots.option ? renderSlot(_ctx.$slots, "option", {
         | 
| 21017 21020 | 
             
                                    key: 0,
         | 
| 21018 21021 | 
             
                                    item
         | 
| 21019 | 
            -
                                  }, void 0, true) : (openBlock(), createElementBlock("div", _hoisted_6$ | 
| 21022 | 
            +
                                  }, void 0, true) : (openBlock(), createElementBlock("div", _hoisted_6$6, [
         | 
| 21020 21023 | 
             
                                    item.icon ? (openBlock(), createBlock(Icon, {
         | 
| 21021 21024 | 
             
                                      key: 0,
         | 
| 21022 21025 | 
             
                                      value: item.icon
         | 
| 21023 21026 | 
             
                                    }, null, 8, ["value"])) : createCommentVNode("", true),
         | 
| 21024 21027 | 
             
                                    createElementVNode("span", null, toDisplayString(item.label), 1)
         | 
| 21025 21028 | 
             
                                  ]))
         | 
| 21026 | 
            -
                                ], 14, _hoisted_5$ | 
| 21029 | 
            +
                                ], 14, _hoisted_5$6);
         | 
| 21027 21030 | 
             
                              }), 256))
         | 
| 21028 21031 | 
             
                            ]))
         | 
| 21029 21032 | 
             
                          ], 4)
         | 
| @@ -21035,7 +21038,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({ | |
| 21035 21038 | 
             
                };
         | 
| 21036 21039 | 
             
              }
         | 
| 21037 21040 | 
             
            });
         | 
| 21038 | 
            -
            const Button = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 21041 | 
            +
            const Button = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-14398008"]]);
         | 
| 21039 21042 | 
             
            const CheckboxProps = {
         | 
| 21040 21043 | 
             
              //是否禁用
         | 
| 21041 21044 | 
             
              disabled: {
         | 
| @@ -21079,10 +21082,10 @@ const CheckboxProps = { | |
| 21079 21082 | 
             
                }
         | 
| 21080 21083 | 
             
              }
         | 
| 21081 21084 | 
             
            };
         | 
| 21082 | 
            -
            const _hoisted_1$ | 
| 21083 | 
            -
            const _hoisted_2$ | 
| 21084 | 
            -
            const _hoisted_3$ | 
| 21085 | 
            -
            const _sfc_main$ | 
| 21085 | 
            +
            const _hoisted_1$9 = ["data-editify-placement", "textContent"];
         | 
| 21086 | 
            +
            const _hoisted_2$8 = ["value", "disabled", "checked"];
         | 
| 21087 | 
            +
            const _hoisted_3$8 = ["data-editify-placement", "textContent"];
         | 
| 21088 | 
            +
            const _sfc_main$9 = /* @__PURE__ */ defineComponent({
         | 
| 21086 21089 | 
             
              ...{
         | 
| 21087 21090 | 
             
                name: "Checkbox"
         | 
| 21088 21091 | 
             
              },
         | 
| @@ -21137,14 +21140,14 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ | |
| 21137 21140 | 
             
                      class: "editify-checkbox-label",
         | 
| 21138 21141 | 
             
                      "data-editify-placement": _ctx.placement,
         | 
| 21139 21142 | 
             
                      textContent: toDisplayString(_ctx.label)
         | 
| 21140 | 
            -
                    }, null, 8, _hoisted_1$ | 
| 21143 | 
            +
                    }, null, 8, _hoisted_1$9)) : createCommentVNode("", true),
         | 
| 21141 21144 | 
             
                    createElementVNode("input", {
         | 
| 21142 21145 | 
             
                      onChange: change,
         | 
| 21143 21146 | 
             
                      value: _ctx.value,
         | 
| 21144 21147 | 
             
                      disabled: _ctx.disabled,
         | 
| 21145 21148 | 
             
                      checked: check.value,
         | 
| 21146 21149 | 
             
                      type: "checkbox"
         | 
| 21147 | 
            -
                    }, null, 40, _hoisted_2$ | 
| 21150 | 
            +
                    }, null, 40, _hoisted_2$8),
         | 
| 21148 21151 | 
             
                    createElementVNode("span", {
         | 
| 21149 21152 | 
             
                      class: normalizeClass(["editify-checkbox-item", { "editify-reverse": !_ctx.color, "editify-round": _ctx.round, "editify-checked": check.value && !_ctx.disabled }]),
         | 
| 21150 21153 | 
             
                      style: normalizeStyle(itemStyle.value)
         | 
| @@ -21159,12 +21162,12 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({ | |
| 21159 21162 | 
             
                      class: "editify-checkbox-label",
         | 
| 21160 21163 | 
             
                      "data-editify-placement": _ctx.placement,
         | 
| 21161 21164 | 
             
                      textContent: toDisplayString(_ctx.label)
         | 
| 21162 | 
            -
                    }, null, 8, _hoisted_3$ | 
| 21165 | 
            +
                    }, null, 8, _hoisted_3$8)) : createCommentVNode("", true)
         | 
| 21163 21166 | 
             
                  ], 2);
         | 
| 21164 21167 | 
             
                };
         | 
| 21165 21168 | 
             
              }
         | 
| 21166 21169 | 
             
            });
         | 
| 21167 | 
            -
            const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 21170 | 
            +
            const Checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-d99c609b"]]);
         | 
| 21168 21171 | 
             
            const ColorsProps = {
         | 
| 21169 21172 | 
             
              //颜色数组
         | 
| 21170 21173 | 
             
              data: {
         | 
| @@ -21189,10 +21192,10 @@ const ColorsProps = { | |
| 21189 21192 | 
             
                default: false
         | 
| 21190 21193 | 
             
              }
         | 
| 21191 21194 | 
             
            };
         | 
| 21192 | 
            -
            const _hoisted_1$ | 
| 21193 | 
            -
            const _hoisted_2$ | 
| 21194 | 
            -
            const _hoisted_3$ | 
| 21195 | 
            -
            const _sfc_main$ | 
| 21195 | 
            +
            const _hoisted_1$8 = { class: "editify-colors" };
         | 
| 21196 | 
            +
            const _hoisted_2$7 = { class: "editify-colors-list" };
         | 
| 21197 | 
            +
            const _hoisted_3$7 = ["onClick"];
         | 
| 21198 | 
            +
            const _sfc_main$8 = /* @__PURE__ */ defineComponent({
         | 
| 21196 21199 | 
             
              ...{
         | 
| 21197 21200 | 
             
                name: "Colors"
         | 
| 21198 21201 | 
             
              },
         | 
| @@ -21206,7 +21209,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({ | |
| 21206 21209 | 
             
                  emits("change", item.value);
         | 
| 21207 21210 | 
             
                };
         | 
| 21208 21211 | 
             
                return (_ctx, _cache) => {
         | 
| 21209 | 
            -
                  return openBlock(), createElementBlock("div", _hoisted_1$ | 
| 21212 | 
            +
                  return openBlock(), createElementBlock("div", _hoisted_1$8, [
         | 
| 21210 21213 | 
             
                    createElementVNode("div", {
         | 
| 21211 21214 | 
             
                      class: "editify-colors-header",
         | 
| 21212 21215 | 
             
                      onClick: _cache[0] || (_cache[0] = ($event) => selectColor({ value: "" }))
         | 
| @@ -21214,11 +21217,11 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({ | |
| 21214 21217 | 
             
                      createVNode(Icon, { value: "remove" }),
         | 
| 21215 21218 | 
             
                      createElementVNode("span", null, toDisplayString(unref($editTrans)("defaultColor")), 1)
         | 
| 21216 21219 | 
             
                    ]),
         | 
| 21217 | 
            -
                    createElementVNode("div", _hoisted_2$ | 
| 21220 | 
            +
                    createElementVNode("div", _hoisted_2$7, [
         | 
| 21218 21221 | 
             
                      (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.data, (item) => {
         | 
| 21219 21222 | 
             
                        return openBlock(), createElementBlock("div", {
         | 
| 21220 21223 | 
             
                          class: normalizeClass(["editify-color", { "editify-active": _ctx.value == item.value }]),
         | 
| 21221 | 
            -
                          style: normalizeStyle({ borderColor: _ctx.value == item.value ? _ctx.color : "" })
         | 
| 21224 | 
            +
                          style: normalizeStyle({ borderColor: _ctx.value == item.value ? _ctx.color || "" : "" })
         | 
| 21222 21225 | 
             
                        }, [
         | 
| 21223 21226 | 
             
                          createVNode(Tooltip, {
         | 
| 21224 21227 | 
             
                            block: "",
         | 
| @@ -21230,7 +21233,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({ | |
| 21230 21233 | 
             
                                onClick: ($event) => selectColor(item),
         | 
| 21231 21234 | 
             
                                class: "editify-color-el",
         | 
| 21232 21235 | 
             
                                style: normalizeStyle({ background: item.value })
         | 
| 21233 | 
            -
                              }, null, 12, _hoisted_3$ | 
| 21236 | 
            +
                              }, null, 12, _hoisted_3$7)
         | 
| 21234 21237 | 
             
                            ]),
         | 
| 21235 21238 | 
             
                            _: 2
         | 
| 21236 21239 | 
             
                          }, 1032, ["content", "disabled"])
         | 
| @@ -21241,7 +21244,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({ | |
| 21241 21244 | 
             
                };
         | 
| 21242 21245 | 
             
              }
         | 
| 21243 21246 | 
             
            });
         | 
| 21244 | 
            -
            const Colors = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 21247 | 
            +
            const Colors = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-dec8d117"]]);
         | 
| 21245 21248 | 
             
            const ToolbarProps = {
         | 
| 21246 21249 | 
             
              //是否显示
         | 
| 21247 21250 | 
             
              modelValue: {
         | 
| @@ -21272,16 +21275,16 @@ const ToolbarProps = { | |
| 21272 21275 | 
             
                default: ""
         | 
| 21273 21276 | 
             
              }
         | 
| 21274 21277 | 
             
            };
         | 
| 21275 | 
            -
            const _hoisted_1$ | 
| 21278 | 
            +
            const _hoisted_1$7 = {
         | 
| 21276 21279 | 
             
              key: 0,
         | 
| 21277 21280 | 
             
              class: "editify-toolbar-link"
         | 
| 21278 21281 | 
             
            };
         | 
| 21279 | 
            -
            const _hoisted_2$ | 
| 21280 | 
            -
            const _hoisted_3$ | 
| 21281 | 
            -
            const _hoisted_4$ | 
| 21282 | 
            -
            const _hoisted_5$ | 
| 21283 | 
            -
            const _hoisted_6$ | 
| 21284 | 
            -
            const _sfc_main$ | 
| 21282 | 
            +
            const _hoisted_2$6 = { class: "editify-toolbar-link-label" };
         | 
| 21283 | 
            +
            const _hoisted_3$6 = ["placeholder"];
         | 
| 21284 | 
            +
            const _hoisted_4$6 = { class: "editify-toolbar-link-footer" };
         | 
| 21285 | 
            +
            const _hoisted_5$5 = { class: "editify-toolbar-link-operations" };
         | 
| 21286 | 
            +
            const _hoisted_6$5 = ["href"];
         | 
| 21287 | 
            +
            const _sfc_main$7 = /* @__PURE__ */ defineComponent({
         | 
| 21285 21288 | 
             
              ...{
         | 
| 21286 21289 | 
             
                name: "Toolbar"
         | 
| 21287 21290 | 
             
              },
         | 
| @@ -21291,7 +21294,6 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ | |
| 21291 21294 | 
             
              setup(__props, { emit: __emit }) {
         | 
| 21292 21295 | 
             
                const props = __props;
         | 
| 21293 21296 | 
             
                const emits = __emit;
         | 
| 21294 | 
            -
                const editify = inject("editify");
         | 
| 21295 21297 | 
             
                const editor = inject("editor");
         | 
| 21296 21298 | 
             
                const dataRangeCaches = inject("dataRangeCaches");
         | 
| 21297 21299 | 
             
                const $editTrans = inject("$editTrans");
         | 
| @@ -21955,7 +21957,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ | |
| 21955 21957 | 
             
                  } else if (props.type == "text") {
         | 
| 21956 21958 | 
             
                    const extraDisabled = (name) => {
         | 
| 21957 21959 | 
             
                      if (typeof props.config.extraDisabled == "function") {
         | 
| 21958 | 
            -
                        return props.config.extraDisabled | 
| 21960 | 
            +
                        return props.config.extraDisabled(name) || false;
         | 
| 21959 21961 | 
             
                      }
         | 
| 21960 21962 | 
             
                      return false;
         | 
| 21961 21963 | 
             
                    };
         | 
| @@ -22068,8 +22070,8 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ | |
| 22068 22070 | 
             
                        ref: toolbarRef,
         | 
| 22069 22071 | 
             
                        style: normalizeStyle(_ctx.config.style)
         | 
| 22070 22072 | 
             
                      }, [
         | 
| 22071 | 
            -
                        _ctx.type == "link" ? (openBlock(), createElementBlock("div", _hoisted_1$ | 
| 22072 | 
            -
                          createElementVNode("div", _hoisted_2$ | 
| 22073 | 
            +
                        _ctx.type == "link" ? (openBlock(), createElementBlock("div", _hoisted_1$7, [
         | 
| 22074 | 
            +
                          createElementVNode("div", _hoisted_2$6, toDisplayString(unref($editTrans)("linkAddress")), 1),
         | 
| 22073 22075 | 
             
                          withDirectives(createElementVNode("input", {
         | 
| 22074 22076 | 
             
                            onChange: modifyLink,
         | 
| 22075 22077 | 
             
                            onFocus: handleInputFocus,
         | 
| @@ -22077,7 +22079,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ | |
| 22077 22079 | 
             
                            placeholder: unref($editTrans)("linkUrlEnterPlaceholder"),
         | 
| 22078 22080 | 
             
                            "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => linkConfig.value.url = $event),
         | 
| 22079 22081 | 
             
                            type: "url"
         | 
| 22080 | 
            -
                          }, null, 40, _hoisted_3$ | 
| 22082 | 
            +
                          }, null, 40, _hoisted_3$6), [
         | 
| 22081 22083 | 
             
                            [
         | 
| 22082 22084 | 
             
                              vModelText,
         | 
| 22083 22085 | 
             
                              linkConfig.value.url,
         | 
| @@ -22085,7 +22087,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ | |
| 22085 22087 | 
             
                              { trim: true }
         | 
| 22086 22088 | 
             
                            ]
         | 
| 22087 22089 | 
             
                          ]),
         | 
| 22088 | 
            -
                          createElementVNode("div", _hoisted_4$ | 
| 22090 | 
            +
                          createElementVNode("div", _hoisted_4$6, [
         | 
| 22089 22091 | 
             
                            createVNode(Checkbox, {
         | 
| 22090 22092 | 
             
                              onChange: modifyLink,
         | 
| 22091 22093 | 
             
                              modelValue: linkConfig.value.newOpen,
         | 
| @@ -22094,13 +22096,13 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ | |
| 22094 22096 | 
             
                              color: _ctx.color,
         | 
| 22095 22097 | 
             
                              size: 10
         | 
| 22096 22098 | 
             
                            }, null, 8, ["modelValue", "label", "color"]),
         | 
| 22097 | 
            -
                            createElementVNode("div", _hoisted_5$ | 
| 22099 | 
            +
                            createElementVNode("div", _hoisted_5$5, [
         | 
| 22098 22100 | 
             
                              createElementVNode("span", { onClick: removeLink }, toDisplayString(unref($editTrans)("removeLink")), 1),
         | 
| 22099 22101 | 
             
                              createElementVNode("a", {
         | 
| 22100 22102 | 
             
                                href: linkConfig.value.url,
         | 
| 22101 22103 | 
             
                                target: "_blank",
         | 
| 22102 | 
            -
                                style: normalizeStyle({ color: _ctx.color })
         | 
| 22103 | 
            -
                              }, toDisplayString(unref($editTrans)("viewLink")), 13, _hoisted_6$ | 
| 22104 | 
            +
                                style: normalizeStyle({ color: _ctx.color || "" })
         | 
| 22105 | 
            +
                              }, toDisplayString(unref($editTrans)("viewLink")), 13, _hoisted_6$5)
         | 
| 22104 22106 | 
             
                            ])
         | 
| 22105 22107 | 
             
                          ])
         | 
| 22106 22108 | 
             
                        ])) : _ctx.type == "image" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
         | 
| @@ -22771,7 +22773,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({ | |
| 22771 22773 | 
             
                };
         | 
| 22772 22774 | 
             
              }
         | 
| 22773 22775 | 
             
            });
         | 
| 22774 | 
            -
            const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 22776 | 
            +
            const Toolbar = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-357be052"]]);
         | 
| 22775 22777 | 
             
            const InsertLinkProps = {
         | 
| 22776 22778 | 
             
              //主题色
         | 
| 22777 22779 | 
             
              color: {
         | 
| @@ -22784,13 +22786,13 @@ const InsertLinkProps = { | |
| 22784 22786 | 
             
                default: ""
         | 
| 22785 22787 | 
             
              }
         | 
| 22786 22788 | 
             
            };
         | 
| 22787 | 
            -
            const _hoisted_1$ | 
| 22788 | 
            -
            const _hoisted_2$ | 
| 22789 | 
            -
            const _hoisted_3$ | 
| 22790 | 
            -
            const _hoisted_4$ | 
| 22791 | 
            -
            const _hoisted_5$ | 
| 22792 | 
            -
            const _hoisted_6$ | 
| 22793 | 
            -
            const _sfc_main$ | 
| 22789 | 
            +
            const _hoisted_1$6 = { class: "editify-link" };
         | 
| 22790 | 
            +
            const _hoisted_2$5 = { class: "editify-link-label" };
         | 
| 22791 | 
            +
            const _hoisted_3$5 = ["placeholder"];
         | 
| 22792 | 
            +
            const _hoisted_4$5 = ["placeholder"];
         | 
| 22793 | 
            +
            const _hoisted_5$4 = { class: "editify-link-footer" };
         | 
| 22794 | 
            +
            const _hoisted_6$4 = { class: "editify-link-operations" };
         | 
| 22795 | 
            +
            const _sfc_main$6 = /* @__PURE__ */ defineComponent({
         | 
| 22794 22796 | 
             
              ...{
         | 
| 22795 22797 | 
             
                name: "InsertLink"
         | 
| 22796 22798 | 
             
              },
         | 
| @@ -22825,15 +22827,15 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({ | |
| 22825 22827 | 
             
                  emits("insert", linkText.value, linkUrl.value, newOpen.value);
         | 
| 22826 22828 | 
             
                };
         | 
| 22827 22829 | 
             
                return (_ctx, _cache) => {
         | 
| 22828 | 
            -
                  return openBlock(), createElementBlock("div", _hoisted_1$ | 
| 22829 | 
            -
                    createElementVNode("div", _hoisted_2$ | 
| 22830 | 
            +
                  return openBlock(), createElementBlock("div", _hoisted_1$6, [
         | 
| 22831 | 
            +
                    createElementVNode("div", _hoisted_2$5, toDisplayString(unref($editTrans)("linkAddress")), 1),
         | 
| 22830 22832 | 
             
                    withDirectives(createElementVNode("input", {
         | 
| 22831 22833 | 
             
                      onFocus: handleInputFocus,
         | 
| 22832 22834 | 
             
                      onBlur: handleInputBlur,
         | 
| 22833 22835 | 
             
                      placeholder: unref($editTrans)("linkTextEnterPlaceholder"),
         | 
| 22834 22836 | 
             
                      "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => linkText.value = $event),
         | 
| 22835 22837 | 
             
                      type: "text"
         | 
| 22836 | 
            -
                    }, null, 40, _hoisted_3$ | 
| 22838 | 
            +
                    }, null, 40, _hoisted_3$5), [
         | 
| 22837 22839 | 
             
                      [
         | 
| 22838 22840 | 
             
                        vModelText,
         | 
| 22839 22841 | 
             
                        linkText.value,
         | 
| @@ -22847,7 +22849,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({ | |
| 22847 22849 | 
             
                      placeholder: unref($editTrans)("linkUrlEnterPlaceholder"),
         | 
| 22848 22850 | 
             
                      "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => linkUrl.value = $event),
         | 
| 22849 22851 | 
             
                      type: "url"
         | 
| 22850 | 
            -
                    }, null, 40, _hoisted_4$ | 
| 22852 | 
            +
                    }, null, 40, _hoisted_4$5), [
         | 
| 22851 22853 | 
             
                      [
         | 
| 22852 22854 | 
             
                        vModelText,
         | 
| 22853 22855 | 
             
                        linkUrl.value,
         | 
| @@ -22855,7 +22857,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({ | |
| 22855 22857 | 
             
                        { trim: true }
         | 
| 22856 22858 | 
             
                      ]
         | 
| 22857 22859 | 
             
                    ]),
         | 
| 22858 | 
            -
                    createElementVNode("div", _hoisted_5$ | 
| 22860 | 
            +
                    createElementVNode("div", _hoisted_5$4, [
         | 
| 22859 22861 | 
             
                      createVNode(Checkbox, {
         | 
| 22860 22862 | 
             
                        modelValue: newOpen.value,
         | 
| 22861 22863 | 
             
                        "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => newOpen.value = $event),
         | 
| @@ -22863,9 +22865,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({ | |
| 22863 22865 | 
             
                        color: _ctx.color,
         | 
| 22864 22866 | 
             
                        size: 10
         | 
| 22865 22867 | 
             
                      }, null, 8, ["modelValue", "label", "color"]),
         | 
| 22866 | 
            -
                      createElementVNode("div", _hoisted_6$ | 
| 22868 | 
            +
                      createElementVNode("div", _hoisted_6$4, [
         | 
| 22867 22869 | 
             
                        createElementVNode("span", {
         | 
| 22868 | 
            -
                          style: normalizeStyle({ color: _ctx.color }),
         | 
| 22870 | 
            +
                          style: normalizeStyle({ color: _ctx.color || "" }),
         | 
| 22869 22871 | 
             
                          onClick: insertLink2
         | 
| 22870 22872 | 
             
                        }, toDisplayString(unref($editTrans)("insertLink")), 5)
         | 
| 22871 22873 | 
             
                      ])
         | 
| @@ -22874,7 +22876,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({ | |
| 22874 22876 | 
             
                };
         | 
| 22875 22877 | 
             
              }
         | 
| 22876 22878 | 
             
            });
         | 
| 22877 | 
            -
            const InsertLink = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 22879 | 
            +
            const InsertLink = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-9f80e392"]]);
         | 
| 22878 22880 | 
             
            const InsertImageProps = {
         | 
| 22879 22881 | 
             
              //主题色
         | 
| 22880 22882 | 
             
              color: {
         | 
| @@ -22882,7 +22884,7 @@ const InsertImageProps = { | |
| 22882 22884 | 
             
                default: ""
         | 
| 22883 22885 | 
             
              },
         | 
| 22884 22886 | 
             
              //支持的图片类型数组
         | 
| 22885 | 
            -
               | 
| 22887 | 
            +
              allowedFileType: {
         | 
| 22886 22888 | 
             
                type: Array,
         | 
| 22887 22889 | 
             
                default: null
         | 
| 22888 22890 | 
             
              },
         | 
| @@ -22912,19 +22914,19 @@ const InsertImageProps = { | |
| 22912 22914 | 
             
                default: null
         | 
| 22913 22915 | 
             
              }
         | 
| 22914 22916 | 
             
            };
         | 
| 22915 | 
            -
            const _hoisted_1$ | 
| 22916 | 
            -
            const _hoisted_2$ | 
| 22917 | 
            -
            const _hoisted_3$ | 
| 22917 | 
            +
            const _hoisted_1$5 = { class: "editify-image" };
         | 
| 22918 | 
            +
            const _hoisted_2$4 = { class: "editify-image-header" };
         | 
| 22919 | 
            +
            const _hoisted_3$4 = {
         | 
| 22918 22920 | 
             
              key: 0,
         | 
| 22919 22921 | 
             
              class: "editify-image-remote"
         | 
| 22920 22922 | 
             
            };
         | 
| 22921 | 
            -
            const _hoisted_4$ | 
| 22922 | 
            -
            const _hoisted_5$ | 
| 22923 | 
            +
            const _hoisted_4$4 = ["placeholder"];
         | 
| 22924 | 
            +
            const _hoisted_5$3 = {
         | 
| 22923 22925 | 
             
              key: 1,
         | 
| 22924 22926 | 
             
              class: "editify-image-upload"
         | 
| 22925 22927 | 
             
            };
         | 
| 22926 | 
            -
            const _hoisted_6$ | 
| 22927 | 
            -
            const _sfc_main$ | 
| 22928 | 
            +
            const _hoisted_6$3 = ["multiple"];
         | 
| 22929 | 
            +
            const _sfc_main$5 = /* @__PURE__ */ defineComponent({
         | 
| 22928 22930 | 
             
              ...{
         | 
| 22929 22931 | 
             
                name: "InsertImage"
         | 
| 22930 22932 | 
             
              },
         | 
| @@ -22935,7 +22937,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ | |
| 22935 22937 | 
             
                const props = __props;
         | 
| 22936 22938 | 
             
                const emits = __emit;
         | 
| 22937 22939 | 
             
                const $editTrans = inject("$editTrans");
         | 
| 22938 | 
            -
                const editify = inject("editify");
         | 
| 22939 22940 | 
             
                const current = ref("upload");
         | 
| 22940 22941 | 
             
                const remoteUrl = ref("");
         | 
| 22941 22942 | 
             
                const activeStyle = computed(() => {
         | 
| @@ -22976,24 +22977,24 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ | |
| 22976 22977 | 
             
                  for (let i = 0; i < files.length; i++) {
         | 
| 22977 22978 | 
             
                    const file2 = files[i];
         | 
| 22978 22979 | 
             
                    const suffix = getSuffix(file2);
         | 
| 22979 | 
            -
                    const isMatch = props. | 
| 22980 | 
            +
                    const isMatch = props.allowedFileType && Array.isArray(props.allowedFileType) && props.allowedFileType.length ? props.allowedFileType.some((item) => {
         | 
| 22980 22981 | 
             
                      return item.toLocaleLowerCase() == suffix.toLocaleLowerCase();
         | 
| 22981 | 
            -
                    });
         | 
| 22982 | 
            +
                    }) : true;
         | 
| 22982 22983 | 
             
                    if (!isMatch) {
         | 
| 22983 22984 | 
             
                      if (typeof props.handleError == "function") {
         | 
| 22984 | 
            -
                        props.handleError | 
| 22985 | 
            +
                        props.handleError("suffixError", file2);
         | 
| 22985 22986 | 
             
                      }
         | 
| 22986 22987 | 
             
                      continue;
         | 
| 22987 22988 | 
             
                    }
         | 
| 22988 22989 | 
             
                    if (props.maxSize && file2.size / 1024 > props.maxSize) {
         | 
| 22989 22990 | 
             
                      if (typeof props.handleError == "function") {
         | 
| 22990 | 
            -
                        props.handleError | 
| 22991 | 
            +
                        props.handleError("maxSizeError", file2);
         | 
| 22991 22992 | 
             
                      }
         | 
| 22992 22993 | 
             
                      continue;
         | 
| 22993 22994 | 
             
                    }
         | 
| 22994 22995 | 
             
                    if (props.minSize && file2.size / 1024 < props.minSize) {
         | 
| 22995 22996 | 
             
                      if (typeof props.handleError == "function") {
         | 
| 22996 | 
            -
                        props.handleError | 
| 22997 | 
            +
                        props.handleError("minSizeError", file2);
         | 
| 22997 22998 | 
             
                      }
         | 
| 22998 22999 | 
             
                      continue;
         | 
| 22999 23000 | 
             
                    }
         | 
| @@ -23002,7 +23003,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ | |
| 23002 23003 | 
             
                  if (filterFiles.length) {
         | 
| 23003 23004 | 
             
                    let images = [];
         | 
| 23004 23005 | 
             
                    if (typeof props.customUpload == "function") {
         | 
| 23005 | 
            -
                      images = await props.customUpload | 
| 23006 | 
            +
                      images = await props.customUpload(filterFiles) || [];
         | 
| 23006 23007 | 
             
                    } else {
         | 
| 23007 23008 | 
             
                      for (let i = 0; i < filterFiles.length; i++) {
         | 
| 23008 23009 | 
             
                        const url = await file.dataFileToBase64(filterFiles[i]);
         | 
| @@ -23022,8 +23023,8 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ | |
| 23022 23023 | 
             
                  }
         | 
| 23023 23024 | 
             
                );
         | 
| 23024 23025 | 
             
                return (_ctx, _cache) => {
         | 
| 23025 | 
            -
                  return openBlock(), createElementBlock("div", _hoisted_1$ | 
| 23026 | 
            -
                    createElementVNode("div", _hoisted_2$ | 
| 23026 | 
            +
                  return openBlock(), createElementBlock("div", _hoisted_1$5, [
         | 
| 23027 | 
            +
                    createElementVNode("div", _hoisted_2$4, [
         | 
| 23027 23028 | 
             
                      createElementVNode("div", {
         | 
| 23028 23029 | 
             
                        onClick: _cache[0] || (_cache[0] = ($event) => current.value = "upload"),
         | 
| 23029 23030 | 
             
                        class: normalizeClass(["editify-image-header-item", { "editify-active": current.value == "upload" }]),
         | 
| @@ -23039,13 +23040,13 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ | |
| 23039 23040 | 
             
                        style: normalizeStyle({ backgroundColor: _ctx.color || "" })
         | 
| 23040 23041 | 
             
                      }, null, 6)
         | 
| 23041 23042 | 
             
                    ]),
         | 
| 23042 | 
            -
                    current.value == "remote" ? (openBlock(), createElementBlock("div", _hoisted_3$ | 
| 23043 | 
            +
                    current.value == "remote" ? (openBlock(), createElementBlock("div", _hoisted_3$4, [
         | 
| 23043 23044 | 
             
                      withDirectives(createElementVNode("input", {
         | 
| 23044 23045 | 
             
                        "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => remoteUrl.value = $event),
         | 
| 23045 23046 | 
             
                        placeholder: unref($editTrans)("imageUrlPlaceholder"),
         | 
| 23046 23047 | 
             
                        onBlur: handleInputBlur,
         | 
| 23047 23048 | 
             
                        onFocus: handleInputFocus
         | 
| 23048 | 
            -
                      }, null, 40, _hoisted_4$ | 
| 23049 | 
            +
                      }, null, 40, _hoisted_4$4), [
         | 
| 23049 23050 | 
             
                        [
         | 
| 23050 23051 | 
             
                          vModelText,
         | 
| 23051 23052 | 
             
                          remoteUrl.value,
         | 
| @@ -23055,24 +23056,24 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({ | |
| 23055 23056 | 
             
                      ]),
         | 
| 23056 23057 | 
             
                      createElementVNode("div", {
         | 
| 23057 23058 | 
             
                        class: "editify-image-remote-footer",
         | 
| 23058 | 
            -
                        style: normalizeStyle({ color: _ctx.color })
         | 
| 23059 | 
            +
                        style: normalizeStyle({ color: _ctx.color || "" })
         | 
| 23059 23060 | 
             
                      }, [
         | 
| 23060 23061 | 
             
                        createElementVNode("span", { onClick: insertRemoteImage }, toDisplayString(unref($editTrans)("insert")), 1)
         | 
| 23061 23062 | 
             
                      ], 4)
         | 
| 23062 | 
            -
                    ])) : (openBlock(), createElementBlock("div", _hoisted_5$ | 
| 23063 | 
            +
                    ])) : (openBlock(), createElementBlock("div", _hoisted_5$3, [
         | 
| 23063 23064 | 
             
                      createVNode(Icon, { value: "upload" }),
         | 
| 23064 23065 | 
             
                      createElementVNode("input", {
         | 
| 23065 23066 | 
             
                        multiple: _ctx.multiple,
         | 
| 23066 23067 | 
             
                        accept: "image/*",
         | 
| 23067 23068 | 
             
                        onChange: selectFile,
         | 
| 23068 23069 | 
             
                        type: "file"
         | 
| 23069 | 
            -
                      }, null, 40, _hoisted_6$ | 
| 23070 | 
            +
                      }, null, 40, _hoisted_6$3)
         | 
| 23070 23071 | 
             
                    ]))
         | 
| 23071 23072 | 
             
                  ]);
         | 
| 23072 23073 | 
             
                };
         | 
| 23073 23074 | 
             
              }
         | 
| 23074 23075 | 
             
            });
         | 
| 23075 | 
            -
            const InsertImage = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 23076 | 
            +
            const InsertImage = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-17d0a9c4"]]);
         | 
| 23076 23077 | 
             
            const InsertVideoProps = {
         | 
| 23077 23078 | 
             
              //主题色
         | 
| 23078 23079 | 
             
              color: {
         | 
| @@ -23080,7 +23081,7 @@ const InsertVideoProps = { | |
| 23080 23081 | 
             
                default: ""
         | 
| 23081 23082 | 
             
              },
         | 
| 23082 23083 | 
             
              //支持的视频类型数组
         | 
| 23083 | 
            -
               | 
| 23084 | 
            +
              allowedFileType: {
         | 
| 23084 23085 | 
             
                type: Array,
         | 
| 23085 23086 | 
             
                default: null
         | 
| 23086 23087 | 
             
              },
         | 
| @@ -23110,19 +23111,19 @@ const InsertVideoProps = { | |
| 23110 23111 | 
             
                default: null
         | 
| 23111 23112 | 
             
              }
         | 
| 23112 23113 | 
             
            };
         | 
| 23113 | 
            -
            const _hoisted_1$ | 
| 23114 | 
            -
            const _hoisted_2$ | 
| 23115 | 
            -
            const _hoisted_3$ | 
| 23114 | 
            +
            const _hoisted_1$4 = { class: "editify-video" };
         | 
| 23115 | 
            +
            const _hoisted_2$3 = { class: "editify-video-header" };
         | 
| 23116 | 
            +
            const _hoisted_3$3 = {
         | 
| 23116 23117 | 
             
              key: 0,
         | 
| 23117 23118 | 
             
              class: "editify-video-remote"
         | 
| 23118 23119 | 
             
            };
         | 
| 23119 | 
            -
            const _hoisted_4$ | 
| 23120 | 
            -
            const _hoisted_5$ | 
| 23120 | 
            +
            const _hoisted_4$3 = ["placeholder"];
         | 
| 23121 | 
            +
            const _hoisted_5$2 = {
         | 
| 23121 23122 | 
             
              key: 1,
         | 
| 23122 23123 | 
             
              class: "editify-video-upload"
         | 
| 23123 23124 | 
             
            };
         | 
| 23124 | 
            -
            const _hoisted_6$ | 
| 23125 | 
            -
            const _sfc_main$ | 
| 23125 | 
            +
            const _hoisted_6$2 = ["multiple"];
         | 
| 23126 | 
            +
            const _sfc_main$4 = /* @__PURE__ */ defineComponent({
         | 
| 23126 23127 | 
             
              ...{
         | 
| 23127 23128 | 
             
                name: "InsertVideo"
         | 
| 23128 23129 | 
             
              },
         | 
| @@ -23133,7 +23134,6 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ | |
| 23133 23134 | 
             
                const props = __props;
         | 
| 23134 23135 | 
             
                const emits = __emit;
         | 
| 23135 23136 | 
             
                const $editTrans = inject("$editTrans");
         | 
| 23136 | 
            -
                const editify = inject("editify");
         | 
| 23137 23137 | 
             
                const current = ref("upload");
         | 
| 23138 23138 | 
             
                const remoteUrl = ref("");
         | 
| 23139 23139 | 
             
                const activeStyle = computed(() => {
         | 
| @@ -23174,24 +23174,24 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ | |
| 23174 23174 | 
             
                  for (let i = 0; i < files.length; i++) {
         | 
| 23175 23175 | 
             
                    const file2 = files[i];
         | 
| 23176 23176 | 
             
                    const suffix = getSuffix(file2);
         | 
| 23177 | 
            -
                    const isMatch = props. | 
| 23177 | 
            +
                    const isMatch = props.allowedFileType && Array.isArray(props.allowedFileType) && props.allowedFileType.length ? props.allowedFileType.some((item) => {
         | 
| 23178 23178 | 
             
                      return item.toLocaleLowerCase() == suffix.toLocaleLowerCase();
         | 
| 23179 | 
            -
                    });
         | 
| 23179 | 
            +
                    }) : true;
         | 
| 23180 23180 | 
             
                    if (!isMatch) {
         | 
| 23181 23181 | 
             
                      if (typeof props.handleError == "function") {
         | 
| 23182 | 
            -
                        props.handleError | 
| 23182 | 
            +
                        props.handleError("suffixError", file2);
         | 
| 23183 23183 | 
             
                      }
         | 
| 23184 23184 | 
             
                      continue;
         | 
| 23185 23185 | 
             
                    }
         | 
| 23186 23186 | 
             
                    if (props.maxSize && file2.size / 1024 > props.maxSize) {
         | 
| 23187 23187 | 
             
                      if (typeof props.handleError == "function") {
         | 
| 23188 | 
            -
                        props.handleError | 
| 23188 | 
            +
                        props.handleError("maxSizeError", file2);
         | 
| 23189 23189 | 
             
                      }
         | 
| 23190 23190 | 
             
                      continue;
         | 
| 23191 23191 | 
             
                    }
         | 
| 23192 23192 | 
             
                    if (props.minSize && file2.size / 1024 < props.minSize) {
         | 
| 23193 23193 | 
             
                      if (typeof props.handleError == "function") {
         | 
| 23194 | 
            -
                        props.handleError | 
| 23194 | 
            +
                        props.handleError("minSizeError", file2);
         | 
| 23195 23195 | 
             
                      }
         | 
| 23196 23196 | 
             
                      continue;
         | 
| 23197 23197 | 
             
                    }
         | 
| @@ -23200,7 +23200,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ | |
| 23200 23200 | 
             
                  if (filterFiles.length) {
         | 
| 23201 23201 | 
             
                    let videos = [];
         | 
| 23202 23202 | 
             
                    if (typeof props.customUpload == "function") {
         | 
| 23203 | 
            -
                      videos = await props.customUpload | 
| 23203 | 
            +
                      videos = await props.customUpload(filterFiles) || [];
         | 
| 23204 23204 | 
             
                    } else {
         | 
| 23205 23205 | 
             
                      for (let i = 0; i < filterFiles.length; i++) {
         | 
| 23206 23206 | 
             
                        const url = await file.dataFileToBase64(filterFiles[i]);
         | 
| @@ -23220,8 +23220,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ | |
| 23220 23220 | 
             
                  }
         | 
| 23221 23221 | 
             
                );
         | 
| 23222 23222 | 
             
                return (_ctx, _cache) => {
         | 
| 23223 | 
            -
                  return openBlock(), createElementBlock("div", _hoisted_1$ | 
| 23224 | 
            -
                    createElementVNode("div", _hoisted_2$ | 
| 23223 | 
            +
                  return openBlock(), createElementBlock("div", _hoisted_1$4, [
         | 
| 23224 | 
            +
                    createElementVNode("div", _hoisted_2$3, [
         | 
| 23225 23225 | 
             
                      createElementVNode("div", {
         | 
| 23226 23226 | 
             
                        onClick: _cache[0] || (_cache[0] = ($event) => current.value = "upload"),
         | 
| 23227 23227 | 
             
                        class: normalizeClass(["editify-video-header-item", { "editify-active": current.value == "upload" }]),
         | 
| @@ -23237,13 +23237,13 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ | |
| 23237 23237 | 
             
                        style: normalizeStyle({ backgroundColor: _ctx.color || "" })
         | 
| 23238 23238 | 
             
                      }, null, 6)
         | 
| 23239 23239 | 
             
                    ]),
         | 
| 23240 | 
            -
                    current.value == "remote" ? (openBlock(), createElementBlock("div", _hoisted_3$ | 
| 23240 | 
            +
                    current.value == "remote" ? (openBlock(), createElementBlock("div", _hoisted_3$3, [
         | 
| 23241 23241 | 
             
                      withDirectives(createElementVNode("input", {
         | 
| 23242 23242 | 
             
                        "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => remoteUrl.value = $event),
         | 
| 23243 23243 | 
             
                        placeholder: unref($editTrans)("videoUrlPlaceholder"),
         | 
| 23244 23244 | 
             
                        onBlur: handleInputBlur,
         | 
| 23245 23245 | 
             
                        onFocus: handleInputFocus
         | 
| 23246 | 
            -
                      }, null, 40, _hoisted_4$ | 
| 23246 | 
            +
                      }, null, 40, _hoisted_4$3), [
         | 
| 23247 23247 | 
             
                        [
         | 
| 23248 23248 | 
             
                          vModelText,
         | 
| 23249 23249 | 
             
                          remoteUrl.value,
         | 
| @@ -23253,24 +23253,24 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({ | |
| 23253 23253 | 
             
                      ]),
         | 
| 23254 23254 | 
             
                      createElementVNode("div", {
         | 
| 23255 23255 | 
             
                        class: "editify-video-remote-footer",
         | 
| 23256 | 
            -
                        style: normalizeStyle({ color: _ctx.color })
         | 
| 23256 | 
            +
                        style: normalizeStyle({ color: _ctx.color || "" })
         | 
| 23257 23257 | 
             
                      }, [
         | 
| 23258 23258 | 
             
                        createElementVNode("span", { onClick: insertRemoteVideo }, toDisplayString(unref($editTrans)("insert")), 1)
         | 
| 23259 23259 | 
             
                      ], 4)
         | 
| 23260 | 
            -
                    ])) : (openBlock(), createElementBlock("div", _hoisted_5$ | 
| 23260 | 
            +
                    ])) : (openBlock(), createElementBlock("div", _hoisted_5$2, [
         | 
| 23261 23261 | 
             
                      createVNode(Icon, { value: "upload" }),
         | 
| 23262 23262 | 
             
                      createElementVNode("input", {
         | 
| 23263 23263 | 
             
                        multiple: _ctx.multiple,
         | 
| 23264 23264 | 
             
                        accept: "video/*",
         | 
| 23265 23265 | 
             
                        onChange: selectFile,
         | 
| 23266 23266 | 
             
                        type: "file"
         | 
| 23267 | 
            -
                      }, null, 40, _hoisted_6$ | 
| 23267 | 
            +
                      }, null, 40, _hoisted_6$2)
         | 
| 23268 23268 | 
             
                    ]))
         | 
| 23269 23269 | 
             
                  ]);
         | 
| 23270 23270 | 
             
                };
         | 
| 23271 23271 | 
             
              }
         | 
| 23272 23272 | 
             
            });
         | 
| 23273 | 
            -
            const InsertVideo = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 23273 | 
            +
            const InsertVideo = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-a54e06d0"]]);
         | 
| 23274 23274 | 
             
            const InsertTableProps = {
         | 
| 23275 23275 | 
             
              //主题色
         | 
| 23276 23276 | 
             
              color: {
         | 
| @@ -23289,16 +23289,16 @@ const InsertTableProps = { | |
| 23289 23289 | 
             
              }
         | 
| 23290 23290 | 
             
            };
         | 
| 23291 23291 | 
             
            const _withScopeId = (n) => (pushScopeId("data-v-9a40c4f5"), n = n(), popScopeId(), n);
         | 
| 23292 | 
            -
            const _hoisted_1$ | 
| 23293 | 
            -
            const _hoisted_2$ | 
| 23294 | 
            -
            const _hoisted_3$ | 
| 23295 | 
            -
            const _hoisted_4$ | 
| 23296 | 
            -
              _hoisted_3$ | 
| 23292 | 
            +
            const _hoisted_1$3 = { class: "editify-table" };
         | 
| 23293 | 
            +
            const _hoisted_2$2 = ["onMouseenter", "onClick"];
         | 
| 23294 | 
            +
            const _hoisted_3$2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, null, -1));
         | 
| 23295 | 
            +
            const _hoisted_4$2 = [
         | 
| 23296 | 
            +
              _hoisted_3$2
         | 
| 23297 23297 | 
             
            ];
         | 
| 23298 | 
            -
            const _hoisted_5 = { class: "editify-table-footer" };
         | 
| 23299 | 
            -
            const _hoisted_6 = { key: 0 };
         | 
| 23298 | 
            +
            const _hoisted_5$1 = { class: "editify-table-footer" };
         | 
| 23299 | 
            +
            const _hoisted_6$1 = { key: 0 };
         | 
| 23300 23300 | 
             
            const _hoisted_7 = { key: 1 };
         | 
| 23301 | 
            -
            const _sfc_main$ | 
| 23301 | 
            +
            const _sfc_main$3 = /* @__PURE__ */ defineComponent({
         | 
| 23302 23302 | 
             
              ...{
         | 
| 23303 23303 | 
             
                name: "InsertTable"
         | 
| 23304 23304 | 
             
              },
         | 
| @@ -23358,7 +23358,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ | |
| 23358 23358 | 
             
                  emits("insert", data2.x, data2.y);
         | 
| 23359 23359 | 
             
                };
         | 
| 23360 23360 | 
             
                return (_ctx, _cache) => {
         | 
| 23361 | 
            -
                  return openBlock(), createElementBlock("div", _hoisted_1$ | 
| 23361 | 
            +
                  return openBlock(), createElementBlock("div", _hoisted_1$3, [
         | 
| 23362 23362 | 
             
                    createElementVNode("table", null, [
         | 
| 23363 23363 | 
             
                      (openBlock(true), createElementBlock(Fragment, null, renderList(tableGrids.value, (row) => {
         | 
| 23364 23364 | 
             
                        return openBlock(), createElementBlock("tr", null, [
         | 
| @@ -23367,19 +23367,19 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({ | |
| 23367 23367 | 
             
                              class: normalizeClass({ "editify-inside": column.inside }),
         | 
| 23368 23368 | 
             
                              onMouseenter: ($event) => changeTableSize(column),
         | 
| 23369 23369 | 
             
                              onClick: ($event) => createTable(column)
         | 
| 23370 | 
            -
                            }, _hoisted_4$ | 
| 23370 | 
            +
                            }, _hoisted_4$2, 42, _hoisted_2$2);
         | 
| 23371 23371 | 
             
                          }), 256))
         | 
| 23372 23372 | 
             
                        ]);
         | 
| 23373 23373 | 
             
                      }), 256))
         | 
| 23374 23374 | 
             
                    ]),
         | 
| 23375 | 
            -
                    createElementVNode("div", _hoisted_5, [
         | 
| 23376 | 
            -
                      specification.value ? (openBlock(), createElementBlock("span", _hoisted_6, toDisplayString(specification.value.x) + " x " + toDisplayString(specification.value.y), 1)) : (openBlock(), createElementBlock("span", _hoisted_7, toDisplayString(unref($editTrans)("insertTable")), 1))
         | 
| 23375 | 
            +
                    createElementVNode("div", _hoisted_5$1, [
         | 
| 23376 | 
            +
                      specification.value ? (openBlock(), createElementBlock("span", _hoisted_6$1, toDisplayString(specification.value.x) + " x " + toDisplayString(specification.value.y), 1)) : (openBlock(), createElementBlock("span", _hoisted_7, toDisplayString(unref($editTrans)("insertTable")), 1))
         | 
| 23377 23377 | 
             
                    ])
         | 
| 23378 23378 | 
             
                  ]);
         | 
| 23379 23379 | 
             
                };
         | 
| 23380 23380 | 
             
              }
         | 
| 23381 23381 | 
             
            });
         | 
| 23382 | 
            -
            const InsertTable = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 23382 | 
            +
            const InsertTable = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-9a40c4f5"]]);
         | 
| 23383 23383 | 
             
            const MenuProps = {
         | 
| 23384 23384 | 
             
              //菜单栏配置
         | 
| 23385 23385 | 
             
              config: {
         | 
| @@ -23392,8 +23392,8 @@ const MenuProps = { | |
| 23392 23392 | 
             
                default: ""
         | 
| 23393 23393 | 
             
              }
         | 
| 23394 23394 | 
             
            };
         | 
| 23395 | 
            -
            const _hoisted_1$ | 
| 23396 | 
            -
            const _sfc_main$ | 
| 23395 | 
            +
            const _hoisted_1$2 = ["data-editify-mode"];
         | 
| 23396 | 
            +
            const _sfc_main$2 = /* @__PURE__ */ defineComponent({
         | 
| 23397 23397 | 
             
              ...{
         | 
| 23398 23398 | 
             
                name: "Menu"
         | 
| 23399 23399 | 
             
              },
         | 
| @@ -23627,7 +23627,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ | |
| 23627 23627 | 
             
                  rightBorder: props.config.image.rightBorder,
         | 
| 23628 23628 | 
             
                  active: false,
         | 
| 23629 23629 | 
             
                  disabled: false,
         | 
| 23630 | 
            -
                   | 
| 23630 | 
            +
                  allowedFileType: props.config.image.allowedFileType,
         | 
| 23631 23631 | 
             
                  multiple: props.config.image.multiple,
         | 
| 23632 23632 | 
             
                  maxSize: props.config.image.maxSize,
         | 
| 23633 23633 | 
             
                  minSize: props.config.image.minSize,
         | 
| @@ -23640,7 +23640,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ | |
| 23640 23640 | 
             
                  rightBorder: props.config.video.rightBorder,
         | 
| 23641 23641 | 
             
                  active: false,
         | 
| 23642 23642 | 
             
                  disabled: false,
         | 
| 23643 | 
            -
                   | 
| 23643 | 
            +
                  allowedFileType: props.config.video.allowedFileType,
         | 
| 23644 23644 | 
             
                  multiple: props.config.video.multiple,
         | 
| 23645 23645 | 
             
                  maxSize: props.config.video.maxSize,
         | 
| 23646 23646 | 
             
                  minSize: props.config.video.minSize,
         | 
| @@ -23933,7 +23933,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ | |
| 23933 23933 | 
             
                  const value_isRangeInTask = isRangeInTask(editor.value, dataRangeCaches.value);
         | 
| 23934 23934 | 
             
                  const extraDisabled = (name) => {
         | 
| 23935 23935 | 
             
                    if (typeof props.config.extraDisabled == "function") {
         | 
| 23936 | 
            -
                      return props.config.extraDisabled | 
| 23936 | 
            +
                      return props.config.extraDisabled(name) || false;
         | 
| 23937 23937 | 
             
                    }
         | 
| 23938 23938 | 
             
                    return false;
         | 
| 23939 23939 | 
             
                  };
         | 
| @@ -24495,7 +24495,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ | |
| 24495 24495 | 
             
                            }),
         | 
| 24496 24496 | 
             
                            layer: () => h(InsertImage, {
         | 
| 24497 24497 | 
             
                              color: props.color,
         | 
| 24498 | 
            -
                               | 
| 24498 | 
            +
                              allowedFileType: imageConfig.value.allowedFileType,
         | 
| 24499 24499 | 
             
                              multiple: imageConfig.value.multiple,
         | 
| 24500 24500 | 
             
                              maxSize: imageConfig.value.maxSize,
         | 
| 24501 24501 | 
             
                              minSize: imageConfig.value.minSize,
         | 
| @@ -24536,7 +24536,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ | |
| 24536 24536 | 
             
                            }),
         | 
| 24537 24537 | 
             
                            layer: () => h(InsertVideo, {
         | 
| 24538 24538 | 
             
                              color: props.color,
         | 
| 24539 | 
            -
                               | 
| 24539 | 
            +
                              allowedFileType: videoConfig.value.allowedFileType,
         | 
| 24540 24540 | 
             
                              multiple: videoConfig.value.multiple,
         | 
| 24541 24541 | 
             
                              maxSize: videoConfig.value.maxSize,
         | 
| 24542 24542 | 
             
                              minSize: videoConfig.value.minSize,
         | 
| @@ -24665,29 +24665,44 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ | |
| 24665 24665 | 
             
                              color: props.color,
         | 
| 24666 24666 | 
             
                              onLayerShow: () => {
         | 
| 24667 24667 | 
             
                                if (typeof configuration.onLayerShow == "function") {
         | 
| 24668 | 
            -
                                  configuration.onLayerShow | 
| 24668 | 
            +
                                  configuration.onLayerShow(itemProps.name, itemInstance.proxy.$refs.btnRef);
         | 
| 24669 24669 | 
             
                                }
         | 
| 24670 24670 | 
             
                              },
         | 
| 24671 24671 | 
             
                              onLayerShown: () => {
         | 
| 24672 24672 | 
             
                                if (typeof configuration.onLayerShown == "function") {
         | 
| 24673 | 
            -
                                  configuration.onLayerShown | 
| 24673 | 
            +
                                  configuration.onLayerShown(itemProps.name, itemInstance.proxy.$refs.btnRef);
         | 
| 24674 24674 | 
             
                                }
         | 
| 24675 24675 | 
             
                              },
         | 
| 24676 24676 | 
             
                              onLayerHidden: () => {
         | 
| 24677 24677 | 
             
                                if (typeof configuration.onLayerHidden == "function") {
         | 
| 24678 | 
            -
                                  configuration.onLayerHidden | 
| 24678 | 
            +
                                  configuration.onLayerHidden(itemProps.name, itemInstance.proxy.$refs.btnRef);
         | 
| 24679 24679 | 
             
                                }
         | 
| 24680 24680 | 
             
                              },
         | 
| 24681 24681 | 
             
                              onOperate: (name, val) => {
         | 
| 24682 24682 | 
             
                                if (typeof configuration.onOperate == "function") {
         | 
| 24683 | 
            -
                                  configuration.onOperate | 
| 24683 | 
            +
                                  configuration.onOperate(name, val, itemInstance.proxy.$refs.btnRef);
         | 
| 24684 24684 | 
             
                                }
         | 
| 24685 24685 | 
             
                              }
         | 
| 24686 24686 | 
             
                            },
         | 
| 24687 24687 | 
             
                            {
         | 
| 24688 | 
            -
                              default:  | 
| 24689 | 
            -
             | 
| 24690 | 
            -
             | 
| 24688 | 
            +
                              default: () => {
         | 
| 24689 | 
            +
                                if (configuration.default) {
         | 
| 24690 | 
            +
                                  return configuration.default(itemProps.name, itemInstance.proxy.$refs.btnRef);
         | 
| 24691 | 
            +
                                }
         | 
| 24692 | 
            +
                                return null;
         | 
| 24693 | 
            +
                              },
         | 
| 24694 | 
            +
                              layer: () => {
         | 
| 24695 | 
            +
                                if (configuration.layer) {
         | 
| 24696 | 
            +
                                  return configuration.layer(itemProps.name, itemInstance.proxy.$refs.btnRef);
         | 
| 24697 | 
            +
                                }
         | 
| 24698 | 
            +
                                return null;
         | 
| 24699 | 
            +
                              },
         | 
| 24700 | 
            +
                              option: () => {
         | 
| 24701 | 
            +
                                if (configuration.option) {
         | 
| 24702 | 
            +
                                  return configuration.option(itemProps.name, itemInstance.proxy.$refs.btnRef);
         | 
| 24703 | 
            +
                                }
         | 
| 24704 | 
            +
                                return null;
         | 
| 24705 | 
            +
                              }
         | 
| 24691 24706 | 
             
                            }
         | 
| 24692 24707 | 
             
                          );
         | 
| 24693 24708 | 
             
                        }
         | 
| @@ -24717,11 +24732,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({ | |
| 24717 24732 | 
             
                        disabled: menuDisabled.value(item)
         | 
| 24718 24733 | 
             
                      }, null, 8, ["name", "disabled"]);
         | 
| 24719 24734 | 
             
                    }), 256))
         | 
| 24720 | 
            -
                  ], 14, _hoisted_1$ | 
| 24735 | 
            +
                  ], 14, _hoisted_1$2);
         | 
| 24721 24736 | 
             
                };
         | 
| 24722 24737 | 
             
              }
         | 
| 24723 24738 | 
             
            });
         | 
| 24724 | 
            -
            const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$ | 
| 24739 | 
            +
            const Menu = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-3a513730"]]);
         | 
| 24725 24740 | 
             
            const EditifyProps = {
         | 
| 24726 24741 | 
             
              //国际化语言类型
         | 
| 24727 24742 | 
             
              locale: {
         | 
| @@ -24857,6 +24872,13 @@ const EditifyProps = { | |
| 24857 24872 | 
             
              tab: {
         | 
| 24858 24873 | 
             
                type: Boolean,
         | 
| 24859 24874 | 
             
                default: true
         | 
| 24875 | 
            +
              },
         | 
| 24876 | 
            +
              //插件数组
         | 
| 24877 | 
            +
              plugins: {
         | 
| 24878 | 
            +
                type: Array,
         | 
| 24879 | 
            +
                default: function() {
         | 
| 24880 | 
            +
                  return [];
         | 
| 24881 | 
            +
                }
         | 
| 24860 24882 | 
             
              }
         | 
| 24861 24883 | 
             
            };
         | 
| 24862 24884 | 
             
            const en_US = {
         | 
| @@ -24943,7 +24965,14 @@ const en_US = { | |
| 24943 24965 | 
             
              alignJustify: "Align justify",
         | 
| 24944 24966 | 
             
              defaultLineHeight: "Default",
         | 
| 24945 24967 | 
             
              auto: "auto",
         | 
| 24946 | 
            -
              fullScreen: "Full screen"
         | 
| 24968 | 
            +
              fullScreen: "Full screen",
         | 
| 24969 | 
            +
              //插件语言配置
         | 
| 24970 | 
            +
              insertAttachment: "Insert attachment",
         | 
| 24971 | 
            +
              uploadAttachment: "Upload",
         | 
| 24972 | 
            +
              remoteAttachment: "Remote",
         | 
| 24973 | 
            +
              attachmentUrlPlaceholder: "Please enter the attachment address",
         | 
| 24974 | 
            +
              downloadAttachment: "Click to download attachment",
         | 
| 24975 | 
            +
              attachmentDownloadName: "attachment"
         | 
| 24947 24976 | 
             
            };
         | 
| 24948 24977 | 
             
            const zh_CN = {
         | 
| 24949 24978 | 
             
              textWrapUp: "向上换行",
         | 
| @@ -25029,18 +25058,25 @@ const zh_CN = { | |
| 25029 25058 | 
             
              alignJustify: "两端对齐",
         | 
| 25030 25059 | 
             
              defaultLineHeight: "默认行高",
         | 
| 25031 25060 | 
             
              auto: "自适应",
         | 
| 25032 | 
            -
              fullScreen: "全屏"
         | 
| 25061 | 
            +
              fullScreen: "全屏",
         | 
| 25062 | 
            +
              //插件语言配置
         | 
| 25063 | 
            +
              insertAttachment: "插入附件",
         | 
| 25064 | 
            +
              uploadAttachment: "上传附件",
         | 
| 25065 | 
            +
              remoteAttachment: "远程地址",
         | 
| 25066 | 
            +
              attachmentUrlPlaceholder: "请输入远程地址",
         | 
| 25067 | 
            +
              downloadAttachment: "点击下载附件",
         | 
| 25068 | 
            +
              attachmentDownloadName: "附件"
         | 
| 25033 25069 | 
             
            };
         | 
| 25034 25070 | 
             
            const trans = (locale) => {
         | 
| 25035 25071 | 
             
              return (key) => {
         | 
| 25036 25072 | 
             
                return { zh_CN, en_US }[locale][key];
         | 
| 25037 25073 | 
             
              };
         | 
| 25038 25074 | 
             
            };
         | 
| 25039 | 
            -
            const _hoisted_1 = ["data-editify-uid"];
         | 
| 25040 | 
            -
            const _hoisted_2 = ["data-editify-placeholder"];
         | 
| 25041 | 
            -
            const _hoisted_3 = ["value"];
         | 
| 25042 | 
            -
            const _hoisted_4 = { class: "editify-footer-words" };
         | 
| 25043 | 
            -
            const _sfc_main = /* @__PURE__ */ defineComponent({
         | 
| 25075 | 
            +
            const _hoisted_1$1 = ["data-editify-uid"];
         | 
| 25076 | 
            +
            const _hoisted_2$1 = ["data-editify-placeholder"];
         | 
| 25077 | 
            +
            const _hoisted_3$1 = ["value"];
         | 
| 25078 | 
            +
            const _hoisted_4$1 = { class: "editify-footer-words" };
         | 
| 25079 | 
            +
            const _sfc_main$1 = /* @__PURE__ */ defineComponent({
         | 
| 25044 25080 | 
             
              ...{
         | 
| 25045 25081 | 
             
                name: "editify"
         | 
| 25046 25082 | 
             
              },
         | 
| @@ -25112,8 +25148,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25112 25148 | 
             
                const toolbarConfig = computed(() => {
         | 
| 25113 25149 | 
             
                  return mergeObject(getToolbarConfig($editTrans, props.locale), props.toolbar || {});
         | 
| 25114 25150 | 
             
                });
         | 
| 25151 | 
            +
                const pluginResultList = computed(() => {
         | 
| 25152 | 
            +
                  const pluginResultList2 = [];
         | 
| 25153 | 
            +
                  props.plugins.forEach((plugin) => {
         | 
| 25154 | 
            +
                    let pluginResult = plugin(instance, props.color, $editTrans);
         | 
| 25155 | 
            +
                    pluginResultList2.push(pluginResult);
         | 
| 25156 | 
            +
                  });
         | 
| 25157 | 
            +
                  return pluginResultList2;
         | 
| 25158 | 
            +
                });
         | 
| 25115 25159 | 
             
                const menuConfig = computed(() => {
         | 
| 25116 | 
            -
                   | 
| 25160 | 
            +
                  let menu = {};
         | 
| 25161 | 
            +
                  pluginResultList.value.forEach((pluginResult) => {
         | 
| 25162 | 
            +
                    menu = mergeObject(menu, pluginResult.menu || {});
         | 
| 25163 | 
            +
                  });
         | 
| 25164 | 
            +
                  menu = mergeObject(menu, props.menu || {});
         | 
| 25165 | 
            +
                  return mergeObject(getMenuConfig($editTrans, props.locale), menu);
         | 
| 25117 25166 | 
             
                });
         | 
| 25118 25167 | 
             
                const internalModify = (val) => {
         | 
| 25119 25168 | 
             
                  isModelChange.value = true;
         | 
| @@ -25215,6 +25264,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25215 25264 | 
             
                  });
         | 
| 25216 25265 | 
             
                };
         | 
| 25217 25266 | 
             
                const createEditor = () => {
         | 
| 25267 | 
            +
                  let pluginRules = [];
         | 
| 25268 | 
            +
                  pluginResultList.value.forEach((pluginResult) => {
         | 
| 25269 | 
            +
                    if (pluginResult.renderRule) {
         | 
| 25270 | 
            +
                      pluginRules.push(pluginResult.renderRule);
         | 
| 25271 | 
            +
                    }
         | 
| 25272 | 
            +
                  });
         | 
| 25218 25273 | 
             
                  editor.value = new AlexEditor(contentRef.value, {
         | 
| 25219 25274 | 
             
                    value: value.value,
         | 
| 25220 25275 | 
             
                    disabled: props.disabled,
         | 
| @@ -25238,6 +25293,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25238 25293 | 
             
                      (el) => {
         | 
| 25239 25294 | 
             
                        specialInblockHandle(editor.value, el);
         | 
| 25240 25295 | 
             
                      },
         | 
| 25296 | 
            +
                      ...pluginRules,
         | 
| 25241 25297 | 
             
                      ...props.renderRules
         | 
| 25242 25298 | 
             
                    ],
         | 
| 25243 25299 | 
             
                    allowCopy: props.allowCopy,
         | 
| @@ -25378,8 +25434,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25378 25434 | 
             
                  }
         | 
| 25379 25435 | 
             
                };
         | 
| 25380 25436 | 
             
                const handleCustomHtmlPaste = async (elements) => {
         | 
| 25381 | 
            -
                   | 
| 25382 | 
            -
                   | 
| 25437 | 
            +
                  let keepStyles = pasteKeepData.styles;
         | 
| 25438 | 
            +
                  let keepMarks = pasteKeepData.marks;
         | 
| 25439 | 
            +
                  pluginResultList.value.forEach((pluginResult) => {
         | 
| 25440 | 
            +
                    keepStyles = Object.assign(keepStyles, pluginResult.pasteKeepStyles || {});
         | 
| 25441 | 
            +
                    keepMarks = Object.assign(keepMarks, pluginResult.pasteKeepMarks || {});
         | 
| 25442 | 
            +
                  });
         | 
| 25443 | 
            +
                  keepStyles = Object.assign(keepStyles, props.pasteKeepStyles || {});
         | 
| 25444 | 
            +
                  keepMarks = Object.assign(keepMarks, props.pasteKeepMarks || {});
         | 
| 25383 25445 | 
             
                  AlexElement.flatElements(elements).forEach((el) => {
         | 
| 25384 25446 | 
             
                    let marks = {};
         | 
| 25385 25447 | 
             
                    let styles = {};
         | 
| @@ -25401,7 +25463,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25401 25463 | 
             
                    }
         | 
| 25402 25464 | 
             
                  });
         | 
| 25403 25465 | 
             
                  if (typeof props.customHtmlPaste == "function") {
         | 
| 25404 | 
            -
                    await props.customHtmlPaste | 
| 25466 | 
            +
                    await props.customHtmlPaste(elements);
         | 
| 25405 25467 | 
             
                  } else {
         | 
| 25406 25468 | 
             
                    for (let i = 0; i < elements.length; i++) {
         | 
| 25407 25469 | 
             
                      editor.value.insertElement(elements[i], false);
         | 
| @@ -25432,8 +25494,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25432 25494 | 
             
                      ele.marks = marks;
         | 
| 25433 25495 | 
             
                    }
         | 
| 25434 25496 | 
             
                  }
         | 
| 25497 | 
            +
                  pluginResultList.value.forEach((pluginResult) => {
         | 
| 25498 | 
            +
                    if (pluginResult.customParseNode) {
         | 
| 25499 | 
            +
                      ele = pluginResult.customParseNode(ele);
         | 
| 25500 | 
            +
                    }
         | 
| 25501 | 
            +
                  });
         | 
| 25435 25502 | 
             
                  if (typeof props.customParseNode == "function") {
         | 
| 25436 | 
            -
                    ele = props.customParseNode | 
| 25503 | 
            +
                    ele = props.customParseNode(ele);
         | 
| 25437 25504 | 
             
                  }
         | 
| 25438 25505 | 
             
                  return ele;
         | 
| 25439 25506 | 
             
                };
         | 
| @@ -25565,6 +25632,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25565 25632 | 
             
                };
         | 
| 25566 25633 | 
             
                const handleAfterRender = () => {
         | 
| 25567 25634 | 
             
                  setVideoHeight();
         | 
| 25635 | 
            +
                  pluginResultList.value.forEach((pluginResult) => {
         | 
| 25636 | 
            +
                    if (pluginResult.updateView) {
         | 
| 25637 | 
            +
                      pluginResult.updateView();
         | 
| 25638 | 
            +
                    }
         | 
| 25639 | 
            +
                  });
         | 
| 25568 25640 | 
             
                  emits("updateview");
         | 
| 25569 25641 | 
             
                };
         | 
| 25570 25642 | 
             
                const collapseToEnd = () => {
         | 
| @@ -25719,13 +25791,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25719 25791 | 
             
                        onCompositionstart: _cache[0] || (_cache[0] = ($event) => isInputChinese.value = true),
         | 
| 25720 25792 | 
             
                        onCompositionend: _cache[1] || (_cache[1] = ($event) => isInputChinese.value = false),
         | 
| 25721 25793 | 
             
                        "data-editify-placeholder": _ctx.placeholder
         | 
| 25722 | 
            -
                      }, null, 42, _hoisted_2),
         | 
| 25794 | 
            +
                      }, null, 42, _hoisted_2$1),
         | 
| 25723 25795 | 
             
                      isSourceView.value ? (openBlock(), createElementBlock("textarea", {
         | 
| 25724 25796 | 
             
                        key: 0,
         | 
| 25725 25797 | 
             
                        value: value.value,
         | 
| 25726 25798 | 
             
                        readonly: "",
         | 
| 25727 25799 | 
             
                        class: "editify-sourceview"
         | 
| 25728 | 
            -
                      }, null, 8, _hoisted_3)) : createCommentVNode("", true),
         | 
| 25800 | 
            +
                      }, null, 8, _hoisted_3$1)) : createCommentVNode("", true),
         | 
| 25729 25801 | 
             
                      createVNode(Toolbar, {
         | 
| 25730 25802 | 
             
                        ref_key: "toolbarRef",
         | 
| 25731 25803 | 
             
                        ref: toolbarRef,
         | 
| @@ -25736,27 +25808,353 @@ const _sfc_main = /* @__PURE__ */ defineComponent({ | |
| 25736 25808 | 
             
                        config: toolbarConfig.value,
         | 
| 25737 25809 | 
             
                        color: _ctx.color
         | 
| 25738 25810 | 
             
                      }, null, 8, ["modelValue", "node", "type", "config", "color"])
         | 
| 25739 | 
            -
                    ], 10, _hoisted_1),
         | 
| 25811 | 
            +
                    ], 10, _hoisted_1$1),
         | 
| 25740 25812 | 
             
                    _ctx.showWordLength ? (openBlock(), createElementBlock("div", {
         | 
| 25741 25813 | 
             
                      key: 1,
         | 
| 25742 25814 | 
             
                      class: normalizeClass(["editify-footer", { "editify-fullscreen": isFullScreen.value && !isSourceView.value }]),
         | 
| 25743 25815 | 
             
                      ref_key: "footerRef",
         | 
| 25744 25816 | 
             
                      ref: footerRef
         | 
| 25745 25817 | 
             
                    }, [
         | 
| 25746 | 
            -
                      createElementVNode("div", _hoisted_4, toDisplayString(unref($editTrans)("totalWordCount")) + toDisplayString(textValue.value.length), 1)
         | 
| 25818 | 
            +
                      createElementVNode("div", _hoisted_4$1, toDisplayString(unref($editTrans)("totalWordCount")) + toDisplayString(textValue.value.length), 1)
         | 
| 25747 25819 | 
             
                    ], 2)) : createCommentVNode("", true)
         | 
| 25748 25820 | 
             
                  ], 2);
         | 
| 25749 25821 | 
             
                };
         | 
| 25750 25822 | 
             
              }
         | 
| 25751 25823 | 
             
            });
         | 
| 25752 | 
            -
            const Editify = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v- | 
| 25753 | 
            -
            const  | 
| 25824 | 
            +
            const Editify = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-8737320e"]]);
         | 
| 25825 | 
            +
            const InsertAttachmentProps = {
         | 
| 25826 | 
            +
              //主题色
         | 
| 25827 | 
            +
              color: {
         | 
| 25828 | 
            +
                type: String,
         | 
| 25829 | 
            +
                default: ""
         | 
| 25830 | 
            +
              },
         | 
| 25831 | 
            +
              //可选择的文件类型
         | 
| 25832 | 
            +
              accept: {
         | 
| 25833 | 
            +
                type: String,
         | 
| 25834 | 
            +
                default: null
         | 
| 25835 | 
            +
              },
         | 
| 25836 | 
            +
              //支持的类型数组
         | 
| 25837 | 
            +
              allowedFileType: {
         | 
| 25838 | 
            +
                type: Array,
         | 
| 25839 | 
            +
                default: null
         | 
| 25840 | 
            +
              },
         | 
| 25841 | 
            +
              //是否支持多选
         | 
| 25842 | 
            +
              multiple: {
         | 
| 25843 | 
            +
                type: Boolean,
         | 
| 25844 | 
            +
                default: false
         | 
| 25845 | 
            +
              },
         | 
| 25846 | 
            +
              //单个文件最大值
         | 
| 25847 | 
            +
              maxSize: {
         | 
| 25848 | 
            +
                type: Number,
         | 
| 25849 | 
            +
                default: null
         | 
| 25850 | 
            +
              },
         | 
| 25851 | 
            +
              //单个文件最小值
         | 
| 25852 | 
            +
              minSize: {
         | 
| 25853 | 
            +
                type: Number,
         | 
| 25854 | 
            +
                default: null
         | 
| 25855 | 
            +
              },
         | 
| 25856 | 
            +
              //是否自定义上传附件
         | 
| 25857 | 
            +
              customUpload: {
         | 
| 25858 | 
            +
                type: Function,
         | 
| 25859 | 
            +
                default: null
         | 
| 25860 | 
            +
              },
         | 
| 25861 | 
            +
              //处理上传附件异常
         | 
| 25862 | 
            +
              handleError: {
         | 
| 25863 | 
            +
                type: Function,
         | 
| 25864 | 
            +
                default: null
         | 
| 25865 | 
            +
              }
         | 
| 25866 | 
            +
            };
         | 
| 25867 | 
            +
            const _hoisted_1 = { class: "editify-attachment" };
         | 
| 25868 | 
            +
            const _hoisted_2 = { class: "editify-attachment-header" };
         | 
| 25869 | 
            +
            const _hoisted_3 = {
         | 
| 25870 | 
            +
              key: 0,
         | 
| 25871 | 
            +
              class: "editify-attachment-remote"
         | 
| 25872 | 
            +
            };
         | 
| 25873 | 
            +
            const _hoisted_4 = ["placeholder"];
         | 
| 25874 | 
            +
            const _hoisted_5 = {
         | 
| 25875 | 
            +
              key: 1,
         | 
| 25876 | 
            +
              class: "editify-attachment-upload"
         | 
| 25877 | 
            +
            };
         | 
| 25878 | 
            +
            const _hoisted_6 = ["multiple", "accept"];
         | 
| 25879 | 
            +
            const _sfc_main = /* @__PURE__ */ defineComponent({
         | 
| 25880 | 
            +
              ...{
         | 
| 25881 | 
            +
                name: "InsertAttachment"
         | 
| 25882 | 
            +
              },
         | 
| 25883 | 
            +
              __name: "insertAttachment",
         | 
| 25884 | 
            +
              props: InsertAttachmentProps,
         | 
| 25885 | 
            +
              emits: ["change", "insert"],
         | 
| 25886 | 
            +
              setup(__props, { emit: __emit }) {
         | 
| 25887 | 
            +
                const props = __props;
         | 
| 25888 | 
            +
                const emits = __emit;
         | 
| 25889 | 
            +
                const $editTrans = inject("$editTrans");
         | 
| 25890 | 
            +
                const current = ref("upload");
         | 
| 25891 | 
            +
                const remoteUrl = ref("");
         | 
| 25892 | 
            +
                const activeStyle = computed(() => {
         | 
| 25893 | 
            +
                  return (name) => {
         | 
| 25894 | 
            +
                    if (current.value == name) {
         | 
| 25895 | 
            +
                      return {
         | 
| 25896 | 
            +
                        color: props.color
         | 
| 25897 | 
            +
                      };
         | 
| 25898 | 
            +
                    }
         | 
| 25899 | 
            +
                    return {};
         | 
| 25900 | 
            +
                  };
         | 
| 25901 | 
            +
                });
         | 
| 25902 | 
            +
                const acceptValue = computed(() => {
         | 
| 25903 | 
            +
                  if (props.accept === "rar") {
         | 
| 25904 | 
            +
                    return "application/x-rar-compressed";
         | 
| 25905 | 
            +
                  }
         | 
| 25906 | 
            +
                  if (props.accept === "zip") {
         | 
| 25907 | 
            +
                    return "application/x-zip-compressed";
         | 
| 25908 | 
            +
                  }
         | 
| 25909 | 
            +
                  if (props.accept === "txt") {
         | 
| 25910 | 
            +
                    return "text/plain";
         | 
| 25911 | 
            +
                  }
         | 
| 25912 | 
            +
                  if (props.accept === "image") {
         | 
| 25913 | 
            +
                    return "image/*";
         | 
| 25914 | 
            +
                  }
         | 
| 25915 | 
            +
                  if (props.accept === "video") {
         | 
| 25916 | 
            +
                    return "video/*";
         | 
| 25917 | 
            +
                  }
         | 
| 25918 | 
            +
                  if (props.accept === "audio") {
         | 
| 25919 | 
            +
                    return "aduio/*";
         | 
| 25920 | 
            +
                  }
         | 
| 25921 | 
            +
                  if (props.accept === "html") {
         | 
| 25922 | 
            +
                    return "text/html";
         | 
| 25923 | 
            +
                  }
         | 
| 25924 | 
            +
                  if (props.accept === "doc") {
         | 
| 25925 | 
            +
                    return "application/msword";
         | 
| 25926 | 
            +
                  }
         | 
| 25927 | 
            +
                  if (props.accept === "xml") {
         | 
| 25928 | 
            +
                    return "text/xml";
         | 
| 25929 | 
            +
                  }
         | 
| 25930 | 
            +
                  if (props.accept === "js") {
         | 
| 25931 | 
            +
                    return "text/javascript";
         | 
| 25932 | 
            +
                  }
         | 
| 25933 | 
            +
                  if (props.accept === "json") {
         | 
| 25934 | 
            +
                    return "application/json";
         | 
| 25935 | 
            +
                  }
         | 
| 25936 | 
            +
                  if (props.accept === "ppt") {
         | 
| 25937 | 
            +
                    return "application/vnd.ms-powerpoint";
         | 
| 25938 | 
            +
                  }
         | 
| 25939 | 
            +
                  if (props.accept === "pdf") {
         | 
| 25940 | 
            +
                    return "application/pdf";
         | 
| 25941 | 
            +
                  }
         | 
| 25942 | 
            +
                });
         | 
| 25943 | 
            +
                const getSuffix = (file2) => {
         | 
| 25944 | 
            +
                  const index = file2.name.lastIndexOf(".");
         | 
| 25945 | 
            +
                  if (index <= 0) {
         | 
| 25946 | 
            +
                    return "";
         | 
| 25947 | 
            +
                  }
         | 
| 25948 | 
            +
                  return file2.name.substring(index + 1);
         | 
| 25949 | 
            +
                };
         | 
| 25950 | 
            +
                const handleInputFocus = (e) => {
         | 
| 25951 | 
            +
                  if (props.color) {
         | 
| 25952 | 
            +
                    e.currentTarget.style.borderColor = props.color;
         | 
| 25953 | 
            +
                  }
         | 
| 25954 | 
            +
                };
         | 
| 25955 | 
            +
                const handleInputBlur = (e) => {
         | 
| 25956 | 
            +
                  e.currentTarget.style.borderColor = "";
         | 
| 25957 | 
            +
                };
         | 
| 25958 | 
            +
                const insertRemoteAttachment = () => {
         | 
| 25959 | 
            +
                  emits("insert", remoteUrl.value);
         | 
| 25960 | 
            +
                };
         | 
| 25961 | 
            +
                const selectFile = async (e) => {
         | 
| 25962 | 
            +
                  const inputEle = e.currentTarget;
         | 
| 25963 | 
            +
                  const files = inputEle.files;
         | 
| 25964 | 
            +
                  if (!files || !files.length) {
         | 
| 25965 | 
            +
                    return;
         | 
| 25966 | 
            +
                  }
         | 
| 25967 | 
            +
                  let filterFiles = [];
         | 
| 25968 | 
            +
                  for (let i = 0; i < files.length; i++) {
         | 
| 25969 | 
            +
                    const file2 = files[i];
         | 
| 25970 | 
            +
                    const suffix = getSuffix(file2);
         | 
| 25971 | 
            +
                    const isMatch = props.allowedFileType && Array.isArray(props.allowedFileType) && props.allowedFileType.length ? props.allowedFileType.some((item) => {
         | 
| 25972 | 
            +
                      return item.toLocaleLowerCase() == suffix.toLocaleLowerCase();
         | 
| 25973 | 
            +
                    }) : true;
         | 
| 25974 | 
            +
                    if (!isMatch) {
         | 
| 25975 | 
            +
                      if (typeof props.handleError == "function") {
         | 
| 25976 | 
            +
                        props.handleError("suffixError", file2);
         | 
| 25977 | 
            +
                      }
         | 
| 25978 | 
            +
                      continue;
         | 
| 25979 | 
            +
                    }
         | 
| 25980 | 
            +
                    if (props.maxSize && file2.size / 1024 > props.maxSize) {
         | 
| 25981 | 
            +
                      if (typeof props.handleError == "function") {
         | 
| 25982 | 
            +
                        props.handleError("maxSizeError", file2);
         | 
| 25983 | 
            +
                      }
         | 
| 25984 | 
            +
                      continue;
         | 
| 25985 | 
            +
                    }
         | 
| 25986 | 
            +
                    if (props.minSize && file2.size / 1024 < props.minSize) {
         | 
| 25987 | 
            +
                      if (typeof props.handleError == "function") {
         | 
| 25988 | 
            +
                        props.handleError("minSizeError", file2);
         | 
| 25989 | 
            +
                      }
         | 
| 25990 | 
            +
                      continue;
         | 
| 25991 | 
            +
                    }
         | 
| 25992 | 
            +
                    filterFiles.push(file2);
         | 
| 25993 | 
            +
                  }
         | 
| 25994 | 
            +
                  if (filterFiles.length) {
         | 
| 25995 | 
            +
                    let attachments = [];
         | 
| 25996 | 
            +
                    if (typeof props.customUpload == "function") {
         | 
| 25997 | 
            +
                      attachments = await props.customUpload(filterFiles) || [];
         | 
| 25998 | 
            +
                    } else {
         | 
| 25999 | 
            +
                      for (let i = 0; i < filterFiles.length; i++) {
         | 
| 26000 | 
            +
                        const url = await file.dataFileToBase64(filterFiles[i]);
         | 
| 26001 | 
            +
                        attachments.push(url);
         | 
| 26002 | 
            +
                      }
         | 
| 26003 | 
            +
                    }
         | 
| 26004 | 
            +
                    attachments.forEach((url) => {
         | 
| 26005 | 
            +
                      emits("insert", url);
         | 
| 26006 | 
            +
                    });
         | 
| 26007 | 
            +
                  }
         | 
| 26008 | 
            +
                  inputEle.value = "";
         | 
| 26009 | 
            +
                };
         | 
| 26010 | 
            +
                watch(
         | 
| 26011 | 
            +
                  () => current.value,
         | 
| 26012 | 
            +
                  () => {
         | 
| 26013 | 
            +
                    emits("change");
         | 
| 26014 | 
            +
                  }
         | 
| 26015 | 
            +
                );
         | 
| 26016 | 
            +
                return (_ctx, _cache) => {
         | 
| 26017 | 
            +
                  return openBlock(), createElementBlock("div", _hoisted_1, [
         | 
| 26018 | 
            +
                    createElementVNode("div", _hoisted_2, [
         | 
| 26019 | 
            +
                      createElementVNode("div", {
         | 
| 26020 | 
            +
                        onClick: _cache[0] || (_cache[0] = ($event) => current.value = "upload"),
         | 
| 26021 | 
            +
                        class: normalizeClass(["editify-attachment-header-item", { "editify-active": current.value == "upload" }]),
         | 
| 26022 | 
            +
                        style: normalizeStyle(activeStyle.value("upload"))
         | 
| 26023 | 
            +
                      }, toDisplayString(unref($editTrans)("uploadAttachment")), 7),
         | 
| 26024 | 
            +
                      createElementVNode("div", {
         | 
| 26025 | 
            +
                        onClick: _cache[1] || (_cache[1] = ($event) => current.value = "remote"),
         | 
| 26026 | 
            +
                        class: normalizeClass(["editify-attachment-header-item", { "editify-active": current.value == "remote" }]),
         | 
| 26027 | 
            +
                        style: normalizeStyle(activeStyle.value("remote"))
         | 
| 26028 | 
            +
                      }, toDisplayString(unref($editTrans)("remoteAttachment")), 7),
         | 
| 26029 | 
            +
                      createElementVNode("div", {
         | 
| 26030 | 
            +
                        class: normalizeClass(["editify-attachment-header-slider", "editify-" + current.value]),
         | 
| 26031 | 
            +
                        style: normalizeStyle({ backgroundColor: _ctx.color || "" })
         | 
| 26032 | 
            +
                      }, null, 6)
         | 
| 26033 | 
            +
                    ]),
         | 
| 26034 | 
            +
                    current.value == "remote" ? (openBlock(), createElementBlock("div", _hoisted_3, [
         | 
| 26035 | 
            +
                      withDirectives(createElementVNode("input", {
         | 
| 26036 | 
            +
                        "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => remoteUrl.value = $event),
         | 
| 26037 | 
            +
                        placeholder: unref($editTrans)("attachmentUrlPlaceholder"),
         | 
| 26038 | 
            +
                        onBlur: handleInputBlur,
         | 
| 26039 | 
            +
                        onFocus: handleInputFocus
         | 
| 26040 | 
            +
                      }, null, 40, _hoisted_4), [
         | 
| 26041 | 
            +
                        [
         | 
| 26042 | 
            +
                          vModelText,
         | 
| 26043 | 
            +
                          remoteUrl.value,
         | 
| 26044 | 
            +
                          void 0,
         | 
| 26045 | 
            +
                          { trim: true }
         | 
| 26046 | 
            +
                        ]
         | 
| 26047 | 
            +
                      ]),
         | 
| 26048 | 
            +
                      createElementVNode("div", {
         | 
| 26049 | 
            +
                        class: "editify-attachment-remote-footer",
         | 
| 26050 | 
            +
                        style: normalizeStyle({ color: _ctx.color || "" })
         | 
| 26051 | 
            +
                      }, [
         | 
| 26052 | 
            +
                        createElementVNode("span", { onClick: insertRemoteAttachment }, toDisplayString(unref($editTrans)("insert")), 1)
         | 
| 26053 | 
            +
                      ], 4)
         | 
| 26054 | 
            +
                    ])) : (openBlock(), createElementBlock("div", _hoisted_5, [
         | 
| 26055 | 
            +
                      createVNode(Icon, { value: "upload" }),
         | 
| 26056 | 
            +
                      createElementVNode("input", {
         | 
| 26057 | 
            +
                        multiple: _ctx.multiple,
         | 
| 26058 | 
            +
                        accept: acceptValue.value,
         | 
| 26059 | 
            +
                        onChange: selectFile,
         | 
| 26060 | 
            +
                        type: "file"
         | 
| 26061 | 
            +
                      }, null, 40, _hoisted_6)
         | 
| 26062 | 
            +
                    ]))
         | 
| 26063 | 
            +
                  ]);
         | 
| 26064 | 
            +
                };
         | 
| 26065 | 
            +
              }
         | 
| 26066 | 
            +
            });
         | 
| 26067 | 
            +
            const InsertAttachment = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a2a6e2f3"]]);
         | 
| 26068 | 
            +
            const attachment = (options) => {
         | 
| 26069 | 
            +
              if (!common.isObject(options)) {
         | 
| 26070 | 
            +
                options = {};
         | 
| 26071 | 
            +
              }
         | 
| 26072 | 
            +
              const plugin = (editifyInstance, color2, editTrans) => {
         | 
| 26073 | 
            +
                return {
         | 
| 26074 | 
            +
                  //附件菜单项配置
         | 
| 26075 | 
            +
                  menu: {
         | 
| 26076 | 
            +
                    sequence: {
         | 
| 26077 | 
            +
                      attachment: options.sequence || 100
         | 
| 26078 | 
            +
                    },
         | 
| 26079 | 
            +
                    extends: {
         | 
| 26080 | 
            +
                      attachment: {
         | 
| 26081 | 
            +
                        type: "select",
         | 
| 26082 | 
            +
                        title: options.title || editTrans("insertAttachment"),
         | 
| 26083 | 
            +
                        leftBorder: options.leftBorder,
         | 
| 26084 | 
            +
                        rightBorder: options.rightBorder,
         | 
| 26085 | 
            +
                        default: () => h(Icon, { value: "attachment" }),
         | 
| 26086 | 
            +
                        layer: (_name, btnInstance) => h(InsertAttachment, {
         | 
| 26087 | 
            +
                          color: color2,
         | 
| 26088 | 
            +
                          accept: options.accept,
         | 
| 26089 | 
            +
                          allowedFileType: options.allowedFileType || [],
         | 
| 26090 | 
            +
                          multiple: !!options.multiple,
         | 
| 26091 | 
            +
                          maxSize: options.maxSize,
         | 
| 26092 | 
            +
                          minSize: options.minSize,
         | 
| 26093 | 
            +
                          customUpload: options.customUpload,
         | 
| 26094 | 
            +
                          handleError: options.handleError,
         | 
| 26095 | 
            +
                          onChange: () => {
         | 
| 26096 | 
            +
                            btnInstance.$refs.layerRef.setPosition();
         | 
| 26097 | 
            +
                          },
         | 
| 26098 | 
            +
                          onInsert: (url) => {
         | 
| 26099 | 
            +
                            const attachmentElement = new AlexElement("closed", "span", { "data-attachment": url, contenteditable: "false" }, null, null);
         | 
| 26100 | 
            +
                            const editor = editifyInstance.exposed.editor.value;
         | 
| 26101 | 
            +
                            editor.insertElement(attachmentElement);
         | 
| 26102 | 
            +
                            editor.range.anchor.moveToEnd(attachmentElement);
         | 
| 26103 | 
            +
                            editor.range.focus.moveToEnd(attachmentElement);
         | 
| 26104 | 
            +
                            editor.formatElementStack();
         | 
| 26105 | 
            +
                            editor.domRender();
         | 
| 26106 | 
            +
                            editor.rangeRender();
         | 
| 26107 | 
            +
                            btnInstance.show = false;
         | 
| 26108 | 
            +
                          }
         | 
| 26109 | 
            +
                        })
         | 
| 26110 | 
            +
                      }
         | 
| 26111 | 
            +
                    }
         | 
| 26112 | 
            +
                  },
         | 
| 26113 | 
            +
                  //找到附件元素点击下载
         | 
| 26114 | 
            +
                  updateView: () => {
         | 
| 26115 | 
            +
                    const editor = editifyInstance.exposed.editor.value;
         | 
| 26116 | 
            +
                    AlexElement.flatElements(editor.stack).forEach((el) => {
         | 
| 26117 | 
            +
                      if (el.parsedom == "span" && el.hasMarks() && el.marks["data-attachment"]) {
         | 
| 26118 | 
            +
                        event.off(el.elm, "click");
         | 
| 26119 | 
            +
                        event.on(el.elm, "click", () => {
         | 
| 26120 | 
            +
                          const url = el.marks["data-attachment"];
         | 
| 26121 | 
            +
                          const a = document.createElement("a");
         | 
| 26122 | 
            +
                          a.setAttribute("href", url);
         | 
| 26123 | 
            +
                          a.setAttribute("download", editTrans("attachmentDownloadName"));
         | 
| 26124 | 
            +
                          a.click();
         | 
| 26125 | 
            +
                        });
         | 
| 26126 | 
            +
                      }
         | 
| 26127 | 
            +
                    });
         | 
| 26128 | 
            +
                  },
         | 
| 26129 | 
            +
                  //span含有data-attachment的元素设为自闭合元素
         | 
| 26130 | 
            +
                  customParseNode: (el) => {
         | 
| 26131 | 
            +
                    if (el.hasMarks() && el.marks["data-attachment"] && el.parsedom == "span") {
         | 
| 26132 | 
            +
                      el.type = "closed";
         | 
| 26133 | 
            +
                    }
         | 
| 26134 | 
            +
                    return el;
         | 
| 26135 | 
            +
                  },
         | 
| 26136 | 
            +
                  //span元素粘贴保留data-attachment
         | 
| 26137 | 
            +
                  pasteKeepMarks: {
         | 
| 26138 | 
            +
                    "data-attachment": ["span"]
         | 
| 26139 | 
            +
                  },
         | 
| 26140 | 
            +
                  //设置元素的title属性标记
         | 
| 26141 | 
            +
                  renderRule: (el) => {
         | 
| 26142 | 
            +
                    if (el.type == "closed" && el.hasMarks() && el.marks["data-attachment"]) {
         | 
| 26143 | 
            +
                      el.marks["title"] = editTrans("downloadAttachment");
         | 
| 26144 | 
            +
                    }
         | 
| 26145 | 
            +
                  }
         | 
| 26146 | 
            +
                };
         | 
| 26147 | 
            +
              };
         | 
| 26148 | 
            +
              return plugin;
         | 
| 26149 | 
            +
            };
         | 
| 25754 26150 | 
             
            const install = (app) => {
         | 
| 25755 26151 | 
             
              app.component(Editify.name, Editify);
         | 
| 25756 26152 | 
             
            };
         | 
| 26153 | 
            +
            const version = "0.1.23";
         | 
| 25757 26154 | 
             
            export {
         | 
| 25758 26155 | 
             
              AlexElement,
         | 
| 25759 26156 | 
             
              Editify,
         | 
| 26157 | 
            +
              attachment,
         | 
| 25760 26158 | 
             
              install as default,
         | 
| 25761 26159 | 
             
              elementIsInList,
         | 
| 25762 26160 | 
             
              elementIsInTask,
         |