@tmagic/stage 1.3.11 → 1.3.13

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.
@@ -82,6 +82,7 @@ const getTargetElStyle = (el, zIndex) => {
82
82
  width: ${el.clientWidth}px;
83
83
  height: ${el.clientHeight}px;
84
84
  border: ${border};
85
+ opacity: 0;
85
86
  ${typeof zIndex !== "undefined" ? `z-index: ${zIndex};` : ""}
86
87
  `;
87
88
  };
@@ -1620,7 +1621,7 @@ class ActionManager extends EventEmitter {
1620
1621
  return;
1621
1622
  const els = this.getElementsFromPoint(event);
1622
1623
  for (const el of els) {
1623
- if (!el.id.startsWith(GHOST_EL_ID_PREFIX) && await this.isContainer(el) && !excludeElList.includes(el)) {
1624
+ if (!el.id.startsWith(GHOST_EL_ID_PREFIX) && await this.isContainer?.(el) && !excludeElList.includes(el)) {
1624
1625
  addClassName(el, doc, this.containerHighlightClassName);
1625
1626
  break;
1626
1627
  }
@@ -2114,6 +2115,8 @@ class StageMask extends Rule {
2114
2115
  this.setMode(isFixedParent(el) ? Mode.FIXED : Mode.ABSOLUTE);
2115
2116
  }
2116
2117
  scrollIntoView(el) {
2118
+ if (!this.page || el.getBoundingClientRect().left >= this.page.scrollWidth)
2119
+ return;
2117
2120
  el.scrollIntoView();
2118
2121
  if (!this.pageScrollParent)
2119
2122
  return;
@@ -2616,6 +2619,9 @@ class StageCore extends EventEmitter$1 {
2616
2619
  * 监听页面大小变化
2617
2620
  */
2618
2621
  observePageResize(page) {
2622
+ if (this.pageResizeObserver) {
2623
+ this.pageResizeObserver.disconnect();
2624
+ }
2619
2625
  if (typeof ResizeObserver !== "undefined") {
2620
2626
  this.pageResizeObserver = new ResizeObserver((entries) => {
2621
2627
  this.mask.pageResize(entries);
@@ -79,6 +79,7 @@
79
79
  width: ${el.clientWidth}px;
80
80
  height: ${el.clientHeight}px;
81
81
  border: ${border};
82
+ opacity: 0;
82
83
  ${typeof zIndex !== "undefined" ? `z-index: ${zIndex};` : ""}
83
84
  `;
84
85
  };
@@ -1617,7 +1618,7 @@
1617
1618
  return;
1618
1619
  const els = this.getElementsFromPoint(event);
1619
1620
  for (const el of els) {
1620
- if (!el.id.startsWith(GHOST_EL_ID_PREFIX) && await this.isContainer(el) && !excludeElList.includes(el)) {
1621
+ if (!el.id.startsWith(GHOST_EL_ID_PREFIX) && await this.isContainer?.(el) && !excludeElList.includes(el)) {
1621
1622
  utils.addClassName(el, doc, this.containerHighlightClassName);
1622
1623
  break;
1623
1624
  }
@@ -2111,6 +2112,8 @@
2111
2112
  this.setMode(isFixedParent(el) ? Mode.FIXED : Mode.ABSOLUTE);
2112
2113
  }
2113
2114
  scrollIntoView(el) {
2115
+ if (!this.page || el.getBoundingClientRect().left >= this.page.scrollWidth)
2116
+ return;
2114
2117
  el.scrollIntoView();
2115
2118
  if (!this.pageScrollParent)
2116
2119
  return;
@@ -2613,6 +2616,9 @@
2613
2616
  * 监听页面大小变化
2614
2617
  */
2615
2618
  observePageResize(page) {
2619
+ if (this.pageResizeObserver) {
2620
+ this.pageResizeObserver.disconnect();
2621
+ }
2616
2622
  if (typeof ResizeObserver !== "undefined") {
2617
2623
  this.pageResizeObserver = new ResizeObserver((entries) => {
2618
2624
  this.mask.pageResize(entries);
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.3.11",
2
+ "version": "1.3.13",
3
3
  "name": "@tmagic/stage",
4
4
  "type": "module",
5
5
  "sideEffects": [
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@scena/guides": "^0.29.2",
29
- "@tmagic/core": "1.3.11",
30
- "@tmagic/schema": "1.3.11",
31
- "@tmagic/utils": "1.3.11",
29
+ "@tmagic/core": "1.3.13",
30
+ "@tmagic/schema": "1.3.13",
31
+ "@tmagic/utils": "1.3.13",
32
32
  "events": "^3.3.0",
33
33
  "keycon": "^1.4.0",
34
34
  "lodash-es": "^4.17.21",
@@ -79,7 +79,7 @@ export default class ActionManager extends EventEmitter {
79
79
  private getTargetElement: GetTargetElement;
80
80
  private getElementsFromPoint: GetElementsFromPoint;
81
81
  private canSelect: CanSelect;
82
- private isContainer: IsContainer;
82
+ private isContainer?: IsContainer;
83
83
  private getRenderDocument: GetRenderDocument;
84
84
  private disabledMultiSelect = false;
85
85
  private config: ActionManagerConfig;
@@ -328,7 +328,7 @@ export default class ActionManager extends EventEmitter {
328
328
  const els = this.getElementsFromPoint(event);
329
329
 
330
330
  for (const el of els) {
331
- if (!el.id.startsWith(GHOST_EL_ID_PREFIX) && (await this.isContainer(el)) && !excludeElList.includes(el)) {
331
+ if (!el.id.startsWith(GHOST_EL_ID_PREFIX) && (await this.isContainer?.(el)) && !excludeElList.includes(el)) {
332
332
  addClassName(el, doc, this.containerHighlightClassName);
333
333
  break;
334
334
  }
package/src/StageCore.ts CHANGED
@@ -252,6 +252,10 @@ export default class StageCore extends EventEmitter {
252
252
  * 监听页面大小变化
253
253
  */
254
254
  private observePageResize(page: HTMLElement): void {
255
+ if (this.pageResizeObserver) {
256
+ this.pageResizeObserver.disconnect();
257
+ }
258
+
255
259
  if (typeof ResizeObserver !== 'undefined') {
256
260
  this.pageResizeObserver = new ResizeObserver((entries) => {
257
261
  this.mask.pageResize(entries);
package/src/StageMask.ts CHANGED
@@ -155,10 +155,14 @@ export default class StageMask extends Rule {
155
155
  }
156
156
 
157
157
  public scrollIntoView(el: Element): void {
158
+ // 不可以有横向滚动
159
+ if (!this.page || el.getBoundingClientRect().left >= this.page.scrollWidth) return;
160
+
158
161
  el.scrollIntoView();
159
162
  if (!this.pageScrollParent) return;
160
163
  this.scrollLeft = this.pageScrollParent.scrollLeft;
161
164
  this.scrollTop = this.pageScrollParent.scrollTop;
165
+
162
166
  this.scroll();
163
167
  }
164
168
 
package/src/types.ts CHANGED
@@ -66,7 +66,7 @@ export interface StageCoreConfig {
66
66
  /** 放大倍数,默认1倍 */
67
67
  zoom?: number;
68
68
  canSelect?: CanSelect;
69
- isContainer: IsContainer;
69
+ isContainer?: IsContainer;
70
70
  containerHighlightClassName?: string;
71
71
  containerHighlightDuration?: number;
72
72
  containerHighlightType?: ContainerHighlightType;
@@ -91,7 +91,7 @@ export interface ActionManagerConfig {
91
91
  disabledDragStart?: boolean;
92
92
  disabledMultiSelect?: boolean;
93
93
  canSelect?: CanSelect;
94
- isContainer: IsContainer;
94
+ isContainer?: IsContainer;
95
95
  getRootContainer: GetRootContainer;
96
96
  getRenderDocument: GetRenderDocument;
97
97
  updateDragEl?: UpdateDragEl;
package/src/util.ts CHANGED
@@ -66,6 +66,7 @@ export const getTargetElStyle = (el: TargetElement, zIndex?: ZIndex) => {
66
66
  width: ${el.clientWidth}px;
67
67
  height: ${el.clientHeight}px;
68
68
  border: ${border};
69
+ opacity: 0;
69
70
  ${typeof zIndex !== 'undefined' ? `z-index: ${zIndex};` : ''}
70
71
  `;
71
72
  };
@@ -33,7 +33,7 @@ export default class ActionManager extends EventEmitter {
33
33
  private getTargetElement;
34
34
  private getElementsFromPoint;
35
35
  private canSelect;
36
- private isContainer;
36
+ private isContainer?;
37
37
  private getRenderDocument;
38
38
  private disabledMultiSelect;
39
39
  private config;
package/types/types.d.ts CHANGED
@@ -38,7 +38,7 @@ export interface StageCoreConfig {
38
38
  /** 放大倍数,默认1倍 */
39
39
  zoom?: number;
40
40
  canSelect?: CanSelect;
41
- isContainer: IsContainer;
41
+ isContainer?: IsContainer;
42
42
  containerHighlightClassName?: string;
43
43
  containerHighlightDuration?: number;
44
44
  containerHighlightType?: ContainerHighlightType;
@@ -62,7 +62,7 @@ export interface ActionManagerConfig {
62
62
  disabledDragStart?: boolean;
63
63
  disabledMultiSelect?: boolean;
64
64
  canSelect?: CanSelect;
65
- isContainer: IsContainer;
65
+ isContainer?: IsContainer;
66
66
  getRootContainer: GetRootContainer;
67
67
  getRenderDocument: GetRenderDocument;
68
68
  updateDragEl?: UpdateDragEl;