gridstack 7.2.3 → 8.0.0

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.
Files changed (196) hide show
  1. package/README.md +9 -3
  2. package/dist/dd-base-impl.d.ts +20 -20
  3. package/dist/dd-base-impl.js +31 -35
  4. package/dist/dd-base-impl.js.map +1 -1
  5. package/dist/dd-draggable.d.ts +28 -28
  6. package/dist/dd-draggable.js +336 -345
  7. package/dist/dd-draggable.js.map +1 -1
  8. package/dist/dd-droppable.d.ts +26 -26
  9. package/dist/dd-droppable.js +146 -148
  10. package/dist/dd-droppable.js.map +1 -1
  11. package/dist/dd-element.d.ts +27 -27
  12. package/dist/dd-element.js +90 -94
  13. package/dist/dd-element.js.map +1 -1
  14. package/dist/dd-gridstack.d.ts +34 -34
  15. package/dist/dd-gridstack.js +127 -124
  16. package/dist/dd-gridstack.js.map +1 -1
  17. package/dist/dd-manager.d.ts +22 -22
  18. package/dist/dd-manager.js +9 -13
  19. package/dist/dd-manager.js.map +1 -1
  20. package/dist/dd-resizable-handle.d.ts +14 -14
  21. package/dist/dd-resizable-handle.js +102 -105
  22. package/dist/dd-resizable-handle.js.map +1 -1
  23. package/dist/dd-resizable.d.ts +28 -28
  24. package/dist/dd-resizable.js +290 -296
  25. package/dist/dd-resizable.js.map +1 -1
  26. package/dist/dd-touch.d.ts +33 -33
  27. package/dist/dd-touch.js +173 -181
  28. package/dist/dd-touch.js.map +1 -1
  29. package/dist/es5/dd-base-impl.d.ts +20 -20
  30. package/dist/es5/dd-base-impl.js +40 -40
  31. package/dist/es5/dd-base-impl.js.map +1 -1
  32. package/dist/es5/dd-draggable.d.ts +28 -28
  33. package/dist/es5/dd-draggable.js +366 -368
  34. package/dist/es5/dd-draggable.js.map +1 -1
  35. package/dist/es5/dd-droppable.d.ts +26 -26
  36. package/dist/es5/dd-droppable.js +181 -179
  37. package/dist/es5/dd-droppable.js.map +1 -1
  38. package/dist/es5/dd-element.d.ts +27 -27
  39. package/dist/es5/dd-element.js +95 -95
  40. package/dist/es5/dd-element.js.map +1 -1
  41. package/dist/es5/dd-gridstack.d.ts +34 -34
  42. package/dist/es5/dd-gridstack.js +144 -144
  43. package/dist/es5/dd-gridstack.js.map +1 -1
  44. package/dist/es5/dd-manager.d.ts +22 -22
  45. package/dist/es5/dd-manager.js +16 -16
  46. package/dist/es5/dd-manager.js.map +1 -1
  47. package/dist/es5/dd-resizable-handle.d.ts +14 -14
  48. package/dist/es5/dd-resizable-handle.js +105 -106
  49. package/dist/es5/dd-resizable-handle.js.map +1 -1
  50. package/dist/es5/dd-resizable.d.ts +28 -28
  51. package/dist/es5/dd-resizable.js +317 -318
  52. package/dist/es5/dd-resizable.js.map +1 -1
  53. package/dist/es5/dd-touch.d.ts +33 -33
  54. package/dist/es5/dd-touch.js +185 -184
  55. package/dist/es5/dd-touch.js.map +1 -1
  56. package/dist/es5/gridstack-all.js +1 -1
  57. package/dist/es5/gridstack-all.js.LICENSE.txt +1 -1
  58. package/dist/es5/gridstack-all.js.map +1 -1
  59. package/dist/es5/gridstack-engine.d.ts +102 -100
  60. package/dist/es5/gridstack-engine.js +1000 -976
  61. package/dist/es5/gridstack-engine.js.map +1 -1
  62. package/dist/es5/gridstack-poly.js +1 -1
  63. package/dist/es5/gridstack.d.ts +389 -376
  64. package/dist/es5/gridstack.js +2252 -2227
  65. package/dist/es5/gridstack.js.map +1 -1
  66. package/dist/es5/types.d.ts +279 -279
  67. package/dist/es5/types.js +47 -35
  68. package/dist/es5/types.js.map +1 -1
  69. package/dist/es5/utils.d.ts +95 -91
  70. package/dist/es5/utils.js +591 -566
  71. package/dist/es5/utils.js.map +1 -1
  72. package/dist/gridstack-all.js +1 -1
  73. package/dist/gridstack-all.js.LICENSE.txt +1 -1
  74. package/dist/gridstack-all.js.map +1 -1
  75. package/dist/gridstack-engine.d.ts +102 -100
  76. package/dist/gridstack-engine.js +950 -936
  77. package/dist/gridstack-engine.js.map +1 -1
  78. package/dist/gridstack-extra.css +0 -390
  79. package/dist/gridstack-extra.min.css +1 -1
  80. package/dist/gridstack.css +3 -97
  81. package/dist/gridstack.d.ts +389 -376
  82. package/dist/gridstack.js +2155 -2151
  83. package/dist/gridstack.js.map +1 -1
  84. package/dist/gridstack.min.css +1 -1
  85. package/dist/ng/README.md +154 -0
  86. package/dist/ng/gridstack-item.component.d.ts +29 -0
  87. package/dist/ng/gridstack-item.component.js +65 -0
  88. package/dist/ng/gridstack-item.component.js.map +1 -0
  89. package/dist/ng/gridstack.component.d.ts +118 -0
  90. package/dist/ng/gridstack.component.js +245 -0
  91. package/dist/ng/gridstack.component.js.map +1 -0
  92. package/dist/src/gridstack-extra.scss +0 -2
  93. package/dist/src/gridstack.scss +6 -9
  94. package/dist/types.d.ts +279 -279
  95. package/dist/types.js +44 -35
  96. package/dist/types.js.map +1 -1
  97. package/dist/utils.d.ts +95 -91
  98. package/dist/utils.js +539 -524
  99. package/dist/utils.js.map +1 -1
  100. package/{dist → dist_save}/angular/gridstack-item.component.ts +22 -4
  101. package/{dist → dist_save}/angular/gridstack.component.ts +57 -30
  102. package/dist_save/dd-base-impl.d.ts +20 -0
  103. package/dist_save/dd-base-impl.js +36 -0
  104. package/dist_save/dd-base-impl.js.map +1 -0
  105. package/dist_save/dd-draggable.d.ts +28 -0
  106. package/dist_save/dd-draggable.js +343 -0
  107. package/dist_save/dd-draggable.js.map +1 -0
  108. package/dist_save/dd-droppable.d.ts +26 -0
  109. package/dist_save/dd-droppable.js +149 -0
  110. package/dist_save/dd-droppable.js.map +1 -0
  111. package/dist_save/dd-element.d.ts +27 -0
  112. package/dist_save/dd-element.js +95 -0
  113. package/dist_save/dd-element.js.map +1 -0
  114. package/dist_save/dd-gridstack.d.ts +34 -0
  115. package/dist_save/dd-gridstack.js +125 -0
  116. package/dist_save/dd-gridstack.js.map +1 -0
  117. package/dist_save/dd-manager.d.ts +22 -0
  118. package/dist_save/dd-manager.js +14 -0
  119. package/dist_save/dd-manager.js.map +1 -0
  120. package/dist_save/dd-resizable-handle.d.ts +14 -0
  121. package/dist_save/dd-resizable-handle.js +106 -0
  122. package/dist_save/dd-resizable-handle.js.map +1 -0
  123. package/dist_save/dd-resizable.d.ts +28 -0
  124. package/dist_save/dd-resizable.js +294 -0
  125. package/dist_save/dd-resizable.js.map +1 -0
  126. package/dist_save/dd-touch.d.ts +33 -0
  127. package/dist_save/dd-touch.js +183 -0
  128. package/dist_save/dd-touch.js.map +1 -0
  129. package/dist_save/es5/dd-base-impl.d.ts +20 -0
  130. package/dist_save/es5/dd-base-impl.js +41 -0
  131. package/dist_save/es5/dd-base-impl.js.map +1 -0
  132. package/dist_save/es5/dd-draggable.d.ts +28 -0
  133. package/dist_save/es5/dd-draggable.js +366 -0
  134. package/dist_save/es5/dd-draggable.js.map +1 -0
  135. package/dist_save/es5/dd-droppable.d.ts +26 -0
  136. package/dist_save/es5/dd-droppable.js +180 -0
  137. package/dist_save/es5/dd-droppable.js.map +1 -0
  138. package/dist_save/es5/dd-element.d.ts +27 -0
  139. package/dist_save/es5/dd-element.js +96 -0
  140. package/dist_save/es5/dd-element.js.map +1 -0
  141. package/dist_save/es5/dd-gridstack.d.ts +34 -0
  142. package/dist_save/es5/dd-gridstack.js +145 -0
  143. package/dist_save/es5/dd-gridstack.js.map +1 -0
  144. package/dist_save/es5/dd-manager.d.ts +22 -0
  145. package/dist_save/es5/dd-manager.js +17 -0
  146. package/dist_save/es5/dd-manager.js.map +1 -0
  147. package/dist_save/es5/dd-resizable-handle.d.ts +14 -0
  148. package/dist_save/es5/dd-resizable-handle.js +107 -0
  149. package/dist_save/es5/dd-resizable-handle.js.map +1 -0
  150. package/dist_save/es5/dd-resizable.d.ts +28 -0
  151. package/dist_save/es5/dd-resizable.js +316 -0
  152. package/dist_save/es5/dd-resizable.js.map +1 -0
  153. package/dist_save/es5/dd-touch.d.ts +33 -0
  154. package/dist_save/es5/dd-touch.js +186 -0
  155. package/dist_save/es5/dd-touch.js.map +1 -0
  156. package/dist_save/es5/gridstack-all.js +3 -0
  157. package/dist_save/es5/gridstack-all.js.LICENSE.txt +7 -0
  158. package/dist_save/es5/gridstack-all.js.map +1 -0
  159. package/dist_save/es5/gridstack-engine.d.ts +102 -0
  160. package/dist_save/es5/gridstack-engine.js +997 -0
  161. package/dist_save/es5/gridstack-engine.js.map +1 -0
  162. package/dist_save/es5/gridstack-poly.js +356 -0
  163. package/dist_save/es5/gridstack.d.ts +376 -0
  164. package/dist_save/es5/gridstack.js +2238 -0
  165. package/dist_save/es5/gridstack.js.map +1 -0
  166. package/dist_save/es5/types.d.ts +284 -0
  167. package/dist_save/es5/types.js +36 -0
  168. package/dist_save/es5/types.js.map +1 -0
  169. package/dist_save/es5/utils.d.ts +95 -0
  170. package/dist_save/es5/utils.js +590 -0
  171. package/dist_save/es5/utils.js.map +1 -0
  172. package/dist_save/gridstack-all.js +3 -0
  173. package/dist_save/gridstack-all.js.LICENSE.txt +7 -0
  174. package/dist_save/gridstack-all.js.map +1 -0
  175. package/dist_save/gridstack-engine.d.ts +102 -0
  176. package/dist_save/gridstack-engine.js +956 -0
  177. package/dist_save/gridstack-engine.js.map +1 -0
  178. package/dist_save/gridstack-extra.css +433 -0
  179. package/dist_save/gridstack-extra.min.css +1 -0
  180. package/dist_save/gridstack.css +226 -0
  181. package/dist_save/gridstack.d.ts +376 -0
  182. package/dist_save/gridstack.js +2162 -0
  183. package/dist_save/gridstack.js.map +1 -0
  184. package/dist_save/gridstack.min.css +1 -0
  185. package/dist_save/src/gridstack-extra.scss +27 -0
  186. package/dist_save/src/gridstack.scss +131 -0
  187. package/dist_save/types.d.ts +284 -0
  188. package/dist_save/types.js +36 -0
  189. package/dist_save/types.js.map +1 -0
  190. package/dist_save/utils.d.ts +95 -0
  191. package/dist_save/utils.js +548 -0
  192. package/dist_save/utils.js.map +1 -0
  193. package/doc/CHANGES.md +19 -0
  194. package/doc/README.md +17 -1
  195. package/package.json +25 -24
  196. /package/{dist → dist_save}/angular/README.md +0 -0
@@ -1,22 +1,22 @@
1
- /**
2
- * dd-manager.ts 7.2.3
3
- * Copyright (c) 2021 Alain Dumesny - see GridStack root license
4
- */
5
- import { DDDraggable } from './dd-draggable';
6
- import { DDDroppable } from './dd-droppable';
7
- import { DDResizable } from './dd-resizable';
8
- /**
9
- * globals that are shared across Drag & Drop instances
10
- */
11
- export declare class DDManager {
12
- /** if set (true | in msec), dragging placement (collision) will only happen after a pause by the user*/
13
- static pauseDrag: boolean | number;
14
- /** true if a mouse down event was handled */
15
- static mouseHandled: boolean;
16
- /** item being dragged */
17
- static dragElement: DDDraggable;
18
- /** item we are currently over as drop target */
19
- static dropElement: DDDroppable;
20
- /** current item we're over for resizing purpose (ignore nested grid resize handles) */
21
- static overResizeElement: DDResizable;
22
- }
1
+ /**
2
+ * dd-manager.ts 8.0.0
3
+ * Copyright (c) 2021 Alain Dumesny - see GridStack root license
4
+ */
5
+ import { DDDraggable } from './dd-draggable';
6
+ import { DDDroppable } from './dd-droppable';
7
+ import { DDResizable } from './dd-resizable';
8
+ /**
9
+ * globals that are shared across Drag & Drop instances
10
+ */
11
+ export declare class DDManager {
12
+ /** if set (true | in msec), dragging placement (collision) will only happen after a pause by the user*/
13
+ static pauseDrag: boolean | number;
14
+ /** true if a mouse down event was handled */
15
+ static mouseHandled: boolean;
16
+ /** item being dragged */
17
+ static dragElement: DDDraggable;
18
+ /** item we are currently over as drop target */
19
+ static dropElement: DDDroppable;
20
+ /** current item we're over for resizing purpose (ignore nested grid resize handles) */
21
+ static overResizeElement: DDResizable;
22
+ }
@@ -1,14 +1,10 @@
1
- "use strict";
2
- /**
3
- * dd-manager.ts 7.2.3
4
- * Copyright (c) 2021 Alain Dumesny - see GridStack root license
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.DDManager = void 0;
8
- /**
9
- * globals that are shared across Drag & Drop instances
10
- */
11
- class DDManager {
12
- }
13
- exports.DDManager = DDManager;
1
+ /**
2
+ * dd-manager.ts 8.0.0
3
+ * Copyright (c) 2021 Alain Dumesny - see GridStack root license
4
+ */
5
+ /**
6
+ * globals that are shared across Drag & Drop instances
7
+ */
8
+ export class DDManager {
9
+ }
14
10
  //# sourceMappingURL=dd-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dd-manager.js","sourceRoot":"","sources":["../src/dd-manager.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH;;GAEG;AACH,MAAa,SAAS;CAgBrB;AAhBD,8BAgBC","sourcesContent":["/**\n * dd-manager.ts 7.2.3\n * Copyright (c) 2021 Alain Dumesny - see GridStack root license\n */\n\nimport { DDDraggable } from './dd-draggable';\nimport { DDDroppable } from './dd-droppable';\nimport { DDResizable } from './dd-resizable';\n\n/**\n * globals that are shared across Drag & Drop instances\n */\nexport class DDManager {\n /** if set (true | in msec), dragging placement (collision) will only happen after a pause by the user*/\n public static pauseDrag: boolean | number;\n\n /** true if a mouse down event was handled */\n public static mouseHandled: boolean;\n\n /** item being dragged */\n public static dragElement: DDDraggable;\n\n /** item we are currently over as drop target */\n public static dropElement: DDDroppable;\n\n /** current item we're over for resizing purpose (ignore nested grid resize handles) */\n public static overResizeElement: DDResizable;\n\n}\n"]}
1
+ {"version":3,"file":"dd-manager.js","sourceRoot":"","sources":["../src/dd-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,OAAO,SAAS;CAgBrB","sourcesContent":["/**\n * dd-manager.ts 8.0.0\n * Copyright (c) 2021 Alain Dumesny - see GridStack root license\n */\n\nimport { DDDraggable } from './dd-draggable';\nimport { DDDroppable } from './dd-droppable';\nimport { DDResizable } from './dd-resizable';\n\n/**\n * globals that are shared across Drag & Drop instances\n */\nexport class DDManager {\n /** if set (true | in msec), dragging placement (collision) will only happen after a pause by the user*/\n public static pauseDrag: boolean | number;\n\n /** true if a mouse down event was handled */\n public static mouseHandled: boolean;\n\n /** item being dragged */\n public static dragElement: DDDraggable;\n\n /** item we are currently over as drop target */\n public static dropElement: DDDroppable;\n\n /** current item we're over for resizing purpose (ignore nested grid resize handles) */\n public static overResizeElement: DDResizable;\n\n}\n"]}
@@ -1,14 +1,14 @@
1
- /**
2
- * dd-resizable-handle.ts 7.2.3
3
- * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license
4
- */
5
- export interface DDResizableHandleOpt {
6
- start?: (event: any) => void;
7
- move?: (event: any) => void;
8
- stop?: (event: any) => void;
9
- }
10
- export declare class DDResizableHandle {
11
- constructor(host: HTMLElement, direction: string, option: DDResizableHandleOpt);
12
- /** call this when resize handle needs to be removed and cleaned up */
13
- destroy(): DDResizableHandle;
14
- }
1
+ /**
2
+ * dd-resizable-handle.ts 8.0.0
3
+ * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license
4
+ */
5
+ export interface DDResizableHandleOpt {
6
+ start?: (event: any) => void;
7
+ move?: (event: any) => void;
8
+ stop?: (event: any) => void;
9
+ }
10
+ export declare class DDResizableHandle {
11
+ constructor(host: HTMLElement, direction: string, option: DDResizableHandleOpt);
12
+ /** call this when resize handle needs to be removed and cleaned up */
13
+ destroy(): DDResizableHandle;
14
+ }
@@ -1,106 +1,103 @@
1
- "use strict";
2
- /**
3
- * dd-resizable-handle.ts 7.2.3
4
- * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.DDResizableHandle = void 0;
8
- const dd_touch_1 = require("./dd-touch");
9
- class DDResizableHandle {
10
- constructor(host, direction, option) {
11
- /** @internal true after we've moved enough pixels to start a resize */
12
- this.moving = false;
13
- this.host = host;
14
- this.dir = direction;
15
- this.option = option;
16
- // create var event binding so we can easily remove and still look like TS methods (unlike anonymous functions)
17
- this._mouseDown = this._mouseDown.bind(this);
18
- this._mouseMove = this._mouseMove.bind(this);
19
- this._mouseUp = this._mouseUp.bind(this);
20
- this._init();
21
- }
22
- /** @internal */
23
- _init() {
24
- const el = document.createElement('div');
25
- el.classList.add('ui-resizable-handle');
26
- el.classList.add(`${DDResizableHandle.prefix}${this.dir}`);
27
- el.style.zIndex = '100';
28
- el.style.userSelect = 'none';
29
- this.el = el;
30
- this.host.appendChild(this.el);
31
- this.el.addEventListener('mousedown', this._mouseDown);
32
- if (dd_touch_1.isTouch) {
33
- this.el.addEventListener('touchstart', dd_touch_1.touchstart);
34
- this.el.addEventListener('pointerdown', dd_touch_1.pointerdown);
35
- // this.el.style.touchAction = 'none'; // not needed unlike pointerdown doc comment
36
- }
37
- return this;
38
- }
39
- /** call this when resize handle needs to be removed and cleaned up */
40
- destroy() {
41
- if (this.moving)
42
- this._mouseUp(this.mouseDownEvent);
43
- this.el.removeEventListener('mousedown', this._mouseDown);
44
- if (dd_touch_1.isTouch) {
45
- this.el.removeEventListener('touchstart', dd_touch_1.touchstart);
46
- this.el.removeEventListener('pointerdown', dd_touch_1.pointerdown);
47
- }
48
- this.host.removeChild(this.el);
49
- delete this.el;
50
- delete this.host;
51
- return this;
52
- }
53
- /** @internal called on mouse down on us: capture move on the entire document (mouse might not stay on us) until we release the mouse */
54
- _mouseDown(e) {
55
- this.mouseDownEvent = e;
56
- document.addEventListener('mousemove', this._mouseMove, true); // capture, not bubble
57
- document.addEventListener('mouseup', this._mouseUp, true);
58
- if (dd_touch_1.isTouch) {
59
- this.el.addEventListener('touchmove', dd_touch_1.touchmove);
60
- this.el.addEventListener('touchend', dd_touch_1.touchend);
61
- }
62
- e.stopPropagation();
63
- e.preventDefault();
64
- }
65
- /** @internal */
66
- _mouseMove(e) {
67
- let s = this.mouseDownEvent;
68
- if (this.moving) {
69
- this._triggerEvent('move', e);
70
- }
71
- else if (Math.abs(e.x - s.x) + Math.abs(e.y - s.y) > 2) {
72
- // don't start unless we've moved at least 3 pixels
73
- this.moving = true;
74
- this._triggerEvent('start', this.mouseDownEvent);
75
- this._triggerEvent('move', e);
76
- }
77
- e.stopPropagation();
78
- e.preventDefault();
79
- }
80
- /** @internal */
81
- _mouseUp(e) {
82
- if (this.moving) {
83
- this._triggerEvent('stop', e);
84
- }
85
- document.removeEventListener('mousemove', this._mouseMove, true);
86
- document.removeEventListener('mouseup', this._mouseUp, true);
87
- if (dd_touch_1.isTouch) {
88
- this.el.removeEventListener('touchmove', dd_touch_1.touchmove);
89
- this.el.removeEventListener('touchend', dd_touch_1.touchend);
90
- }
91
- delete this.moving;
92
- delete this.mouseDownEvent;
93
- e.stopPropagation();
94
- e.preventDefault();
95
- }
96
- /** @internal */
97
- _triggerEvent(name, event) {
98
- if (this.option[name])
99
- this.option[name](event);
100
- return this;
101
- }
102
- }
103
- exports.DDResizableHandle = DDResizableHandle;
104
- /** @internal */
105
- DDResizableHandle.prefix = 'ui-resizable-';
1
+ /**
2
+ * dd-resizable-handle.ts 8.0.0
3
+ * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license
4
+ */
5
+ import { isTouch, pointerdown, touchend, touchmove, touchstart } from './dd-touch';
6
+ class DDResizableHandle {
7
+ constructor(host, direction, option) {
8
+ /** @internal true after we've moved enough pixels to start a resize */
9
+ this.moving = false;
10
+ this.host = host;
11
+ this.dir = direction;
12
+ this.option = option;
13
+ // create var event binding so we can easily remove and still look like TS methods (unlike anonymous functions)
14
+ this._mouseDown = this._mouseDown.bind(this);
15
+ this._mouseMove = this._mouseMove.bind(this);
16
+ this._mouseUp = this._mouseUp.bind(this);
17
+ this._init();
18
+ }
19
+ /** @internal */
20
+ _init() {
21
+ const el = document.createElement('div');
22
+ el.classList.add('ui-resizable-handle');
23
+ el.classList.add(`${DDResizableHandle.prefix}${this.dir}`);
24
+ el.style.zIndex = '100';
25
+ el.style.userSelect = 'none';
26
+ this.el = el;
27
+ this.host.appendChild(this.el);
28
+ this.el.addEventListener('mousedown', this._mouseDown);
29
+ if (isTouch) {
30
+ this.el.addEventListener('touchstart', touchstart);
31
+ this.el.addEventListener('pointerdown', pointerdown);
32
+ // this.el.style.touchAction = 'none'; // not needed unlike pointerdown doc comment
33
+ }
34
+ return this;
35
+ }
36
+ /** call this when resize handle needs to be removed and cleaned up */
37
+ destroy() {
38
+ if (this.moving)
39
+ this._mouseUp(this.mouseDownEvent);
40
+ this.el.removeEventListener('mousedown', this._mouseDown);
41
+ if (isTouch) {
42
+ this.el.removeEventListener('touchstart', touchstart);
43
+ this.el.removeEventListener('pointerdown', pointerdown);
44
+ }
45
+ this.host.removeChild(this.el);
46
+ delete this.el;
47
+ delete this.host;
48
+ return this;
49
+ }
50
+ /** @internal called on mouse down on us: capture move on the entire document (mouse might not stay on us) until we release the mouse */
51
+ _mouseDown(e) {
52
+ this.mouseDownEvent = e;
53
+ document.addEventListener('mousemove', this._mouseMove, true); // capture, not bubble
54
+ document.addEventListener('mouseup', this._mouseUp, true);
55
+ if (isTouch) {
56
+ this.el.addEventListener('touchmove', touchmove);
57
+ this.el.addEventListener('touchend', touchend);
58
+ }
59
+ e.stopPropagation();
60
+ e.preventDefault();
61
+ }
62
+ /** @internal */
63
+ _mouseMove(e) {
64
+ let s = this.mouseDownEvent;
65
+ if (this.moving) {
66
+ this._triggerEvent('move', e);
67
+ }
68
+ else if (Math.abs(e.x - s.x) + Math.abs(e.y - s.y) > 2) {
69
+ // don't start unless we've moved at least 3 pixels
70
+ this.moving = true;
71
+ this._triggerEvent('start', this.mouseDownEvent);
72
+ this._triggerEvent('move', e);
73
+ }
74
+ e.stopPropagation();
75
+ e.preventDefault();
76
+ }
77
+ /** @internal */
78
+ _mouseUp(e) {
79
+ if (this.moving) {
80
+ this._triggerEvent('stop', e);
81
+ }
82
+ document.removeEventListener('mousemove', this._mouseMove, true);
83
+ document.removeEventListener('mouseup', this._mouseUp, true);
84
+ if (isTouch) {
85
+ this.el.removeEventListener('touchmove', touchmove);
86
+ this.el.removeEventListener('touchend', touchend);
87
+ }
88
+ delete this.moving;
89
+ delete this.mouseDownEvent;
90
+ e.stopPropagation();
91
+ e.preventDefault();
92
+ }
93
+ /** @internal */
94
+ _triggerEvent(name, event) {
95
+ if (this.option[name])
96
+ this.option[name](event);
97
+ return this;
98
+ }
99
+ }
100
+ /** @internal */
101
+ DDResizableHandle.prefix = 'ui-resizable-';
102
+ export { DDResizableHandle };
106
103
  //# sourceMappingURL=dd-resizable-handle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dd-resizable-handle.js","sourceRoot":"","sources":["../src/dd-resizable-handle.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * dd-resizable-handle.ts 7.2.3\n * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license\n */\n\nimport { isTouch, pointerdown, touchend, touchmove, touchstart } from './dd-touch';\n\nexport interface DDResizableHandleOpt {\n start?: (event) => void;\n move?: (event) => void;\n stop?: (event) => void;\n}\n\nexport class DDResizableHandle {\n /** @internal */\n protected el: HTMLElement;\n /** @internal */\n protected host: HTMLElement;\n /** @internal */\n protected option: DDResizableHandleOpt;\n /** @internal */\n protected dir: string;\n /** @internal true after we've moved enough pixels to start a resize */\n protected moving = false;\n /** @internal */\n protected mouseDownEvent: MouseEvent;\n /** @internal */\n protected static prefix = 'ui-resizable-';\n\n constructor(host: HTMLElement, direction: string, option: DDResizableHandleOpt) {\n this.host = host;\n this.dir = direction;\n this.option = option;\n // create var event binding so we can easily remove and still look like TS methods (unlike anonymous functions)\n this._mouseDown = this._mouseDown.bind(this);\n this._mouseMove = this._mouseMove.bind(this);\n this._mouseUp = this._mouseUp.bind(this);\n\n this._init();\n }\n\n /** @internal */\n protected _init(): DDResizableHandle {\n const el = document.createElement('div');\n el.classList.add('ui-resizable-handle');\n el.classList.add(`${DDResizableHandle.prefix}${this.dir}`);\n el.style.zIndex = '100';\n el.style.userSelect = 'none';\n this.el = el;\n this.host.appendChild(this.el);\n this.el.addEventListener('mousedown', this._mouseDown);\n if (isTouch) {\n this.el.addEventListener('touchstart', touchstart);\n this.el.addEventListener('pointerdown', pointerdown);\n // this.el.style.touchAction = 'none'; // not needed unlike pointerdown doc comment\n }\n return this;\n }\n\n /** call this when resize handle needs to be removed and cleaned up */\n public destroy(): DDResizableHandle {\n if (this.moving) this._mouseUp(this.mouseDownEvent);\n this.el.removeEventListener('mousedown', this._mouseDown);\n if (isTouch) {\n this.el.removeEventListener('touchstart', touchstart);\n this.el.removeEventListener('pointerdown', pointerdown);\n }\n this.host.removeChild(this.el);\n delete this.el;\n delete this.host;\n return this;\n }\n\n /** @internal called on mouse down on us: capture move on the entire document (mouse might not stay on us) until we release the mouse */\n protected _mouseDown(e: MouseEvent): void {\n this.mouseDownEvent = e;\n document.addEventListener('mousemove', this._mouseMove, true); // capture, not bubble\n document.addEventListener('mouseup', this._mouseUp, true);\n if (isTouch) {\n this.el.addEventListener('touchmove', touchmove);\n this.el.addEventListener('touchend', touchend);\n }\n e.stopPropagation();\n e.preventDefault();\n }\n\n /** @internal */\n protected _mouseMove(e: MouseEvent): void {\n let s = this.mouseDownEvent;\n if (this.moving) {\n this._triggerEvent('move', e);\n } else if (Math.abs(e.x - s.x) + Math.abs(e.y - s.y) > 2) {\n // don't start unless we've moved at least 3 pixels\n this.moving = true;\n this._triggerEvent('start', this.mouseDownEvent);\n this._triggerEvent('move', e);\n }\n e.stopPropagation();\n e.preventDefault();\n }\n\n /** @internal */\n protected _mouseUp(e: MouseEvent): void {\n if (this.moving) {\n this._triggerEvent('stop', e);\n }\n document.removeEventListener('mousemove', this._mouseMove, true);\n document.removeEventListener('mouseup', this._mouseUp, true);\n if (isTouch) {\n this.el.removeEventListener('touchmove', touchmove);\n this.el.removeEventListener('touchend', touchend);\n }\n delete this.moving;\n delete this.mouseDownEvent;\n e.stopPropagation();\n e.preventDefault();\n }\n\n /** @internal */\n protected _triggerEvent(name: string, event: MouseEvent): DDResizableHandle {\n if (this.option[name]) this.option[name](event);\n return this;\n }\n}\n"]}
1
+ {"version":3,"file":"dd-resizable-handle.js","sourceRoot":"","sources":["../src/dd-resizable-handle.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQnF,MAAa,iBAAiB;IAgB5B,YAAY,IAAiB,EAAE,SAAiB,EAAE,MAA4B;QAP9E,uEAAuE;QAC7D,WAAM,GAAG,KAAK,CAAC;QAOvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,+GAA+G;QAC/G,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,gBAAgB;IACN,KAAK;QACb,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACxC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACxB,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YACrD,mFAAmF;SACpF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IAC/D,OAAO;QACZ,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wIAAwI;IAC9H,UAAU,CAAC,CAAa;QAChC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB;QACrF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC1D,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SAChD;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC;IAED,gBAAgB;IACN,UAAU,CAAC,CAAa;QAChC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC/B;aAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;YACxD,mDAAmD;YACnD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC/B;QACD,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC;IAED,gBAAgB;IACN,QAAQ,CAAC,CAAa;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SAC/B;QACD,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACjE,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SACnD;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;QAC3B,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC;IAED,gBAAgB;IACN,aAAa,CAAC,IAAY,EAAE,KAAiB;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;;AAhGD,gBAAgB;AACC,wBAAM,GAAG,eAAe,AAAlB,CAAmB;SAd/B,iBAAiB","sourcesContent":["/**\n * dd-resizable-handle.ts 8.0.0\n * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license\n */\n\nimport { isTouch, pointerdown, touchend, touchmove, touchstart } from './dd-touch';\n\nexport interface DDResizableHandleOpt {\n start?: (event) => void;\n move?: (event) => void;\n stop?: (event) => void;\n}\n\nexport class DDResizableHandle {\n /** @internal */\n protected el: HTMLElement;\n /** @internal */\n protected host: HTMLElement;\n /** @internal */\n protected option: DDResizableHandleOpt;\n /** @internal */\n protected dir: string;\n /** @internal true after we've moved enough pixels to start a resize */\n protected moving = false;\n /** @internal */\n protected mouseDownEvent: MouseEvent;\n /** @internal */\n protected static prefix = 'ui-resizable-';\n\n constructor(host: HTMLElement, direction: string, option: DDResizableHandleOpt) {\n this.host = host;\n this.dir = direction;\n this.option = option;\n // create var event binding so we can easily remove and still look like TS methods (unlike anonymous functions)\n this._mouseDown = this._mouseDown.bind(this);\n this._mouseMove = this._mouseMove.bind(this);\n this._mouseUp = this._mouseUp.bind(this);\n\n this._init();\n }\n\n /** @internal */\n protected _init(): DDResizableHandle {\n const el = document.createElement('div');\n el.classList.add('ui-resizable-handle');\n el.classList.add(`${DDResizableHandle.prefix}${this.dir}`);\n el.style.zIndex = '100';\n el.style.userSelect = 'none';\n this.el = el;\n this.host.appendChild(this.el);\n this.el.addEventListener('mousedown', this._mouseDown);\n if (isTouch) {\n this.el.addEventListener('touchstart', touchstart);\n this.el.addEventListener('pointerdown', pointerdown);\n // this.el.style.touchAction = 'none'; // not needed unlike pointerdown doc comment\n }\n return this;\n }\n\n /** call this when resize handle needs to be removed and cleaned up */\n public destroy(): DDResizableHandle {\n if (this.moving) this._mouseUp(this.mouseDownEvent);\n this.el.removeEventListener('mousedown', this._mouseDown);\n if (isTouch) {\n this.el.removeEventListener('touchstart', touchstart);\n this.el.removeEventListener('pointerdown', pointerdown);\n }\n this.host.removeChild(this.el);\n delete this.el;\n delete this.host;\n return this;\n }\n\n /** @internal called on mouse down on us: capture move on the entire document (mouse might not stay on us) until we release the mouse */\n protected _mouseDown(e: MouseEvent): void {\n this.mouseDownEvent = e;\n document.addEventListener('mousemove', this._mouseMove, true); // capture, not bubble\n document.addEventListener('mouseup', this._mouseUp, true);\n if (isTouch) {\n this.el.addEventListener('touchmove', touchmove);\n this.el.addEventListener('touchend', touchend);\n }\n e.stopPropagation();\n e.preventDefault();\n }\n\n /** @internal */\n protected _mouseMove(e: MouseEvent): void {\n let s = this.mouseDownEvent;\n if (this.moving) {\n this._triggerEvent('move', e);\n } else if (Math.abs(e.x - s.x) + Math.abs(e.y - s.y) > 2) {\n // don't start unless we've moved at least 3 pixels\n this.moving = true;\n this._triggerEvent('start', this.mouseDownEvent);\n this._triggerEvent('move', e);\n }\n e.stopPropagation();\n e.preventDefault();\n }\n\n /** @internal */\n protected _mouseUp(e: MouseEvent): void {\n if (this.moving) {\n this._triggerEvent('stop', e);\n }\n document.removeEventListener('mousemove', this._mouseMove, true);\n document.removeEventListener('mouseup', this._mouseUp, true);\n if (isTouch) {\n this.el.removeEventListener('touchmove', touchmove);\n this.el.removeEventListener('touchend', touchend);\n }\n delete this.moving;\n delete this.mouseDownEvent;\n e.stopPropagation();\n e.preventDefault();\n }\n\n /** @internal */\n protected _triggerEvent(name: string, event: MouseEvent): DDResizableHandle {\n if (this.option[name]) this.option[name](event);\n return this;\n }\n}\n"]}
@@ -1,28 +1,28 @@
1
- /**
2
- * dd-resizable.ts 7.2.3
3
- * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license
4
- */
5
- import { DDBaseImplement, HTMLElementExtendOpt } from './dd-base-impl';
6
- import { DDUIData } from './types';
7
- export interface DDResizableOpt {
8
- autoHide?: boolean;
9
- handles?: string;
10
- maxHeight?: number;
11
- maxWidth?: number;
12
- minHeight?: number;
13
- minWidth?: number;
14
- start?: (event: Event, ui: DDUIData) => void;
15
- stop?: (event: Event) => void;
16
- resize?: (event: Event, ui: DDUIData) => void;
17
- }
18
- export declare class DDResizable extends DDBaseImplement implements HTMLElementExtendOpt<DDResizableOpt> {
19
- el: HTMLElement;
20
- option: DDResizableOpt;
21
- constructor(el: HTMLElement, opts?: DDResizableOpt);
22
- on(event: 'resizestart' | 'resize' | 'resizestop', callback: (event: DragEvent) => void): void;
23
- off(event: 'resizestart' | 'resize' | 'resizestop'): void;
24
- enable(): void;
25
- disable(): void;
26
- destroy(): void;
27
- updateOption(opts: DDResizableOpt): DDResizable;
28
- }
1
+ /**
2
+ * dd-resizable.ts 8.0.0
3
+ * Copyright (c) 2021-2022 Alain Dumesny - see GridStack root license
4
+ */
5
+ import { DDBaseImplement, HTMLElementExtendOpt } from './dd-base-impl';
6
+ import { DDUIData } from './types';
7
+ export interface DDResizableOpt {
8
+ autoHide?: boolean;
9
+ handles?: string;
10
+ maxHeight?: number;
11
+ maxWidth?: number;
12
+ minHeight?: number;
13
+ minWidth?: number;
14
+ start?: (event: Event, ui: DDUIData) => void;
15
+ stop?: (event: Event) => void;
16
+ resize?: (event: Event, ui: DDUIData) => void;
17
+ }
18
+ export declare class DDResizable extends DDBaseImplement implements HTMLElementExtendOpt<DDResizableOpt> {
19
+ el: HTMLElement;
20
+ option: DDResizableOpt;
21
+ constructor(el: HTMLElement, opts?: DDResizableOpt);
22
+ on(event: 'resizestart' | 'resize' | 'resizestop', callback: (event: DragEvent) => void): void;
23
+ off(event: 'resizestart' | 'resize' | 'resizestop'): void;
24
+ enable(): void;
25
+ disable(): void;
26
+ destroy(): void;
27
+ updateOption(opts: DDResizableOpt): DDResizable;
28
+ }