kouxiangtang 0.0.29 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AttachmentUploader-Dv5yLIFT.js → AttachmentUploader-7_gYI1Ul.js} +14 -13
- package/dist/{AttachmentUploader-Dv5yLIFT.js.map → AttachmentUploader-7_gYI1Ul.js.map} +1 -1
- package/dist/{ImageUploader-8i9X1BXC.js → ImageUploader-Bev1j9J3.js} +7 -6
- package/dist/{ImageUploader-8i9X1BXC.js.map → ImageUploader-Bev1j9J3.js.map} +1 -1
- package/dist/{RichTextEditor-5wSOmsE3.js → RichTextEditor-D7bSjv9E.js} +2 -2
- package/dist/{RichTextEditor-5wSOmsE3.js.map → RichTextEditor-D7bSjv9E.js.map} +1 -1
- package/dist/color-Dy_WcVKE.js +295 -0
- package/dist/color-Dy_WcVKE.js.map +1 -0
- package/dist/config-B1l6VQqX.js +83 -0
- package/dist/config-B1l6VQqX.js.map +1 -0
- package/dist/config-B28ViqkP.js +60 -0
- package/dist/config-B28ViqkP.js.map +1 -0
- package/dist/config-BNPqeFh8.js +74 -0
- package/dist/config-BNPqeFh8.js.map +1 -0
- package/dist/config-Bb06m_wa.js +127 -0
- package/dist/config-Bb06m_wa.js.map +1 -0
- package/dist/config-Bo5FttPF.js +56 -0
- package/dist/config-Bo5FttPF.js.map +1 -0
- package/dist/config-BsJeiX72.js +72 -0
- package/dist/config-BsJeiX72.js.map +1 -0
- package/dist/config-BvvzgwsK.js +10 -0
- package/dist/config-BvvzgwsK.js.map +1 -0
- package/dist/config-CQjve_L_.js +59 -0
- package/dist/config-CQjve_L_.js.map +1 -0
- package/dist/config-CR3_8__f.js +71 -0
- package/dist/config-CR3_8__f.js.map +1 -0
- package/dist/config-CoNy_LPm.js +127 -0
- package/dist/config-CoNy_LPm.js.map +1 -0
- package/dist/config-CtuaqsIg.js +146 -0
- package/dist/config-CtuaqsIg.js.map +1 -0
- package/dist/config-DXqu2RLv.js +51 -0
- package/dist/config-DXqu2RLv.js.map +1 -0
- package/dist/config-DvMt0rQB.js +165 -0
- package/dist/config-DvMt0rQB.js.map +1 -0
- package/dist/config-Ybl4BGU0.js +57 -0
- package/dist/config-Ybl4BGU0.js.map +1 -0
- package/dist/config-pvHBhmpM.js +10 -0
- package/dist/config-pvHBhmpM.js.map +1 -0
- package/dist/config-tuc7f0v1.js +104 -0
- package/dist/config-tuc7f0v1.js.map +1 -0
- package/dist/el-loading-l0sNRNKZ.js +2 -0
- package/dist/el-loading-l0sNRNKZ.js.map +1 -0
- package/dist/el-switch-l0sNRNKZ.js +2 -0
- package/dist/el-switch-l0sNRNKZ.js.map +1 -0
- package/dist/index-BmtnYeYH.js +5405 -0
- package/dist/index-BmtnYeYH.js.map +1 -0
- package/dist/kouxiangtang.js +9 -9
- package/dist/kouxiangtang.umd.cjs +9 -9
- package/dist/kouxiangtang.umd.cjs.map +1 -1
- package/dist/style.css +2 -2
- package/package.json +1 -1
- package/dist/index-DlUlA0tw.js +0 -6847
- package/dist/index-DlUlA0tw.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { computed as $, ref as
|
|
2
|
-
import { _ as G,
|
|
1
|
+
import { computed as $, ref as b, resolveComponent as c, openBlock as d, createElementBlock as T, Fragment as I, createVNode as s, unref as f, normalizeClass as j, withModifiers as L, withCtx as r, createBlock as g, createTextVNode as S, createElementVNode as B, renderList as q, toDisplayString as O, createCommentVNode as W } from "vue";
|
|
2
|
+
import { _ as G, f as H, p as J, d as K, i as Q, j as X } from "./index-BmtnYeYH.js";
|
|
3
3
|
import { ElMessage as m, ElLoading as C } from "element-plus";
|
|
4
|
+
import "./el-loading-l0sNRNKZ.js";
|
|
4
5
|
const Y = ["src"], Z = { class: "file-type" }, ee = {
|
|
5
6
|
__name: "AttachmentUploader",
|
|
6
7
|
props: {
|
|
@@ -39,8 +40,8 @@ const Y = ["src"], Z = { class: "file-type" }, ee = {
|
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
42
|
return { ...e, name: e.id, fileType: t };
|
|
42
|
-
})), k =
|
|
43
|
-
|
|
43
|
+
})), k = b(""), h = b(!1);
|
|
44
|
+
b(a);
|
|
44
45
|
const U = H().fileUploadUrl;
|
|
45
46
|
`${localStorage.getItem("token")}`;
|
|
46
47
|
const z = (e) => {
|
|
@@ -119,11 +120,11 @@ const Y = ["src"], Z = { class: "file-type" }, ee = {
|
|
|
119
120
|
multiple: !0,
|
|
120
121
|
"http-request": () => !1,
|
|
121
122
|
"show-file-list": a.props.listType !== "text",
|
|
122
|
-
class:
|
|
123
|
+
class: j([
|
|
123
124
|
"upload-main",
|
|
124
125
|
{ "disable-upload": y.value.length >= a.props.limit }
|
|
125
126
|
]),
|
|
126
|
-
onClick: t[0] || (t[0] =
|
|
127
|
+
onClick: t[0] || (t[0] = L(() => {
|
|
127
128
|
}, ["prevent"]))
|
|
128
129
|
}, {
|
|
129
130
|
default: r(() => [
|
|
@@ -141,7 +142,7 @@ const Y = ["src"], Z = { class: "file-type" }, ee = {
|
|
|
141
142
|
type: "primary"
|
|
142
143
|
}, {
|
|
143
144
|
default: r(() => [
|
|
144
|
-
|
|
145
|
+
S(" 上传附件 ")
|
|
145
146
|
]),
|
|
146
147
|
_: 1
|
|
147
148
|
}))
|
|
@@ -179,14 +180,14 @@ const Y = ["src"], Z = { class: "file-type" }, ee = {
|
|
|
179
180
|
}),
|
|
180
181
|
s(l, {
|
|
181
182
|
modelValue: n.name,
|
|
182
|
-
"onUpdate:modelValue": (
|
|
183
|
-
onChange: (
|
|
183
|
+
"onUpdate:modelValue": (x) => n.name = x,
|
|
184
|
+
onChange: (x) => P(n)
|
|
184
185
|
}, null, 8, ["modelValue", "onUpdate:modelValue", "onChange"]),
|
|
185
186
|
B("span", Z, "." + O(n.fileType), 1),
|
|
186
187
|
s(o, {
|
|
187
188
|
color: "#73767a",
|
|
188
189
|
size: 12,
|
|
189
|
-
onClick: (
|
|
190
|
+
onClick: (x) => V(n)
|
|
190
191
|
}, {
|
|
191
192
|
default: r(() => [
|
|
192
193
|
s(f(Q))
|
|
@@ -202,8 +203,8 @@ const Y = ["src"], Z = { class: "file-type" }, ee = {
|
|
|
202
203
|
], 64);
|
|
203
204
|
};
|
|
204
205
|
}
|
|
205
|
-
},
|
|
206
|
+
}, le = /* @__PURE__ */ G(ee, [["__scopeId", "data-v-9e254a37"]]);
|
|
206
207
|
export {
|
|
207
|
-
|
|
208
|
+
le as default
|
|
208
209
|
};
|
|
209
|
-
//# sourceMappingURL=AttachmentUploader-
|
|
210
|
+
//# sourceMappingURL=AttachmentUploader-7_gYI1Ul.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttachmentUploader-
|
|
1
|
+
{"version":3,"file":"AttachmentUploader-7_gYI1Ul.js","sources":["../src/framework/field/attachment/AttachmentUploader.vue"],"sourcesContent":["<script setup>\nimport axios from \"axios\";\nimport { getConfig } from \"../../config-loader\";\nimport { ref, computed } from \"vue\";\nimport { ElLoading, ElMessage } from \"element-plus\";\nimport { Plus, Document, Close } from \"@element-plus/icons-vue\";\n\nconst emit = defineEmits([\"on-success\", \"on-remove\", \"on-change\"]);\nconst props = defineProps({\n pics: {\n type: Array,\n default() {\n return [];\n },\n },\n limit: { type: Number },\n props: {\n type: Object,\n default() {\n return {\n listType: \"picture-card\", //'text' | 'picture' | 'picture-card'\n limit: 5, //最多上传几个文件\n accept: \"image/*\",\n };\n },\n },\n});\n\nconst files = computed(() => {\n return props.pics.map((item) => {\n const fileType = item.url.substring(item.url.lastIndexOf(\".\") + 1);\n if (typeof item.name !== undefined) {\n item.fileType = fileType;\n return item;\n }\n\n if (item.url) {\n const parts = item.url.split(\"/\");\n const namedItem = {\n ...item,\n name: parts[parts.length - 1],\n fileType: fileType,\n };\n return namedItem;\n }\n\n return { ...item, name: item.id, fileType: fileType };\n });\n});\nconst dialogImageUrl = ref(\"\");\nconst dialogVisible = ref(false);\nconst imageUrl = ref(props);\nconst uploadUrl = getConfig().fileUploadUrl;\nconst header = {\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\n};\nconst compressImg = (file) => {\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n return new Promise(function (resolve, reject) {\n if (!file.type.startsWith(\"image/\")) {\n resolve(file);\n return false;\n }\n reader.onload = async (e) => {\n const img = new Image();\n img.src = e.target.result;\n img.onload = () => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n canvas.toBlob(\n (blob) => {\n const newFile = new File([blob], file.name, {\n type: file.type,\n lastModified: Date.now(),\n });\n resolve(newFile);\n },\n file.type,\n 0.5,\n );\n };\n };\n return false;\n });\n};\nconst handleRemoveSuccess = (uploadFile) => {\n emit(\"on-remove\", uploadFile);\n};\nconst handleExceed = () => {\n ElMessage({\n message: `最多只能上传 ${props.props.limit} 个文件!`,\n type: \"warning\",\n });\n};\nconst handlePictureCardPreview = (uploadFile) => {\n dialogImageUrl.value = uploadFile.url;\n dialogVisible.value = true;\n};\nconst handleBeforeUpload = (file) => {\n compressImg(file).then((newFile) => {\n if (newFile.size / 1024 / 1024 < 5) {\n uploadRequest(newFile);\n return false;\n } else {\n ElMessage({\n message: \"上传大小不能超过 5MB!\",\n type: \"warning\",\n });\n return false;\n }\n });\n};\n\nfunction handleFileNameChange(file, index) {\n if (!file.name) {\n ElMessage({\n message: \"附件名称不能为空!\",\n type: \"warning\",\n });\n return;\n }\n emit(\"on-change\", file);\n}\n\nfunction uploadRequest(file) {\n ElLoading.service({ text: \"上传中,请稍后\", background: \"rgba(0,0,0,0.3)\" });\n return new Promise((resolve, reject) => {\n const formData = new FormData();\n formData.append(\"file\", file);\n axios\n .post(uploadUrl, formData, {})\n .then((res) => {\n ElLoading.service().close();\n ElMessage({\n message: \"上传成功\",\n type: \"success\",\n });\n emit(\"on-success\", res.data.data);\n resolve(res.data);\n return false;\n })\n .catch(() => {\n ElLoading.service().close();\n ElMessage({\n message: \"上传失败\",\n type: \"warning\",\n });\n reject(\"Upload failed\");\n });\n });\n}\n</script>\n\n<template>\n <!-- 删除请求头加权限后请添加到组建中 :headers=\"header\"-->\n <el-upload\n :file-list=\"files\"\n :action=\"uploadUrl\"\n :limit=\"props.props.limit\"\n :accept=\"props.props.accept\"\n :list-type=\"props.props.listType\"\n :on-remove=\"handleRemoveSuccess\"\n :before-upload=\"handleBeforeUpload\"\n :on-exceed=\"handleExceed\"\n :on-preview=\"handlePictureCardPreview\"\n :multiple=\"true\"\n :http-request=\"\n () => {\n return false;\n }\n \"\n :show-file-list=\"props.props.listType !== 'text'\"\n :class=\"[\n 'upload-main',\n { 'disable-upload': files.length >= props.props.limit },\n ]\"\n @click.prevent\n >\n <template v-if=\"props.props.listType !== 'text'\">\n <el-icon :disabled=\"true\">\n <Plus />\n </el-icon>\n </template>\n <template v-else>\n <el-button class=\"upload-button\" type=\"primary\"> 上传附件 </el-button>\n </template>\n </el-upload>\n <el-dialog v-model=\"dialogVisible\">\n <img w-full :src=\"dialogImageUrl\" alt=\"Preview Image\" />\n </el-dialog>\n <el-form v-if=\"props.props.listType == 'text'\">\n <el-form-item v-for=\"(file, index) in files\" :key=\"index\" class=\"file-list\">\n <el-icon color=\"#73767a\" :size=\"14\">\n <Document />\n </el-icon>\n <el-input\n v-model=\"file.name\"\n @change=\"handleFileNameChange(file, index)\"\n />\n <span class=\"file-type\">.{{ file.fileType }}</span>\n <el-icon color=\"#73767a\" :size=\"12\" @click=\"handleRemoveSuccess(file)\">\n <Close />\n </el-icon>\n </el-form-item>\n </el-form>\n</template>\n<style scoped lang=\"scss\">\n:deep(.el-upload-list) {\n .el-upload-list__item-actions span {\n margin-left: 20px;\n }\n}\n\n.disable-upload {\n :deep(.el-upload--picture-card) {\n display: none !important;\n }\n\n :deep(.el-upload--text) {\n display: none !important;\n }\n\n :deep(.el-upload--picture) {\n display: none !important;\n }\n}\n.upload-main {\n flex-basis: 100%;\n}\n.file-list {\n display: flex;\n align-items: center;\n margin-top: 10px;\n .file-type {\n height: 22px;\n line-height: 22px;\n margin-right: 5px;\n background: #eeeeee;\n border-radius: 4px;\n font-size: 12px;\n padding: 0 4px;\n }\n :deep(.el-form-item__content) {\n display: contents;\n }\n :deep(.el-input__wrapper) {\n margin: 0 5px;\n }\n :deep(.el-input__inner) {\n height: 20px;\n line-height: 20px;\n }\n}\n</style>\n"],"names":["emit","__emit","props","__props","files","computed","item","fileType","parts","dialogImageUrl","ref","dialogVisible","uploadUrl","getConfig","compressImg","file","reader","resolve","reject","e","img","canvas","ctx","blob","newFile","handleRemoveSuccess","uploadFile","handleExceed","ElMessage","handlePictureCardPreview","handleBeforeUpload","uploadRequest","handleFileNameChange","index","ElLoading","formData","axios","res"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { openBlock as t, createBlock as o, unref as e, withCtx as s, renderSlot as I, createElementVNode as
|
|
1
|
+
import { openBlock as t, createBlock as o, unref as e, withCtx as s, renderSlot as I, createElementVNode as v, createVNode as l, withModifiers as E, createCommentVNode as b } from "vue";
|
|
2
2
|
import { ElUpload as x, ElImage as B, ElIcon as n, ElMessage as i, ElLoading as d } from "element-plus";
|
|
3
|
-
import { _ as M,
|
|
3
|
+
import { _ as M, f as C, l as S, p as L, n as N, j as V } from "./index-BmtnYeYH.js";
|
|
4
|
+
import "./el-loading-l0sNRNKZ.js";
|
|
4
5
|
const q = { class: "image-slot" }, z = {
|
|
5
6
|
__name: "ImageUploader",
|
|
6
7
|
props: {
|
|
@@ -56,7 +57,7 @@ const q = { class: "image-slot" }, z = {
|
|
|
56
57
|
fit: "scale-down"
|
|
57
58
|
}, {
|
|
58
59
|
placeholder: s(() => [
|
|
59
|
-
|
|
60
|
+
v("div", q, [
|
|
60
61
|
l(e(n), { class: "placeholder-icon" }, {
|
|
61
62
|
default: s(() => [
|
|
62
63
|
l(e(S))
|
|
@@ -78,13 +79,13 @@ const q = { class: "image-slot" }, z = {
|
|
|
78
79
|
r.imageUrl ? (t(), o(e(n), {
|
|
79
80
|
key: 2,
|
|
80
81
|
class: "delete-icon",
|
|
81
|
-
onClick:
|
|
82
|
+
onClick: E(h, ["stop", "prevent"])
|
|
82
83
|
}, {
|
|
83
84
|
default: s(() => [
|
|
84
85
|
l(e(N))
|
|
85
86
|
]),
|
|
86
87
|
_: 1
|
|
87
|
-
})) :
|
|
88
|
+
})) : b("", !0)
|
|
88
89
|
]),
|
|
89
90
|
_: 3
|
|
90
91
|
}, 8, ["action"]));
|
|
@@ -93,4 +94,4 @@ const q = { class: "image-slot" }, z = {
|
|
|
93
94
|
export {
|
|
94
95
|
F as default
|
|
95
96
|
};
|
|
96
|
-
//# sourceMappingURL=ImageUploader-
|
|
97
|
+
//# sourceMappingURL=ImageUploader-Bev1j9J3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageUploader-
|
|
1
|
+
{"version":3,"file":"ImageUploader-Bev1j9J3.js","sources":["../src/framework/field/image/ImageUploader.vue"],"sourcesContent":["<script setup>\nimport { ElUpload, ElImage, ElIcon } from \"element-plus\";\nimport axios from \"axios\";\nimport { getConfig } from \"../../config-loader\";\nimport { ElLoading, ElMessage } from \"element-plus\";\nimport { Plus, Delete, Loading } from \"@element-plus/icons-vue\";\n\nconst emit = defineEmits([\"on-success\"]);\nconst props = defineProps({\n imageUrl: { type: String },\n});\nconst uploadUrl = getConfig().imageUploadUrl;\nconst header = {\n Authorization: `Bearer ${localStorage.getItem(\"token\")}`,\n};\nconst handleBeforeUpload = (uploadFile) => {\n const isLt2M = uploadFile.size / 1024 / 1024 < 5;\n if (!isLt2M) {\n ElMessage({\n message: \"上传大小不能超过 5MB!\",\n type: \"warning\",\n });\n return false;\n }\n};\nconst handleSuccess = (response) => {\n emit(\"on-success\", response.data.imageUrl);\n};\n\nfunction deleteImageUrl() {\n emit(\"on-success\", \"\");\n}\n\nfunction uploadRequest(file) {\n ElLoading.service({ text: \"上传中,请稍后\", background: \"rgba(0,0,0,0.3)\" });\n return new Promise((resolve, reject) => {\n const formData = new FormData();\n formData.append(\"image\", file.file);\n axios\n .post(uploadUrl, formData, {})\n .then((res) => {\n ElLoading.service().close();\n ElMessage({\n message: \"上传成功\",\n type: \"success\",\n });\n resolve(res.data);\n })\n .catch(() => {\n ElLoading.service().close();\n ElMessage({\n message: \"上传失败\",\n type: \"warning\",\n });\n reject(\"Upload failed\");\n });\n });\n}\n</script>\n\n<template>\n <!-- 删除请求头加权限后请添加到组建中 :headers=\"header\"-->\n <el-upload\n class=\"image-uploader\"\n :action=\"uploadUrl\"\n name=\"image\"\n :show-file-list=\"false\"\n :on-success=\"handleSuccess\"\n :before-upload=\"handleBeforeUpload\"\n :http-request=\"uploadRequest\"\n >\n <slot />\n <el-image\n v-if=\"props.imageUrl\"\n class=\"image\"\n :src=\"props.imageUrl\"\n fit=\"scale-down\"\n >\n <template #placeholder>\n <div class=\"image-slot\">\n <el-icon class=\"placeholder-icon\">\n <Loading />\n </el-icon>\n </div>\n </template>\n </el-image>\n <el-icon v-else class=\"uploader-icon\">\n <Plus />\n </el-icon>\n <el-icon\n v-if=\"props.imageUrl\"\n class=\"delete-icon\"\n @click.stop.prevent=\"deleteImageUrl\"\n >\n <Delete />\n </el-icon>\n </el-upload>\n</template>\n\n<style scoped lang=\"scss\">\n.image-uploader {\n :deep(.el-upload) {\n border: 1px dashed var(--el-border-color);\n border-radius: 6px;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n transition: var(--el-transition-duration-fast);\n\n &:hover {\n border-color: var(--el-color-primary);\n }\n }\n\n .image {\n width: 146px;\n height: 146px;\n\n .placeholder-icon {\n width: 146px;\n height: 146px;\n font-size: 30px;\n color: #a7a7a7;\n }\n }\n\n .uploader-icon {\n font-size: 28px;\n color: #8c939d;\n width: 146px;\n height: 146px;\n text-align: center;\n }\n\n .delete-icon {\n font-size: 20px;\n color: #b7b4b4;\n position: absolute;\n top: 10px;\n right: 10px;\n }\n}\n</style>\n"],"names":["emit","__emit","props","__props","uploadUrl","getConfig","handleBeforeUpload","uploadFile","ElMessage","handleSuccess","response","deleteImageUrl","uploadRequest","file","ElLoading","resolve","reject","formData","axios","res"],"mappings":";;;;;;;;;;;AAOA,UAAMA,IAAOC,GACPC,IAAQC,GAGRC,IAAYC,EAAW,EAAC;AACf,IACY,gBAAa,QAAQ,OAAO;AAEvD,UAAMC,IAAqB,CAACC,MAAe;AAEzC,UAAI,EADWA,EAAW,OAAO,OAAO,OAAO;AAE7C,eAAAC,EAAU;AAAA,UACR,SAAS;AAAA,UACT,MAAM;AAAA,QACZ,CAAK,GACM;AAAA,IAEX,GACMC,IAAgB,CAACC,MAAa;AAClC,MAAAV,EAAK,cAAcU,EAAS,KAAK,QAAQ;AAAA,IAC3C;AAEA,aAASC,IAAiB;AACxB,MAAAX,EAAK,cAAc,EAAE;AAAA,IACvB;AAEA,aAASY,EAAcC,GAAM;AAC3B,aAAAC,EAAU,QAAQ,EAAE,MAAM,WAAW,YAAY,kBAAiB,CAAE,GAC7D,IAAI,QAAQ,CAACC,GAASC,MAAW;AACtC,cAAMC,IAAW,IAAI;AACrB,QAAAA,EAAS,OAAO,SAASJ,EAAK,IAAI,GAClCK,EACG,KAAKd,GAAWa,GAAU,EAAE,EAC5B,KAAK,CAACE,MAAQ;AACb,UAAAL,EAAU,UAAU,SACpBN,EAAU;AAAA,YACR,SAAS;AAAA,YACT,MAAM;AAAA,UAChB,CAAS,GACDO,EAAQI,EAAI,IAAI;AAAA,QACxB,CAAO,EACA,MAAM,MAAM;AACX,UAAAL,EAAU,UAAU,SACpBN,EAAU;AAAA,YACR,SAAS;AAAA,YACT,MAAM;AAAA,UAChB,CAAS,GACDQ,EAAO,eAAe;AAAA,QAC9B,CAAO;AAAA,MACP,CAAG;AAAA,IACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as tn, onMounted as rn, onBeforeUnmount as nn, ref as $r, watch as Ir, nextTick as Gr, h as an, openBlock as on, createBlock as sn, unref as un } from "vue";
|
|
2
2
|
import * as Dr from "quill";
|
|
3
3
|
import Pr from "quill";
|
|
4
|
-
import {
|
|
4
|
+
import { k as W, m as ln, j as fn, f as cn } from "./index-BmtnYeYH.js";
|
|
5
5
|
import hn from "quill-image-uploader";
|
|
6
6
|
var ue = -1, ne = 1, Z = 0;
|
|
7
7
|
function it(r, a, n, u) {
|
|
@@ -1774,4 +1774,4 @@ const qr = {
|
|
|
1774
1774
|
export {
|
|
1775
1775
|
Pn as default
|
|
1776
1776
|
};
|
|
1777
|
-
//# sourceMappingURL=RichTextEditor-
|
|
1777
|
+
//# sourceMappingURL=RichTextEditor-D7bSjv9E.js.map
|