mce 0.17.7 → 0.17.8

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.
@@ -30,7 +30,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
30
30
  readonly lockAspectRatioStrategy?: "all" | "diagonal" | undefined;
31
31
  readonly handleStyle?: "8-points" | "4-points" | undefined;
32
32
  readonly handleShape?: "rect" | "circle" | undefined;
33
- readonly handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[] | undefined;
33
+ readonly handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[] | undefined;
34
34
  readonly scale?: [number, number] | undefined;
35
35
  readonly offset?: [number, number] | undefined;
36
36
  readonly initialSize?: boolean | undefined;
@@ -69,7 +69,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
69
69
  lockAspectRatioStrategy?: "all" | "diagonal";
70
70
  handleStyle?: "8-points" | "4-points";
71
71
  handleShape?: "rect" | "circle";
72
- handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[];
72
+ handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[];
73
73
  scale?: [number, number];
74
74
  offset?: [number, number];
75
75
  initialSize?: boolean;
@@ -85,7 +85,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
85
85
  "onUpdate:modelValue"?: ((value: Partial<Mce.TransformValue> | undefined) => any) | undefined;
86
86
  }>, {
87
87
  start: (event?: MouseEvent, index?: number) => boolean;
88
- activeHandle: import("vue").Ref<("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br") | undefined, ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br") | undefined>;
88
+ activeHandle: import("vue").Ref<("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl") | undefined, ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl") | undefined>;
89
89
  transforming: import("vue").Ref<boolean, boolean>;
90
90
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
91
91
  move: (context: Mce.TransformContext) => any;
@@ -95,8 +95,8 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
95
95
  }, string, {
96
96
  offset: [number, number];
97
97
  scale: [number, number];
98
- ui: boolean;
99
98
  threshold: number;
99
+ ui: boolean;
100
100
  movable: boolean;
101
101
  rotatable: boolean;
102
102
  resizable: boolean;
@@ -104,7 +104,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
104
104
  resizeStrategy: "free" | "lockAspectRatio";
105
105
  lockAspectRatioStrategy: "all" | "diagonal";
106
106
  handleShape: "rect" | "circle";
107
- handles: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[];
107
+ handles: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[];
108
108
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
109
109
  beforeCreate?: (() => void) | (() => void)[];
110
110
  created?: (() => void) | (() => void)[];
@@ -128,8 +128,8 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
128
128
  } & Readonly<{
129
129
  offset: [number, number];
130
130
  scale: [number, number];
131
- ui: boolean;
132
131
  threshold: number;
132
+ ui: boolean;
133
133
  movable: boolean;
134
134
  rotatable: boolean;
135
135
  resizable: boolean;
@@ -137,7 +137,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
137
137
  resizeStrategy: "free" | "lockAspectRatio";
138
138
  lockAspectRatioStrategy: "all" | "diagonal";
139
139
  handleShape: "rect" | "circle";
140
- handles: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[];
140
+ handles: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[];
141
141
  }> & Omit<Readonly<{
142
142
  ui?: boolean;
143
143
  tag?: string | any;
@@ -152,7 +152,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
152
152
  lockAspectRatioStrategy?: "all" | "diagonal";
153
153
  handleStyle?: "8-points" | "4-points";
154
154
  handleShape?: "rect" | "circle";
155
- handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[];
155
+ handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[];
156
156
  scale?: [number, number];
157
157
  offset?: [number, number];
158
158
  initialSize?: boolean;
@@ -166,9 +166,9 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
166
166
  onStart?: ((context: Mce.TransformContext) => any) | undefined;
167
167
  onEnd?: ((context: Mce.TransformContext) => any) | undefined;
168
168
  "onUpdate:modelValue"?: ((value: Partial<Mce.TransformValue> | undefined) => any) | undefined;
169
- }>, "transforming" | "start" | "activeHandle" | ("offset" | "scale" | "ui" | "threshold" | "movable" | "rotatable" | "resizable" | "tag" | "resizeStrategy" | "lockAspectRatioStrategy" | "handleShape" | "handles")> & import("vue").ShallowUnwrapRef<{
169
+ }>, "transforming" | "start" | "activeHandle" | ("offset" | "scale" | "threshold" | "ui" | "movable" | "rotatable" | "resizable" | "tag" | "resizeStrategy" | "lockAspectRatioStrategy" | "handleShape" | "handles")> & import("vue").ShallowUnwrapRef<{
170
170
  start: (event?: MouseEvent, index?: number) => boolean;
171
- activeHandle: import("vue").Ref<("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br") | undefined, ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br") | undefined>;
171
+ activeHandle: import("vue").Ref<("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl") | undefined, ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl") | undefined>;
172
172
  transforming: import("vue").Ref<boolean, boolean>;
173
173
  }> & {} & import("vue").ComponentCustomProperties & {} & {
174
174
  $slots: {
@@ -215,7 +215,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
215
215
  readonly lockAspectRatioStrategy?: "all" | "diagonal" | undefined;
216
216
  readonly handleStyle?: "8-points" | "4-points" | undefined;
217
217
  readonly handleShape?: "rect" | "circle" | undefined;
218
- readonly handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[] | undefined;
218
+ readonly handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[] | undefined;
219
219
  readonly scale?: [number, number] | undefined;
220
220
  readonly offset?: [number, number] | undefined;
221
221
  readonly initialSize?: boolean | undefined;
@@ -254,7 +254,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
254
254
  lockAspectRatioStrategy?: "all" | "diagonal";
255
255
  handleStyle?: "8-points" | "4-points";
256
256
  handleShape?: "rect" | "circle";
257
- handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[];
257
+ handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[];
258
258
  scale?: [number, number];
259
259
  offset?: [number, number];
260
260
  initialSize?: boolean;
@@ -270,7 +270,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
270
270
  "onUpdate:modelValue"?: ((value: Partial<Mce.TransformValue> | undefined) => any) | undefined;
271
271
  }>, {
272
272
  start: (event?: MouseEvent, index?: number) => boolean;
273
- activeHandle: import("vue").Ref<("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br") | undefined, ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br") | undefined>;
273
+ activeHandle: import("vue").Ref<("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl") | undefined, ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl") | undefined>;
274
274
  transforming: import("vue").Ref<boolean, boolean>;
275
275
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
276
276
  move: (context: Mce.TransformContext) => any;
@@ -280,8 +280,8 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
280
280
  }, string, {
281
281
  offset: [number, number];
282
282
  scale: [number, number];
283
- ui: boolean;
284
283
  threshold: number;
284
+ ui: boolean;
285
285
  movable: boolean;
286
286
  rotatable: boolean;
287
287
  resizable: boolean;
@@ -289,7 +289,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
289
289
  resizeStrategy: "free" | "lockAspectRatio";
290
290
  lockAspectRatioStrategy: "all" | "diagonal";
291
291
  handleShape: "rect" | "circle";
292
- handles: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[];
292
+ handles: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[];
293
293
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & {
294
294
  beforeCreate?: (() => void) | (() => void)[];
295
295
  created?: (() => void) | (() => void)[];
@@ -313,8 +313,8 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
313
313
  } & Readonly<{
314
314
  offset: [number, number];
315
315
  scale: [number, number];
316
- ui: boolean;
317
316
  threshold: number;
317
+ ui: boolean;
318
318
  movable: boolean;
319
319
  rotatable: boolean;
320
320
  resizable: boolean;
@@ -322,7 +322,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
322
322
  resizeStrategy: "free" | "lockAspectRatio";
323
323
  lockAspectRatioStrategy: "all" | "diagonal";
324
324
  handleShape: "rect" | "circle";
325
- handles: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[];
325
+ handles: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[];
326
326
  }> & Omit<Readonly<{
327
327
  ui?: boolean;
328
328
  tag?: string | any;
@@ -337,7 +337,7 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
337
337
  lockAspectRatioStrategy?: "all" | "diagonal";
338
338
  handleStyle?: "8-points" | "4-points";
339
339
  handleShape?: "rect" | "circle";
340
- handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br")[];
340
+ handles?: ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl")[];
341
341
  scale?: [number, number];
342
342
  offset?: [number, number];
343
343
  initialSize?: boolean;
@@ -351,9 +351,9 @@ declare const __VLS_base: import("vue").DefineComponent<{}, {
351
351
  onStart?: ((context: Mce.TransformContext) => any) | undefined;
352
352
  onEnd?: ((context: Mce.TransformContext) => any) | undefined;
353
353
  "onUpdate:modelValue"?: ((value: Partial<Mce.TransformValue> | undefined) => any) | undefined;
354
- }>, "transforming" | "start" | "activeHandle" | ("offset" | "scale" | "ui" | "threshold" | "movable" | "rotatable" | "resizable" | "tag" | "resizeStrategy" | "lockAspectRatioStrategy" | "handleShape" | "handles")> & import("vue").ShallowUnwrapRef<{
354
+ }>, "transforming" | "start" | "activeHandle" | ("offset" | "scale" | "threshold" | "ui" | "movable" | "rotatable" | "resizable" | "tag" | "resizeStrategy" | "lockAspectRatioStrategy" | "handleShape" | "handles")> & import("vue").ShallowUnwrapRef<{
355
355
  start: (event?: MouseEvent, index?: number) => boolean;
356
- activeHandle: import("vue").Ref<("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br") | undefined, ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-tl" | "resize-tr" | "resize-bl" | "resize-br" | "rotate-tl" | "rotate-tr" | "rotate-bl" | "rotate-br" | "round-tl" | "round-tr" | "round-bl" | "round-br") | undefined>;
356
+ activeHandle: import("vue").Ref<("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl") | undefined, ("move" | "resize-b" | "resize-r" | "resize-l" | "resize-t" | "resize-br" | "resize-tr" | "resize-tl" | "resize-bl" | "rotate-br" | "rotate-tr" | "rotate-tl" | "rotate-bl" | "round-br" | "round-tr" | "round-tl" | "round-bl") | undefined>;
357
357
  transforming: import("vue").Ref<boolean, boolean>;
358
358
  }> & {} & import("vue").ComponentCustomProperties & {} & {
359
359
  $slots: {
@@ -71,8 +71,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
71
71
  }>, {
72
72
  offset: [number, number];
73
73
  scale: [number, number];
74
- ui: boolean;
75
74
  threshold: number;
75
+ ui: boolean;
76
76
  movable: boolean;
77
77
  rotatable: boolean;
78
78
  resizable: boolean;
package/dist/index.js CHANGED
@@ -1,8 +1,7 @@
1
1
  import { IN_BROWSER, Element2D, Node as Node$1, Camera2D, Timeline, DrawboardEffect, Engine, Aabb2D, assets, Vector2 as Vector2$1, clamp, TimelineNode, Video2D, Transform2D, Obb2D, render, Lottie2D, customNodes, Animation, IN_MAC_OS, DEG_TO_RAD } from "modern-canvas";
2
- import { reactive, computed, warn, shallowRef, watch, markRaw, isReactive, ref, onBeforeMount, onScopeDispose, onMounted, defineComponent, createVNode, useAttrs, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, mergeProps, createElementVNode, inject, toValue, getCurrentInstance, provide, useId, onBeforeUnmount, readonly, toRef, onDeactivated, onActivated, useModel, useTemplateRef, withDirectives, createElementBlock, normalizeStyle as normalizeStyle$1, withModifiers, toDisplayString, vModelText, createCommentVNode, vShow, mergeModels, nextTick, Fragment, renderList, renderSlot, resolveComponent, withCtx, Teleport, createTextVNode, createSlots, normalizeProps, guardReactiveProps, h, isRef, effectScope, useSlots } from "vue";
2
+ import { reactive, warn, shallowRef, computed, watch, markRaw, isReactive, ref, onBeforeMount, onScopeDispose, onMounted, defineComponent, createVNode, useAttrs, openBlock, createBlock, resolveDynamicComponent, unref, normalizeClass, mergeProps, createElementVNode, inject, toValue, getCurrentInstance, provide, useId, onBeforeUnmount, readonly, toRef, onDeactivated, onActivated, useModel, useTemplateRef, withDirectives, createElementBlock, normalizeStyle as normalizeStyle$1, withModifiers, toDisplayString, vModelText, createCommentVNode, vShow, mergeModels, nextTick, Fragment, renderList, renderSlot, resolveComponent, withCtx, Teleport, createTextVNode, createSlots, normalizeProps, guardReactiveProps, h, isRef, effectScope, useSlots } from "vue";
3
3
  import { useFileDialog, useResizeObserver as useResizeObserver$1, useEventListener, isClient, onClickOutside, useDebounceFn, useImage, useLocalStorage } from "@vueuse/core";
4
- import { getObjectValueByPath, setObjectValueByPath, normalizeTextContent, Observable, idGenerator, property, isCRLF, textContentToString, normalizeCRLF, isEqualObject } from "modern-idoc";
5
- import { saveAs } from "file-saver-es";
4
+ import { normalizeTextContent, getObjectValueByPath, setObjectValueByPath, Observable, idGenerator, property, isCRLF, textContentToString, normalizeCRLF, isEqualObject } from "modern-idoc";
6
5
  import { measureText, Text } from "modern-text";
7
6
  import { Fonts } from "modern-font";
8
7
  import { throttle, merge, cloneDeep, isEqual } from "lodash-es";
@@ -48,80 +47,6 @@ const _0_command = defineMixin((editor) => {
48
47
  exec
49
48
  });
50
49
  });
51
- const _0_config = defineMixin((editor) => {
52
- const {
53
- config
54
- } = editor;
55
- const configDeclarations = /* @__PURE__ */ new Map();
56
- function getConfig(path, defaultValue) {
57
- let value = getObjectValueByPath(config.value, path);
58
- const declaration = configDeclarations.get(path);
59
- if (declaration?.getter) {
60
- value = declaration.getter(value);
61
- }
62
- return value ?? defaultValue;
63
- }
64
- function setConfig(path, value) {
65
- const declaration = configDeclarations.get(path);
66
- if (declaration?.setter) {
67
- value = declaration.setter(value);
68
- }
69
- setObjectValueByPath(config.value, path, value);
70
- }
71
- function getConfigRef(path) {
72
- return computed({
73
- get: () => getConfig(path),
74
- set: (value) => setConfig(path, value)
75
- });
76
- }
77
- function registerConfig(path, declaration = {}) {
78
- configDeclarations.set(path, declaration);
79
- const ref2 = getConfigRef(path);
80
- if (ref2.value === void 0) {
81
- if (typeof declaration.default === "function") {
82
- ref2.value = declaration.default();
83
- } else {
84
- ref2.value = declaration.default;
85
- }
86
- }
87
- return ref2;
88
- }
89
- function importConfig() {
90
- return new Promise((resolve) => {
91
- const { onChange, open } = useFileDialog({
92
- accept: ".json",
93
- reset: true,
94
- multiple: false
95
- });
96
- onChange(async (files) => {
97
- const file = files?.[0];
98
- if (file) {
99
- config.value = JSON.parse(await file.text());
100
- resolve(config.value);
101
- }
102
- });
103
- open();
104
- });
105
- }
106
- function exportConfig() {
107
- return new Blob([JSON.stringify(config.value)], { type: "application/json" });
108
- }
109
- function saveAsConfig(filename = "settings.json") {
110
- saveAs(
111
- exportConfig(),
112
- filename
113
- );
114
- }
115
- Object.assign(editor, {
116
- getConfig,
117
- setConfig,
118
- getConfigRef,
119
- registerConfig,
120
- importConfig,
121
- exportConfig,
122
- saveAsConfig
123
- });
124
- });
125
50
  function boundingBoxToStyle(box) {
126
51
  const style = {
127
52
  left: `${box.left}px`,
@@ -417,6 +342,91 @@ function propsFactory(props, source) {
417
342
  }, {});
418
343
  };
419
344
  }
345
+ function saveAs(blobOrString, filename) {
346
+ const blob = typeof blobOrString === "string" ? new Blob([blobOrString], { type: "application/octet-stream" }) : blobOrString;
347
+ const url = URL.createObjectURL(blob);
348
+ const a = document.createElement("a");
349
+ a.href = url;
350
+ a.download = filename;
351
+ document.body.appendChild(a);
352
+ a.click();
353
+ document.body.removeChild(a);
354
+ URL.revokeObjectURL(url);
355
+ }
356
+ const _0_config = defineMixin((editor) => {
357
+ const {
358
+ config
359
+ } = editor;
360
+ const configDeclarations = /* @__PURE__ */ new Map();
361
+ function getConfig(path, defaultValue) {
362
+ let value = getObjectValueByPath(config.value, path);
363
+ const declaration = configDeclarations.get(path);
364
+ if (declaration?.getter) {
365
+ value = declaration.getter(value);
366
+ }
367
+ return value ?? defaultValue;
368
+ }
369
+ function setConfig(path, value) {
370
+ const declaration = configDeclarations.get(path);
371
+ if (declaration?.setter) {
372
+ value = declaration.setter(value);
373
+ }
374
+ setObjectValueByPath(config.value, path, value);
375
+ }
376
+ function getConfigRef(path) {
377
+ return computed({
378
+ get: () => getConfig(path),
379
+ set: (value) => setConfig(path, value)
380
+ });
381
+ }
382
+ function registerConfig(path, declaration = {}) {
383
+ configDeclarations.set(path, declaration);
384
+ const ref2 = getConfigRef(path);
385
+ if (ref2.value === void 0) {
386
+ if (typeof declaration.default === "function") {
387
+ ref2.value = declaration.default();
388
+ } else {
389
+ ref2.value = declaration.default;
390
+ }
391
+ }
392
+ return ref2;
393
+ }
394
+ function importConfig() {
395
+ return new Promise((resolve) => {
396
+ const { onChange, open } = useFileDialog({
397
+ accept: ".json",
398
+ reset: true,
399
+ multiple: false
400
+ });
401
+ onChange(async (files) => {
402
+ const file = files?.[0];
403
+ if (file) {
404
+ config.value = JSON.parse(await file.text());
405
+ resolve(config.value);
406
+ }
407
+ });
408
+ open();
409
+ });
410
+ }
411
+ function exportConfig() {
412
+ return new Blob([JSON.stringify(config.value)], { type: "application/json" });
413
+ }
414
+ function saveAsConfig(filename = "settings.json") {
415
+ saveAs(
416
+ exportConfig(),
417
+ filename
418
+ );
419
+ }
420
+ Object.assign(editor, {
421
+ getConfig,
422
+ setConfig,
423
+ getConfigRef,
424
+ registerConfig,
425
+ importConfig,
426
+ exportConfig,
427
+ saveAsConfig
428
+ });
429
+ });
420
430
  const _0_config_base = defineMixin((editor, options) => {
421
431
  const {
422
432
  registerConfig,
@@ -6,3 +6,4 @@ export * from './dnd';
6
6
  export * from './helper';
7
7
  export * from './image';
8
8
  export * from './propsFactory';
9
+ export * from './saveAs';
@@ -0,0 +1 @@
1
+ export declare function saveAs(blobOrString: Blob | string, filename: string): void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mce",
3
3
  "type": "module",
4
- "version": "0.17.7",
4
+ "version": "0.17.8",
5
5
  "description": "A headless infinite canvas editor framework built on WebGL rendering, supports exporting to image, video, and PPT. Only the ESM.",
6
6
  "author": "wxm",
7
7
  "license": "MIT",
@@ -59,7 +59,6 @@
59
59
  "@vueuse/components": "^14.2.1",
60
60
  "@vueuse/core": "^14.2.1",
61
61
  "diff": "^8.0.3",
62
- "file-saver-es": "^2.0.5",
63
62
  "lodash-es": "^4.17.23",
64
63
  "modern-canvas": "^0.15.9",
65
64
  "modern-font": "^0.5.0",
@@ -86,8 +85,6 @@
86
85
  }
87
86
  },
88
87
  "devDependencies": {
89
- "@types/file-saver": "^2.0.7",
90
- "@types/file-saver-es": "^2.0.3",
91
88
  "@types/lodash-es": "^4.17.12",
92
89
  "@vitejs/plugin-vue": "^6.0.4",
93
90
  "jiti": "^2.6.1",