mce 0.16.7 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +37 -22
  2. package/dist/components/EditorLayout.vue.d.ts +2 -9
  3. package/dist/components/Frame.vue.d.ts +6 -2
  4. package/dist/components/Rulers.vue.d.ts +17 -4
  5. package/dist/components/Selection.vue.d.ts +97 -79
  6. package/dist/components/shared/{TransformControls.vue.d.ts → Transform.vue.d.ts} +21 -25
  7. package/dist/composables/layer.d.ts +2 -2
  8. package/dist/composables/layout.d.ts +4 -4
  9. package/dist/composables/strategy.d.ts +1 -2
  10. package/dist/crdt/YDoc.d.ts +1 -2
  11. package/dist/editor.d.ts +10 -8
  12. package/dist/index.css +439 -399
  13. package/dist/index.d.ts +1 -1
  14. package/dist/index.js +6527 -6333
  15. package/dist/locale/en.d.ts +14 -16
  16. package/dist/locale/zh-Hans.d.ts +14 -16
  17. package/dist/mixins/0.config/base.d.ts +41 -26
  18. package/dist/mixins/0.config.d.ts +3 -3
  19. package/dist/mixins/0.context.d.ts +2 -2
  20. package/dist/mixins/0.font.d.ts +0 -3
  21. package/dist/mixins/1.screen.d.ts +11 -2
  22. package/dist/mixins/snapper.d.ts +27 -0
  23. package/dist/mixins/snapshot.d.ts +0 -3
  24. package/dist/mixins/tool.d.ts +25 -0
  25. package/dist/nodes/Doc.d.ts +3 -3
  26. package/dist/plugin.d.ts +3 -3
  27. package/dist/plugins/doc.d.ts +17 -3
  28. package/dist/plugins/edit.d.ts +3 -0
  29. package/dist/plugins/frame.d.ts +13 -1
  30. package/dist/plugins/image.d.ts +1 -1
  31. package/dist/plugins/layers.d.ts +2 -2
  32. package/dist/plugins/madeWith.d.ts +5 -2
  33. package/dist/plugins/menu.d.ts +3 -0
  34. package/dist/plugins/node.d.ts +6 -3
  35. package/dist/plugins/pen.d.ts +1 -1
  36. package/dist/plugins/ruler.d.ts +6 -9
  37. package/dist/plugins/scroll.d.ts +6 -3
  38. package/dist/plugins/selection.d.ts +4 -10
  39. package/dist/plugins/shape.d.ts +1 -1
  40. package/dist/plugins/smartGuides.d.ts +0 -7
  41. package/dist/plugins/state.d.ts +1 -1
  42. package/dist/plugins/statusbar.d.ts +4 -4
  43. package/dist/plugins/timeline.d.ts +4 -4
  44. package/dist/plugins/{drawingTool.d.ts → tool.d.ts} +1 -1
  45. package/dist/plugins/toolbelt.d.ts +5 -2
  46. package/dist/plugins/transform.d.ts +36 -4
  47. package/dist/plugins/typography.d.ts +41 -0
  48. package/dist/plugins/view.d.ts +16 -10
  49. package/dist/plugins/zoom.d.ts +10 -7
  50. package/dist/typed-global.d.ts +4 -1
  51. package/dist/typed-plugins.d.ts +7 -16
  52. package/dist/types/helper.d.ts +3 -0
  53. package/dist/types/index.d.ts +1 -0
  54. package/dist/utils/dnd.d.ts +28 -7
  55. package/dist/utils/helper.d.ts +2 -0
  56. package/dist/utils/index.d.ts +0 -1
  57. package/package.json +6 -11
  58. package/dist/mixins/3.view.d.ts +0 -9
  59. package/dist/mixins/4.1.text.d.ts +0 -21
  60. package/dist/mixins/drawingTool.d.ts +0 -25
  61. package/dist/plugins/copyAs.d.ts +0 -11
  62. package/dist/plugins/gif.d.ts +0 -12
  63. package/dist/plugins/move.d.ts +0 -20
  64. package/dist/plugins/new.d.ts +0 -12
  65. package/dist/plugins/open.d.ts +0 -12
  66. package/dist/plugins/panels.d.ts +0 -13
  67. package/dist/plugins/rotate.d.ts +0 -10
  68. package/dist/plugins/text.d.ts +0 -17
  69. package/dist/plugins/ui.d.ts +0 -20
  70. package/dist/utils/random.d.ts +0 -3
  71. /package/dist/components/{NodeCreator.vue.d.ts → Creator.vue.d.ts} +0 -0
  72. /package/dist/mixins/{2.export.d.ts → exporter.d.ts} +0 -0
  73. /package/dist/mixins/{1.hotkey.d.ts → hotkey.d.ts} +0 -0
  74. /package/dist/mixins/{2.load.d.ts → loader.d.ts} +0 -0
@@ -1,13 +1,6 @@
1
- export interface TransformValue {
2
- left: number;
3
- top: number;
4
- width: number;
5
- height: number;
6
- rotate: number;
7
- borderRadius: number;
8
- }
9
1
  type Handle = 'move' | 'resize-t' | 'resize-r' | 'resize-b' | 'resize-l' | 'resize-tl' | 'resize-tr' | 'resize-bl' | 'resize-br' | 'rotate-tl' | 'rotate-tr' | 'rotate-bl' | 'rotate-br' | 'round-tl' | 'round-tr' | 'round-bl' | 'round-br';
10
2
  type __VLS_Props = {
3
+ ui?: boolean;
11
4
  tag?: string | any;
12
5
  color?: string;
13
6
  movable?: boolean;
@@ -16,20 +9,20 @@ type __VLS_Props = {
16
9
  resizable?: boolean;
17
10
  roundable?: boolean;
18
11
  threshold?: number;
19
- resizeStrategy?: 'lockAspectRatio' | 'lockAspectRatioDiagonal';
20
- handleStrategy?: 'point';
12
+ resizeStrategy?: 'free' | 'lockAspectRatio';
13
+ lockAspectRatioStrategy?: 'all' | 'diagonal';
14
+ handleStyle?: '8-points' | '4-points';
21
15
  handleShape?: 'rect' | 'circle';
22
16
  handles?: Handle[];
23
17
  scale?: [number, number];
24
18
  offset?: [number, number];
25
- hideUi?: boolean;
26
19
  initialSize?: boolean;
27
20
  borderStyle?: 'solid' | 'dashed';
28
21
  tip?: string | ((type: 'size') => string);
29
22
  };
30
- declare function start(event?: MouseEvent, index?: number): boolean;
23
+ declare function onPointerDown(event?: MouseEvent, index?: number): boolean;
31
24
  type __VLS_ModelProps = {
32
- modelValue?: Partial<TransformValue>;
25
+ modelValue?: Partial<Mce.TransformValue>;
33
26
  'modelModifiers'?: Partial<Record<string, true>>;
34
27
  };
35
28
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
@@ -43,9 +36,9 @@ declare var __VLS_8: {
43
36
  borderRadius: number;
44
37
  };
45
38
  props: {
46
- onPointerdown: typeof start;
39
+ onPointerdown: typeof onPointerDown;
47
40
  };
48
- start: typeof start;
41
+ start: typeof onPointerDown;
49
42
  }, __VLS_15: {
50
43
  box: {
51
44
  left: number;
@@ -62,27 +55,30 @@ type __VLS_Slots = {} & {
62
55
  svg?: (props: typeof __VLS_15) => any;
63
56
  };
64
57
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
65
- start: typeof start;
58
+ start: typeof onPointerDown;
66
59
  activeHandle: import("vue").Ref<Handle | undefined, Handle | undefined>;
67
60
  transforming: import("vue").Ref<boolean, boolean>;
68
61
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
69
- move: (args_0: TransformValue, args_1: TransformValue) => any;
70
- start: (args_0: TransformValue) => any;
71
- end: (args_0: TransformValue) => any;
72
- "update:modelValue": (value: Partial<TransformValue> | undefined) => any;
62
+ move: (context: Mce.TransformContext) => any;
63
+ start: (context: Mce.TransformContext) => any;
64
+ end: (context: Mce.TransformContext) => any;
65
+ "update:modelValue": (value: Partial<Mce.TransformValue> | undefined) => any;
73
66
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
74
- onMove?: ((args_0: TransformValue, args_1: TransformValue) => any) | undefined;
75
- onStart?: ((args_0: TransformValue) => any) | undefined;
76
- onEnd?: ((args_0: TransformValue) => any) | undefined;
77
- "onUpdate:modelValue"?: ((value: Partial<TransformValue> | undefined) => any) | undefined;
67
+ onMove?: ((context: Mce.TransformContext) => any) | undefined;
68
+ onStart?: ((context: Mce.TransformContext) => any) | undefined;
69
+ onEnd?: ((context: Mce.TransformContext) => any) | undefined;
70
+ "onUpdate:modelValue"?: ((value: Partial<Mce.TransformValue> | undefined) => any) | undefined;
78
71
  }>, {
79
72
  offset: [number, number];
80
73
  scale: [number, number];
74
+ ui: boolean;
75
+ threshold: number;
81
76
  movable: boolean;
82
77
  rotatable: boolean;
83
78
  resizable: boolean;
84
- threshold: number;
85
79
  tag: string | any;
80
+ resizeStrategy: "free" | "lockAspectRatio";
81
+ lockAspectRatioStrategy: "all" | "diagonal";
86
82
  handleShape: "rect" | "circle";
87
83
  handles: Handle[];
88
84
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -15,8 +15,8 @@ export interface LayerProvide {
15
15
  dragging: Ref<boolean>;
16
16
  droppingItemId: Ref<string | undefined>;
17
17
  }
18
- export declare const MceLayerKey: InjectionKey<LayerProvide>;
19
- export declare const MceLayerItemKey: InjectionKey<{
18
+ export declare const LayerKey: InjectionKey<LayerProvide>;
19
+ export declare const LayerItemKey: InjectionKey<{
20
20
  id: string;
21
21
  }>;
22
22
  export declare function createLayer(): {
@@ -33,8 +33,8 @@ interface LayoutProvide {
33
33
  layoutRect: Ref<DOMRectReadOnly | undefined>;
34
34
  rootZIndex: Ref<number>;
35
35
  }
36
- export declare const MceLayoutKey: InjectionKey<LayoutProvide>;
37
- export declare const MceLayoutItemKey: InjectionKey<{
36
+ export declare const LayoutKey: InjectionKey<LayoutProvide>;
37
+ export declare const LayoutItemKey: InjectionKey<{
38
38
  id: string;
39
39
  }>;
40
40
  export declare function makeLayoutProps(): {
@@ -73,9 +73,9 @@ export declare function createLayout(props: {
73
73
  fullHeight?: boolean;
74
74
  }): {
75
75
  layoutClasses: Readonly<Ref<(string | {
76
- 'mce-layout--full-height': boolean | undefined;
76
+ 'm-layout--full-height': boolean | undefined;
77
77
  })[], (string | {
78
- 'mce-layout--full-height': boolean | undefined;
78
+ 'm-layout--full-height': boolean | undefined;
79
79
  })[]>>;
80
80
  layoutStyles: Readonly<Ref<{
81
81
  zIndex: number | undefined;
@@ -12,7 +12,7 @@ export interface DoubleclickStrategyContext {
12
12
  }
13
13
  export interface HoverStrategyContext extends ActiveStrategyContext {
14
14
  }
15
- export type ResizeStrategy = (element: Element2D) => 'lockAspectRatio' | 'lockAspectRatioDiagonal' | undefined;
15
+ export type ResizeStrategy = (element: Element2D) => 'lockAspectRatio' | undefined;
16
16
  export type ActiveStrategy = (context: ActiveStrategyContext) => {
17
17
  element: Element2D | undefined;
18
18
  state: Mce.State | undefined;
@@ -45,7 +45,6 @@ export declare const makeMceStrategyProps: <Defaults extends {
45
45
  default: unknown extends Defaults["hoverStrategy"] ? HoverStrategy : HoverStrategy | Defaults["hoverStrategy"];
46
46
  };
47
47
  };
48
- export declare const defaultResizeStrategy: ResizeStrategy;
49
48
  export declare const defaultActiveStrategy: ActiveStrategy;
50
49
  export declare const defaultDoubleclickStrategy: DoubleclickStrategy;
51
50
  export declare const defaultHoverStrategy: HoverStrategy;
@@ -28,13 +28,12 @@ export declare class YDoc extends Observable {
28
28
  _nodeMap: Map<string, Node>;
29
29
  indexeddb?: IndexeddbProvider;
30
30
  undoManager: Y.UndoManager;
31
- protected _ready: boolean;
32
31
  constructor(id?: string);
33
32
  protected _isSelfTransaction(transaction?: Y.Transaction): boolean;
34
33
  protected _initUndoManager(typeScope?: any[]): void;
35
34
  loadIndexeddb(): Promise<void>;
35
+ load(): void;
36
36
  transact<T>(fn: () => T, should?: boolean): T;
37
- load(initFn?: () => void | Promise<void>): Promise<this>;
38
37
  protected _debug(..._args: any[]): void;
39
38
  protected _yChildrenChange(event: Y.YMapEvent<Y.Map<unknown>>, transaction: Y.Transaction): void;
40
39
  reset(): this;
package/dist/editor.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import type { EffectScope } from '@vue/reactivity';
2
- import type { RemovableRef } from '@vueuse/core';
3
2
  import type { ObservableEvents } from 'modern-idoc';
4
- import type { App, ComponentPublicInstance, InjectionKey } from 'vue';
3
+ import type { App, ComponentPublicInstance, InjectionKey, Ref } from 'vue';
5
4
  import type { Mixin } from './mixin';
6
- import type { Plugin, PluginComponent, PluginObject } from './plugin';
5
+ import type { Plugin, PluginComponent } from './plugin';
7
6
  import { Observable } from 'modern-idoc';
8
7
  export interface Options extends Mce.Options {
9
8
  debug?: boolean;
@@ -17,18 +16,20 @@ export interface Events extends Mce.Events, ObservableEvents {
17
16
  export interface Slots extends Mce.Slots {
18
17
  }
19
18
  export type EditorComponent = PluginComponent & {
19
+ visible: Ref<boolean>;
20
20
  plugin: string;
21
21
  indexInPlugin: number;
22
22
  };
23
23
  export declare class Editor extends Observable<Events> {
24
24
  static injectionKey: InjectionKey<Editor>;
25
- debug: import("vue").Ref<boolean, boolean>;
26
- config: RemovableRef<Mce.Config>;
25
+ debug: Ref<boolean, boolean>;
26
+ config: Ref<Mce.Config>;
27
27
  onEmit?: <K extends keyof Events & string>(event: K, ...args: Events[K]) => void;
28
- plugins: Record<string, PluginObject>;
29
28
  protected _pluginComponentTypes: string[];
30
- components: import("vue").ComputedRef<EditorComponent[]>;
31
- componentRefs: import("vue").Ref<Record<string, (HTMLElement | ComponentPublicInstance | null)[]>, Record<string, (HTMLElement | ComponentPublicInstance | null)[]>>;
29
+ components: import("vue").ShallowRef<EditorComponent[], EditorComponent[]>;
30
+ sortedComponents: import("vue").ComputedRef<EditorComponent[]>;
31
+ componentRefs: Record<string, (HTMLElement | ComponentPublicInstance | null)[]>;
32
+ setups: (() => void | Promise<void>)[];
32
33
  protected _setups: (() => void | Promise<void>)[];
33
34
  constructor(options?: Options);
34
35
  protected _setupObservable(): void;
@@ -37,6 +38,7 @@ export declare class Editor extends Observable<Events> {
37
38
  protected _setupOptions(options: Options): void;
38
39
  mixin(mixin: Mixin | Mixin[], options?: Options): void;
39
40
  use(plugin: Plugin | Plugin[], options: Options): void;
41
+ registerComponent(name: string, components: PluginComponent[]): void;
40
42
  protected _effectScope?: EffectScope;
41
43
  setup: () => Promise<void>;
42
44
  install: (app: App) => void;