@idraw/core 0.4.0-beta.36 → 0.4.0-beta.37

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.
package/dist/esm/index.js CHANGED
@@ -32,6 +32,7 @@ export class Core {
32
32
  const { devicePixelRatio = 1, width, height, createCustomContext2D } = opts;
33
33
  __classPrivateFieldSet(this, _Core_container, container, "f");
34
34
  const canvas = document.createElement('canvas');
35
+ canvas.setAttribute('tabindex', '0');
35
36
  __classPrivateFieldSet(this, _Core_canvas, canvas, "f");
36
37
  __classPrivateFieldGet(this, _Core_instances, "m", _Core_initContainer).call(this);
37
38
  container.appendChild(canvas);
@@ -3,7 +3,9 @@ export declare const key = "LAYOUT_SELECT";
3
3
  export declare const keyLayoutActionType: unique symbol;
4
4
  export declare const keyLayoutControlType: unique symbol;
5
5
  export declare const keyLayoutController: unique symbol;
6
- export declare const keyLayoutIsHover: unique symbol;
6
+ export declare const keyLayoutIsHoverContent: unique symbol;
7
+ export declare const keyLayoutIsHoverController: unique symbol;
7
8
  export declare const keyLayoutIsSelected: unique symbol;
9
+ export declare const keyLayoutIsBusyMoving: unique symbol;
8
10
  export declare const controllerSize = 10;
9
11
  export declare const defaultStyle: MiddlewareLayoutSelectorStyle;
@@ -2,8 +2,10 @@ export const key = 'LAYOUT_SELECT';
2
2
  export const keyLayoutActionType = Symbol(`${key}_layoutActionType`);
3
3
  export const keyLayoutControlType = Symbol(`${key}_layoutControlType`);
4
4
  export const keyLayoutController = Symbol(`${key}_layoutController`);
5
- export const keyLayoutIsHover = Symbol(`${key}_layoutIsHover`);
5
+ export const keyLayoutIsHoverContent = Symbol(`${key}_layoutIsHoverContent`);
6
+ export const keyLayoutIsHoverController = Symbol(`${key}_layoutIsHoverController`);
6
7
  export const keyLayoutIsSelected = Symbol(`${key}_layoutIsSelected`);
8
+ export const keyLayoutIsBusyMoving = Symbol(`${key}_layoutIsSelected`);
7
9
  export const controllerSize = 10;
8
10
  export const defaultStyle = {
9
11
  activeColor: '#b331c9'
@@ -1,5 +1,5 @@
1
1
  import type { BoardMiddleware, MiddlewareLayoutSelectorConfig, CoreEventMap } from '@idraw/types';
2
2
  import type { LayoutSelectorSharedStorage } from './types';
3
- import { keyLayoutIsSelected } from './config';
4
- export { keyLayoutIsSelected };
3
+ import { keyLayoutIsSelected, keyLayoutIsBusyMoving } from './config';
4
+ export { keyLayoutIsSelected, keyLayoutIsBusyMoving };
5
5
  export declare const MiddlewareLayoutSelector: BoardMiddleware<LayoutSelectorSharedStorage, CoreEventMap, MiddlewareLayoutSelectorConfig>;
@@ -1,9 +1,9 @@
1
1
  import { calcLayoutSizeController, isViewPointInVertexes, getViewScaleInfoFromSnapshot, isViewPointInElementSize, calcViewElementSize } from '@idraw/util';
2
- import { keyLayoutActionType, keyLayoutController, keyLayoutControlType, keyLayoutIsHover, keyLayoutIsSelected, controllerSize, defaultStyle } from './config';
3
- import { keyActionType as keyElementActionType, keyHoverElement } from '../selector';
2
+ import { keyLayoutActionType, keyLayoutController, keyLayoutControlType, keyLayoutIsHoverContent, keyLayoutIsHoverController, keyLayoutIsSelected, keyLayoutIsBusyMoving, controllerSize, defaultStyle } from './config';
3
+ import { keyActionType as keyElementActionType } from '../selector';
4
4
  import { drawLayoutController, drawLayoutHover } from './util';
5
5
  import { coreEventKeys } from '../../config';
6
- export { keyLayoutIsSelected };
6
+ export { keyLayoutIsSelected, keyLayoutIsBusyMoving };
7
7
  export const MiddlewareLayoutSelector = (opts, config) => {
8
8
  const { sharer, boardContent, calculator, viewer, eventHub } = opts;
9
9
  const { overlayContext } = boardContent;
@@ -11,27 +11,19 @@ export const MiddlewareLayoutSelector = (opts, config) => {
11
11
  const { activeColor } = innerConfig;
12
12
  const style = { activeColor };
13
13
  let prevPoint = null;
14
- let prevIsHover = null;
14
+ let prevIsHoverContent = null;
15
15
  let prevIsSelected = null;
16
- let isBusy = null;
17
16
  const clear = () => {
18
17
  prevPoint = null;
19
18
  sharer.setSharedStorage(keyLayoutActionType, null);
20
19
  sharer.setSharedStorage(keyLayoutControlType, null);
21
20
  sharer.setSharedStorage(keyLayoutController, null);
22
- sharer.setSharedStorage(keyLayoutIsHover, null);
21
+ sharer.setSharedStorage(keyLayoutIsHoverContent, null);
22
+ sharer.setSharedStorage(keyLayoutIsHoverController, null);
23
23
  sharer.setSharedStorage(keyLayoutIsSelected, null);
24
- prevIsHover = null;
24
+ sharer.setSharedStorage(keyLayoutIsBusyMoving, null);
25
+ prevIsHoverContent = null;
25
26
  prevIsSelected = null;
26
- isBusy = null;
27
- };
28
- const isInElementHover = () => {
29
- const hoverElement = sharer.getSharedStorage(keyHoverElement);
30
- if (hoverElement) {
31
- clear();
32
- return true;
33
- }
34
- return false;
35
27
  };
36
28
  const isInElementAction = () => {
37
29
  const elementActionType = sharer.getSharedStorage(keyElementActionType);
@@ -78,6 +70,7 @@ export const MiddlewareLayoutSelector = (opts, config) => {
78
70
  const resetControlType = (e) => {
79
71
  const data = sharer.getActiveStorage('data');
80
72
  const controller = sharer.getSharedStorage(keyLayoutController);
73
+ let controllerType = null;
81
74
  if (controller && (data === null || data === void 0 ? void 0 : data.layout) && (e === null || e === void 0 ? void 0 : e.point)) {
82
75
  let layoutControlType = null;
83
76
  if (controller) {
@@ -93,14 +86,20 @@ export const MiddlewareLayoutSelector = (opts, config) => {
93
86
  if (layoutControlType) {
94
87
  sharer.setSharedStorage(keyLayoutControlType, layoutControlType);
95
88
  eventHub.trigger(coreEventKeys.CLEAR_SELECT);
96
- return layoutControlType;
89
+ controllerType = layoutControlType;
97
90
  }
98
91
  }
99
92
  }
100
- return null;
93
+ if (controllerType) {
94
+ sharer.setSharedStorage(keyLayoutIsHoverController, true);
95
+ }
96
+ else {
97
+ sharer.setSharedStorage(keyLayoutIsHoverController, false);
98
+ }
99
+ return controllerType;
101
100
  };
102
101
  const updateCursor = (controlType) => {
103
- if (isBusy === true) {
102
+ if (sharer.getSharedStorage(keyLayoutIsBusyMoving) === true) {
104
103
  return;
105
104
  }
106
105
  eventHub.trigger(coreEventKeys.CURSOR, {
@@ -116,23 +115,20 @@ export const MiddlewareLayoutSelector = (opts, config) => {
116
115
  resetController();
117
116
  },
118
117
  hover: (e) => {
119
- if (isBusy === true) {
118
+ if (sharer.getSharedStorage(keyLayoutIsBusyMoving) === true) {
120
119
  return;
121
120
  }
122
121
  if (isInElementAction()) {
123
122
  return;
124
123
  }
125
- if (isInElementHover()) {
126
- return;
127
- }
128
124
  if (isInLayout(e.point)) {
129
- sharer.setSharedStorage(keyLayoutIsHover, true);
125
+ sharer.setSharedStorage(keyLayoutIsHoverContent, true);
130
126
  }
131
127
  else {
132
- sharer.setSharedStorage(keyLayoutIsHover, false);
133
- if (prevIsHover === true) {
128
+ sharer.setSharedStorage(keyLayoutIsHoverContent, false);
129
+ if (prevIsHoverContent === true) {
134
130
  viewer.drawFrame();
135
- prevIsHover = false;
131
+ prevIsHoverContent = false;
136
132
  }
137
133
  }
138
134
  if (sharer.getSharedStorage(keyLayoutIsSelected) === true) {
@@ -155,12 +151,18 @@ export const MiddlewareLayoutSelector = (opts, config) => {
155
151
  updateCursor(layoutControlType);
156
152
  }
157
153
  }
154
+ if (sharer.getSharedStorage(keyLayoutIsHoverController) === true) {
155
+ return false;
156
+ }
158
157
  return;
159
158
  }
160
- if (sharer.getSharedStorage(keyLayoutIsHover) && !prevIsHover) {
159
+ if (sharer.getSharedStorage(keyLayoutIsHoverContent) && !prevIsHoverContent) {
161
160
  viewer.drawFrame();
162
161
  }
163
- prevIsHover = sharer.getSharedStorage(keyLayoutIsHover);
162
+ prevIsHoverContent = sharer.getSharedStorage(keyLayoutIsHoverContent);
163
+ if (sharer.getSharedStorage(keyLayoutIsHoverController) === true) {
164
+ return false;
165
+ }
164
166
  },
165
167
  pointStart: (e) => {
166
168
  if (isInElementAction()) {
@@ -186,6 +188,9 @@ export const MiddlewareLayoutSelector = (opts, config) => {
186
188
  viewer.drawFrame();
187
189
  }
188
190
  prevIsSelected = sharer.getSharedStorage(keyLayoutIsSelected);
191
+ if (sharer.getSharedStorage(keyLayoutIsHoverController) === true) {
192
+ return false;
193
+ }
189
194
  },
190
195
  pointMove: (e) => {
191
196
  if (!sharer.getSharedStorage(keyLayoutIsSelected)) {
@@ -198,7 +203,7 @@ export const MiddlewareLayoutSelector = (opts, config) => {
198
203
  const data = sharer.getActiveStorage('data');
199
204
  if (layoutActionType === 'resize' && layoutControlType && (data === null || data === void 0 ? void 0 : data.layout)) {
200
205
  if (prevPoint) {
201
- isBusy = true;
206
+ sharer.setSharedStorage(keyLayoutIsBusyMoving, true);
202
207
  const scale = sharer.getActiveStorage('scale');
203
208
  const viewMoveX = e.point.x - prevPoint.x;
204
209
  const viewMoveY = e.point.y - prevPoint.y;
@@ -288,7 +293,7 @@ export const MiddlewareLayoutSelector = (opts, config) => {
288
293
  }
289
294
  },
290
295
  pointEnd: () => {
291
- isBusy = false;
296
+ sharer.setSharedStorage(keyLayoutIsBusyMoving, false);
292
297
  const layoutActionType = sharer.getSharedStorage(keyLayoutActionType);
293
298
  const layoutControlType = sharer.getSharedStorage(keyLayoutControlType);
294
299
  const data = sharer.getActiveStorage('data');
@@ -298,6 +303,9 @@ export const MiddlewareLayoutSelector = (opts, config) => {
298
303
  data
299
304
  });
300
305
  }
306
+ if (sharer.getSharedStorage(keyLayoutIsHoverController) === true) {
307
+ return false;
308
+ }
301
309
  },
302
310
  beforeDrawFrame: ({ snapshot }) => {
303
311
  var _a;
@@ -306,7 +314,7 @@ export const MiddlewareLayoutSelector = (opts, config) => {
306
314
  }
307
315
  const { sharedStore, activeStore } = snapshot;
308
316
  const layoutActionType = sharedStore[keyLayoutActionType];
309
- const layoutIsHover = sharedStore[keyLayoutIsHover];
317
+ const layoutIsHover = sharedStore[keyLayoutIsHoverContent];
310
318
  const layoutIsSelected = sharedStore[keyLayoutIsSelected];
311
319
  if ((_a = activeStore.data) === null || _a === void 0 ? void 0 : _a.layout) {
312
320
  const { x, y, w, h } = activeStore.data.layout;
@@ -1,5 +1,5 @@
1
1
  import type { LayoutSizeController, Element } from '@idraw/types';
2
- import { keyLayoutActionType, keyLayoutControlType, keyLayoutController, keyLayoutIsHover, keyLayoutIsSelected } from './config';
2
+ import { keyLayoutActionType, keyLayoutControlType, keyLayoutController, keyLayoutIsHoverContent, keyLayoutIsHoverController, keyLayoutIsSelected, keyLayoutIsBusyMoving } from './config';
3
3
  import { keyActionType as keyElementActionType, keyHoverElement } from '../selector';
4
4
  import type { ActionType as ElementActionType } from '../selector';
5
5
  export type ActionType = 'resize' | null;
@@ -10,6 +10,8 @@ export type LayoutSelectorSharedStorage = {
10
10
  [keyLayoutController]: LayoutSizeController | null;
11
11
  [keyElementActionType]: ElementActionType | null;
12
12
  [keyHoverElement]: Element | null;
13
- [keyLayoutIsHover]: boolean | null;
13
+ [keyLayoutIsHoverContent]: boolean | null;
14
+ [keyLayoutIsHoverController]: boolean | null;
14
15
  [keyLayoutIsSelected]: boolean | null;
16
+ [keyLayoutIsBusyMoving]: boolean | null;
15
17
  };
@@ -1,2 +1,2 @@
1
- import { keyLayoutActionType, keyLayoutControlType, keyLayoutController, keyLayoutIsHover, keyLayoutIsSelected } from './config';
1
+ import { keyLayoutActionType, keyLayoutControlType, keyLayoutController, keyLayoutIsHoverContent, keyLayoutIsHoverController, keyLayoutIsSelected, keyLayoutIsBusyMoving } from './config';
2
2
  import { keyActionType as keyElementActionType, keyHoverElement } from '../selector';
@@ -5,7 +5,7 @@ import { getPointTarget, resizeElement, rotateElement, getSelectedListArea, calc
5
5
  import { keyActionType, keyResizeType, keyAreaStart, keyAreaEnd, keyGroupQueue, keyGroupQueueVertexesList, keyHoverElement, keyHoverElementVertexes, keySelectedElementList, keySelectedElementListVertexes, keySelectedElementController, keySelectedElementPosition, keyIsMoving, keyEnableSelectInGroup, keyEnableSnapToGrid, controllerSize, rotateControllerSize, rotateControllerPosition, defaultStyle } from './config';
6
6
  import { calcReferenceInfo } from './reference';
7
7
  import { coreEventKeys } from '../../config';
8
- import { keyLayoutIsSelected } from '../layout-selector';
8
+ import { keyLayoutIsSelected, keyLayoutIsBusyMoving } from '../layout-selector';
9
9
  import { createRotateControllerPattern } from './pattern';
10
10
  import { MIDDLEWARE_INTERNAL_EVENT_SHOW_INFO_ANGLE } from '../info';
11
11
  export { keySelectedElementList, keyHoverElement, keyActionType, keyResizeType, keyGroupQueue };
@@ -174,6 +174,10 @@ export const MiddlewareSelector = (opts, config) => {
174
174
  hover: (e) => {
175
175
  var _a, _b, _c, _d, _e;
176
176
  const layoutIsSelected = sharer.getSharedStorage(keyLayoutIsSelected);
177
+ const layoutIsBusyMoving = sharer.getSharedStorage(keyLayoutIsBusyMoving);
178
+ if (layoutIsBusyMoving === true) {
179
+ return;
180
+ }
177
181
  const resizeType = sharer.getSharedStorage(keyResizeType);
178
182
  const actionType = sharer.getSharedStorage(keyActionType);
179
183
  const groupQueue = sharer.getSharedStorage(keyGroupQueue);
@@ -1,6 +1,6 @@
1
1
  import { Data, ElementSize, ElementType, Element, ViewContext2D, Point, PointSize, ViewScaleInfo, ViewSizeInfo, ViewCalculator, PointWatcherEvent, BoardMiddleware, ViewRectVertexes, ElementSizeController, ElementPosition } from '@idraw/types';
2
2
  import { keyActionType, keyResizeType, keyAreaStart, keyAreaEnd, keyGroupQueue, keyGroupQueueVertexesList, keyHoverElement, keyHoverElementVertexes, keySelectedElementList, keySelectedElementListVertexes, keySelectedElementController, keySelectedElementPosition, keyIsMoving, keyEnableSelectInGroup, keyEnableSnapToGrid, keyDebugElemCenter, keyDebugEnd0, keyDebugEndHorizontal, keyDebugEndVertical, keyDebugStartHorizontal, keyDebugStartVertical } from './config';
3
- import { keyLayoutIsSelected } from '../layout-selector';
3
+ import { keyLayoutIsSelected, keyLayoutIsBusyMoving } from '../layout-selector';
4
4
  export { Data, ElementType, Element, ElementSize, ViewContext2D, Point, PointSize, ViewScaleInfo, ViewSizeInfo, ViewCalculator, PointWatcherEvent, BoardMiddleware };
5
5
  export type ControllerStyle = ElementSize & {
6
6
  borderWidth: number;
@@ -42,4 +42,5 @@ export type DeepSelectorSharedStorage = {
42
42
  [keyDebugStartHorizontal]: PointSize | null;
43
43
  [keyDebugStartVertical]: PointSize | null;
44
44
  [keyLayoutIsSelected]: boolean | null;
45
+ [keyLayoutIsBusyMoving]: boolean | null;
45
46
  };
@@ -1,2 +1,2 @@
1
1
  import { keyActionType, keyResizeType, keyAreaStart, keyAreaEnd, keyGroupQueue, keyGroupQueueVertexesList, keyHoverElement, keyHoverElementVertexes, keySelectedElementList, keySelectedElementListVertexes, keySelectedElementController, keySelectedElementPosition, keyIsMoving, keyEnableSelectInGroup, keyEnableSnapToGrid, keyDebugElemCenter, keyDebugEnd0, keyDebugEndHorizontal, keyDebugEndVertical, keyDebugStartHorizontal, keyDebugStartVertical } from './config';
2
- import { keyLayoutIsSelected } from '../layout-selector';
2
+ import { keyLayoutIsSelected, keyLayoutIsBusyMoving } from '../layout-selector';
@@ -5932,8 +5932,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
5932
5932
  const keyLayoutActionType = Symbol(`${key$2}_layoutActionType`);
5933
5933
  const keyLayoutControlType = Symbol(`${key$2}_layoutControlType`);
5934
5934
  const keyLayoutController = Symbol(`${key$2}_layoutController`);
5935
- const keyLayoutIsHover = Symbol(`${key$2}_layoutIsHover`);
5935
+ const keyLayoutIsHoverContent = Symbol(`${key$2}_layoutIsHoverContent`);
5936
+ const keyLayoutIsHoverController = Symbol(`${key$2}_layoutIsHoverController`);
5936
5937
  const keyLayoutIsSelected = Symbol(`${key$2}_layoutIsSelected`);
5938
+ const keyLayoutIsBusyMoving = Symbol(`${key$2}_layoutIsSelected`);
5937
5939
  const controllerSize = 10;
5938
5940
  const defaultStyle$2 = {
5939
5941
  activeColor: "#b331c9"
@@ -6011,27 +6013,19 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6011
6013
  const { activeColor: activeColor2 } = innerConfig;
6012
6014
  const style = { activeColor: activeColor2 };
6013
6015
  let prevPoint = null;
6014
- let prevIsHover = null;
6016
+ let prevIsHoverContent = null;
6015
6017
  let prevIsSelected = null;
6016
- let isBusy = null;
6017
6018
  const clear = () => {
6018
6019
  prevPoint = null;
6019
6020
  sharer.setSharedStorage(keyLayoutActionType, null);
6020
6021
  sharer.setSharedStorage(keyLayoutControlType, null);
6021
6022
  sharer.setSharedStorage(keyLayoutController, null);
6022
- sharer.setSharedStorage(keyLayoutIsHover, null);
6023
+ sharer.setSharedStorage(keyLayoutIsHoverContent, null);
6024
+ sharer.setSharedStorage(keyLayoutIsHoverController, null);
6023
6025
  sharer.setSharedStorage(keyLayoutIsSelected, null);
6024
- prevIsHover = null;
6026
+ sharer.setSharedStorage(keyLayoutIsBusyMoving, null);
6027
+ prevIsHoverContent = null;
6025
6028
  prevIsSelected = null;
6026
- isBusy = null;
6027
- };
6028
- const isInElementHover = () => {
6029
- const hoverElement = sharer.getSharedStorage(keyHoverElement);
6030
- if (hoverElement) {
6031
- clear();
6032
- return true;
6033
- }
6034
- return false;
6035
6029
  };
6036
6030
  const isInElementAction = () => {
6037
6031
  const elementActionType = sharer.getSharedStorage(keyActionType);
@@ -6080,6 +6074,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6080
6074
  const resetControlType = (e) => {
6081
6075
  const data = sharer.getActiveStorage("data");
6082
6076
  const controller = sharer.getSharedStorage(keyLayoutController);
6077
+ let controllerType = null;
6083
6078
  if (controller && (data == null ? void 0 : data.layout) && (e == null ? void 0 : e.point)) {
6084
6079
  let layoutControlType = null;
6085
6080
  if (controller) {
@@ -6095,14 +6090,19 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6095
6090
  if (layoutControlType) {
6096
6091
  sharer.setSharedStorage(keyLayoutControlType, layoutControlType);
6097
6092
  eventHub.trigger(coreEventKeys.CLEAR_SELECT);
6098
- return layoutControlType;
6093
+ controllerType = layoutControlType;
6099
6094
  }
6100
6095
  }
6101
6096
  }
6102
- return null;
6097
+ if (controllerType) {
6098
+ sharer.setSharedStorage(keyLayoutIsHoverController, true);
6099
+ } else {
6100
+ sharer.setSharedStorage(keyLayoutIsHoverController, false);
6101
+ }
6102
+ return controllerType;
6103
6103
  };
6104
6104
  const updateCursor = (controlType) => {
6105
- if (isBusy === true) {
6105
+ if (sharer.getSharedStorage(keyLayoutIsBusyMoving) === true) {
6106
6106
  return;
6107
6107
  }
6108
6108
  eventHub.trigger(coreEventKeys.CURSOR, {
@@ -6118,22 +6118,19 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6118
6118
  resetController();
6119
6119
  },
6120
6120
  hover: (e) => {
6121
- if (isBusy === true) {
6121
+ if (sharer.getSharedStorage(keyLayoutIsBusyMoving) === true) {
6122
6122
  return;
6123
6123
  }
6124
6124
  if (isInElementAction()) {
6125
6125
  return;
6126
6126
  }
6127
- if (isInElementHover()) {
6128
- return;
6129
- }
6130
6127
  if (isInLayout(e.point)) {
6131
- sharer.setSharedStorage(keyLayoutIsHover, true);
6128
+ sharer.setSharedStorage(keyLayoutIsHoverContent, true);
6132
6129
  } else {
6133
- sharer.setSharedStorage(keyLayoutIsHover, false);
6134
- if (prevIsHover === true) {
6130
+ sharer.setSharedStorage(keyLayoutIsHoverContent, false);
6131
+ if (prevIsHoverContent === true) {
6135
6132
  viewer.drawFrame();
6136
- prevIsHover = false;
6133
+ prevIsHoverContent = false;
6137
6134
  }
6138
6135
  }
6139
6136
  if (sharer.getSharedStorage(keyLayoutIsSelected) === true) {
@@ -6154,12 +6151,18 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6154
6151
  updateCursor(layoutControlType);
6155
6152
  }
6156
6153
  }
6154
+ if (sharer.getSharedStorage(keyLayoutIsHoverController) === true) {
6155
+ return false;
6156
+ }
6157
6157
  return;
6158
6158
  }
6159
- if (sharer.getSharedStorage(keyLayoutIsHover) && !prevIsHover) {
6159
+ if (sharer.getSharedStorage(keyLayoutIsHoverContent) && !prevIsHoverContent) {
6160
6160
  viewer.drawFrame();
6161
6161
  }
6162
- prevIsHover = sharer.getSharedStorage(keyLayoutIsHover);
6162
+ prevIsHoverContent = sharer.getSharedStorage(keyLayoutIsHoverContent);
6163
+ if (sharer.getSharedStorage(keyLayoutIsHoverController) === true) {
6164
+ return false;
6165
+ }
6163
6166
  },
6164
6167
  pointStart: (e) => {
6165
6168
  if (isInElementAction()) {
@@ -6184,6 +6187,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6184
6187
  viewer.drawFrame();
6185
6188
  }
6186
6189
  prevIsSelected = sharer.getSharedStorage(keyLayoutIsSelected);
6190
+ if (sharer.getSharedStorage(keyLayoutIsHoverController) === true) {
6191
+ return false;
6192
+ }
6187
6193
  },
6188
6194
  pointMove: (e) => {
6189
6195
  if (!sharer.getSharedStorage(keyLayoutIsSelected)) {
@@ -6196,7 +6202,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6196
6202
  const data = sharer.getActiveStorage("data");
6197
6203
  if (layoutActionType === "resize" && layoutControlType && (data == null ? void 0 : data.layout)) {
6198
6204
  if (prevPoint) {
6199
- isBusy = true;
6205
+ sharer.setSharedStorage(keyLayoutIsBusyMoving, true);
6200
6206
  const scale = sharer.getActiveStorage("scale");
6201
6207
  const viewMoveX = e.point.x - prevPoint.x;
6202
6208
  const viewMoveY = e.point.y - prevPoint.y;
@@ -6274,7 +6280,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6274
6280
  }
6275
6281
  },
6276
6282
  pointEnd: () => {
6277
- isBusy = false;
6283
+ sharer.setSharedStorage(keyLayoutIsBusyMoving, false);
6278
6284
  const layoutActionType = sharer.getSharedStorage(keyLayoutActionType);
6279
6285
  const layoutControlType = sharer.getSharedStorage(keyLayoutControlType);
6280
6286
  const data = sharer.getActiveStorage("data");
@@ -6284,6 +6290,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6284
6290
  data
6285
6291
  });
6286
6292
  }
6293
+ if (sharer.getSharedStorage(keyLayoutIsHoverController) === true) {
6294
+ return false;
6295
+ }
6287
6296
  },
6288
6297
  beforeDrawFrame: ({ snapshot }) => {
6289
6298
  var _a;
@@ -6292,7 +6301,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6292
6301
  }
6293
6302
  const { sharedStore, activeStore } = snapshot;
6294
6303
  const layoutActionType = sharedStore[keyLayoutActionType];
6295
- const layoutIsHover = sharedStore[keyLayoutIsHover];
6304
+ const layoutIsHover = sharedStore[keyLayoutIsHoverContent];
6296
6305
  const layoutIsSelected = sharedStore[keyLayoutIsSelected];
6297
6306
  if ((_a = activeStore.data) == null ? void 0 : _a.layout) {
6298
6307
  const { x: x2, y: y2, w: w2, h: h2 } = activeStore.data.layout;
@@ -6919,6 +6928,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
6919
6928
  hover: (e) => {
6920
6929
  var _a, _b, _c, _d, _e;
6921
6930
  const layoutIsSelected = sharer.getSharedStorage(keyLayoutIsSelected);
6931
+ const layoutIsBusyMoving = sharer.getSharedStorage(keyLayoutIsBusyMoving);
6932
+ if (layoutIsBusyMoving === true) {
6933
+ return;
6934
+ }
6922
6935
  const resizeType = sharer.getSharedStorage(keyResizeType);
6923
6936
  const actionType = sharer.getSharedStorage(keyActionType);
6924
6937
  const groupQueue = sharer.getSharedStorage(keyGroupQueue);
@@ -8538,6 +8551,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
8538
8551
  const { devicePixelRatio = 1, width, height, createCustomContext2D } = opts;
8539
8552
  __privateSet(this, _container2, container);
8540
8553
  const canvas = document.createElement("canvas");
8554
+ canvas.setAttribute("tabindex", "0");
8541
8555
  __privateSet(this, _canvas, canvas);
8542
8556
  __privateMethod(this, _Core_instances, initContainer_fn).call(this);
8543
8557
  container.appendChild(canvas);