@operato/utils 8.0.0 → 9.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [8.0.0](https://github.com/hatiolab/operato/compare/v7.1.33...v8.0.0) (2025-01-14)
6
+ ## [9.0.0-beta.4](https://github.com/hatiolab/operato/compare/v9.0.0-beta.3...v9.0.0-beta.4) (2025-01-20)
7
+
8
+
9
+ ### :bug: Bug Fix
10
+
11
+ * esm module ([0402232](https://github.com/hatiolab/operato/commit/04022327fa47eac64eaf3c56eeec55b9ace13e0e))
12
+
13
+
14
+
15
+ ## [9.0.0-beta.0](https://github.com/hatiolab/operato/compare/v8.0.0-beta.11...v9.0.0-beta.0) (2025-01-13)
7
16
 
8
17
  **Note:** Version bump only for package @operato/utils
9
18
 
@@ -11,13 +20,64 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
20
 
12
21
 
13
22
 
14
- ### [7.1.32](https://github.com/hatiolab/operato/compare/v7.1.31...v7.1.32) (2025-01-11)
23
+ ## [8.0.0-beta.2](https://github.com/hatiolab/operato/compare/v8.0.0-beta.1...v8.0.0-beta.2) (2025-01-08)
15
24
 
16
25
 
17
26
  ### :bug: Bug Fix
18
27
 
19
- * missing .npmignore ([03db207](https://github.com/hatiolab/operato/commit/03db207498088b294ccfb9645f6839c2f11645d5))
20
- * typo .npmignore ([df91cae](https://github.com/hatiolab/operato/commit/df91caea0f5938a3febd9307184e5b036a65e2bd))
28
+ * typo .npmignore ([d9c0c8c](https://github.com/hatiolab/operato/commit/d9c0c8c79abc688c3c2cfb6c37fcb689483a5977))
29
+
30
+
31
+
32
+ ## [8.0.0-beta.1](https://github.com/hatiolab/operato/compare/v8.0.0-beta.0...v8.0.0-beta.1) (2025-01-08)
33
+
34
+
35
+ ### :bug: Bug Fix
36
+
37
+ * missing .npmignore ([be05985](https://github.com/hatiolab/operato/commit/be05985abfae4af53501f718dd52932099f7fbcb))
38
+
39
+
40
+
41
+ ## [8.0.0-beta.0](https://github.com/hatiolab/operato/compare/v8.0.0-alpha.56...v8.0.0-beta.0) (2025-01-07)
42
+
43
+ **Note:** Version bump only for package @operato/utils
44
+
45
+
46
+
47
+
48
+
49
+ ## [8.0.0-alpha.37](https://github.com/hatiolab/operato/compare/v8.0.0-alpha.36...v8.0.0-alpha.37) (2024-10-20)
50
+
51
+
52
+ ### :bug: Bug Fix
53
+
54
+ * pointer-event & pointer-event for ox-image-marker ([c503d0a](https://github.com/hatiolab/operato/commit/c503d0a235ddadd97fdcd84ae98a303a7ffe7a6f))
55
+ * update dev-dependencies version ([d6fe342](https://github.com/hatiolab/operato/commit/d6fe342de738c6bad3528550a862b5a1d2573161))
56
+
57
+
58
+
59
+ ## [8.0.0-alpha.33](https://github.com/hatiolab/operato/compare/v8.0.0-alpha.32...v8.0.0-alpha.33) (2024-10-14)
60
+
61
+ **Note:** Version bump only for package @operato/utils
62
+
63
+
64
+
65
+
66
+
67
+ ## [8.0.0-alpha.29](https://github.com/hatiolab/operato/compare/v8.0.0-alpha.28...v8.0.0-alpha.29) (2024-10-10)
68
+
69
+
70
+ ### :bug: Bug Fix
71
+
72
+ * apply pointer-event ([ecc73a1](https://github.com/hatiolab/operato/commit/ecc73a1d2df0d8ce7ba462965062a91461c504c3))
73
+
74
+
75
+
76
+ ## [8.0.0-alpha.0](https://github.com/hatiolab/operato/compare/v7.1.1...v8.0.0-alpha.0) (2024-09-01)
77
+
78
+ **Note:** Version bump only for package @operato/utils
79
+
80
+
21
81
 
22
82
 
23
83
 
@@ -0,0 +1,35 @@
1
+ export type GestureEventPinch = CustomEvent<{
2
+ scale: number;
3
+ centerX: number;
4
+ centerY: number;
5
+ }>;
6
+ export type GestureEventDrag = CustomEvent<{
7
+ deltaX: number;
8
+ deltaY: number;
9
+ clientX: number;
10
+ clientY: number;
11
+ end: boolean;
12
+ }>;
13
+ export type GestureEventDoubleTap = CustomEvent<{
14
+ x: number;
15
+ y: number;
16
+ }>;
17
+ export declare class GestureHelper {
18
+ private __pointers;
19
+ private __lastTapTime;
20
+ private __lastPinchDistance;
21
+ private __dragStart;
22
+ private element;
23
+ constructor(element: Element);
24
+ private init;
25
+ dispose(): void;
26
+ private handlePointerDown;
27
+ private handlePointerMove;
28
+ private handlePointerUp;
29
+ private handlePinch;
30
+ private handleDrag;
31
+ private handleTap;
32
+ private getDistance;
33
+ private addGlobalListeners;
34
+ private removeGlobalListeners;
35
+ }
@@ -0,0 +1,111 @@
1
+ export class GestureHelper {
2
+ constructor(element) {
3
+ this.__pointers = new Map();
4
+ this.__lastTapTime = 0;
5
+ this.__lastPinchDistance = 0;
6
+ this.__dragStart = null;
7
+ this.handlePointerDown = (e) => {
8
+ e.preventDefault();
9
+ const point = { x: e.clientX, y: e.clientY };
10
+ this.__pointers.set(e.pointerId, point);
11
+ this.addGlobalListeners();
12
+ };
13
+ this.handlePointerMove = (e) => {
14
+ e.preventDefault();
15
+ const point = { x: e.clientX, y: e.clientY };
16
+ this.__pointers.set(e.pointerId, point);
17
+ if (this.__pointers.size === 2) {
18
+ this.handlePinch();
19
+ }
20
+ else if (this.__pointers.size === 1) {
21
+ this.handleDrag(point, false);
22
+ }
23
+ };
24
+ this.handlePointerUp = (e) => {
25
+ const point = { x: e.clientX, y: e.clientY };
26
+ this.__pointers.delete(e.pointerId);
27
+ if (this.__dragStart) {
28
+ this.handleDrag(point, true);
29
+ }
30
+ if (this.__pointers.size === 0) {
31
+ this.removeGlobalListeners();
32
+ this.__dragStart = null;
33
+ this.__lastPinchDistance = 0;
34
+ this.handleTap(point);
35
+ }
36
+ };
37
+ this.element = element;
38
+ this.init();
39
+ }
40
+ init() {
41
+ this.element.addEventListener('pointerdown', this.handlePointerDown);
42
+ }
43
+ dispose() {
44
+ this.element.removeEventListener('pointerdown', this.handlePointerDown);
45
+ this.removeGlobalListeners();
46
+ }
47
+ handlePinch() {
48
+ const pointers = Array.from(this.__pointers.values());
49
+ const currentDistance = this.getDistance(pointers[0], pointers[1]);
50
+ if (this.__lastPinchDistance) {
51
+ const scale = currentDistance / this.__lastPinchDistance;
52
+ const center = {
53
+ x: (pointers[0].x + pointers[1].x) / 2,
54
+ y: (pointers[0].y + pointers[1].y) / 2
55
+ };
56
+ this.element.dispatchEvent(new CustomEvent('pinch', {
57
+ detail: { scale, centerX: center.x, centerY: center.y }
58
+ }));
59
+ }
60
+ this.__lastPinchDistance = currentDistance;
61
+ }
62
+ handleDrag(point, end) {
63
+ if (this.__dragStart) {
64
+ const deltaX = point.x - this.__dragStart.x;
65
+ const deltaY = point.y - this.__dragStart.y;
66
+ this.element.dispatchEvent(new CustomEvent('drag', {
67
+ detail: { deltaX, deltaY, clientX: point.x, clientY: point.y, end }
68
+ }));
69
+ if (end) {
70
+ this.__dragStart = null;
71
+ }
72
+ else {
73
+ this.__dragStart = point;
74
+ }
75
+ }
76
+ else if (!end && this.__pointers.size === 1) {
77
+ /* dragging을 시작하려면, pointer 개수가 1개인 것을 (지연)확인해야한다. */
78
+ setTimeout(() => {
79
+ if (this.__pointers.size === 1 && !this.__dragStart) {
80
+ this.__dragStart = point;
81
+ }
82
+ }, 30);
83
+ }
84
+ }
85
+ handleTap(point) {
86
+ const currentTime = performance.now();
87
+ const timeSinceLastTap = currentTime - this.__lastTapTime;
88
+ if (timeSinceLastTap < 300) {
89
+ this.element.dispatchEvent(new CustomEvent('doubletap', {
90
+ detail: { x: point.x, y: point.y }
91
+ }));
92
+ }
93
+ this.__lastTapTime = currentTime;
94
+ }
95
+ getDistance(p1, p2) {
96
+ const dx = p1.x - p2.x;
97
+ const dy = p1.y - p2.y;
98
+ return Math.sqrt(dx * dx + dy * dy);
99
+ }
100
+ addGlobalListeners() {
101
+ document.addEventListener('pointermove', this.handlePointerMove);
102
+ document.addEventListener('pointerup', this.handlePointerUp);
103
+ document.addEventListener('pointercancel', this.handlePointerUp);
104
+ }
105
+ removeGlobalListeners() {
106
+ document.removeEventListener('pointermove', this.handlePointerMove);
107
+ document.removeEventListener('pointerup', this.handlePointerUp);
108
+ document.removeEventListener('pointercancel', this.handlePointerUp);
109
+ }
110
+ }
111
+ //# sourceMappingURL=gesture-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gesture-helper.js","sourceRoot":"","sources":["../../src/gesture-helper.ts"],"names":[],"mappings":"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","sourcesContent":["export type GestureEventPinch = CustomEvent<{ scale: number; centerX: number; centerY: number }>\nexport type GestureEventDrag = CustomEvent<{\n deltaX: number\n deltaY: number\n clientX: number\n clientY: number\n end: boolean\n}>\nexport type GestureEventDoubleTap = CustomEvent<{ x: number; y: number }>\n\nexport class GestureHelper {\n private __pointers = new Map<number, { x: number; y: number }>()\n private __lastTapTime = 0\n private __lastPinchDistance = 0\n private __dragStart: { x: number; y: number } | null = null\n private element: Element\n\n constructor(element: Element) {\n this.element = element\n this.init()\n }\n\n private init() {\n this.element.addEventListener('pointerdown', this.handlePointerDown as EventListener)\n }\n\n dispose() {\n this.element.removeEventListener('pointerdown', this.handlePointerDown as EventListener)\n this.removeGlobalListeners()\n }\n\n private handlePointerDown = (e: PointerEvent) => {\n e.preventDefault()\n const point = { x: e.clientX, y: e.clientY }\n this.__pointers.set(e.pointerId, point)\n\n this.addGlobalListeners()\n }\n\n private handlePointerMove = (e: PointerEvent) => {\n e.preventDefault()\n const point = { x: e.clientX, y: e.clientY }\n this.__pointers.set(e.pointerId, point)\n\n if (this.__pointers.size === 2) {\n this.handlePinch()\n } else if (this.__pointers.size === 1) {\n this.handleDrag(point, false)\n }\n }\n\n private handlePointerUp = (e: PointerEvent) => {\n const point = { x: e.clientX, y: e.clientY }\n this.__pointers.delete(e.pointerId)\n\n if (this.__dragStart) {\n this.handleDrag(point, true)\n }\n\n if (this.__pointers.size === 0) {\n this.removeGlobalListeners()\n this.__dragStart = null\n this.__lastPinchDistance = 0\n this.handleTap(point)\n }\n }\n\n private handlePinch() {\n const pointers = Array.from(this.__pointers.values()) as { x: number; y: number }[]\n const currentDistance = this.getDistance(pointers[0], pointers[1])\n\n if (this.__lastPinchDistance) {\n const scale = currentDistance / this.__lastPinchDistance\n const center = {\n x: (pointers[0].x + pointers[1].x) / 2,\n y: (pointers[0].y + pointers[1].y) / 2\n }\n\n this.element.dispatchEvent(\n new CustomEvent('pinch', {\n detail: { scale, centerX: center.x, centerY: center.y }\n })\n )\n }\n\n this.__lastPinchDistance = currentDistance\n }\n\n private handleDrag(point: { x: number; y: number }, end: boolean) {\n if (this.__dragStart) {\n const deltaX = point.x - this.__dragStart.x\n const deltaY = point.y - this.__dragStart.y\n\n this.element.dispatchEvent(\n new CustomEvent('drag', {\n detail: { deltaX, deltaY, clientX: point.x, clientY: point.y, end }\n })\n )\n\n if (end) {\n this.__dragStart = null\n } else {\n this.__dragStart = point\n }\n } else if (!end && this.__pointers.size === 1) {\n /* dragging을 시작하려면, pointer 개수가 1개인 것을 (지연)확인해야한다. */\n setTimeout(() => {\n if (this.__pointers.size === 1 && !this.__dragStart) {\n this.__dragStart = point\n }\n }, 30)\n }\n }\n\n private handleTap(point: { x: number; y: number }) {\n const currentTime = performance.now()\n const timeSinceLastTap = currentTime - this.__lastTapTime\n\n if (timeSinceLastTap < 300) {\n this.element.dispatchEvent(\n new CustomEvent('doubletap', {\n detail: { x: point.x, y: point.y }\n })\n )\n }\n\n this.__lastTapTime = currentTime\n }\n\n private getDistance(p1: { x: number; y: number }, p2: { x: number; y: number }): number {\n const dx = p1.x - p2.x\n const dy = p1.y - p2.y\n return Math.sqrt(dx * dx + dy * dy)\n }\n\n private addGlobalListeners() {\n document.addEventListener('pointermove', this.handlePointerMove as EventListener)\n document.addEventListener('pointerup', this.handlePointerUp as EventListener)\n document.addEventListener('pointercancel', this.handlePointerUp as EventListener)\n }\n\n private removeGlobalListeners() {\n document.removeEventListener('pointermove', this.handlePointerMove as EventListener)\n document.removeEventListener('pointerup', this.handlePointerUp as EventListener)\n document.removeEventListener('pointercancel', this.handlePointerUp as EventListener)\n }\n}\n"]}
@@ -21,4 +21,4 @@ export * from './cookie.js';
21
21
  export * from './number-parser.js';
22
22
  export * from './longpressable.js';
23
23
  export * from './decode-html.js';
24
- export * from './reactive-controllers';
24
+ export * from './reactive-controllers/index.js';
package/dist/src/index.js CHANGED
@@ -21,5 +21,5 @@ export * from './cookie.js';
21
21
  export * from './number-parser.js';
22
22
  export * from './longpressable.js';
23
23
  export * from './decode-html.js';
24
- export * from './reactive-controllers';
24
+ export * from './reactive-controllers/index.js';
25
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA,CAAC,kCAAkC;AACvE,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,wBAAwB,CAAA","sourcesContent":["export * from './sleep.js'\nexport * from './async-lock.js'\nexport * from './file-drop-helper.js'\nexport * from './context-path.js'\nexport * from './os.js'\nexport * from './swipe-listener.js'\nexport * from './fullscreen.js'\nexport * from './parse-jwt.js'\nexport * from './password-pattern.js'\nexport * from './closest-element.js'\nexport * from './detect-overflow.js' /* deprecated by 'has-overflow' */\nexport * from './has-overflow.js'\nexport * from './timecapsule/index.js'\nexport * from './clipboard.js'\nexport * from './format.js'\nexport * from './adjust-list-param.js'\nexport * from './is-unvalued.js'\nexport * from './stringify-bignum.js'\nexport * from './encode-form-params.js'\nexport * from './cookie.js'\nexport * from './number-parser.js'\nexport * from './longpressable.js'\nexport * from './decode-html.js'\n\nexport * from './reactive-controllers'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA,CAAC,kCAAkC;AACvE,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,wBAAwB,CAAA;AACtC,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,yBAAyB,CAAA;AACvC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,iCAAiC,CAAA","sourcesContent":["export * from './sleep.js'\nexport * from './async-lock.js'\nexport * from './file-drop-helper.js'\nexport * from './context-path.js'\nexport * from './os.js'\nexport * from './swipe-listener.js'\nexport * from './fullscreen.js'\nexport * from './parse-jwt.js'\nexport * from './password-pattern.js'\nexport * from './closest-element.js'\nexport * from './detect-overflow.js' /* deprecated by 'has-overflow' */\nexport * from './has-overflow.js'\nexport * from './timecapsule/index.js'\nexport * from './clipboard.js'\nexport * from './format.js'\nexport * from './adjust-list-param.js'\nexport * from './is-unvalued.js'\nexport * from './stringify-bignum.js'\nexport * from './encode-form-params.js'\nexport * from './cookie.js'\nexport * from './number-parser.js'\nexport * from './longpressable.js'\nexport * from './decode-html.js'\n\nexport * from './reactive-controllers/index.js'\n"]}