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,8 +1,8 @@
1
- import type { AxisAlignedBoundingBox } from '../types';
2
1
  import type { TransformableValue } from './shared/Transformable.vue';
2
+ import { Aabb2D } from 'modern-canvas';
3
3
  type __VLS_Props = {
4
4
  resizeStrategy?: 'lockAspectRatio' | 'lockAspectRatioDiagonal';
5
- selectedArea?: AxisAlignedBoundingBox;
5
+ selectedArea?: Aabb2D;
6
6
  };
7
7
  declare var __VLS_13: {
8
8
  box: {
@@ -15,12 +15,12 @@ declare var __VLS_13: {
15
15
  };
16
16
  }, __VLS_15: {
17
17
  box: {
18
- borderRadius: number;
19
- rotate?: number;
20
18
  left: number;
21
19
  top: number;
22
20
  width: number;
23
21
  height: number;
22
+ rotate: number;
23
+ borderRadius: number;
24
24
  };
25
25
  };
26
26
  type __VLS_Slots = {} & {
@@ -49,8 +49,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
49
49
  readonly borderStyle?: "solid" | "dashed" | undefined;
50
50
  readonly tipFormat?: ((type: "size") => string) | undefined;
51
51
  readonly onMove?: ((args_0: TransformableValue, args_1: TransformableValue) => any) | undefined;
52
- readonly onEnd?: ((args_0: TransformableValue) => any) | undefined;
53
52
  readonly onStart?: ((args_0: TransformableValue) => any) | undefined;
53
+ readonly onEnd?: ((args_0: TransformableValue) => any) | undefined;
54
54
  readonly "onUpdate:modelValue"?: ((args_0: TransformableValue) => any) | undefined;
55
55
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
56
56
  $attrs: {
@@ -65,7 +65,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
65
65
  $root: import("vue").ComponentPublicInstance | null;
66
66
  $parent: import("vue").ComponentPublicInstance | null;
67
67
  $host: Element | null;
68
- $emit: ((event: "move", args_0: TransformableValue, args_1: TransformableValue) => void) & ((event: "end", args_0: TransformableValue) => void) & ((event: "start", args_0: TransformableValue) => void) & ((event: "update:modelValue", args_0: TransformableValue) => void);
68
+ $emit: ((event: "move", args_0: TransformableValue, args_1: TransformableValue) => void) & ((event: "start", args_0: TransformableValue) => void) & ((event: "end", args_0: TransformableValue) => void) & ((event: "update:modelValue", args_0: TransformableValue) => void);
69
69
  $el: any;
70
70
  $options: import("vue").ComponentOptionsBase<Readonly<{
71
71
  tag?: string | any;
@@ -85,8 +85,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
85
85
  tipFormat?: (type: "size") => string;
86
86
  }> & Readonly<{
87
87
  onMove?: ((args_0: TransformableValue, args_1: TransformableValue) => any) | undefined;
88
- onEnd?: ((args_0: TransformableValue) => any) | undefined;
89
88
  onStart?: ((args_0: TransformableValue) => any) | undefined;
89
+ onEnd?: ((args_0: TransformableValue) => any) | undefined;
90
90
  "onUpdate:modelValue"?: ((args_0: TransformableValue) => any) | undefined;
91
91
  }>, {
92
92
  start: (event?: MouseEvent, index?: number) => boolean;
@@ -94,8 +94,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
94
94
  transforming: import("vue").Ref<boolean, boolean>;
95
95
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
96
96
  move: (args_0: TransformableValue, args_1: TransformableValue) => any;
97
- end: (args_0: TransformableValue) => any;
98
97
  start: (args_0: TransformableValue) => any;
98
+ end: (args_0: TransformableValue) => any;
99
99
  "update:modelValue": (args_0: TransformableValue) => any;
100
100
  }, string, {
101
101
  handleShape: "rect" | "circle";
@@ -153,8 +153,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
153
153
  tipFormat?: (type: "size") => string;
154
154
  }> & Readonly<{
155
155
  onMove?: ((args_0: TransformableValue, args_1: TransformableValue) => any) | undefined;
156
- onEnd?: ((args_0: TransformableValue) => any) | undefined;
157
156
  onStart?: ((args_0: TransformableValue) => any) | undefined;
157
+ onEnd?: ((args_0: TransformableValue) => any) | undefined;
158
158
  "onUpdate:modelValue"?: ((args_0: TransformableValue) => any) | undefined;
159
159
  }>, "transforming" | "start" | "activeHandle" | ("handleShape" | "movable" | "rotatable" | "resizable" | "tag" | "adjustableBorderRadius" | "threshold" | "handles")> & import("vue").ShallowUnwrapRef<{
160
160
  start: (event?: MouseEvent, index?: number) => boolean;
@@ -201,8 +201,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
201
201
  readonly borderStyle?: "solid" | "dashed" | undefined;
202
202
  readonly tipFormat?: ((type: "size") => string) | undefined;
203
203
  readonly onMove?: ((args_0: TransformableValue, args_1: TransformableValue) => any) | undefined;
204
- readonly onEnd?: ((args_0: TransformableValue) => any) | undefined;
205
204
  readonly onStart?: ((args_0: TransformableValue) => any) | undefined;
205
+ readonly onEnd?: ((args_0: TransformableValue) => any) | undefined;
206
206
  readonly "onUpdate:modelValue"?: ((args_0: TransformableValue) => any) | undefined;
207
207
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
208
208
  $attrs: {
@@ -217,7 +217,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
217
217
  $root: import("vue").ComponentPublicInstance | null;
218
218
  $parent: import("vue").ComponentPublicInstance | null;
219
219
  $host: Element | null;
220
- $emit: ((event: "move", args_0: TransformableValue, args_1: TransformableValue) => void) & ((event: "end", args_0: TransformableValue) => void) & ((event: "start", args_0: TransformableValue) => void) & ((event: "update:modelValue", args_0: TransformableValue) => void);
220
+ $emit: ((event: "move", args_0: TransformableValue, args_1: TransformableValue) => void) & ((event: "start", args_0: TransformableValue) => void) & ((event: "end", args_0: TransformableValue) => void) & ((event: "update:modelValue", args_0: TransformableValue) => void);
221
221
  $el: any;
222
222
  $options: import("vue").ComponentOptionsBase<Readonly<{
223
223
  tag?: string | any;
@@ -237,8 +237,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
237
237
  tipFormat?: (type: "size") => string;
238
238
  }> & Readonly<{
239
239
  onMove?: ((args_0: TransformableValue, args_1: TransformableValue) => any) | undefined;
240
- onEnd?: ((args_0: TransformableValue) => any) | undefined;
241
240
  onStart?: ((args_0: TransformableValue) => any) | undefined;
241
+ onEnd?: ((args_0: TransformableValue) => any) | undefined;
242
242
  "onUpdate:modelValue"?: ((args_0: TransformableValue) => any) | undefined;
243
243
  }>, {
244
244
  start: (event?: MouseEvent, index?: number) => boolean;
@@ -246,8 +246,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
246
246
  transforming: import("vue").Ref<boolean, boolean>;
247
247
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
248
248
  move: (args_0: TransformableValue, args_1: TransformableValue) => any;
249
- end: (args_0: TransformableValue) => any;
250
249
  start: (args_0: TransformableValue) => any;
250
+ end: (args_0: TransformableValue) => any;
251
251
  "update:modelValue": (args_0: TransformableValue) => any;
252
252
  }, string, {
253
253
  handleShape: "rect" | "circle";
@@ -305,8 +305,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
305
305
  tipFormat?: (type: "size") => string;
306
306
  }> & Readonly<{
307
307
  onMove?: ((args_0: TransformableValue, args_1: TransformableValue) => any) | undefined;
308
- onEnd?: ((args_0: TransformableValue) => any) | undefined;
309
308
  onStart?: ((args_0: TransformableValue) => any) | undefined;
309
+ onEnd?: ((args_0: TransformableValue) => any) | undefined;
310
310
  "onUpdate:modelValue"?: ((args_0: TransformableValue) => any) | undefined;
311
311
  }>, "transforming" | "start" | "activeHandle" | ("handleShape" | "movable" | "rotatable" | "resizable" | "tag" | "adjustableBorderRadius" | "threshold" | "handles")> & import("vue").ShallowUnwrapRef<{
312
312
  start: (event?: MouseEvent, index?: number) => boolean;
@@ -335,7 +335,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
335
335
  };
336
336
  }) | null>>;
337
337
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
338
- selectedArea: AxisAlignedBoundingBox;
338
+ selectedArea: Aabb2D;
339
339
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
340
340
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
341
341
  declare const _default: typeof __VLS_export;
@@ -54,8 +54,8 @@ type __VLS_Slots = {} & {
54
54
  default?: (props: typeof __VLS_7) => any;
55
55
  };
56
56
  declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
57
- end: () => any;
58
57
  start: () => any;
58
+ end: () => any;
59
59
  "update:modelValue": (value: ImageFillCropRect) => any;
60
60
  "update:transform": (args_0: {
61
61
  left: number;
@@ -65,8 +65,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
65
65
  }) => any;
66
66
  "update:style": (value: Record<string, any>) => any;
67
67
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
68
- onEnd?: (() => any) | undefined;
69
68
  onStart?: (() => any) | undefined;
69
+ onEnd?: (() => any) | undefined;
70
70
  "onUpdate:modelValue"?: ((value: ImageFillCropRect) => any) | undefined;
71
71
  "onUpdate:transform"?: ((args_0: {
72
72
  left: number;
@@ -17,8 +17,8 @@ type __VLS_Slots = {} & {
17
17
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18
18
  showArrow: BooleanConstructor;
19
19
  location: {
20
- type: import("vue").PropType<import("@floating-ui/vue").Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start">;
21
- default: NonNullable<import("@floating-ui/vue").Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start">;
20
+ type: import("vue").PropType<import("@floating-ui/vue").Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end">;
21
+ default: NonNullable<import("@floating-ui/vue").Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end">;
22
22
  };
23
23
  offset: {
24
24
  type: import("vue").PropType<number>;
@@ -46,8 +46,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
46
46
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
47
47
  showArrow: BooleanConstructor;
48
48
  location: {
49
- type: import("vue").PropType<import("@floating-ui/vue").Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start">;
50
- default: NonNullable<import("@floating-ui/vue").Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start">;
49
+ type: import("vue").PropType<import("@floating-ui/vue").Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end">;
50
+ default: NonNullable<import("@floating-ui/vue").Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end">;
51
51
  };
52
52
  offset: {
53
53
  type: import("vue").PropType<number>;
@@ -72,7 +72,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
72
72
  "onUpdate:modelValue"?: ((value: boolean | undefined) => any) | undefined;
73
73
  }>, {
74
74
  offset: number;
75
- location: import("@floating-ui/vue").Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start";
75
+ location: import("@floating-ui/vue").Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end";
76
76
  attach: string | boolean | Element | null | undefined;
77
77
  middlewares: ("shift" | "offset" | "flip")[];
78
78
  showArrow: boolean;
@@ -48,13 +48,13 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
48
48
  transforming: import("vue").Ref<boolean, boolean>;
49
49
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
50
50
  move: (args_0: TransformableValue, args_1: TransformableValue) => any;
51
- end: (args_0: TransformableValue) => any;
52
51
  start: (args_0: TransformableValue) => any;
52
+ end: (args_0: TransformableValue) => any;
53
53
  "update:modelValue": (args_0: TransformableValue) => any;
54
54
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
55
55
  onMove?: ((args_0: TransformableValue, args_1: TransformableValue) => any) | undefined;
56
- onEnd?: ((args_0: TransformableValue) => any) | undefined;
57
56
  onStart?: ((args_0: TransformableValue) => any) | undefined;
57
+ onEnd?: ((args_0: TransformableValue) => any) | undefined;
58
58
  "onUpdate:modelValue"?: ((args_0: TransformableValue) => any) | undefined;
59
59
  }>, {
60
60
  handleShape: "rect" | "circle";
@@ -1,33 +1,38 @@
1
1
  import type { Node } from 'modern-canvas';
2
2
  import type { ComponentInternalInstance, InjectionKey, Ref } from 'vue';
3
- interface LayerProvide {
3
+ export interface LayerItem {
4
+ id: string;
5
+ node: Ref<Node>;
6
+ dom: Ref<HTMLElement | undefined>;
7
+ opened: Ref<boolean>;
8
+ }
9
+ export interface LayerProvide {
4
10
  selecting: Ref<boolean>;
5
11
  sortedSelection: Ref<Node[]>;
6
- register: (vm: ComponentInternalInstance, options: {
7
- id: string;
8
- dom: Ref<HTMLElement | undefined>;
9
- opened: Ref<boolean>;
10
- }) => void;
12
+ register: (vm: ComponentInternalInstance, item: LayerItem) => void;
11
13
  unregister: (id: string) => void;
14
+ onMousedown?: (event: MouseEvent, id: string) => void;
15
+ dragging: Ref<boolean>;
16
+ droppingItemId: Ref<string | undefined>;
12
17
  }
13
18
  export declare const MceLayerKey: InjectionKey<LayerProvide>;
14
19
  export declare const MceLayerItemKey: InjectionKey<{
15
20
  id: string;
16
21
  }>;
17
- export declare function createLayer(options: {
18
- sortedSelection: Ref<Node[]>;
19
- }): {
22
+ export declare function createLayer(options: Pick<LayerProvide, 'sortedSelection'>): {
20
23
  selecting: Ref<boolean, boolean>;
21
24
  openedItems: import("vue").Reactive<Map<string, Ref<boolean, boolean>>>;
22
25
  domItems: import("vue").Reactive<Map<string, Ref<HTMLElement | undefined, HTMLElement | undefined>>>;
26
+ getIdByNode: (node: Node) => string | undefined;
23
27
  };
24
- export declare function useLayerItem(options: {
28
+ export declare function useLayerItem(options: Omit<LayerItem, 'id'>): {
25
29
  id: string;
26
- node: Ref<Node>;
27
- opened: Ref<boolean>;
28
- dom: Ref<HTMLElement | undefined>;
29
- }): {
30
+ dropping: import("vue").ComputedRef<boolean>;
31
+ onMousedown: (e: MouseEvent) => void | undefined;
30
32
  selecting: Ref<boolean>;
31
33
  sortedSelection: Ref<Node[]>;
34
+ register: (vm: ComponentInternalInstance, item: LayerItem) => void;
35
+ unregister: (id: string) => void;
36
+ dragging: Ref<boolean>;
37
+ droppingItemId: Ref<string | undefined>;
32
38
  };
33
- export {};
@@ -19,9 +19,9 @@ export declare const makeMceOverlayProps: <Defaults extends {
19
19
  target?: unknown;
20
20
  attach?: unknown;
21
21
  } = {}>(defaults?: Defaults | undefined) => {
22
- location: unknown extends Defaults["location"] ? PropType<Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start"> : {
23
- type: PropType<unknown extends Defaults["location"] ? Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start" : Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start" | Defaults["location"]>;
24
- default: unknown extends Defaults["location"] ? Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start" : NonNullable<Side | "top-end" | "top-start" | "right-end" | "right-start" | "bottom-end" | "bottom-start" | "left-end" | "left-start"> | Defaults["location"];
22
+ location: unknown extends Defaults["location"] ? PropType<Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end"> : {
23
+ type: PropType<unknown extends Defaults["location"] ? Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" : Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | Defaults["location"]>;
24
+ default: unknown extends Defaults["location"] ? Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end" : NonNullable<Side | "top-start" | "top-end" | "right-start" | "right-end" | "bottom-start" | "bottom-end" | "left-start" | "left-end"> | Defaults["location"];
25
25
  };
26
26
  offset: unknown extends Defaults["offset"] ? NumberConstructor : {
27
27
  type: PropType<unknown extends Defaults["offset"] ? number : number | Defaults["offset"]>;
@@ -12,11 +12,6 @@ interface AddNodeOptions {
12
12
  export type YNode = Y.Map<unknown> & {
13
13
  get: ((prop: 'id') => string) & ((prop: 'name') => string) & ((prop: 'parentId') => string) & ((prop: 'style') => Y.Map<unknown>) & ((prop: 'background') => Y.Map<unknown>) & ((prop: 'shape') => Y.Map<unknown>) & ((prop: 'fill') => Y.Map<unknown>) & ((prop: 'outline') => Y.Map<unknown>) & ((prop: 'text') => Y.Map<unknown>) & ((prop: 'foreground') => Y.Map<unknown>) & ((prop: 'shadow') => Y.Map<unknown>) & ((prop: 'meta') => Y.Map<unknown>) & ((prop: 'childrenIds') => Y.Array<string>) & (<T = unknown>(prop: string) => T);
14
14
  };
15
- export interface YNodeResult {
16
- id: string;
17
- node: YNode;
18
- }
19
- export declare function iElementToYNodes(element: Element, parentId: string | undefined, regenId?: boolean): YNodeResult[];
20
15
  export interface DocEvents extends ModelEvents {
21
16
  history: [arg0: Y.UndoManager];
22
17
  }
@@ -39,20 +34,16 @@ export declare class Doc extends Model {
39
34
  load(initFn?: () => void | Promise<void>): Promise<this>;
40
35
  protected _isSelfTransaction(transaction: Y.Transaction): boolean;
41
36
  protected _debug(..._args: any[]): void;
42
- protected _onChildrenChange(event: Y.YMapEvent<Y.Map<unknown>>, transaction: Y.Transaction): void;
37
+ protected _yChildrenChange(event: Y.YMapEvent<Y.Map<unknown>>, transaction: Y.Transaction): void;
43
38
  reset(): this;
44
- protected _addNode(node: Element, options?: AddNodeOptions): Node;
45
- addNode(node: Element, options?: AddNodeOptions): Node;
46
- addNodes(nodes: Element[], options?: AddNodeOptions): Node[];
39
+ protected _addNode(data: Element, options?: AddNodeOptions): Node;
40
+ addNode(data: Element, options?: AddNodeOptions): Node;
41
+ addNodes(dataItems: Element[], options?: AddNodeOptions): Node[];
47
42
  set(source: Document): this;
48
- protected _deleteNode(id: string): void;
49
- deleteNode(id: string): void;
50
- getNode<T extends Node = Node>(id: string): T | undefined;
51
- moveNode(id: string, toIndex: number): void;
52
43
  protected _proxyProps(obj: CoreObject, yMap: Y.Map<any>, isMeta?: boolean): void;
53
44
  protected _proxyChildren(node: Node, childrenIds: Y.Array<string>): void;
54
- protected _proxyNode(node: Node, yEle: YNode): void;
55
- protected _getOrCreateNode(yNode: YNode): Node;
45
+ protected _proxyNode(node: Node, yNode?: YNode, yChildrenIds?: Y.Array<string>): YNode;
46
+ protected _initYNode(yNode: YNode): Node;
56
47
  toJSON(): Record<string, any>;
57
48
  }
58
49
  export {};
package/dist/index.css CHANGED
@@ -113,8 +113,7 @@
113
113
  min-width: max-content;
114
114
  border-radius: 4px;
115
115
  }
116
- .mce-layer:before {
117
- content: "";
116
+ .mce-layer__underlay {
118
117
  position: absolute;
119
118
  left: 0;
120
119
  right: 0;
@@ -124,8 +123,7 @@
124
123
  pointer-events: none;
125
124
  border-radius: inherit;
126
125
  }
127
- .mce-layer:after {
128
- content: "";
126
+ .mce-layer__overlay {
129
127
  position: absolute;
130
128
  left: 0;
131
129
  right: 0;
@@ -145,17 +143,17 @@
145
143
  .mce-layer--hover {
146
144
  --overlay-color: rgba(var(--mce-theme-on-background), var(--mce-hover-opacity));
147
145
  }
148
- .mce-layer--active:before {
146
+ .mce-layer--active .mce-layer__underlay {
149
147
  top: 0;
150
148
  bottom: 0;
151
149
  border-radius: 0;
152
150
  }
153
- .mce-layer--first:before {
151
+ .mce-layer--first .mce-layer__underlay {
154
152
  border-top-left-radius: 4px;
155
153
  border-top-right-radius: 4px;
156
154
  top: 4px;
157
155
  }
158
- .mce-layer--last:before {
156
+ .mce-layer--last .mce-layer__underlay {
159
157
  border-bottom-left-radius: 4px;
160
158
  border-bottom-right-radius: 4px;
161
159
  bottom: 4px;
@@ -166,17 +164,29 @@
166
164
  .mce-layer--active:hover {
167
165
  --overlay-color: rgba(var(--mce-theme-primary), var(--mce-hover-opacity));
168
166
  }
169
- .mce-layer--open .mce-layer__expand .mce-icon {
167
+ .mce-layer--open .mce-layer__prepend .mce-icon {
170
168
  transform: rotate(90deg);
171
169
  }
172
- .mce-layer__expand {
170
+ .mce-layer__prepend {
173
171
  display: flex;
174
172
  align-items: center;
175
173
  width: 16px;
176
174
  height: 100%;
177
175
  flex: none;
178
176
  }
177
+ .mce-layer--dropping .mce-layer__content:after {
178
+ content: "";
179
+ position: absolute;
180
+ left: 0;
181
+ right: 0;
182
+ bottom: 0;
183
+ height: 2px;
184
+ background-color: rgb(var(--mce-theme-on-background));
185
+ pointer-events: none;
186
+ border-radius: inherit;
187
+ }
179
188
  .mce-layer__content {
189
+ position: relative;
180
190
  flex: 1;
181
191
  display: flex;
182
192
  align-items: center;
@@ -231,13 +241,13 @@
231
241
  width: max-content;
232
242
  min-width: 100%;
233
243
  }
234
- .mce-layers .mce-layer__expand {
244
+ .mce-layers .mce-layer__prepend {
235
245
  opacity: 0;
236
246
  }
237
- .mce-layers .mce-layer--root:hover .mce-layer__expand {
247
+ .mce-layers .mce-layer--root:hover .mce-layer__prepend {
238
248
  opacity: 1;
239
249
  }
240
- .mce-layers:hover .mce-layer:not(.mce-layer--root) .mce-layer__expand {
250
+ .mce-layers:hover .mce-layer:not(.mce-layer--root) .mce-layer__prepend {
241
251
  opacity: 1;
242
252
  }.mce-made-with {
243
253
  pointer-events: auto !important;
package/dist/index.d.ts CHANGED
@@ -11,10 +11,10 @@ export { default as Scrollbar } from './components/shared/Scrollbar.vue';
11
11
  export { default as Transformable } from './components/shared/Transformable.vue';
12
12
  export { default as EditorToolbelt } from './components/Toolbelt.vue';
13
13
  export * from './composables';
14
+ export * from './crdt';
14
15
  export * from './editor';
15
16
  export * from './mixin';
16
17
  export * from './mixins';
17
- export * from './models';
18
18
  export * from './plugin';
19
19
  export * from './plugins';
20
20
  export * from './types';