mce 0.15.33 → 0.15.35

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.
@@ -9,7 +9,7 @@ declare const _default: {
9
9
  selectObject: string;
10
10
  commitChanges: string;
11
11
  extend: string;
12
- goBackSelectedArea: string;
12
+ scrollToSelection: string;
13
13
  selectArea: string;
14
14
  dragSelected: string;
15
15
  startTyping: string;
@@ -9,7 +9,7 @@ declare const _default: {
9
9
  selectObject: string;
10
10
  commitChanges: string;
11
11
  extend: string;
12
- goBackSelectedArea: string;
12
+ scrollToSelection: string;
13
13
  selectArea: string;
14
14
  dragSelected: string;
15
15
  startTyping: string;
@@ -38,6 +38,7 @@ declare global {
38
38
  nodes: Ref<Node[]>;
39
39
  nodeIndexMap: Map<string, number>;
40
40
  selection: Ref<Node[]>;
41
+ selectionArea: Ref<Aabb2D>;
41
42
  elementSelection: Ref<Element2D[]>;
42
43
  textSelection: Ref<IndexCharacter[] | undefined>;
43
44
  hoverElement: Ref<Element2D | undefined>;
@@ -6,6 +6,7 @@ declare global {
6
6
  interface Editor {
7
7
  obbToFit: (element: Element2D) => void;
8
8
  getObb: (node: Node | Node[] | undefined, inTarget?: 'drawboard' | 'frame' | 'parent') => Obb2D;
9
+ obbToDrawboardObb: (aabb: Obb2D) => Obb2D;
9
10
  getAabb: (node: Node | Node[] | undefined, inTarget?: 'drawboard' | 'frame' | 'parent') => Aabb2D;
10
11
  aabbToDrawboardAabb: (aabb: Aabb2D) => Aabb2D;
11
12
  viewportAabb: ComputedRef<Aabb2D>;
@@ -13,7 +14,7 @@ declare global {
13
14
  selectionAabb: ComputedRef<Aabb2D>;
14
15
  selectionAabbInDrawboard: ComputedRef<Aabb2D>;
15
16
  selectionObb: ComputedRef<Obb2D>;
16
- selectionObbInDrawboard: ComputedRef<Obb2D>;
17
+ selectionObbInDrawboard: ComputedRef<Aabb2D>;
17
18
  }
18
19
  }
19
20
  }
package/dist/plugin.d.ts CHANGED
@@ -1,21 +1,24 @@
1
1
  import type { Component } from 'vue';
2
2
  import type { Editor, Events, Options } from './editor';
3
- export interface BasePluginComponent {
4
- ignore?: () => boolean;
3
+ export interface PluginBaseComponent {
5
4
  component: Component;
5
+ ignore?: () => boolean;
6
+ order?: 'before' | number | 'after';
7
+ slot?: string;
6
8
  }
7
- export interface PanelPluginComponent extends BasePluginComponent {
8
- name: string;
9
+ export interface PluginPanelComponent extends PluginBaseComponent {
9
10
  type: 'panel';
10
- position: 'top' | 'right' | 'bottom' | 'left' | 'float';
11
+ name: string;
12
+ position: 'float' | 'top' | 'right' | 'bottom' | 'left';
11
13
  size?: number;
12
- order?: number;
13
14
  }
14
- export interface OverlayPluginComponent extends BasePluginComponent {
15
+ export interface PluginDialogComponent extends PluginBaseComponent {
16
+ type: 'dialog';
17
+ }
18
+ export interface PluginOverlayComponent extends PluginBaseComponent {
15
19
  type: 'overlay';
16
- order?: 'before' | 'after';
17
20
  }
18
- export type PluginComponent = OverlayPluginComponent | PanelPluginComponent;
21
+ export type PluginComponent = PluginOverlayComponent | PluginDialogComponent | PluginPanelComponent;
19
22
  export interface PluginObject {
20
23
  name: string;
21
24
  ignore?: () => boolean;
@@ -1,6 +1,21 @@
1
+ import type { Element2D } from 'modern-canvas';
1
2
  declare global {
2
3
  namespace Mce {
4
+ type ScrollTarget = 'root' | 'selection' | {
5
+ x: number;
6
+ } | {
7
+ y: number;
8
+ } | {
9
+ x: number;
10
+ y: number;
11
+ } | Element2D[];
12
+ interface ScrollToOptions {
13
+ intoView?: boolean;
14
+ duration?: number;
15
+ behavior?: 'smooth' | 'instant';
16
+ }
3
17
  interface Commands {
18
+ scrollTo: (target: ScrollTarget, options?: ScrollToOptions) => Promise<void>;
4
19
  scrollToSelection: (options?: ScrollToOptions) => void;
5
20
  }
6
21
  interface Config {
@@ -1,4 +1,4 @@
1
- import type { Node } from 'modern-canvas';
1
+ import type { Element2D, Node } from 'modern-canvas';
2
2
  declare global {
3
3
  namespace Mce {
4
4
  type SelectTarget = 'none' | 'all' | 'inverse' | 'children' | 'parent' | 'previousSibling' | 'nextSibling' | Node[];
@@ -31,6 +31,23 @@ declare global {
31
31
  showOrHideSelection: [event: KeyboardEvent];
32
32
  lockOrUnlockSelection: [event: KeyboardEvent];
33
33
  }
34
+ interface Slots {
35
+ 'selection'?: () => void;
36
+ 'selection.transform'?: () => void;
37
+ }
38
+ type TransformHandleDirection = 't' | 'l' | 'r' | 'b';
39
+ type TransformHandleCorner = 'tl' | 'tr' | 'bl' | 'br';
40
+ type TransformHandle = 'move' | `resize-${TransformHandleDirection | TransformHandleCorner}` | `rotate-${TransformHandleCorner}` | `round-${TransformHandleCorner}`;
41
+ interface SelectionTransformContext {
42
+ startEvent: MouseEvent | PointerEvent;
43
+ handle: TransformHandle;
44
+ elements: Element2D[];
45
+ }
46
+ interface Events {
47
+ selectionTransformStart: [context: SelectionTransformContext];
48
+ selectionTransform: [context: SelectionTransformContext];
49
+ selectionTransformEnd: [context: SelectionTransformContext];
50
+ }
34
51
  }
35
52
  }
36
53
  declare const _default: import("../plugin").Plugin;
@@ -13,5 +13,5 @@ declare global {
13
13
  }
14
14
  }
15
15
  }
16
- declare const _default: import("..").Plugin;
16
+ declare const _default: import("../plugin").Plugin;
17
17
  export default _default;
@@ -1,4 +1,4 @@
1
- import type { Element2D, PointerInputEvent } from 'modern-canvas';
1
+ import type { PointerInputEvent } from 'modern-canvas';
2
2
  declare global {
3
3
  namespace Mce {
4
4
  interface PointerDownOptions {
@@ -11,16 +11,10 @@ declare global {
11
11
  openContextMenu: (e?: MouseEvent | PointerEvent) => boolean;
12
12
  layerScrollIntoView: () => boolean;
13
13
  }
14
- type TransformableHandle = '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';
15
- interface SelectionTransformContext {
16
- startEvent: MouseEvent | PointerEvent;
17
- handle: TransformableHandle;
18
- elements: Element2D[];
19
- }
20
14
  interface Events {
21
15
  pointerMove: [event: PointerEvent];
22
16
  selectionTransformStart: [context: SelectionTransformContext];
23
- selectionTransforming: [context: SelectionTransformContext];
17
+ selectionTransform: [context: SelectionTransformContext];
24
18
  selectionTransformEnd: [context: SelectionTransformContext];
25
19
  }
26
20
  }
@@ -1,11 +1,21 @@
1
+ import type { Element2D } from 'modern-canvas';
1
2
  declare global {
2
3
  namespace Mce {
4
+ type ZoomTarget = 'root' | 'selection' | Element2D | Element2D[] | number;
5
+ type ZoomToMode = 'contain' | 'cover' | 'width' | 'height';
6
+ interface ZoomToOptions {
7
+ intoView?: boolean;
8
+ mode?: ZoomToMode;
9
+ duration?: number;
10
+ behavior?: 'smooth' | 'instant';
11
+ }
3
12
  interface Config {
4
13
  zoomToFit: ZoomToMode;
5
14
  }
6
15
  interface Commands {
7
16
  zoomIn: () => void;
8
17
  zoomOut: () => void;
18
+ zoomTo: (target: ZoomTarget, options?: ZoomToOptions) => Promise<void>;
9
19
  zoomTo100: () => void;
10
20
  zoomToFit: () => void;
11
21
  zoomToSelection: (options?: ZoomToOptions) => void;
@@ -19,6 +19,7 @@ declare global {
19
19
  namespace Mce {
20
20
  interface Editor {}
21
21
  interface Options {}
22
+ interface Slots {}
22
23
  interface Events {
23
24
  ready: []
24
25
  }
@@ -24,9 +24,7 @@ import './mixins/4.3.element'
24
24
  import './mixins/4.4.doc'
25
25
  import './mixins/drawingTool'
26
26
  import './mixins/http'
27
- import './mixins/scroll'
28
27
  import './mixins/snapshot'
29
- import './mixins/zoom'
30
28
  import './plugins/arrange'
31
29
  import './plugins/autoNest'
32
30
  import './plugins/copyAs'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mce",
3
3
  "type": "module",
4
- "version": "0.15.33",
4
+ "version": "0.15.35",
5
5
  "description": "The headless canvas editor framework. only the ESM.",
6
6
  "author": "wxm",
7
7
  "license": "MIT",
@@ -1,23 +0,0 @@
1
- import type { Element2D } from 'modern-canvas';
2
- declare global {
3
- namespace Mce {
4
- type ScrollTarget = 'root' | 'selection' | {
5
- x: number;
6
- } | {
7
- y: number;
8
- } | {
9
- x: number;
10
- y: number;
11
- } | Element2D[];
12
- interface ScrollToOptions {
13
- intoView?: boolean;
14
- duration?: number;
15
- behavior?: 'smooth' | 'instant';
16
- }
17
- interface Editor {
18
- scrollTo: (target: ScrollTarget, options?: ScrollToOptions) => Promise<void>;
19
- }
20
- }
21
- }
22
- declare const _default: import("..").Mixin;
23
- export default _default;
@@ -1,18 +0,0 @@
1
- import type { Element2D } from 'modern-canvas';
2
- declare global {
3
- namespace Mce {
4
- type ZoomTarget = 'root' | 'selection' | Element2D | Element2D[] | number;
5
- type ZoomToMode = 'contain' | 'cover' | 'width' | 'height';
6
- interface ZoomToOptions {
7
- intoView?: boolean;
8
- mode?: ZoomToMode;
9
- duration?: number;
10
- behavior?: 'smooth' | 'instant';
11
- }
12
- interface Editor {
13
- zoomTo: (target: ZoomTarget, options?: ZoomToOptions) => Promise<void>;
14
- }
15
- }
16
- }
17
- declare const _default: import("..").Mixin;
18
- export default _default;