@keyblade/tinymce-editor-vue2 0.0.1 → 0.0.3

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/README.md CHANGED
@@ -5,3 +5,130 @@
5
5
  yarn add @keyblade/tinymce-editor-vue2
6
6
  ```
7
7
 
8
+ ## 二、使用
9
+ ### 1.注入组件并设置全局属性
10
+ ```typescript
11
+ import TinymceEditor from '@keyblade/tinymce-editor-vue2'
12
+ Vue.use(TinymceEditor, {
13
+ message: {
14
+ // 注入 loading 方法
15
+ loading: () => {
16
+ const ins = Loading.service({ text: '加载中' })
17
+ return {
18
+ close: () => {
19
+ ins.close()
20
+ }
21
+ }
22
+ }
23
+ },
24
+ // 配置图片上传
25
+ imageUploadHandle: (file, filename) => {
26
+ return new Promise((resolve) => {
27
+ resolve({
28
+ success: true,
29
+ url: 'https://object.gcongo.com.cn/onecode-travel/nonClassic/8cefe379c03b5f39cd8ef725293a3c02/2024/5/1715995588295/d0b5bb458b694130be0c63e2f1d0090b.png'
30
+ })
31
+ })
32
+ }
33
+ })
34
+ ```
35
+
36
+ ### 2.使用组件
37
+ ```text
38
+ <template>
39
+ <TinymceEditor
40
+ ref="editorRef"
41
+ v-model="text"
42
+ :initComplete="initComplete"
43
+ />
44
+ </template>
45
+
46
+ <script setup lang="ts">
47
+ import { onMounted, ref } from 'vue'
48
+ import TinymceEditor from '@keyblade/tinymce-editor-vue2'
49
+
50
+ const text = ref<string>('')
51
+ const editorRef = ref()
52
+
53
+ // 组件加载完成
54
+ const initComplete = () => {
55
+ console.log(editorRef.value.insRef)
56
+ console.log(editorRef.value.editorRef)
57
+ }
58
+
59
+ onMounted(() => {
60
+ console.log('onMounted')
61
+ })
62
+ </script>
63
+ ```
64
+
65
+ ## 三、Api
66
+ ### 1.全局属性
67
+ ```typescript
68
+ interface TinymceEditorGlobalOptions {
69
+ // 消息方法实例
70
+ message?: {
71
+ // 加载中
72
+ loading?: (message?: string) => { close: () => void }
73
+ // 成功
74
+ success?: (message?: string) => void
75
+ // 错误提示
76
+ error?: (message?: string) => void
77
+ // 销毁
78
+ destroy?: () => void
79
+ }
80
+ /** 图片上传请求处理,需要返回图片地址 */
81
+ imageUploadHandle?: (file: File | Blob, filename: string) => Promise<{success: boolean; url?: string; errorMessage?: string}>;
82
+ /** 接着默认配置进行处理 */
83
+ paste_preprocess?: (editor: Editor, args: {
84
+ content: string;
85
+ readonly internal: boolean;
86
+ }) => void;
87
+ /** 接着默认配置进行处理 */
88
+ paste_postprocess?: (editor: Editor, args: {
89
+ node: HTMLElement;
90
+ readonly internal: boolean;
91
+ }) => void;
92
+ tinymceOptions?: RawEditorOptions
93
+ }
94
+ ```
95
+
96
+ ### 2.全局属性
97
+ ```typescript
98
+ interface ComponentProps {
99
+ /** vue2 v-model */
100
+ value?: string
101
+ /** vue3 v-model */
102
+ modelValue?: string
103
+ /** 图片最大值(单位M,主要用于错误提示) */
104
+ imageMaxSize?: number;
105
+ /** 图片允许的类型 */
106
+ imageAllowedType?: string[];
107
+ /** 图片允许的类型 */
108
+ imageAllowedMineType?: string[];
109
+ /** 图片最小宽度 */
110
+ imageMinWidth?: number;
111
+ /** 图片最小高度 */
112
+ imageMinHeight?: number;
113
+ /** 图片最大宽度 */
114
+ imageMaxWidth?: number;
115
+ /** 图片最大高度 */
116
+ imageMaxHeight?: number;
117
+ /** 图片上传请求处理,需要返回图片地址 */
118
+ imageUploadHandle?: (file: File | Blob, filename: string) => Promise<{success: boolean; url?: string; errorMessage?: string}>;
119
+ /** 接着默认配置进行处理 */
120
+ paste_preprocess?: (editor: Editor, args: {
121
+ content: string;
122
+ readonly internal: boolean;
123
+ }) => void;
124
+ /** 接着默认配置进行处理 */
125
+ paste_postprocess?: (editor: Editor, args: {
126
+ node: HTMLElement;
127
+ readonly internal: boolean;
128
+ }) => void;
129
+ /** 初始化完成 */
130
+ initComplete?: () => void,
131
+ /** 富文本编辑器选项 */
132
+ options?: Partial<RawEditorOptions>
133
+ }
134
+ ```
@@ -9,6 +9,8 @@ declare const _default: import('vue-demi').DefineComponent<__VLS_WithDefaults<__
9
9
  imageMaxSize?: number | undefined;
10
10
  /** 图片允许的类型 */
11
11
  imageAllowedType?: string[] | undefined;
12
+ /** 图片允许的类型 */
13
+ imageAllowedMineType?: string[] | undefined;
12
14
  /** 图片最小宽度 */
13
15
  imageMinWidth?: number | undefined;
14
16
  /** 图片最小高度 */
@@ -42,6 +44,7 @@ declare const _default: import('vue-demi').DefineComponent<__VLS_WithDefaults<__
42
44
  modelValue: string;
43
45
  imageMaxSize: number;
44
46
  imageAllowedType: () => string[];
47
+ imageAllowedMineType: () => string[];
45
48
  imageMinWidth: number;
46
49
  imageMinHeight: number;
47
50
  imageMaxWidth: number;
@@ -62,6 +65,8 @@ declare const _default: import('vue-demi').DefineComponent<__VLS_WithDefaults<__
62
65
  imageMaxSize?: number | undefined;
63
66
  /** 图片允许的类型 */
64
67
  imageAllowedType?: string[] | undefined;
68
+ /** 图片允许的类型 */
69
+ imageAllowedMineType?: string[] | undefined;
65
70
  /** 图片最小宽度 */
66
71
  imageMinWidth?: number | undefined;
67
72
  /** 图片最小高度 */
@@ -95,6 +100,7 @@ declare const _default: import('vue-demi').DefineComponent<__VLS_WithDefaults<__
95
100
  modelValue: string;
96
101
  imageMaxSize: number;
97
102
  imageAllowedType: () => string[];
103
+ imageAllowedMineType: () => string[];
98
104
  imageMinWidth: number;
99
105
  imageMinHeight: number;
100
106
  imageMaxWidth: number;
@@ -105,6 +111,7 @@ declare const _default: import('vue-demi').DefineComponent<__VLS_WithDefaults<__
105
111
  modelValue: string;
106
112
  imageMaxSize: number;
107
113
  imageAllowedType: string[];
114
+ imageAllowedMineType: string[];
108
115
  imageMinWidth: number;
109
116
  imageMinHeight: number;
110
117
  imageMaxWidth: number;
package/es/editor.vue2.js CHANGED
@@ -1,9 +1,9 @@
1
- import { defineComponent as O } from "vue";
2
- import { ref as w, computed as S, onMounted as N, onUnmounted as L, watch as q } from "vue-demi";
3
- import E from "compressorjs";
4
- import { conclude as x } from "vue-global-config";
5
- import G from "tinymce";
6
- import { addI18n as j } from "./langs/zh_CN.js";
1
+ import { defineComponent as F } from "vue";
2
+ import { ref as y, computed as W, onMounted as N, onUnmounted as j, watch as L } from "vue-demi";
3
+ import q from "compressorjs";
4
+ import { conclude as _ } from "vue-global-config";
5
+ import E from "tinymce";
6
+ import { addI18n as G } from "./langs/zh_CN.js";
7
7
  import "tinymce/skins/ui/oxide/skin";
8
8
  import "tinymce/models/dom";
9
9
  import "tinymce/themes/silver";
@@ -32,14 +32,15 @@ import "tinymce/plugins/table";
32
32
  import "tinymce/plugins/visualblocks";
33
33
  import "tinymce/plugins/visualchars";
34
34
  import "tinymce/plugins/wordcount";
35
- import { globalProps as m } from "./index.js";
36
- const He = /* @__PURE__ */ O({
35
+ import { globalProps as d } from "./index.js";
36
+ const ze = /* @__PURE__ */ F({
37
37
  __name: "editor",
38
38
  props: {
39
39
  value: { default: "" },
40
40
  modelValue: { default: "" },
41
41
  imageMaxSize: { default: 30 },
42
42
  imageAllowedType: { default: () => ["jpg", "jpeg", "png", "bmp", "heif", "gif", "webp"] },
43
+ imageAllowedMineType: { default: () => ["image/jpg", "image/jpeg", "image/png", "image/bmp", "image/heif", "image/heic", "image/gif", "image/webp"] },
43
44
  imageMinWidth: { default: 60 },
44
45
  imageMinHeight: { default: 60 },
45
46
  imageMaxWidth: { default: 6e3 },
@@ -51,50 +52,50 @@ const He = /* @__PURE__ */ O({
51
52
  options: { default: () => ({}) }
52
53
  },
53
54
  emits: ["input", "update:modelValue"],
54
- setup(V, { expose: B, emit: _ }) {
55
- const a = V;
56
- j();
57
- const y = w(), l = w(), p = w(!1), u = w(!1);
58
- async function H(n) {
55
+ setup(O, { expose: R, emit: b }) {
56
+ const a = O;
57
+ G();
58
+ const M = y(), m = y(), g = y(!1), f = y(!1);
59
+ async function A(n) {
59
60
  var o, e;
60
- const r = n.getElementsByTagName("img");
61
- for (let i of r) {
61
+ const s = n.getElementsByTagName("img");
62
+ for (let i of s) {
62
63
  const t = i.src;
63
64
  if (t.startsWith("http://") || t.startsWith("https://")) {
64
- const s = await b(t);
65
- if (s.width < a.imageMinWidth && s.height < a.imageMinHeight || s.width > a.imageMaxWidth && s.height > a.imageMaxHeight) {
65
+ const r = await C(t);
66
+ if (r.width < a.imageMinWidth && r.height < a.imageMinHeight || r.width > a.imageMaxWidth && r.height > a.imageMaxHeight) {
66
67
  (o = i == null ? void 0 : i.remove) == null || o.call(i);
67
68
  return;
68
69
  }
69
- const f = t.split("."), M = f[f.length - 1].toLowerCase();
70
- if (!a.imageAllowedType.includes(M)) {
70
+ const w = t.split("."), S = w[w.length - 1].toLowerCase();
71
+ if (!a.imageAllowedType.includes(S)) {
71
72
  (e = i == null ? void 0 : i.remove) == null || e.call(i);
72
73
  return;
73
74
  }
74
75
  }
75
76
  }
76
77
  }
77
- const W = (n) => {
78
- const r = n.split(","), o = r[0].match(/:(.*?);/)[1], e = atob(r[1]);
78
+ const H = (n) => {
79
+ const s = n.split(","), o = s[0].match(/:(.*?);/)[1], e = atob(s[1]);
79
80
  let i = e.length;
80
81
  const t = new Uint8Array(i);
81
82
  for (; i--; )
82
83
  t[i] = e.charCodeAt(i);
83
84
  return new Blob([t], { type: o });
84
85
  };
85
- function b(n) {
86
- return new Promise((r) => {
86
+ function C(n) {
87
+ return new Promise((s) => {
87
88
  const o = new Image();
88
89
  o.onload = function() {
89
- r({ width: o.width, height: o.height, image: o });
90
+ s({ width: o.width, height: o.height, image: o });
90
91
  }, o.src = n;
91
92
  });
92
93
  }
93
- function A(n, r) {
94
+ function T(n, s) {
94
95
  return new Promise((o) => {
95
- new E(n, {
96
- ...r,
97
- success(e) {
96
+ new q(n, {
97
+ ...s,
98
+ success: async (e) => {
98
99
  o({ success: !0, file: e });
99
100
  },
100
101
  error(e) {
@@ -103,16 +104,16 @@ const He = /* @__PURE__ */ O({
103
104
  });
104
105
  });
105
106
  }
106
- const d = S(
107
- () => x([a.paste_preprocess, m.paste_preprocess], {
107
+ const h = W(
108
+ () => _([a.paste_preprocess, d.paste_preprocess], {
108
109
  type: Function
109
110
  })
110
- ), g = S(
111
- () => x([a.paste_postprocess, m.paste_postprocess], {
111
+ ), v = W(
112
+ () => _([a.paste_postprocess, d.paste_postprocess], {
112
113
  type: Function
113
114
  })
114
- ), c = S(
115
- () => x([a.imageUploadHandle, m.imageUploadHandle], {
115
+ ), c = W(
116
+ () => _([a.imageUploadHandle, d.imageUploadHandle], {
116
117
  type: Function
117
118
  })
118
119
  );
@@ -124,7 +125,7 @@ const He = /* @__PURE__ */ O({
124
125
  language: "zh_CN",
125
126
  /** 需要配置到外部 */
126
127
  // 实例
127
- target: y.value,
128
+ target: M.value,
128
129
  // 隐藏品牌
129
130
  branding: !1,
130
131
  // 隐藏右上角升级按钮
@@ -189,48 +190,49 @@ const He = /* @__PURE__ */ O({
189
190
  // 粘贴前处理
190
191
  paste_preprocess(o, e) {
191
192
  var i;
192
- e.content = e.content.replace(/<video[^>]*(?:\/>|>[\s\S]*?<\/video>)/g, ""), e.content = e.content.replace(/<audio[^>]*(?:\/>|>[\s\S]*?<\/audio>)/g, ""), e.content = e.content.replace(/<nav/g, "<div").replace(/<\/nav>/g, "</div>"), e.content = e.content.replace(/<header/g, "<div").replace(/<\/header>/g, "</div>"), e.content = e.content.replace(/<footer/g, "<div").replace(/<\/footer>/g, "</div>"), e.content = e.content.replace(/<aside/g, "<div").replace(/<\/aside>/g, "</div>"), e.content = e.content.replace(/<section/g, "<div").replace(/<\/section>/g, "</div>"), e.content = e.content.replace(/<main/g, "<div").replace(/<\/main>/g, "</div>"), e.content = e.content.replace(/<article/g, "<div").replace(/<\/article>/g, "</div>"), e.content = e.content.replace(/<details/g, "<div").replace(/<\/details>/g, "</div>"), (i = d.value) == null || i.call(d, o, e);
193
+ e.content = e.content.replace(/<video[^>]*(?:\/>|>[\s\S]*?<\/video>)/g, ""), e.content = e.content.replace(/<audio[^>]*(?:\/>|>[\s\S]*?<\/audio>)/g, ""), e.content = e.content.replace(/<nav/g, "<div").replace(/<\/nav>/g, "</div>"), e.content = e.content.replace(/<header/g, "<div").replace(/<\/header>/g, "</div>"), e.content = e.content.replace(/<footer/g, "<div").replace(/<\/footer>/g, "</div>"), e.content = e.content.replace(/<aside/g, "<div").replace(/<\/aside>/g, "</div>"), e.content = e.content.replace(/<section/g, "<div").replace(/<\/section>/g, "</div>"), e.content = e.content.replace(/<main/g, "<div").replace(/<\/main>/g, "</div>"), e.content = e.content.replace(/<article/g, "<div").replace(/<\/article>/g, "</div>"), e.content = e.content.replace(/<details/g, "<div").replace(/<\/details>/g, "</div>"), (i = h.value) == null || i.call(h, o, e);
193
194
  },
194
195
  // 粘贴后处理(处理异步操作)
195
196
  paste_postprocess(o, e) {
196
197
  var t;
197
198
  const i = e.node;
198
- H(i), (t = g.value) == null || t.call(g, o, e);
199
+ A(i), (t = v.value) == null || t.call(v, o, e);
199
200
  },
200
201
  images_upload_handler(o) {
201
202
  return new Promise(async (e, i) => {
202
- var v, P, U;
203
- const t = (P = (v = m.message) == null ? void 0 : v.loading) == null ? void 0 : P.call(v);
204
- let s = o.blob();
205
- const f = o.base64(), M = o.filename(), z = s.name.split("."), R = z[z.length - 1].toLowerCase();
206
- if (s.size > a.imageMaxSize * 1024 * 1024)
203
+ var x, V, B;
204
+ const t = (V = (x = d.message) == null ? void 0 : x.loading) == null ? void 0 : V.call(x);
205
+ let r = o.blob();
206
+ const w = o.base64(), S = o.filename(), P = r.name.split("."), $ = P[P.length - 1].toLowerCase();
207
+ if (r.size > a.imageMaxSize * 1024 * 1024)
207
208
  return t == null || t.close(), i({ message: `请上传大小不超过${a.imageMaxSize}M的图片`, remove: !0 });
208
- if (!a.imageAllowedType.includes(R))
209
- return t == null || t.close(), i({ message: `请上传格式为${a.imageAllowedType.map((F) => F.toUpperCase()).join("、")}的图片`, remove: !0 });
210
- const T = "data:" + s.type + ";base64," + f, h = await b(T);
211
- if (h.width < a.imageMinWidth && h.height < a.imageMinHeight || h.width > a.imageMaxWidth && h.height > a.imageMaxHeight)
209
+ if (!a.imageAllowedMineType.includes(r.type))
210
+ return t == null || t.close(), i({ message: `请上传格式为${a.imageAllowedType.map((u) => u.toUpperCase()).join("、")}的图片`, remove: !0 });
211
+ const U = "data:" + r.type + ";base64," + w, p = await C(U);
212
+ if (p.width < a.imageMinWidth && p.height < a.imageMinHeight || p.width > a.imageMaxWidth && p.height > a.imageMaxHeight)
212
213
  return t == null || t.close(), i({ message: `请上传像素不低于${a.imageMinWidth}*${a.imageMinHeight}且像素不高于${a.imageMaxWidth}*${a.imageMaxHeight}的图片`, remove: !0 });
213
- const $ = {
214
- // 满足这两种条件会自动转换为JPEG格式
215
- convertTypes: ["image/heif", "image/heic", "image/webp"],
216
- convertSize: 5e6
217
- }, C = await A(W(T), $);
218
- if (C.success)
219
- s = C.file;
220
- else
221
- return t == null || t.close(), i({ message: C.error, remove: !0 });
214
+ const l = {};
215
+ ["image/heif", "image/heic", "image/webp"].includes($) && (l.convertTypes = [r.type], l.convertSize = 0);
216
+ const k = 5 * 1024 * 1024;
217
+ if (r.size > k && (l.convertTypes = [r.type], l.convertSize = k, l.maxWidth = p.width * (k / r.size)), Object.keys(l).length > 0) {
218
+ const u = await T(H(U), l);
219
+ if (u.success)
220
+ r = u.file;
221
+ else
222
+ return t == null || t.close(), i({ message: u.error, remove: !0 });
223
+ }
222
224
  if (!c.value)
223
225
  return t == null || t.close(), i({ message: "缺少图片上传配置", remove: !0 });
224
- const k = await ((U = c.value) == null ? void 0 : U.call(c, s, M));
225
- if (!k.success)
226
- return t == null || t.close(), i({ message: k.errorMessage, remove: !0 });
227
- t == null || t.close(), e(k.url);
226
+ const z = await ((B = c.value) == null ? void 0 : B.call(c, r, S));
227
+ if (!z.success)
228
+ return t == null || t.close(), i({ message: z.errorMessage, remove: !0 });
229
+ t == null || t.close(), e(z.url);
228
230
  });
229
231
  }
230
- }, r = x(
232
+ }, s = _(
231
233
  [
232
234
  a.options,
233
- m.tinymceOptions,
235
+ d.tinymceOptions,
234
236
  n
235
237
  ],
236
238
  {
@@ -240,36 +242,36 @@ const He = /* @__PURE__ */ O({
240
242
  type: Object
241
243
  }
242
244
  );
243
- G.init(r).then(([o]) => {
245
+ E.init(s).then(([o]) => {
244
246
  var e;
245
247
  o.on("change input Redo Undo SetContent", () => {
246
- if (u.value) {
247
- u.value = !1;
248
+ if (f.value) {
249
+ f.value = !1;
248
250
  return;
249
251
  }
250
- p.value = !0, _("input", o.getContent()), _("update:modelValue", o.getContent());
251
- }), l.value = o, (e = a.initComplete) == null || e.call(a);
252
+ g.value = !0, b("input", o.getContent()), b("update:modelValue", o.getContent());
253
+ }), m.value = o, (e = a.initComplete) == null || e.call(a);
252
254
  });
253
- }), L(() => {
255
+ }), j(() => {
254
256
  var n;
255
- (n = l.value) == null || n.destroy();
256
- }), q(
257
- () => [a.value, a.modelValue, l.value],
257
+ (n = m.value) == null || n.destroy();
258
+ }), L(
259
+ () => [a.value, a.modelValue, m.value],
258
260
  () => {
259
261
  var n;
260
- if (p.value) {
261
- p.value = !1;
262
+ if (g.value) {
263
+ g.value = !1;
262
264
  return;
263
265
  }
264
- u.value = !0, (n = l.value) == null || n.setContent(a.value ?? a.modelValue ?? "");
266
+ f.value = !0, (n = m.value) == null || n.setContent(a.value ?? a.modelValue ?? "");
265
267
  },
266
268
  { immediate: !0 }
267
- ), B({
268
- insRef: y,
269
- editorRef: l
270
- }), { __sfc: !0, insRef: y, editorRef: l, preventSettingContent: p, preventUpdatingModelValue: u, props: a, emits: _, processPastedImage: H, dataURLtoBlob: W, getImagePixel: b, compressorImage: A, paste_preprocess: d, paste_postprocess: g, imageUploadHandle: c };
269
+ ), R({
270
+ insRef: M,
271
+ editorRef: m
272
+ }), { __sfc: !0, insRef: M, editorRef: m, preventSettingContent: g, preventUpdatingModelValue: f, props: a, emits: b, processPastedImage: A, dataURLtoBlob: H, getImagePixel: C, compressorImage: T, paste_preprocess: h, paste_postprocess: v, imageUploadHandle: c };
271
273
  }
272
274
  });
273
275
  export {
274
- He as default
276
+ ze as default
275
277
  };
package/es/index.d.ts CHANGED
@@ -45,6 +45,10 @@ declare const TinymceEditor: import('vue/types/v3-component-public-instance').Co
45
45
  type: import('vue').PropType<string[]>;
46
46
  default: () => string[];
47
47
  };
48
+ imageAllowedMineType: {
49
+ type: import('vue').PropType<string[]>;
50
+ default: () => string[];
51
+ };
48
52
  imageMinWidth: {
49
53
  type: import('vue').PropType<number>;
50
54
  default: number;
@@ -104,6 +108,10 @@ declare const TinymceEditor: import('vue/types/v3-component-public-instance').Co
104
108
  type: import('vue').PropType<string[]>;
105
109
  default: () => string[];
106
110
  };
111
+ imageAllowedMineType: {
112
+ type: import('vue').PropType<string[]>;
113
+ default: () => string[];
114
+ };
107
115
  imageMinWidth: {
108
116
  type: import('vue').PropType<number>;
109
117
  default: number;
@@ -154,6 +162,7 @@ declare const TinymceEditor: import('vue/types/v3-component-public-instance').Co
154
162
  modelValue: string;
155
163
  imageMaxSize: number;
156
164
  imageAllowedType: string[];
165
+ imageAllowedMineType: string[];
157
166
  imageMinWidth: number;
158
167
  imageMinHeight: number;
159
168
  imageMaxWidth: number;
@@ -176,6 +185,10 @@ declare const TinymceEditor: import('vue/types/v3-component-public-instance').Co
176
185
  type: import('vue').PropType<string[]>;
177
186
  default: () => string[];
178
187
  };
188
+ imageAllowedMineType: {
189
+ type: import('vue').PropType<string[]>;
190
+ default: () => string[];
191
+ };
179
192
  imageMinWidth: {
180
193
  type: import('vue').PropType<number>;
181
194
  default: number;
@@ -238,6 +251,10 @@ declare const TinymceEditor: import('vue/types/v3-component-public-instance').Co
238
251
  type: import('vue').PropType<string[]>;
239
252
  default: () => string[];
240
253
  };
254
+ imageAllowedMineType: {
255
+ type: import('vue').PropType<string[]>;
256
+ default: () => string[];
257
+ };
241
258
  imageMinWidth: {
242
259
  type: import('vue').PropType<number>;
243
260
  default: number;
@@ -297,6 +314,10 @@ declare const TinymceEditor: import('vue/types/v3-component-public-instance').Co
297
314
  type: import('vue').PropType<string[]>;
298
315
  default: () => string[];
299
316
  };
317
+ imageAllowedMineType: {
318
+ type: import('vue').PropType<string[]>;
319
+ default: () => string[];
320
+ };
300
321
  imageMinWidth: {
301
322
  type: import('vue').PropType<number>;
302
323
  default: number;
@@ -350,6 +371,7 @@ declare const TinymceEditor: import('vue/types/v3-component-public-instance').Co
350
371
  modelValue: string;
351
372
  imageMaxSize: number;
352
373
  imageAllowedType: string[];
374
+ imageAllowedMineType: string[];
353
375
  imageMinWidth: number;
354
376
  imageMinHeight: number;
355
377
  imageMaxWidth: number;
@@ -373,6 +395,10 @@ declare const TinymceEditor: import('vue/types/v3-component-public-instance').Co
373
395
  type: import('vue').PropType<string[]>;
374
396
  default: () => string[];
375
397
  };
398
+ imageAllowedMineType: {
399
+ type: import('vue').PropType<string[]>;
400
+ default: () => string[];
401
+ };
376
402
  imageMinWidth: {
377
403
  type: import('vue').PropType<number>;
378
404
  default: number;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@keyblade/tinymce-editor-vue2",
3
3
  "description": "KeyBlade Tinymce Editor Vue2",
4
4
  "author": "yangshuai <704807396@qq.com>",
5
- "version": "0.0.1",
5
+ "version": "0.0.3",
6
6
  "private": false,
7
7
  "type": "module",
8
8
  "main": "es/index.js",