mce 0.29.2 → 0.29.4

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.
@@ -6,9 +6,6 @@ declare global {
6
6
  xLines?: number[];
7
7
  yLines?: number[];
8
8
  points?: Vector2Like[];
9
- /** 间距卡点候选位(如 4/8/12/16 间距)。仅当主吸附线(对齐/区域)未命中时作为次选。 */
10
- xGutters?: number[];
11
- yGutters?: number[];
12
9
  }
13
10
  interface Snapper {
14
11
  getLines: () => SnapperData;
package/dist/plugin.d.ts CHANGED
@@ -35,6 +35,11 @@ export declare function isDialogComponent<T extends {
35
35
  }>(c: T): c is T & PluginDialogComponent;
36
36
  export interface PluginObject {
37
37
  name: string;
38
+ /**
39
+ * 注册时机:`pre` 最先、`post` 最后,省略为普通顺序(按文件名字母序)。
40
+ * 影响事件监听执行顺序——如 smartGuides 用 `post` 确保在 transform 吸附移动元素后再算辅助线。
41
+ */
42
+ enforce?: 'pre' | 'post';
38
43
  ignore?: () => boolean;
39
44
  events?: {
40
45
  [K in keyof Events]: (...args: Events[K]) => void;
@@ -50,4 +55,6 @@ export interface PluginObject {
50
55
  setup?: () => void | Promise<void>;
51
56
  }
52
57
  export type Plugin = PluginObject | ((editor: Editor, options: Options) => PluginObject);
53
- export declare function definePlugin(cb: Plugin): Plugin;
58
+ export declare function definePlugin(cb: Plugin, options?: {
59
+ enforce?: 'pre' | 'post';
60
+ }): Plugin;
@@ -8,6 +8,11 @@ declare global {
8
8
  polygon: [];
9
9
  star: [];
10
10
  }
11
+ /** 直线 / 箭头 / 画笔的绘制样式(描边色 + 线宽),由工具选项面板编辑。 */
12
+ interface DrawStyleConfig {
13
+ color: string;
14
+ width: number;
15
+ }
11
16
  }
12
17
  }
13
18
  declare const _default: import("..").Plugin;
@@ -5,5 +5,5 @@ declare global {
5
5
  }
6
6
  }
7
7
  }
8
- declare const _default: import("../plugin").Plugin;
8
+ declare const _default: import("..").Plugin;
9
9
  export default _default;
@@ -10,5 +10,7 @@ export interface ArrowPathOptions {
10
10
  endMarker?: ArrowMarker;
11
11
  roundValues?: boolean;
12
12
  }
13
+ export declare const TAPERED_ARROW_VERTEX_COUNT = 7;
14
+ export declare function getTaperedArrowPath(p1: Point, p2: Point, width: number): string;
13
15
  export declare function getArrowPath(p1: Point, p2: Point, options?: ArrowPathOptions): string;
14
16
  export {};
@@ -11,6 +11,7 @@ export * from './easing';
11
11
  export * from './helper';
12
12
  export * from './image';
13
13
  export * from './keyframes';
14
+ export * from './line';
14
15
  export * from './lottie';
15
16
  export * from './propsFactory';
16
17
  export * from './registry';
@@ -0,0 +1,11 @@
1
+ import type { Element2D } from 'modern-canvas';
2
+ export interface LineShapeInfo {
3
+ kind: 'line' | 'arrow';
4
+ }
5
+ export interface LinePoint {
6
+ x: number;
7
+ y: number;
8
+ }
9
+ export declare function parseLineShape(el: Element2D): LineShapeInfo | null;
10
+ export declare function getLineEndpoints(el: Element2D): [LinePoint, LinePoint] | null;
11
+ export declare function getTaperedArrowWidth(el: Element2D): number;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mce",
3
3
  "type": "module",
4
- "version": "0.29.2",
4
+ "version": "0.29.4",
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",
@@ -60,7 +60,7 @@
60
60
  "@vueuse/core": "^14.3.0",
61
61
  "diff": "^9.0.0",
62
62
  "lodash-es": "^4.18.1",
63
- "modern-canvas": "^0.24.6",
63
+ "modern-canvas": "^0.24.9",
64
64
  "modern-font": "^0.6.1",
65
65
  "modern-idoc": "^0.12.1",
66
66
  "modern-text": "^2.0.9",