@tamagui/react-native-use-responder-events 2.0.0-rc.9 → 2.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 (74) hide show
  1. package/dist/cjs/ResponderSystem.cjs +293 -152
  2. package/dist/cjs/ResponderSystem.native.js +312 -170
  3. package/dist/cjs/ResponderSystem.native.js.map +1 -1
  4. package/dist/cjs/ResponderTouchHistoryStore.cjs +97 -30
  5. package/dist/cjs/ResponderTouchHistoryStore.native.js +144 -68
  6. package/dist/cjs/ResponderTouchHistoryStore.native.js.map +1 -1
  7. package/dist/cjs/createResponderEvent.cjs +66 -52
  8. package/dist/cjs/createResponderEvent.native.js +51 -39
  9. package/dist/cjs/createResponderEvent.native.js.map +1 -1
  10. package/dist/cjs/index.cjs +7 -5
  11. package/dist/cjs/index.native.js +7 -5
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/types.cjs +26 -24
  14. package/dist/cjs/types.native.js +26 -24
  15. package/dist/cjs/types.native.js.map +1 -1
  16. package/dist/cjs/useResponderEvents.cjs +49 -37
  17. package/dist/cjs/useResponderEvents.native.js +53 -42
  18. package/dist/cjs/useResponderEvents.native.js.map +1 -1
  19. package/dist/cjs/utils.cjs +101 -58
  20. package/dist/cjs/utils.native.js +104 -57
  21. package/dist/cjs/utils.native.js.map +1 -1
  22. package/dist/esm/ResponderSystem.mjs +276 -137
  23. package/dist/esm/ResponderSystem.mjs.map +1 -1
  24. package/dist/esm/ResponderSystem.native.js +295 -155
  25. package/dist/esm/ResponderSystem.native.js.map +1 -1
  26. package/dist/esm/ResponderTouchHistoryStore.mjs +85 -20
  27. package/dist/esm/ResponderTouchHistoryStore.mjs.map +1 -1
  28. package/dist/esm/ResponderTouchHistoryStore.native.js +132 -58
  29. package/dist/esm/ResponderTouchHistoryStore.native.js.map +1 -1
  30. package/dist/esm/createResponderEvent.mjs +54 -42
  31. package/dist/esm/createResponderEvent.mjs.map +1 -1
  32. package/dist/esm/createResponderEvent.native.js +38 -28
  33. package/dist/esm/createResponderEvent.native.js.map +1 -1
  34. package/dist/esm/index.js +1 -1
  35. package/dist/esm/index.js.map +1 -6
  36. package/dist/esm/types.mjs +14 -14
  37. package/dist/esm/types.mjs.map +1 -1
  38. package/dist/esm/types.native.js +14 -14
  39. package/dist/esm/types.native.js.map +1 -1
  40. package/dist/esm/useResponderEvents.mjs +21 -11
  41. package/dist/esm/useResponderEvents.mjs.map +1 -1
  42. package/dist/esm/useResponderEvents.native.js +25 -16
  43. package/dist/esm/useResponderEvents.native.js.map +1 -1
  44. package/dist/esm/utils.mjs +89 -48
  45. package/dist/esm/utils.mjs.map +1 -1
  46. package/dist/esm/utils.native.js +92 -47
  47. package/dist/esm/utils.native.js.map +1 -1
  48. package/package.json +4 -3
  49. package/dist/cjs/ResponderSystem.js +0 -205
  50. package/dist/cjs/ResponderSystem.js.map +0 -6
  51. package/dist/cjs/ResponderTouchHistoryStore.js +0 -117
  52. package/dist/cjs/ResponderTouchHistoryStore.js.map +0 -6
  53. package/dist/cjs/createResponderEvent.js +0 -121
  54. package/dist/cjs/createResponderEvent.js.map +0 -6
  55. package/dist/cjs/index.js +0 -15
  56. package/dist/cjs/index.js.map +0 -6
  57. package/dist/cjs/types.js +0 -58
  58. package/dist/cjs/types.js.map +0 -6
  59. package/dist/cjs/useResponderEvents.js +0 -81
  60. package/dist/cjs/useResponderEvents.js.map +0 -6
  61. package/dist/cjs/utils.js +0 -102
  62. package/dist/cjs/utils.js.map +0 -6
  63. package/dist/esm/ResponderSystem.js +0 -207
  64. package/dist/esm/ResponderSystem.js.map +0 -6
  65. package/dist/esm/ResponderTouchHistoryStore.js +0 -101
  66. package/dist/esm/ResponderTouchHistoryStore.js.map +0 -6
  67. package/dist/esm/createResponderEvent.js +0 -105
  68. package/dist/esm/createResponderEvent.js.map +0 -6
  69. package/dist/esm/types.js +0 -42
  70. package/dist/esm/types.js.map +0 -6
  71. package/dist/esm/useResponderEvents.js +0 -59
  72. package/dist/esm/useResponderEvents.js.map +0 -6
  73. package/dist/esm/utils.js +0 -86
  74. package/dist/esm/utils.js.map +0 -6
@@ -1,101 +0,0 @@
1
- import { isEndish, isMoveish, isStartish } from "./types";
2
- class ResponderTouchHistoryStore {
3
- _touchHistory = {
4
- touchBank: [],
5
- //Array<TouchRecord>
6
- numberActiveTouches: 0,
7
- // If there is only one active touch, we remember its location. This prevents
8
- // us having to loop through all of the touches all the time in the most
9
- // common case.
10
- indexOfSingleActiveTouch: -1,
11
- mostRecentTimeStamp: 0
12
- };
13
- recordTouchTrack(topLevelType, nativeEvent) {
14
- const touchHistory = this._touchHistory;
15
- if (isMoveish(topLevelType))
16
- nativeEvent.changedTouches.forEach((touch) => recordTouchMove(touch, touchHistory));
17
- else if (isStartish(topLevelType))
18
- nativeEvent.changedTouches.forEach((touch) => recordTouchStart(touch, touchHistory)), touchHistory.numberActiveTouches = nativeEvent.touches.length, touchHistory.numberActiveTouches === 1 && (touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier);
19
- else if (isEndish(topLevelType) && (nativeEvent.changedTouches.forEach((touch) => recordTouchEnd(touch, touchHistory)), touchHistory.numberActiveTouches = nativeEvent.touches.length, touchHistory.numberActiveTouches === 1)) {
20
- const { touchBank } = touchHistory;
21
- for (let i = 0; i < touchBank.length; i++)
22
- if (touchBank[i]?.touchActive) {
23
- touchHistory.indexOfSingleActiveTouch = i;
24
- break;
25
- }
26
- process.env.NODE_ENV === "development" && (touchBank[touchHistory.indexOfSingleActiveTouch]?.touchActive || console.error("Cannot find single active touch."));
27
- }
28
- }
29
- get touchHistory() {
30
- return this._touchHistory;
31
- }
32
- }
33
- const MAX_TOUCH_BANK = 20;
34
- function timestampForTouch(touch) {
35
- return touch.timeStamp || touch.timestamp;
36
- }
37
- function createTouchRecord(touch) {
38
- return {
39
- touchActive: !0,
40
- startPageX: touch.pageX,
41
- startPageY: touch.pageY,
42
- startTimeStamp: timestampForTouch(touch),
43
- currentPageX: touch.pageX,
44
- currentPageY: touch.pageY,
45
- currentTimeStamp: timestampForTouch(touch),
46
- previousPageX: touch.pageX,
47
- previousPageY: touch.pageY,
48
- previousTimeStamp: timestampForTouch(touch)
49
- };
50
- }
51
- function resetTouchRecord(touchRecord, touch) {
52
- touchRecord.touchActive = !0, touchRecord.startPageX = touch.pageX, touchRecord.startPageY = touch.pageY, touchRecord.startTimeStamp = timestampForTouch(touch), touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchRecord.previousPageX = touch.pageX, touchRecord.previousPageY = touch.pageY, touchRecord.previousTimeStamp = timestampForTouch(touch);
53
- }
54
- function getTouchIdentifier({ identifier }) {
55
- return identifier == null && console.error("Touch object is missing identifier."), process.env.NODE_ENV === "development" && identifier > MAX_TOUCH_BANK && console.error(
56
- "Touch identifier %s is greater than maximum supported %s which causes performance issues backfilling array locations for all of the indices.",
57
- identifier,
58
- MAX_TOUCH_BANK
59
- ), identifier;
60
- }
61
- function recordTouchStart(touch, touchHistory) {
62
- const identifier = getTouchIdentifier(touch), touchRecord = touchHistory.touchBank[identifier];
63
- touchRecord ? resetTouchRecord(touchRecord, touch) : touchHistory.touchBank[identifier] = createTouchRecord(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch);
64
- }
65
- function recordTouchMove(touch, touchHistory) {
66
- const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
67
- touchRecord ? (touchRecord.touchActive = !0, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch)) : console.warn(
68
- `Cannot record touch move without a touch start.
69
- `,
70
- `Touch Move: ${printTouch(touch)}
71
- `,
72
- `Touch Bank: ${printTouchBank(touchHistory)}`
73
- );
74
- }
75
- function recordTouchEnd(touch, touchHistory) {
76
- const touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];
77
- touchRecord ? (touchRecord.touchActive = !1, touchRecord.previousPageX = touchRecord.currentPageX, touchRecord.previousPageY = touchRecord.currentPageY, touchRecord.previousTimeStamp = touchRecord.currentTimeStamp, touchRecord.currentPageX = touch.pageX, touchRecord.currentPageY = touch.pageY, touchRecord.currentTimeStamp = timestampForTouch(touch), touchHistory.mostRecentTimeStamp = timestampForTouch(touch)) : console.warn(
78
- `Cannot record touch end without a touch start.
79
- `,
80
- `Touch End: ${printTouch(touch)}
81
- `,
82
- `Touch Bank: ${printTouchBank(touchHistory)}`
83
- );
84
- }
85
- function printTouch(touch) {
86
- return JSON.stringify({
87
- identifier: touch.identifier,
88
- pageX: touch.pageX,
89
- pageY: touch.pageY,
90
- timestamp: timestampForTouch(touch)
91
- });
92
- }
93
- function printTouchBank(touchHistory) {
94
- const { touchBank } = touchHistory;
95
- let printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));
96
- return touchBank.length > MAX_TOUCH_BANK && (printed += ` (original size: ${touchBank.length})`), printed;
97
- }
98
- export {
99
- ResponderTouchHistoryStore
100
- };
101
- //# sourceMappingURL=ResponderTouchHistoryStore.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/ResponderTouchHistoryStore.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }
@@ -1,105 +0,0 @@
1
- import { getBoundingClientRect } from "./utils";
2
- const emptyFunction = () => {
3
- }, emptyObject = {}, emptyArray = [];
4
- function normalizeIdentifier(identifier) {
5
- return identifier > 20 ? identifier % 20 : identifier;
6
- }
7
- function createResponderEvent(domEvent, responderTouchHistoryStore) {
8
- let rect, propagationWasStopped = !1, changedTouches, touches;
9
- const domEventChangedTouches = domEvent.changedTouches, domEventType = domEvent.type, metaKey = domEvent.metaKey === !0, shiftKey = domEvent.shiftKey === !0, force = domEventChangedTouches?.[0].force || 0, identifier = normalizeIdentifier(domEventChangedTouches?.[0].identifier || 0), clientX = domEventChangedTouches?.[0].clientX || domEvent.clientX, clientY = domEventChangedTouches?.[0].clientY || domEvent.clientY, pageX = domEventChangedTouches?.[0].pageX || domEvent.pageX, pageY = domEventChangedTouches?.[0].pageY || domEvent.pageY, preventDefault = typeof domEvent.preventDefault == "function" ? domEvent.preventDefault.bind(domEvent) : emptyFunction, timestamp = domEvent.timeStamp;
10
- function normalizeTouches(touches2) {
11
- return Array.prototype.slice.call(touches2).map((touch) => ({
12
- force: touch.force,
13
- identifier: normalizeIdentifier(touch.identifier),
14
- get locationX() {
15
- return locationX(touch.clientX);
16
- },
17
- get locationY() {
18
- return locationY(touch.clientY);
19
- },
20
- pageX: touch.pageX,
21
- pageY: touch.pageY,
22
- target: touch.target,
23
- timestamp
24
- }));
25
- }
26
- if (domEventChangedTouches != null)
27
- changedTouches = normalizeTouches(domEventChangedTouches), touches = normalizeTouches(domEvent.touches);
28
- else {
29
- const emulatedTouches = [
30
- {
31
- force,
32
- identifier,
33
- get locationX() {
34
- return locationX(clientX);
35
- },
36
- get locationY() {
37
- return locationY(clientY);
38
- },
39
- pageX,
40
- pageY,
41
- target: domEvent.target,
42
- timestamp
43
- }
44
- ];
45
- changedTouches = emulatedTouches, touches = domEventType === "mouseup" || domEventType === "dragstart" ? emptyArray : emulatedTouches;
46
- }
47
- const responderEvent = {
48
- bubbles: !0,
49
- cancelable: !0,
50
- // `currentTarget` is set before dispatch
51
- currentTarget: null,
52
- defaultPrevented: domEvent.defaultPrevented,
53
- dispatchConfig: emptyObject,
54
- eventPhase: domEvent.eventPhase,
55
- isDefaultPrevented() {
56
- return domEvent.defaultPrevented;
57
- },
58
- isPropagationStopped() {
59
- return propagationWasStopped;
60
- },
61
- isTrusted: domEvent.isTrusted,
62
- nativeEvent: {
63
- altKey: !1,
64
- ctrlKey: !1,
65
- metaKey,
66
- shiftKey,
67
- changedTouches,
68
- force,
69
- identifier,
70
- get locationX() {
71
- return locationX(clientX);
72
- },
73
- get locationY() {
74
- return locationY(clientY);
75
- },
76
- pageX,
77
- pageY,
78
- target: domEvent.target,
79
- timestamp,
80
- touches,
81
- type: domEventType
82
- },
83
- persist: emptyFunction,
84
- preventDefault,
85
- stopPropagation() {
86
- propagationWasStopped = !0;
87
- },
88
- target: domEvent.target,
89
- timeStamp: timestamp,
90
- touchHistory: responderTouchHistoryStore.touchHistory
91
- };
92
- function locationX(x) {
93
- if (rect = rect || getBoundingClientRect(responderEvent.currentTarget), rect)
94
- return x - rect.left;
95
- }
96
- function locationY(y) {
97
- if (rect = rect || getBoundingClientRect(responderEvent.currentTarget), rect)
98
- return y - rect.top;
99
- }
100
- return responderEvent;
101
- }
102
- export {
103
- createResponderEvent
104
- };
105
- //# sourceMappingURL=createResponderEvent.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/createResponderEvent.ts"],
4
- "mappings": "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",
5
- "names": ["touches"]
6
- }
package/dist/esm/types.js DELETED
@@ -1,42 +0,0 @@
1
- const BLUR = "blur", CONTEXT_MENU = "contextmenu", FOCUS_OUT = "focusout", MOUSE_DOWN = "mousedown", MOUSE_MOVE = "mousemove", MOUSE_UP = "mouseup", MOUSE_CANCEL = "dragstart", TOUCH_START = "touchstart", TOUCH_MOVE = "touchmove", TOUCH_END = "touchend", TOUCH_CANCEL = "touchcancel", SCROLL = "scroll", SELECT = "select", SELECTION_CHANGE = "selectionchange";
2
- function isStartish(eventType) {
3
- return eventType === TOUCH_START || eventType === MOUSE_DOWN;
4
- }
5
- function isMoveish(eventType) {
6
- return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;
7
- }
8
- function isEndish(eventType) {
9
- return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);
10
- }
11
- function isCancelish(eventType) {
12
- return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;
13
- }
14
- function isScroll(eventType) {
15
- return eventType === SCROLL;
16
- }
17
- function isSelectionChange(eventType) {
18
- return eventType === SELECT || eventType === SELECTION_CHANGE;
19
- }
20
- export {
21
- BLUR,
22
- CONTEXT_MENU,
23
- FOCUS_OUT,
24
- MOUSE_CANCEL,
25
- MOUSE_DOWN,
26
- MOUSE_MOVE,
27
- MOUSE_UP,
28
- SCROLL,
29
- SELECT,
30
- SELECTION_CHANGE,
31
- TOUCH_CANCEL,
32
- TOUCH_END,
33
- TOUCH_MOVE,
34
- TOUCH_START,
35
- isCancelish,
36
- isEndish,
37
- isMoveish,
38
- isScroll,
39
- isSelectionChange,
40
- isStartish
41
- };
42
- //# sourceMappingURL=types.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/types.ts"],
4
- "mappings": "AAwCO,MAAM,OAAO,QACP,eAAe,eACf,YAAY,YACZ,aAAa,aACb,aAAa,aACb,WAAW,WACX,eAAe,aACf,cAAc,cACd,aAAa,aACb,YAAY,YACZ,eAAe,eACf,SAAS,UACT,SAAS,UACT,mBAAmB;AAEzB,SAAS,WAAW,WAA6B;AACtD,SAAO,cAAc,eAAe,cAAc;AACpD;AAEO,SAAS,UAAU,WAA6B;AACrD,SAAO,cAAc,cAAc,cAAc;AACnD;AAEO,SAAS,SAAS,WAA6B;AACpD,SAAO,cAAc,aAAa,cAAc,YAAY,YAAY,SAAS;AACnF;AAEO,SAAS,YAAY,WAA6B;AACvD,SAAO,cAAc,gBAAgB,cAAc;AACrD;AAEO,SAAS,SAAS,WAA6B;AACpD,SAAO,cAAc;AACvB;AAEO,SAAS,kBAAkB,WAA6B;AAC7D,SAAO,cAAc,UAAU,cAAc;AAC/C;",
5
- "names": []
6
- }
@@ -1,59 +0,0 @@
1
- import * as React from "react";
2
- import * as ResponderSystem from "./ResponderSystem";
3
- export * from "./utils";
4
- const emptyObject = {}, Attached = /* @__PURE__ */ new WeakMap(), Ids = /* @__PURE__ */ new WeakMap();
5
- function useResponderEvents(hostRef, configIn = emptyObject) {
6
- const config = getResponderConfigIfDefined(configIn), node = hostRef?.current?.host || hostRef?.current;
7
- React.useEffect(() => {
8
- if (config === emptyObject) return;
9
- ResponderSystem.attachListeners(), Ids.has(hostRef) || Ids.set(hostRef, `${Math.random()}`);
10
- const id = Ids.get(hostRef);
11
- return ResponderSystem.addNode(id, node, config), Attached.set(hostRef, !0), () => {
12
- ResponderSystem.removeNode(node), Attached.set(hostRef, !1);
13
- };
14
- }, [config, hostRef]), process.env.NODE_ENV === "development" && (React.useDebugValue({
15
- isResponder: node === ResponderSystem.getResponderNode()
16
- }), React.useDebugValue(config));
17
- }
18
- function getResponderConfigIfDefined({
19
- onMoveShouldSetResponder,
20
- onMoveShouldSetResponderCapture,
21
- onResponderEnd,
22
- onResponderGrant,
23
- onResponderMove,
24
- onResponderReject,
25
- onResponderRelease,
26
- onResponderStart,
27
- onResponderTerminate,
28
- onResponderTerminationRequest,
29
- onScrollShouldSetResponder,
30
- onScrollShouldSetResponderCapture,
31
- onSelectionChangeShouldSetResponder,
32
- onSelectionChangeShouldSetResponderCapture,
33
- onStartShouldSetResponder,
34
- onStartShouldSetResponderCapture
35
- }) {
36
- return onMoveShouldSetResponder || onMoveShouldSetResponderCapture || onResponderEnd || onResponderGrant || onResponderMove || onResponderReject || onResponderRelease || onResponderStart || onResponderTerminate || onResponderTerminationRequest || onScrollShouldSetResponder || onScrollShouldSetResponderCapture || onSelectionChangeShouldSetResponder || onSelectionChangeShouldSetResponderCapture || onStartShouldSetResponder || onStartShouldSetResponderCapture ? {
37
- onMoveShouldSetResponder,
38
- onMoveShouldSetResponderCapture,
39
- onResponderEnd,
40
- onResponderGrant,
41
- onResponderMove,
42
- onResponderReject,
43
- onResponderRelease,
44
- onResponderStart,
45
- onResponderTerminate,
46
- onResponderTerminationRequest,
47
- onScrollShouldSetResponder,
48
- onScrollShouldSetResponderCapture,
49
- onSelectionChangeShouldSetResponder,
50
- onSelectionChangeShouldSetResponderCapture,
51
- onStartShouldSetResponder,
52
- onStartShouldSetResponderCapture
53
- } : emptyObject;
54
- }
55
- export {
56
- getResponderConfigIfDefined,
57
- useResponderEvents
58
- };
59
- //# sourceMappingURL=useResponderEvents.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/useResponderEvents.ts"],
4
- "mappings": "AAMA,YAAY,WAAW;AAEvB,YAAY,qBAAqB;AAEjC,cAAc;AAEd,MAAM,cAAc,CAAC,GAEf,WAAW,oBAAI,QAAsB,GACrC,MAAM,oBAAI,QAAqB;AAE9B,SAAS,mBACd,SACA,WAA4C,aAC5C;AACA,QAAM,SAAS,4BAA4B,QAAQ,GAE7C,OAAO,SAAS,SAAS,QAAQ,SAAS;AAGhD,QAAM,UAAU,MAAM;AACpB,QAAI,WAAW,YAAa;AAE5B,oBAAgB,gBAAgB,GAE3B,IAAI,IAAI,OAAO,KAClB,IAAI,IAAI,SAAS,GAAG,KAAK,OAAO,CAAC,EAAE;AAErC,UAAM,KAAK,IAAI,IAAI,OAAO;AAE1B,2BAAgB,QAAQ,IAAI,MAAM,MAAM,GACxC,SAAS,IAAI,SAAS,EAAI,GAEnB,MAAM;AACX,sBAAgB,WAAW,IAAI,GAC/B,SAAS,IAAI,SAAS,EAAK;AAAA,IAC7B;AAAA,EACF,GAAG,CAAC,QAAQ,OAAO,CAAC,GAEhB,QAAQ,IAAI,aAAa,kBAC3B,MAAM,cAAc;AAAA,IAClB,aAAa,SAAS,gBAAgB,iBAAiB;AAAA,EACzD,CAAC,GACD,MAAM,cAAc,MAAM;AAE9B;AAEO,SAAS,4BAA4B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAqE;AACnE,SAAO,4BACL,mCACA,kBACA,oBACA,mBACA,qBACA,sBACA,oBACA,wBACA,iCACA,8BACA,qCACA,uCACA,8CACA,6BACA,mCACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA;AACN;",
5
- "names": []
6
- }
package/dist/esm/utils.js DELETED
@@ -1,86 +0,0 @@
1
- const keyName = "__reactResponderId", canUseDOM = !!(typeof window < "u" && window.document && window.document.createElement), getBoundingClientRect = (node) => {
2
- if (node && node.nodeType === 1 && node.getBoundingClientRect)
3
- return node.getBoundingClientRect();
4
- };
5
- function getEventPath(domEvent) {
6
- if (domEvent.type === "selectionchange") {
7
- const target = window.getSelection()?.anchorNode;
8
- return composedPathFallback(target);
9
- }
10
- return domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);
11
- }
12
- function composedPathFallback(target) {
13
- const path = [];
14
- for (; target != null && target !== document.body; )
15
- path.push(target), target = target.parentNode;
16
- return path;
17
- }
18
- function getResponderId(node) {
19
- return node != null ? node[keyName] : null;
20
- }
21
- function setResponderId(node, id) {
22
- node != null && (node[keyName] = id);
23
- }
24
- function getResponderPaths(domEvent) {
25
- const idPath = [], nodePath = [], eventPath = getEventPath(domEvent);
26
- for (let i = 0; i < eventPath.length; i++) {
27
- const node = eventPath[i], id = getResponderId(node);
28
- id != null && (idPath.push(id), nodePath.push(node));
29
- }
30
- return { idPath, nodePath };
31
- }
32
- function getLowestCommonAncestor(pathA, pathB) {
33
- let pathALength = pathA.length, pathBLength = pathB.length;
34
- if (
35
- // If either path is empty
36
- pathALength === 0 || pathBLength === 0 || // If the last elements aren't the same there can't be a common ancestor
37
- // that is connected to the responder system
38
- pathA[pathALength - 1] !== pathB[pathBLength - 1]
39
- )
40
- return null;
41
- let itemA = pathA[0], indexA = 0, itemB = pathB[0], indexB = 0;
42
- pathALength - pathBLength > 0 && (indexA = pathALength - pathBLength, itemA = pathA[indexA], pathALength = pathBLength), pathBLength - pathALength > 0 && (indexB = pathBLength - pathALength, itemB = pathB[indexB], pathBLength = pathALength);
43
- let depth = pathALength;
44
- for (; depth--; ) {
45
- if (itemA === itemB)
46
- return itemA;
47
- itemA = pathA[indexA++], itemB = pathB[indexB++];
48
- }
49
- return null;
50
- }
51
- function hasTargetTouches(target, touches) {
52
- if (!touches || touches.length === 0)
53
- return !1;
54
- for (let i = 0; i < touches.length; i++) {
55
- const node = touches[i].target;
56
- if (node != null && target.contains(node))
57
- return !0;
58
- }
59
- return !1;
60
- }
61
- function hasValidSelection(domEvent) {
62
- return domEvent.type === "selectionchange" ? isSelectionValid() : domEvent.type === "select";
63
- }
64
- function isPrimaryPointerDown(domEvent) {
65
- const { altKey, button, buttons, ctrlKey, type } = domEvent, isTouch = type === "touchstart" || type === "touchmove", isPrimaryMouseDown = type === "mousedown" && (button === 0 || buttons === 1), isPrimaryMouseMove = type === "mousemove" && buttons === 1, noModifiers = altKey === !1 && ctrlKey === !1;
66
- return !!(isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers);
67
- }
68
- function isSelectionValid() {
69
- const selection = window.getSelection();
70
- if (!selection) return !1;
71
- const string = selection.toString(), anchorNode = selection.anchorNode, focusNode = selection.focusNode, isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;
72
- return string.length >= 1 && string !== `
73
- ` && !!isTextNode;
74
- }
75
- export {
76
- canUseDOM,
77
- getBoundingClientRect,
78
- getLowestCommonAncestor,
79
- getResponderPaths,
80
- hasTargetTouches,
81
- hasValidSelection,
82
- isPrimaryPointerDown,
83
- isSelectionValid,
84
- setResponderId
85
- };
86
- //# sourceMappingURL=utils.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils.ts"],
4
- "mappings": "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",
5
- "names": []
6
- }