mce 0.14.4 → 0.15.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.
@@ -1,10 +1,9 @@
1
- import type { Cursor, Vector2Like } from 'modern-canvas';
1
+ import type { Aabb2D, Cursor, Vector2, Vector2Like } from 'modern-canvas';
2
2
  import type { IndexCharacter } from 'modern-text/web-components';
3
3
  import type { ComputedRef, Ref } from 'vue';
4
- import type { AxisAlignedBoundingBox } from '../types';
5
4
  import { Camera2D, DrawboardEffect, Element2D, Engine, Node, Timeline } from 'modern-canvas';
6
5
  import { Fonts } from 'modern-font';
7
- import { Doc } from '../models';
6
+ import { Doc } from '../crdt';
8
7
  declare global {
9
8
  namespace Mce {
10
9
  type Tblock = 'top' | 'bottom';
@@ -28,9 +27,9 @@ declare global {
28
27
  drawboardEffect: Ref<DrawboardEffect>;
29
28
  setCursor: (mode: Cursor | undefined) => void;
30
29
  drawboardDom: Ref<HTMLElement | undefined>;
31
- drawboardAabb: Ref<AxisAlignedBoundingBox>;
32
- drawboardPointer: Ref<Vector2Like | undefined>;
33
- drawboardContextMenuPointer: Ref<Vector2Like | undefined>;
30
+ drawboardAabb: Ref<Aabb2D>;
31
+ drawboardPointer: Ref<Vector2 | undefined>;
32
+ drawboardContextMenuPointer: Ref<Vector2 | undefined>;
34
33
  doc: Ref<Doc>;
35
34
  root: ComputedRef<Node>;
36
35
  nodes: Ref<Node[]>;
@@ -1,18 +1,18 @@
1
1
  import type { Element2D, Node } from 'modern-canvas';
2
2
  import type { ComputedRef } from 'vue';
3
- import type { AxisAlignedBoundingBox, OrientedBoundingBox } from '../types';
3
+ import { Aabb2D, Obb2D } from 'modern-canvas';
4
4
  declare global {
5
5
  namespace Mce {
6
6
  interface Editor {
7
7
  obbToFit: (element: Element2D) => void;
8
- getObb: (node: Node | Node[] | undefined, inTarget?: 'drawboard' | 'frame' | 'parent') => OrientedBoundingBox;
9
- getAabb: (node: Node | Node[] | undefined, inTarget?: 'drawboard' | 'frame' | 'parent') => AxisAlignedBoundingBox;
10
- aabbToDrawboardAabb: (aabb: AxisAlignedBoundingBox) => AxisAlignedBoundingBox;
11
- rootAabb: ComputedRef<AxisAlignedBoundingBox>;
12
- selectionAabb: ComputedRef<AxisAlignedBoundingBox>;
13
- selectionAabbInDrawboard: ComputedRef<AxisAlignedBoundingBox>;
14
- selectionObb: ComputedRef<OrientedBoundingBox>;
15
- selectionObbInDrawboard: ComputedRef<OrientedBoundingBox>;
8
+ getObb: (node: Node | Node[] | undefined, inTarget?: 'drawboard' | 'frame' | 'parent') => Obb2D;
9
+ getAabb: (node: Node | Node[] | undefined, inTarget?: 'drawboard' | 'frame' | 'parent') => Aabb2D;
10
+ aabbToDrawboardAabb: (aabb: Aabb2D) => Aabb2D;
11
+ rootAabb: ComputedRef<Aabb2D>;
12
+ selectionAabb: ComputedRef<Aabb2D>;
13
+ selectionAabbInDrawboard: ComputedRef<Aabb2D>;
14
+ selectionObb: ComputedRef<Obb2D>;
15
+ selectionObbInDrawboard: ComputedRef<Obb2D>;
16
16
  }
17
17
  }
18
18
  }
@@ -0,0 +1,14 @@
1
+ import type { Element2D } from 'modern-canvas';
2
+ declare global {
3
+ namespace Mce {
4
+ interface Editor {
5
+ setCurrentFrame: (index?: number) => void;
6
+ handleElementInsideFrame: (element: Element2D) => void;
7
+ }
8
+ interface Events {
9
+ setCurrentFrame: [index: number, oldIndex: number];
10
+ }
11
+ }
12
+ }
13
+ declare const _default: import("..").Mixin;
14
+ export default _default;
@@ -1,6 +1,5 @@
1
- import type { Element2D, Node, Vector2Like } from 'modern-canvas';
1
+ import type { Aabb2D, Element2D, Node, Vector2Like } from 'modern-canvas';
2
2
  import type { Element } from 'modern-idoc';
3
- import type { AxisAlignedBoundingBox } from '../types';
4
3
  declare global {
5
4
  namespace Mce {
6
5
  type AddElementPosition = Vector2Like | Anchor | 'screenCenter' | 'pointer';
@@ -18,18 +17,10 @@ declare global {
18
17
  textFontSizeToFit?: boolean;
19
18
  }
20
19
  interface Editor {
21
- addElement: {
22
- (element: Element, options?: AddElementOptions): Element2D;
23
- (element: Element[], options?: AddElementOptions): Element2D[];
24
- };
25
- deleteElement: (id: string) => void;
26
- updateElement: (id: string, properties: Record<string, any>) => void;
27
- getElement: (id: string) => Element2D | undefined;
20
+ addElement: (element: Element, options?: AddElementOptions) => Element2D;
21
+ addElements: (element: Element[], options?: AddElementOptions) => Element2D[];
28
22
  resizeElement: (element: Element2D, width: number, height: number, options?: ResizeElementOptions) => void;
29
- selectArea: (areaInDrawboard: AxisAlignedBoundingBox) => Element2D[];
30
- }
31
- interface Events {
32
- addElement: [element: Element2D[]];
23
+ selectArea: (areaInDrawboard: Aabb2D) => Element2D[];
33
24
  }
34
25
  }
35
26
  }
@@ -1,5 +1,5 @@
1
1
  import type { Document, Element } from 'modern-idoc';
2
- import { Doc } from '../models';
2
+ import { Doc } from '../crdt';
3
3
  declare global {
4
4
  namespace Mce {
5
5
  interface InternalDocument extends Document {
@@ -19,8 +19,8 @@ import './mixins/2.load'
19
19
  import './mixins/3.view'
20
20
  import './mixins/4.0.node'
21
21
  import './mixins/4.1.text'
22
- import './mixins/4.2.element'
23
- import './mixins/4.3.frame'
22
+ import './mixins/4.2.frame'
23
+ import './mixins/4.3.element'
24
24
  import './mixins/4.4.doc'
25
25
  import './mixins/drawingTool'
26
26
  import './mixins/scroll'
@@ -1,7 +1,2 @@
1
- import type { Vector2Like } from 'modern-canvas';
2
- import type { AxisAlignedBoundingBox, OrientedBoundingBox } from '../types';
1
+ import type { OrientedBoundingBox } from '../types';
3
2
  export declare function boundingBoxToStyle(box: OrientedBoundingBox): Record<string, any>;
4
- export declare function isPointInsideAabb(point: Vector2Like, box: AxisAlignedBoundingBox): boolean;
5
- export declare function isOverlappingAabb(aabb1: AxisAlignedBoundingBox, aabb2: AxisAlignedBoundingBox, axis?: 'vertical' | 'horizontal'): boolean;
6
- export declare function isOverlappingObb(box1: OrientedBoundingBox, box2: OrientedBoundingBox): boolean;
7
- export declare function minBoundingBox(rects: OrientedBoundingBox[]): OrientedBoundingBox;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mce",
3
3
  "type": "module",
4
- "version": "0.14.4",
4
+ "version": "0.15.1",
5
5
  "description": "The headless canvas editor framework. only the ESM.",
6
6
  "author": "wxm",
7
7
  "license": "MIT",
@@ -61,7 +61,7 @@
61
61
  "diff": "^8.0.2",
62
62
  "file-saver": "^2.0.5",
63
63
  "lodash-es": "^4.17.21",
64
- "modern-canvas": "^0.14.6",
64
+ "modern-canvas": "^0.14.16",
65
65
  "modern-font": "^0.4.4",
66
66
  "modern-idoc": "^0.10.6",
67
67
  "modern-text": "^1.10.5",
@@ -91,10 +91,10 @@
91
91
  "devDependencies": {
92
92
  "@types/file-saver": "^2.0.7",
93
93
  "@types/lodash-es": "^4.17.12",
94
- "@vitejs/plugin-vue": "^6.0.2",
94
+ "@vitejs/plugin-vue": "^6.0.3",
95
95
  "jiti": "^2.6.1",
96
96
  "modern-gif": "^2.0.4",
97
- "sass-embedded": "^1.95.1"
97
+ "sass-embedded": "^1.96.0"
98
98
  },
99
99
  "scripts": {
100
100
  "build:code": "vite build",
@@ -1,21 +0,0 @@
1
- import type { Element } from 'modern-idoc';
2
- declare global {
3
- namespace Mce {
4
- interface Editor {
5
- addFrame: (element?: Element, toIndex?: number) => void;
6
- duplicateFrame: (index?: number) => void;
7
- moveFrame: (fromIndex: number, toIndex: number) => void;
8
- deleteFrame: (index?: number) => void;
9
- setCurrentFrame: (index?: number) => void;
10
- }
11
- interface Events {
12
- addFrame: [index: number];
13
- duplicateFrame: [index: number];
14
- moveFrame: [fromIndex: number, toIndex: number];
15
- deleteFrame: [index: number];
16
- setCurrentFrame: [index: number, oldIndex: number];
17
- }
18
- }
19
- }
20
- declare const _default: import("..").Mixin;
21
- export default _default;
File without changes
File without changes