@ngutil/aria 0.0.80 → 0.0.82
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/fesm2022/ngutil-aria.mjs +88 -65
- package/fesm2022/ngutil-aria.mjs.map +1 -1
- package/focus/focus-state.directive.d.ts +1 -2
- package/focus/focus.service.d.ts +1 -1
- package/focus/focusable.directive.d.ts +0 -1
- package/package.json +7 -9
- package/ui-state/abstract.d.ts +1 -1
- package/ui-state/dirty.directive.d.ts +9 -0
- package/ui-state/index.d.ts +5 -3
- package/ui-state/progress-state.d.ts +1 -1
- package/esm2022/activity/activity.service.mjs +0 -49
- package/esm2022/activity/index.mjs +0 -2
- package/esm2022/focus/focus-state.directive.mjs +0 -63
- package/esm2022/focus/focus-trap.directive.mjs +0 -25
- package/esm2022/focus/focus.service.mjs +0 -145
- package/esm2022/focus/focusable.directive.mjs +0 -52
- package/esm2022/focus/index.mjs +0 -5
- package/esm2022/gestures/gesture-drag.mjs +0 -81
- package/esm2022/gestures/gesture-event.mjs +0 -44
- package/esm2022/gestures/gesture-longtap.mjs +0 -34
- package/esm2022/gestures/gesture-tap.mjs +0 -37
- package/esm2022/gestures/gesture.mjs +0 -66
- package/esm2022/gestures/gesture.service.mjs +0 -279
- package/esm2022/gestures/index.mjs +0 -7
- package/esm2022/index.mjs +0 -6
- package/esm2022/keystroke/index.mjs +0 -2
- package/esm2022/keystroke/keystroke.service.mjs +0 -92
- package/esm2022/ngutil-aria.mjs +0 -5
- package/esm2022/ui-state/abstract.mjs +0 -41
- package/esm2022/ui-state/busy.directive.mjs +0 -27
- package/esm2022/ui-state/disabled.directive.mjs +0 -28
- package/esm2022/ui-state/index.mjs +0 -25
- package/esm2022/ui-state/progress-state.mjs +0 -141
- package/esm2022/ui-state/readonly.directive.mjs +0 -27
- package/esm2022/ui-state/selector.mjs +0 -308
- package/esm2022/ui-state/ui-state.mjs +0 -91
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { map, tap } from "rxjs";
|
|
2
|
-
import { Gesture } from "./gesture";
|
|
3
|
-
export class GestureDragImpl extends Gesture {
|
|
4
|
-
constructor(options) {
|
|
5
|
-
super({ includeScrollDistance: true, ...options });
|
|
6
|
-
this.type = "gesture-drag";
|
|
7
|
-
if (this.horizontal == null && this.vertical == null) {
|
|
8
|
-
this.horizontal = true;
|
|
9
|
-
this.vertical = true;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
capture(events) {
|
|
13
|
-
return events.pipe(map(state => {
|
|
14
|
-
if (Math.abs(state.pointers[0].distance.x) > this.distanceInclusion) {
|
|
15
|
-
return this.horizontal ? 3 /* GestureCaptureState.Maybe */ : 2 /* GestureCaptureState.Skip */;
|
|
16
|
-
}
|
|
17
|
-
if (Math.abs(state.pointers[0].distance.y) > this.distanceInclusion) {
|
|
18
|
-
return this.vertical ? 3 /* GestureCaptureState.Maybe */ : 2 /* GestureCaptureState.Skip */;
|
|
19
|
-
}
|
|
20
|
-
return 1 /* GestureCaptureState.Pending */;
|
|
21
|
-
}));
|
|
22
|
-
}
|
|
23
|
-
handle(events) {
|
|
24
|
-
const updater = this.horizontal && this.vertical
|
|
25
|
-
? updateAnyDirection
|
|
26
|
-
: this.horizontal
|
|
27
|
-
? updateHorizontalOnly
|
|
28
|
-
: updateVerticalOnly;
|
|
29
|
-
return super.handle(events).pipe(tap((updater)));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
function updateVerticalOnly(event) {
|
|
33
|
-
const pointer = event.pointers[0];
|
|
34
|
-
pointer.distance.x = 0;
|
|
35
|
-
pointer.direction.x = 0;
|
|
36
|
-
pointer.current.x = pointer.start.x;
|
|
37
|
-
updateEvent(event, updateByScrollDistanceVertical);
|
|
38
|
-
}
|
|
39
|
-
function updateHorizontalOnly(event) {
|
|
40
|
-
const pointer = event.pointers[0];
|
|
41
|
-
pointer.distance.y = 0;
|
|
42
|
-
pointer.direction.y = 0;
|
|
43
|
-
pointer.current.y = pointer.start.y;
|
|
44
|
-
updateEvent(event, updateByScrollDistanceHorizontal);
|
|
45
|
-
}
|
|
46
|
-
function updateAnyDirection(event) {
|
|
47
|
-
updateEvent(event, updateByScrollDistanceBoth);
|
|
48
|
-
}
|
|
49
|
-
function updateEvent(event, scrollUpdate) {
|
|
50
|
-
event.moveBy = { ...event.pointers[0].distance };
|
|
51
|
-
scrollUpdate(event);
|
|
52
|
-
}
|
|
53
|
-
function updateByScrollDistanceVertical(event) {
|
|
54
|
-
const sd = event.scrollDistance;
|
|
55
|
-
if (sd == null) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
event.moveBy.y += sd.y;
|
|
59
|
-
}
|
|
60
|
-
function updateByScrollDistanceHorizontal(event) {
|
|
61
|
-
const sd = event.scrollDistance;
|
|
62
|
-
if (sd == null) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
event.moveBy.x += sd.x;
|
|
66
|
-
}
|
|
67
|
-
function updateByScrollDistanceBoth(event) {
|
|
68
|
-
const sd = event.scrollDistance;
|
|
69
|
-
if (sd == null) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
event.moveBy.x += sd.x;
|
|
73
|
-
event.moveBy.y += sd.y;
|
|
74
|
-
}
|
|
75
|
-
export function gestureDrag(options) {
|
|
76
|
-
return new GestureDragImpl(options);
|
|
77
|
-
}
|
|
78
|
-
export const GestureDrag = gestureDrag();
|
|
79
|
-
export const GestureDragHorizontal = gestureDrag({ horizontal: true, vertical: false });
|
|
80
|
-
export const GestureDragVertical = gestureDrag({ horizontal: false, vertical: true });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS1kcmFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXJpYS9zcmMvZ2VzdHVyZXMvZ2VzdHVyZS1kcmFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBTTNDLE9BQU8sRUFBRSxPQUFPLEVBQXVDLE1BQU0sV0FBVyxDQUFBO0FBU3hFLE1BQU0sT0FBTyxlQUFpRSxTQUFRLE9BQVU7SUFLNUYsWUFBWSxPQUE0QjtRQUNwQyxLQUFLLENBQUMsRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFBO1FBTDdDLFNBQUksR0FBRyxjQUFjLENBQUE7UUFPMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFBO1lBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFBO1FBQ3hCLENBQUM7SUFDTCxDQUFDO0lBRVEsT0FBTyxDQUFDLE1BQWlDO1FBQzlDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDZCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2xFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLG1DQUEyQixDQUFDLGlDQUF5QixDQUFBO1lBQ2pGLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxD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QUFDO0lBQ0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQzFCLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQTRCO0lBQ3BELE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdkMsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxXQUFXLEVBQUUsQ0FBQTtBQUN4QyxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO0FBQ3ZGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIHRhcCB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgTXV0YWJsZSB9IGZyb20gXCJ1dGlsaXR5LXR5cGVzXCJcblxuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEdlc3R1cmUsIEdlc3R1cmVDYXB0dXJlU3RhdGUsIEdlc3R1cmVPcHRpb25zIH0gZnJvbSBcIi4vZ2VzdHVyZVwiXG5pbXBvcnQgeyBHZXN0dXJlRGV0YWlsIH0gZnJvbSBcIi4vZ2VzdHVyZS1ldmVudFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VzdHVyZURyYWdEZXRhaWwgZXh0ZW5kcyBHZXN0dXJlRGV0YWlsIHtcbiAgICBtb3ZlQnk6IFBvc2l0aW9uXG59XG5cbmV4cG9ydCB0eXBlIEdlc3R1cmVEcmFnT3B0aW9ucyA9IEdlc3R1cmVPcHRpb25zPEdlc3R1cmVEcmFnSW1wbD5cblxuZXhwb3J0IGNsYXNzIEdlc3R1cmVEcmFnSW1wbDxUIGV4dGVuZHMgR2VzdHVyZURyYWdEZXRhaWwgPSBHZXN0dXJlRHJhZ0RldGFpbD4gZXh0ZW5kcyBHZXN0dXJlPFQ+IHtcbiAgICByZWFkb25seSB0eXBlID0gXCJnZXN0dXJlLWRyYWdcIlxuICAgIHJlYWRvbmx5IGhvcml6b250YWw/OiBib29sZWFuXG4gICAgcmVhZG9ubHkgdmVydGljYWw/OiBib29sZWFuXG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogR2VzdHVyZURyYWdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHsgaW5jbHVkZVNjcm9sbERpc3RhbmNlOiB0cnVlLCAuLi5vcHRpb25zIH0pXG5cbiAgICAgICAgaWYgKHRoaXMuaG9yaXpvbnRhbCA9PSBudWxsICYmIHRoaXMudmVydGljYWwgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsID0gdHJ1ZVxuICAgICAgICAgICAgdGhpcy52ZXJ0aWNhbCA9IHRydWVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGNhcHR1cmUoZXZlbnRzOiBPYnNlcnZhYmxlPEdlc3R1cmVEZXRhaWw+KTogT2JzZXJ2YWJsZTxHZXN0dXJlQ2FwdHVyZVN0YXRlPiB7XG4gICAgICAgIHJldHVybiBldmVudHMucGlwZShcbiAgICAgICAgICAgIG1hcChzdGF0ZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKHN0YXRlLnBvaW50ZXJzWzBdLmRpc3RhbmNlLngpID4gdGhpcy5kaXN0YW5jZUluY2x1c2lvbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ob3Jpem9udGFsID8gR2VzdHVyZUNhcHR1cmVTdGF0ZS5NYXliZSA6IEdlc3R1cmVDYXB0dXJlU3RhdGUuU2tpcFxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChNYXRoLmFicyhzdGF0ZS5wb2ludGVyc1swXS5kaXN0YW5jZS55KSA+IHRoaXMuZGlzdGFuY2VJbmNsdXNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmVydGljYWwgPyBHZXN0dXJlQ2FwdHVyZVN0YXRlLk1heWJlIDogR2VzdHVyZUNhcHR1cmVTdGF0ZS5Ta2lwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmdcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBvdmVycmlkZSBoYW5kbGUoZXZlbnRzOiBPYnNlcnZhYmxlPEdlc3R1cmVEZXRhaWw+KSB7XG4gICAgICAgIGNvbnN0IHVwZGF0ZXIgPVxuICAgICAgICAgICAgdGhpcy5ob3Jpem9udGFsICYmIHRoaXMudmVydGljYWxcbiAgICAgICAgICAgICAgICA/IHVwZGF0ZUFueURpcmVjdGlvblxuICAgICAgICAgICAgICAgIDogdGhpcy5ob3Jpem9udGFsXG4gICAgICAgICAgICAgICAgICA/IHVwZGF0ZUhvcml6b250YWxPbmx5XG4gICAgICAgICAgICAgICAgICA6IHVwZGF0ZVZlcnRpY2FsT25seVxuXG4gICAgICAgIHJldHVybiBzdXBlci5oYW5kbGUoZXZlbnRzKS5waXBlKHRhcCh1cGRhdGVyPFQ+KSlcbiAgICB9XG59XG5cbnR5cGUgVXBkYXRlckZuID0gKGV2ZW50OiBNdXRhYmxlPEdlc3R1cmVEcmFnRGV0YWlsPikgPT4gdm9pZFxuXG5mdW5jdGlvbiB1cGRhdGVWZXJ0aWNhbE9ubHk8VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPikge1xuICAgIGNvbnN0IHBvaW50ZXIgPSBldmVudC5wb2ludGVyc1swXVxuICAgIHBvaW50ZXIuZGlzdGFuY2UueCA9IDBcbiAgICBwb2ludGVyLmRpcmVjdGlvbi54ID0gMFxuICAgIHBvaW50ZXIuY3VycmVudC54ID0gcG9pbnRlci5zdGFydC54XG4gICAgdXBkYXRlRXZlbnQoZXZlbnQsIHVwZGF0ZUJ5U2Nyb2xsRGlzdGFuY2VWZXJ0aWNhbClcbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9yaXpvbnRhbE9ubHk8VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPikge1xuICAgIGNvbnN0IHBvaW50ZXIgPSBldmVudC5wb2ludGVyc1swXVxuICAgIHBvaW50ZXIuZGlzdGFuY2UueSA9IDBcbiAgICBwb2ludGVyLmRpcmVjdGlvbi55ID0gMFxuICAgIHBvaW50ZXIuY3VycmVudC55ID0gcG9pbnRlci5zdGFydC55XG4gICAgdXBkYXRlRXZlbnQoZXZlbnQsIHVwZGF0ZUJ5U2Nyb2xsRGlzdGFuY2VIb3Jpem9udGFsKVxufVxuXG5mdW5jdGlvbiB1cGRhdGVBbnlEaXJlY3Rpb248VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPikge1xuICAgIHVwZGF0ZUV2ZW50KGV2ZW50LCB1cGRhdGVCeVNjcm9sbERpc3RhbmNlQm90aClcbn1cblxuZnVuY3Rpb24gdXBkYXRlRXZlbnQ8VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPiwgc2Nyb2xsVXBkYXRlOiBVcGRhdGVyRm4pIHtcbiAgICBldmVudC5tb3ZlQnkgPSB7IC4uLmV2ZW50LnBvaW50ZXJzWzBdLmRpc3RhbmNlIH1cbiAgICBzY3JvbGxVcGRhdGUoZXZlbnQpXG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUJ5U2Nyb2xsRGlzdGFuY2VWZXJ0aWNhbDxUIGV4dGVuZHMgR2VzdHVyZURyYWdEZXRhaWw+KGV2ZW50OiBNdXRhYmxlPFQ+KSB7XG4gICAgY29uc3Qgc2QgPSBldmVudC5zY3JvbGxEaXN0YW5jZVxuICAgIGlmIChzZCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVyblxuICAgIH1cbiAgICBldmVudC5tb3ZlQnkueSArPSBzZC55XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUJ5U2Nyb2xsRGlzdGFuY2VIb3Jpem9udGFsPFQgZXh0ZW5kcyBHZXN0dXJlRHJhZ0RldGFpbD4oZXZlbnQ6IE11dGFibGU8VD4pIHtcbiAgICBjb25zdCBzZCA9IGV2ZW50LnNjcm9sbERpc3RhbmNlXG4gICAgaWYgKHNkID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGV2ZW50Lm1vdmVCeS54ICs9IHNkLnhcbn1cblxuZnVuY3Rpb24gdXBkYXRlQnlTY3JvbGxEaXN0YW5jZUJvdGg8VCBleHRlbmRzIEdlc3R1cmVEcmFnRGV0YWlsPihldmVudDogTXV0YWJsZTxUPikge1xuICAgIGNvbnN0IHNkID0gZXZlbnQuc2Nyb2xsRGlzdGFuY2VcbiAgICBpZiAoc2QgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm5cbiAgICB9XG4gICAgZXZlbnQubW92ZUJ5LnggKz0gc2QueFxuICAgIGV2ZW50Lm1vdmVCeS55ICs9IHNkLnlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlc3R1cmVEcmFnKG9wdGlvbnM/OiBHZXN0dXJlRHJhZ09wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IEdlc3R1cmVEcmFnSW1wbChvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgR2VzdHVyZURyYWcgPSBnZXN0dXJlRHJhZygpXG5leHBvcnQgY29uc3QgR2VzdHVyZURyYWdIb3Jpem9udGFsID0gZ2VzdHVyZURyYWcoeyBob3Jpem9udGFsOiB0cnVlLCB2ZXJ0aWNhbDogZmFsc2UgfSlcbmV4cG9ydCBjb25zdCBHZXN0dXJlRHJhZ1ZlcnRpY2FsID0gZ2VzdHVyZURyYWcoeyBob3Jpem9udGFsOiBmYWxzZSwgdmVydGljYWw6IHRydWUgfSlcbiJdfQ==
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
export const Listeners = {
|
|
2
|
-
mousedown: {
|
|
3
|
-
pointerType: "mouse" /* GesturePointerType.Mouse */,
|
|
4
|
-
phase: "start" /* GesturePhase.Start */,
|
|
5
|
-
options: { capture: true, passive: false }
|
|
6
|
-
},
|
|
7
|
-
mousemove: {
|
|
8
|
-
pointerType: "mouse" /* GesturePointerType.Mouse */,
|
|
9
|
-
phase: "moving" /* GesturePhase.Moving */,
|
|
10
|
-
options: { capture: true, passive: false }
|
|
11
|
-
},
|
|
12
|
-
mouseup: {
|
|
13
|
-
pointerType: "mouse" /* GesturePointerType.Mouse */,
|
|
14
|
-
phase: "end" /* GesturePhase.End */,
|
|
15
|
-
options: { capture: true, passive: false }
|
|
16
|
-
},
|
|
17
|
-
touchstart: {
|
|
18
|
-
pointerType: "touch" /* GesturePointerType.Touch */,
|
|
19
|
-
phase: "start" /* GesturePhase.Start */,
|
|
20
|
-
options: { capture: true, passive: false }
|
|
21
|
-
},
|
|
22
|
-
touchmove: {
|
|
23
|
-
pointerType: "touch" /* GesturePointerType.Touch */,
|
|
24
|
-
phase: "moving" /* GesturePhase.Moving */,
|
|
25
|
-
options: { capture: true, passive: false }
|
|
26
|
-
},
|
|
27
|
-
touchend: {
|
|
28
|
-
pointerType: "touch" /* GesturePointerType.Touch */,
|
|
29
|
-
phase: "end" /* GesturePhase.End */,
|
|
30
|
-
options: { capture: true, passive: false }
|
|
31
|
-
},
|
|
32
|
-
touchcancel: {
|
|
33
|
-
pointerType: "touch" /* GesturePointerType.Touch */,
|
|
34
|
-
phase: "end" /* GesturePhase.End */,
|
|
35
|
-
options: { capture: true, passive: false }
|
|
36
|
-
}
|
|
37
|
-
// ,
|
|
38
|
-
// contextmenu: {
|
|
39
|
-
// pointerType: GesturePointerType.Mouse,
|
|
40
|
-
// phase: GesturePhase.Start,
|
|
41
|
-
// options: { capture: true, passive: false }
|
|
42
|
-
// }
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FyaWEvc3JjL2dlc3R1cmVzL2dlc3R1cmUtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMENBLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBNkM7SUFDL0QsU0FBUyxFQUFFO1FBQ1AsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyxrQ0FBb0I7UUFDekIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyxvQ0FBcUI7UUFDMUIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsT0FBTyxFQUFFO1FBQ0wsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyw4QkFBa0I7UUFDdkIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsVUFBVSxFQUFFO1FBQ1IsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyxrQ0FBb0I7UUFDekIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsU0FBUyxFQUFFO1FBQ1AsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyxvQ0FBcUI7UUFDMUIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsUUFBUSxFQUFFO1FBQ04sV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyw4QkFBa0I7UUFDdkIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsV0FBVyxFQUFFO1FBQ1QsV0FBVyx3Q0FBMEI7UUFDckMsS0FBSyw4QkFBa0I7UUFDdkIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0tBQzdDO0lBQ0QsSUFBSTtJQUNKLGlCQUFpQjtJQUNqQiw2Q0FBNkM7SUFDN0MsaUNBQWlDO0lBQ2pDLGlEQUFpRDtJQUNqRCxJQUFJO0NBQ0UsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIkBuZ3V0aWwvc3R5bGVcIlxuXG5leHBvcnQgaW50ZXJmYWNlIEdlc3R1cmVEZXRhaWwge1xuICAgIHJlYWRvbmx5IG9yaWdpbjogR2VzdHVyZU9yaWdpblxuICAgIHJlYWRvbmx5IHRhcmdldDogSFRNTEVsZW1lbnRcbiAgICByZWFkb25seSBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlXG4gICAgcmVhZG9ubHkgcGhhc2U6IEdlc3R1cmVQaGFzZVxuICAgIHJlYWRvbmx5IHBvaW50ZXJzOiBSZWFkb25seUFycmF5PEdlc3R1cmVQb2ludGVyPlxuICAgIHJlYWRvbmx5IHRpbWVTdGFtcDogbnVtYmVyXG4gICAgcmVhZG9ubHkgZWxhcHNlZDogbnVtYmVyXG4gICAgcmVhZG9ubHkgc2Nyb2xsRGlzdGFuY2U/OiBQb3NpdGlvblxufVxuXG5leHBvcnQgdHlwZSBQb2ludGVyc1Bvc2l0aW9uID0gUmVhZG9ubHlBcnJheTxSZWFkb25seTxQb3NpdGlvbj4+XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VzdHVyZVBvaW50ZXIge1xuICAgIHJlYWRvbmx5IHN0YXJ0OiBQb3NpdGlvblxuICAgIHJlYWRvbmx5IGN1cnJlbnQ6IFBvc2l0aW9uXG4gICAgcmVhZG9ubHkgZW5kPzogUG9zaXRpb25cbiAgICByZWFkb25seSBkaXN0YW5jZTogUG9zaXRpb25cbiAgICByZWFkb25seSBkaXJlY3Rpb246IHsgeDogLTEgfCAwIHwgMTsgeTogLTEgfCAwIHwgMSB9XG59XG5cbmV4cG9ydCB0eXBlIEdlc3R1cmVPcmlnaW4gPSBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudFxuXG5leHBvcnQgY29uc3QgZW51bSBHZXN0dXJlUG9pbnRlclR5cGUge1xuICAgIE1vdXNlID0gXCJtb3VzZVwiLFxuICAgIFRvdWNoID0gXCJ0b3VjaFwiXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIEdlc3R1cmVQaGFzZSB7XG4gICAgU3RhcnQgPSBcInN0YXJ0XCIsXG4gICAgTW92aW5nID0gXCJtb3ZpbmdcIixcbiAgICBFbmQgPSBcImVuZFwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VzdHVyZUxpc3RlbmVyQ29uZmlnIHtcbiAgICBvcHRpb25zPzogQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnNcbiAgICBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlXG4gICAgcGhhc2U6IEdlc3R1cmVQaGFzZVxufVxuXG5leHBvcnQgY29uc3QgTGlzdGVuZXJzOiB7IFtrZXk6IHN0cmluZ106IEdlc3R1cmVMaXN0ZW5lckNvbmZpZyB9ID0ge1xuICAgIG1vdXNlZG93bjoge1xuICAgICAgICBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlLk1vdXNlLFxuICAgICAgICBwaGFzZTogR2VzdHVyZVBoYXNlLlN0YXJ0LFxuICAgICAgICBvcHRpb25zOiB7IGNhcHR1cmU6IHRydWUsIHBhc3NpdmU6IGZhbHNlIH1cbiAgICB9LFxuICAgIG1vdXNlbW92ZToge1xuICAgICAgICBwb2ludGVyVHlwZTogR2VzdHVyZVBvaW50ZXJUeXBlLk1vdXNlLFxuICAgICAgICBwaGFzZTogR2VzdHVyZVBoYXNlLk1vdmluZyxcbiAgICAgICAgb3B0aW9uczogeyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiBmYWxzZSB9XG4gICAgfSxcbiAgICBtb3VzZXVwOiB7XG4gICAgICAgIHBvaW50ZXJUeXBlOiBHZXN0dXJlUG9pbnRlclR5cGUuTW91c2UsXG4gICAgICAgIHBoYXNlOiBHZXN0dXJlUGhhc2UuRW5kLFxuICAgICAgICBvcHRpb25zOiB7IGNhcHR1cmU6IHRydWUsIHBhc3NpdmU6IGZhbHNlIH1cbiAgICB9LFxuICAgIHRvdWNoc3RhcnQ6IHtcbiAgICAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaCxcbiAgICAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5TdGFydCxcbiAgICAgICAgb3B0aW9uczogeyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiBmYWxzZSB9XG4gICAgfSxcbiAgICB0b3VjaG1vdmU6IHtcbiAgICAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaCxcbiAgICAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5Nb3ZpbmcsXG4gICAgICAgIG9wdGlvbnM6IHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogZmFsc2UgfVxuICAgIH0sXG4gICAgdG91Y2hlbmQ6IHtcbiAgICAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaCxcbiAgICAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5FbmQsXG4gICAgICAgIG9wdGlvbnM6IHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogZmFsc2UgfVxuICAgIH0sXG4gICAgdG91Y2hjYW5jZWw6IHtcbiAgICAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaCxcbiAgICAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5FbmQsXG4gICAgICAgIG9wdGlvbnM6IHsgY2FwdHVyZTogdHJ1ZSwgcGFzc2l2ZTogZmFsc2UgfVxuICAgIH1cbiAgICAvLyAsXG4gICAgLy8gY29udGV4dG1lbnU6IHtcbiAgICAvLyAgICAgcG9pbnRlclR5cGU6IEdlc3R1cmVQb2ludGVyVHlwZS5Nb3VzZSxcbiAgICAvLyAgICAgcGhhc2U6IEdlc3R1cmVQaGFzZS5TdGFydCxcbiAgICAvLyAgICAgb3B0aW9uczogeyBjYXB0dXJlOiB0cnVlLCBwYXNzaXZlOiBmYWxzZSB9XG4gICAgLy8gfVxufSBhcyBjb25zdFxuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { combineLatest, filter, map, startWith, timer } from "rxjs";
|
|
2
|
-
import { Gesture } from "./gesture";
|
|
3
|
-
export class GestureLongTapImpl extends Gesture {
|
|
4
|
-
constructor(options) {
|
|
5
|
-
super({ pointerTypes: ["touch" /* GesturePointerType.Touch */], ...options });
|
|
6
|
-
this.type = "gesture-longtap";
|
|
7
|
-
}
|
|
8
|
-
capture(events) {
|
|
9
|
-
return combineLatest({ timeWithin: timer(this.timeWithin).pipe(startWith(null)), event: events }).pipe(map(({ timeWithin, event }) => {
|
|
10
|
-
if (event.elapsed > this.timeWithin) {
|
|
11
|
-
return 2 /* GestureCaptureState.Skip */;
|
|
12
|
-
}
|
|
13
|
-
if (event.phase === "end" /* GesturePhase.End */ && event.elapsed > this.timeWithin) {
|
|
14
|
-
return 2 /* GestureCaptureState.Skip */;
|
|
15
|
-
}
|
|
16
|
-
const distance = event.pointers[0].distance;
|
|
17
|
-
if (Math.abs(distance.x) < this.distanceInclusion && Math.abs(distance.y) < this.distanceInclusion) {
|
|
18
|
-
// maybe is ok event.phase === GesturePhase.End
|
|
19
|
-
return timeWithin !== null ? 4 /* GestureCaptureState.Instant */ : 1 /* GestureCaptureState.Pending */;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
return 2 /* GestureCaptureState.Skip */;
|
|
23
|
-
}
|
|
24
|
-
}));
|
|
25
|
-
}
|
|
26
|
-
handle(events) {
|
|
27
|
-
return super.handle(events.pipe(filter(event => event.phase === "start" /* GesturePhase.Start */ || event.phase === "end" /* GesturePhase.End */)));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
export function gestureLongTap(options) {
|
|
31
|
-
return new GestureLongTapImpl(options);
|
|
32
|
-
}
|
|
33
|
-
export const GestureLongTap = gestureLongTap();
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS1sb25ndGFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYXJpYS9zcmMvZ2VzdHVyZXMvZ2VzdHVyZS1sb25ndGFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRS9FLE9BQU8sRUFBRSxPQUFPLEVBQXVDLE1BQU0sV0FBVyxDQUFBO0FBTXhFLE1BQU0sT0FBTyxrQkFBMEUsU0FBUSxPQUFVO0lBRXJHLFlBQVksT0FBK0I7UUFDdkMsS0FBSyxDQUFDLEVBQUUsWUFBWSxFQUFFLHdDQUEwQixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQTtRQUYxRCxTQUFJLEdBQUcsaUJBQWlCLENBQUE7SUFHakMsQ0FBQztJQUVRLE9BQU8sQ0FBQyxNQUFpQztRQUM5QyxPQUFPLGFBQWEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2xHLEdBQUcsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUIsSUFBSSxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDbEMsd0NBQStCO1lBQ25DLENBQUM7WUFFRCxJQUFJLEtBQUssQ0FBQyxLQUFLLGlDQUFxQixJQUFJLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN0RSx3Q0FBK0I7WUFDbkMsQ0FBQztZQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFBO1lBRTNDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNqRywrQ0FBK0M7Z0JBQy9DLE9BQU8sVUFBVSxLQUFLLElBQUksQ0FBQyxDQUFDLHFDQUE2QixDQUFDLG9DQUE0QixDQUFBO1lBQzFGLENBQUM7aUJBQU0sQ0FBQztnQkFDSix3Q0FBK0I7WUFDbkMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUE7SUFDTCxDQUFDO0lBRVEsTUFBTSxDQUFDLE1BQWlDO1FBQzdDLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FDZixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLHFDQUF1QixJQUFJLEtBQUssQ0FBQyxLQUFLLGlDQUFxQixDQUFDLENBQUMsQ0FDdkcsQ0FBQTtJQUNMLENBQUM7Q0FDSjtBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsT0FBK0I7SUFDMUQsT0FBTyxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsY0FBYyxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCB0aW1lciB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgR2VzdHVyZSwgR2VzdHVyZUNhcHR1cmVTdGF0ZSwgR2VzdHVyZU9wdGlvbnMgfSBmcm9tIFwiLi9nZXN0dXJlXCJcbmltcG9ydCB7IEdlc3R1cmVEZXRhaWwsIEdlc3R1cmVQaGFzZSwgR2VzdHVyZVBvaW50ZXJUeXBlIH0gZnJvbSBcIi4vZ2VzdHVyZS1ldmVudFwiXG5cbmV4cG9ydCB0eXBlIEdlc3R1cmVMb25nVGFwRGV0YWlsID0gR2VzdHVyZURldGFpbFxuZXhwb3J0IHR5cGUgR2VzdHVyZUxvbmdUYXBPcHRpb25zID0gR2VzdHVyZU9wdGlvbnM8R2VzdHVyZUxvbmdUYXBJbXBsPlxuXG5leHBvcnQgY2xhc3MgR2VzdHVyZUxvbmdUYXBJbXBsPFQgZXh0ZW5kcyBHZXN0dXJlTG9uZ1RhcERldGFpbCA9IEdlc3R1cmVMb25nVGFwRGV0YWlsPiBleHRlbmRzIEdlc3R1cmU8VD4ge1xuICAgIHJlYWRvbmx5IHR5cGUgPSBcImdlc3R1cmUtbG9uZ3RhcFwiXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucz86IEdlc3R1cmVMb25nVGFwT3B0aW9ucykge1xuICAgICAgICBzdXBlcih7IHBvaW50ZXJUeXBlczogW0dlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaF0sIC4uLm9wdGlvbnMgfSlcbiAgICB9XG5cbiAgICBvdmVycmlkZSBjYXB0dXJlKGV2ZW50czogT2JzZXJ2YWJsZTxHZXN0dXJlRGV0YWlsPik6IE9ic2VydmFibGU8R2VzdHVyZUNhcHR1cmVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdCh7IHRpbWVXaXRoaW46IHRpbWVyKHRoaXMudGltZVdpdGhpbikucGlwZShzdGFydFdpdGgobnVsbCkpLCBldmVudDogZXZlbnRzIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHsgdGltZVdpdGhpbiwgZXZlbnQgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5lbGFwc2VkID4gdGhpcy50aW1lV2l0aGluKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlNraXBcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5FbmQgJiYgZXZlbnQuZWxhcHNlZCA+IHRoaXMudGltZVdpdGhpbikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2VzdHVyZUNhcHR1cmVTdGF0ZS5Ta2lwXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZGlzdGFuY2UgPSBldmVudC5wb2ludGVyc1swXS5kaXN0YW5jZVxuXG4gICAgICAgICAgICAgICAgaWYgKE1hdGguYWJzKGRpc3RhbmNlLngpIDwgdGhpcy5kaXN0YW5jZUluY2x1c2lvbiAmJiBNYXRoLmFicyhkaXN0YW5jZS55KSA8IHRoaXMuZGlzdGFuY2VJbmNsdXNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbWF5YmUgaXMgb2sgZXZlbnQucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5FbmRcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpbWVXaXRoaW4gIT09IG51bGwgPyBHZXN0dXJlQ2FwdHVyZVN0YXRlLkluc3RhbnQgOiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmdcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2VzdHVyZUNhcHR1cmVTdGF0ZS5Ta2lwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGhhbmRsZShldmVudHM6IE9ic2VydmFibGU8R2VzdHVyZURldGFpbD4pIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmhhbmRsZShcbiAgICAgICAgICAgIGV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudC5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLlN0YXJ0IHx8IGV2ZW50LnBoYXNlID09PSBHZXN0dXJlUGhhc2UuRW5kKSlcbiAgICAgICAgKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlc3R1cmVMb25nVGFwKG9wdGlvbnM/OiBHZXN0dXJlTG9uZ1RhcE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IEdlc3R1cmVMb25nVGFwSW1wbChvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgR2VzdHVyZUxvbmdUYXAgPSBnZXN0dXJlTG9uZ1RhcCgpXG4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { filter, map } from "rxjs";
|
|
2
|
-
import { Gesture } from "./gesture";
|
|
3
|
-
export class GestureTapImpl extends Gesture {
|
|
4
|
-
constructor() {
|
|
5
|
-
super(...arguments);
|
|
6
|
-
this.type = "gesture-tap";
|
|
7
|
-
}
|
|
8
|
-
capture(events) {
|
|
9
|
-
return events.pipe(map(event => {
|
|
10
|
-
const distance = event.pointers[0].distance;
|
|
11
|
-
if (Math.abs(distance.x) < this.distanceInclusion && Math.abs(distance.y) < this.distanceInclusion) {
|
|
12
|
-
// TODO
|
|
13
|
-
// if (event.phase === GesturePhase.End) {
|
|
14
|
-
// if (event.target === event.origin.target || event.target.contains(event.origin.target)) {
|
|
15
|
-
// return GestureCaptureState.Instant
|
|
16
|
-
// } else {
|
|
17
|
-
// return GestureCaptureState.Skip
|
|
18
|
-
// }
|
|
19
|
-
// } else {
|
|
20
|
-
// return GestureCaptureState.Pending
|
|
21
|
-
// }
|
|
22
|
-
return event.phase === "end" /* GesturePhase.End */ ? 4 /* GestureCaptureState.Instant */ : 1 /* GestureCaptureState.Pending */;
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
return 2 /* GestureCaptureState.Skip */;
|
|
26
|
-
}
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
handle(events) {
|
|
30
|
-
return super.handle(events.pipe(filter(event => event.phase === "start" /* GesturePhase.Start */ || event.phase === "end" /* GesturePhase.End */)));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
export function gestureTap(options) {
|
|
34
|
-
return new GestureTapImpl(options);
|
|
35
|
-
}
|
|
36
|
-
export const GestureTap = gestureTap();
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS10YXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hcmlhL3NyYy9nZXN0dXJlcy9nZXN0dXJlLXRhcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxNQUFNLE1BQU0sQ0FBQTtBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUF1QyxNQUFNLFdBQVcsQ0FBQTtBQU14RSxNQUFNLE9BQU8sY0FBOEQsU0FBUSxPQUFVO0lBQTdGOztRQUNhLFNBQUksR0FBRyxhQUFhLENBQUE7SUE4QmpDLENBQUM7SUE1QlksT0FBTyxDQUFDLE1BQWlDO1FBQzlDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FDZCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDUixNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtZQUMzQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDakcsT0FBTztnQkFDUCwwQ0FBMEM7Z0JBQzFDLGdHQUFnRztnQkFDaEcsNkNBQTZDO2dCQUM3QyxlQUFlO2dCQUNmLDBDQUEwQztnQkFDMUMsUUFBUTtnQkFDUixXQUFXO2dCQUNYLHlDQUF5QztnQkFDekMsSUFBSTtnQkFDSixPQUFPLEtBQUssQ0FBQyxLQUFLLGlDQUFxQixDQUFDLENBQUMscUNBQTZCLENBQUMsb0NBQTRCLENBQUE7WUFDdkcsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLHdDQUErQjtZQUNuQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQ0wsQ0FBQTtJQUNMLENBQUM7SUFFUSxNQUFNLENBQUMsTUFBaUM7UUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUsscUNBQXVCLElBQUksS0FBSyxDQUFDLEtBQUssaUNBQXFCLENBQUMsQ0FBQyxDQUN2RyxDQUFBO0lBQ0wsQ0FBQztDQUNKO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUEyQjtJQUNsRCxPQUFPLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsVUFBVSxFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgR2VzdHVyZSwgR2VzdHVyZUNhcHR1cmVTdGF0ZSwgR2VzdHVyZU9wdGlvbnMgfSBmcm9tIFwiLi9nZXN0dXJlXCJcbmltcG9ydCB7IEdlc3R1cmVEZXRhaWwsIEdlc3R1cmVQaGFzZSB9IGZyb20gXCIuL2dlc3R1cmUtZXZlbnRcIlxuXG5leHBvcnQgdHlwZSBHZXN0dXJlVGFwRGV0YWlsID0gR2VzdHVyZURldGFpbFxuZXhwb3J0IHR5cGUgR2VzdHVyZVRhcE9wdGlvbnMgPSBHZXN0dXJlT3B0aW9uczxHZXN0dXJlVGFwSW1wbD5cblxuZXhwb3J0IGNsYXNzIEdlc3R1cmVUYXBJbXBsPFQgZXh0ZW5kcyBHZXN0dXJlVGFwRGV0YWlsID0gR2VzdHVyZVRhcERldGFpbD4gZXh0ZW5kcyBHZXN0dXJlPFQ+IHtcbiAgICByZWFkb25seSB0eXBlID0gXCJnZXN0dXJlLXRhcFwiXG5cbiAgICBvdmVycmlkZSBjYXB0dXJlKGV2ZW50czogT2JzZXJ2YWJsZTxHZXN0dXJlRGV0YWlsPik6IE9ic2VydmFibGU8R2VzdHVyZUNhcHR1cmVTdGF0ZT4ge1xuICAgICAgICByZXR1cm4gZXZlbnRzLnBpcGUoXG4gICAgICAgICAgICBtYXAoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gZXZlbnQucG9pbnRlcnNbMF0uZGlzdGFuY2VcbiAgICAgICAgICAgICAgICBpZiAoTWF0aC5hYnMoZGlzdGFuY2UueCkgPCB0aGlzLmRpc3RhbmNlSW5jbHVzaW9uICYmIE1hdGguYWJzKGRpc3RhbmNlLnkpIDwgdGhpcy5kaXN0YW5jZUluY2x1c2lvbikge1xuICAgICAgICAgICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICAgICAgICAgIC8vIGlmIChldmVudC5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLkVuZCkge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgaWYgKGV2ZW50LnRhcmdldCA9PT0gZXZlbnQub3JpZ2luLnRhcmdldCB8fCBldmVudC50YXJnZXQuY29udGFpbnMoZXZlbnQub3JpZ2luLnRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICByZXR1cm4gR2VzdHVyZUNhcHR1cmVTdGF0ZS5JbnN0YW50XG4gICAgICAgICAgICAgICAgICAgIC8vICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIHJldHVybiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlNraXBcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIHJldHVybiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmdcbiAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQucGhhc2UgPT09IEdlc3R1cmVQaGFzZS5FbmQgPyBHZXN0dXJlQ2FwdHVyZVN0YXRlLkluc3RhbnQgOiBHZXN0dXJlQ2FwdHVyZVN0YXRlLlBlbmRpbmdcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gR2VzdHVyZUNhcHR1cmVTdGF0ZS5Ta2lwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIH1cblxuICAgIG92ZXJyaWRlIGhhbmRsZShldmVudHM6IE9ic2VydmFibGU8R2VzdHVyZURldGFpbD4pIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLmhhbmRsZShcbiAgICAgICAgICAgIGV2ZW50cy5waXBlKGZpbHRlcihldmVudCA9PiBldmVudC5waGFzZSA9PT0gR2VzdHVyZVBoYXNlLlN0YXJ0IHx8IGV2ZW50LnBoYXNlID09PSBHZXN0dXJlUGhhc2UuRW5kKSlcbiAgICAgICAgKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlc3R1cmVUYXAob3B0aW9ucz86IEdlc3R1cmVUYXBPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBHZXN0dXJlVGFwSW1wbChvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgR2VzdHVyZVRhcCA9IGdlc3R1cmVUYXAoKVxuIl19
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Listeners } from "./gesture-event";
|
|
2
|
-
export class Gesture {
|
|
3
|
-
constructor(options) {
|
|
4
|
-
/**
|
|
5
|
-
* Gestures that depends on move distance, like drag, use this option
|
|
6
|
-
*/
|
|
7
|
-
this.distanceInclusion = 10;
|
|
8
|
-
/**
|
|
9
|
-
* Gestures thet dependnso on time frame, like longtap, use this option
|
|
10
|
-
*/
|
|
11
|
-
this.timeWithin = 300;
|
|
12
|
-
/**
|
|
13
|
-
* The priority of the gesture
|
|
14
|
-
*/
|
|
15
|
-
this.priority = 0;
|
|
16
|
-
/**
|
|
17
|
-
* Should the gesture include the scroll distance
|
|
18
|
-
*/
|
|
19
|
-
this.includeScrollDistance = false;
|
|
20
|
-
/**
|
|
21
|
-
* The pointer types of the gesture
|
|
22
|
-
*/
|
|
23
|
-
this.pointerTypes = ["mouse" /* GesturePointerType.Mouse */, "touch" /* GesturePointerType.Touch */];
|
|
24
|
-
/**
|
|
25
|
-
* The number of pointers of the gesture can handle
|
|
26
|
-
*/
|
|
27
|
-
this.pointerCount = 1;
|
|
28
|
-
/**
|
|
29
|
-
* The mouse buttons of the gesture (1 = left, 2 = middle, 3 = right)
|
|
30
|
-
*/
|
|
31
|
-
this.mouseButtons = [0];
|
|
32
|
-
Object.assign(this, options);
|
|
33
|
-
this.originTypes = Object.keys(Listeners).filter(v => this.pointerTypes.includes(Listeners[v].pointerType));
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Transform input event, to gesture event.
|
|
37
|
-
* The given events is filterde by {@see Gesture#isRelevantEvent}
|
|
38
|
-
* ! important, dont rely on this object state, because not always create a new object
|
|
39
|
-
* @param events events to transform or filter or leave as is
|
|
40
|
-
*/
|
|
41
|
-
handle(events) {
|
|
42
|
-
return events;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Should this gesture capture the event?
|
|
46
|
-
* @param event event to check
|
|
47
|
-
* @returns true if the gesture should capture the event, false otherwise
|
|
48
|
-
*/
|
|
49
|
-
shouldCapture(event) {
|
|
50
|
-
return this.isRelevantEvent(event);
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Test if the event is relevant to the gesture.
|
|
54
|
-
* The event is relevant if
|
|
55
|
-
* @param event event to check
|
|
56
|
-
* @returns true if the event is relevant, false otherwise
|
|
57
|
-
*/
|
|
58
|
-
isRelevantEvent(event) {
|
|
59
|
-
return (this.pointerTypes.includes(event.pointerType) &&
|
|
60
|
-
this.pointerCount === event.pointers.length &&
|
|
61
|
-
this.originTypes.includes(event.origin.type) &&
|
|
62
|
-
(event.pointerType !== "mouse" /* GesturePointerType.Mouse */ ||
|
|
63
|
-
(event.origin instanceof MouseEvent && this.mouseButtons.includes(event.origin.button))));
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VzdHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FyaWEvc3JjL2dlc3R1cmVzL2dlc3R1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFxQyxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQXNCOUUsTUFBTSxPQUFnQixPQUFPO0lBOEN6QixZQUFZLE9BQXlCO1FBeENyQzs7V0FFRztRQUNNLHNCQUFpQixHQUFXLEVBQUUsQ0FBQTtRQUV2Qzs7V0FFRztRQUNNLGVBQVUsR0FBVyxHQUFHLENBQUE7UUFFakM7O1dBRUc7UUFDTSxhQUFRLEdBQVcsQ0FBQyxDQUFBO1FBRTdCOztXQUVHO1FBQ00sMEJBQXFCLEdBQVksS0FBSyxDQUFBO1FBRS9DOztXQUVHO1FBQ00saUJBQVksR0FBOEIsZ0ZBQW9ELENBQUE7UUFFdkc7O1dBRUc7UUFDTSxpQkFBWSxHQUFXLENBQUMsQ0FBQTtRQUVqQzs7V0FFRztRQUNNLGlCQUFZLEdBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFRdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO0lBQy9HLENBQUM7SUFVRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxNQUFpQztRQUNwQyxPQUFPLE1BQWdDLENBQUE7SUFDM0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsS0FBb0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3RDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxLQUFvQjtRQUNoQyxPQUFPLENBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztZQUM3QyxJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTTtZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQVcsQ0FBQztZQUNuRCxDQUFDLEtBQUssQ0FBQyxXQUFXLDJDQUE2QjtnQkFDM0MsQ0FBQyxLQUFLLENBQUMsTUFBTSxZQUFZLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FDL0YsQ0FBQTtJQUNMLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IEZ1bmN0aW9uS2V5cywgTXV0YWJsZSB9IGZyb20gXCJ1dGlsaXR5LXR5cGVzXCJcblxuaW1wb3J0IHsgR2VzdHVyZURldGFpbCwgR2VzdHVyZVBvaW50ZXJUeXBlLCBMaXN0ZW5lcnMgfSBmcm9tIFwiLi9nZXN0dXJlLWV2ZW50XCJcblxuZXhwb3J0IGNvbnN0IGVudW0gR2VzdHVyZUNhcHR1cmVTdGF0ZSB7XG4gICAgLy8gVW5jaGVja2VkXG4gICAgVW5jaGVja2VkID0gMCxcbiAgICAvLyBQZW5kaW5nIHN0YXRlXG4gICAgUGVuZGluZyA9IDEsXG4gICAgLy8gU2tpcCBjYXB0dXJlXG4gICAgU2tpcCA9IDIsXG4gICAgLy8gRGV0ZXJtaW5lIGJ5IHByaW9yaXR5XG4gICAgTWF5YmUgPSAzLFxuICAgIC8vIEluc3Rhbmx0eSB0ZXJtaW5hdGUgY2FwdHVyZSwgYW5kIGZpcmUgZXZlbnRcbiAgICBJbnN0YW50ID0gNFxufVxuXG50eXBlIF9HZXN0dXJlT3B0aW9ucyA9IFBhcnRpYWw8T21pdDxHZXN0dXJlPGFueT4sIFwib3JpZ2luVHlwZXNcIiB8IFwidHlwZVwiIHwgRnVuY3Rpb25LZXlzPEdlc3R1cmU8YW55Pj4+PlxuZXhwb3J0IHR5cGUgR2VzdHVyZU9wdGlvbnM8VCBleHRlbmRzIG9iamVjdD4gPSBQYXJ0aWFsPE9taXQ8VCwga2V5b2YgR2VzdHVyZTxhbnk+IHwgRnVuY3Rpb25LZXlzPFQ+Pj4gJiBfR2VzdHVyZU9wdGlvbnNcblxuZXhwb3J0IHR5cGUgR2VzdHVyZUV2ZW50PEcgZXh0ZW5kcyBHZXN0dXJlPiA9IEcgZXh0ZW5kcyBHZXN0dXJlPGluZmVyIEU+ICYgeyB0eXBlOiBpbmZlciBUIH1cbiAgICA/IEN1c3RvbUV2ZW50PEU+ICYgeyB0eXBlOiBUIH1cbiAgICA6IG5ldmVyXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHZXN0dXJlPFQgZXh0ZW5kcyBHZXN0dXJlRGV0YWlsID0gR2VzdHVyZURldGFpbD4ge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBnZXN0dXJlXG4gICAgICovXG4gICAgYWJzdHJhY3QgcmVhZG9ubHkgdHlwZTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBHZXN0dXJlcyB0aGF0IGRlcGVuZHMgb24gbW92ZSBkaXN0YW5jZSwgbGlrZSBkcmFnLCB1c2UgdGhpcyBvcHRpb25cbiAgICAgKi9cbiAgICByZWFkb25seSBkaXN0YW5jZUluY2x1c2lvbjogbnVtYmVyID0gMTBcblxuICAgIC8qKlxuICAgICAqIEdlc3R1cmVzIHRoZXQgZGVwZW5kbnNvIG9uIHRpbWUgZnJhbWUsIGxpa2UgbG9uZ3RhcCwgdXNlIHRoaXMgb3B0aW9uXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGltZVdpdGhpbjogbnVtYmVyID0gMzAwXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcHJpb3JpdHkgb2YgdGhlIGdlc3R1cmVcbiAgICAgKi9cbiAgICByZWFkb25seSBwcmlvcml0eTogbnVtYmVyID0gMFxuXG4gICAgLyoqXG4gICAgICogU2hvdWxkIHRoZSBnZXN0dXJlIGluY2x1ZGUgdGhlIHNjcm9sbCBkaXN0YW5jZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGluY2x1ZGVTY3JvbGxEaXN0YW5jZTogYm9vbGVhbiA9IGZhbHNlXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcG9pbnRlciB0eXBlcyBvZiB0aGUgZ2VzdHVyZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBvaW50ZXJUeXBlczogQXJyYXk8R2VzdHVyZVBvaW50ZXJUeXBlPiA9IFtHZXN0dXJlUG9pbnRlclR5cGUuTW91c2UsIEdlc3R1cmVQb2ludGVyVHlwZS5Ub3VjaF1cblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgcG9pbnRlcnMgb2YgdGhlIGdlc3R1cmUgY2FuIGhhbmRsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBvaW50ZXJDb3VudDogbnVtYmVyID0gMVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1vdXNlIGJ1dHRvbnMgb2YgdGhlIGdlc3R1cmUgKDEgPSBsZWZ0LCAyID0gbWlkZGxlLCAzID0gcmlnaHQpXG4gICAgICovXG4gICAgcmVhZG9ubHkgbW91c2VCdXR0b25zOiBBcnJheTxudW1iZXI+ID0gWzBdXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXZlbnQgdHlwZXMgb2YgdGhlIGdlc3R1cmUgY2FuIGhhbmRsZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yaWdpblR5cGVzOiBBcnJheTxzdHJpbmc+XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zPzogX0dlc3R1cmVPcHRpb25zKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgb3B0aW9ucylcbiAgICAgICAgdGhpcy5vcmlnaW5UeXBlcyA9IE9iamVjdC5rZXlzKExpc3RlbmVycykuZmlsdGVyKHYgPT4gdGhpcy5wb2ludGVyVHlwZXMuaW5jbHVkZXMoTGlzdGVuZXJzW3ZdLnBvaW50ZXJUeXBlKSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUZXN0IGlmIHRoZSBnZXN0dXJlIHNob3VsZCBiZSBjYXB0dXJlZC5cbiAgICAgKiBUaGUgZ2l2ZW4gZXZlbnRzIGlzIGZpbHRlcmRlIGJ5IHtAc2VlIEdlc3R1cmUjc2hvdWxkQ2FwdHVyZX1cbiAgICAgKiAhIGltcG9ydGFudCwgZG9udCByZWx5IG9uIHRoaXMgb2JqZWN0IHN0YXRlLCBiZWNhdXNlIG5vdCBhbHdheXMgY3JlYXRlIGEgbmV3IG9iamVjdFxuICAgICAqIEBwYXJhbSBldmVudHMgZXZlbnRzIHRvIGNoZWNrXG4gICAgICovXG4gICAgYWJzdHJhY3QgY2FwdHVyZShldmVudHM6IE9ic2VydmFibGU8R2VzdHVyZURldGFpbD4pOiBPYnNlcnZhYmxlPEdlc3R1cmVDYXB0dXJlU3RhdGU+XG5cbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm0gaW5wdXQgZXZlbnQsIHRvIGdlc3R1cmUgZXZlbnQuXG4gICAgICogVGhlIGdpdmVuIGV2ZW50cyBpcyBmaWx0ZXJkZSBieSB7QHNlZSBHZXN0dXJlI2lzUmVsZXZhbnRFdmVudH1cbiAgICAgKiAhIGltcG9ydGFudCwgZG9udCByZWx5IG9uIHRoaXMgb2JqZWN0IHN0YXRlLCBiZWNhdXNlIG5vdCBhbHdheXMgY3JlYXRlIGEgbmV3IG9iamVjdFxuICAgICAqIEBwYXJhbSBldmVudHMgZXZlbnRzIHRvIHRyYW5zZm9ybSBvciBmaWx0ZXIgb3IgbGVhdmUgYXMgaXNcbiAgICAgKi9cbiAgICBoYW5kbGUoZXZlbnRzOiBPYnNlcnZhYmxlPEdlc3R1cmVEZXRhaWw+KTogT2JzZXJ2YWJsZTxNdXRhYmxlPFQ+PiB7XG4gICAgICAgIHJldHVybiBldmVudHMgYXMgT2JzZXJ2YWJsZTxNdXRhYmxlPFQ+PlxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3VsZCB0aGlzIGdlc3R1cmUgY2FwdHVyZSB0aGUgZXZlbnQ/XG4gICAgICogQHBhcmFtIGV2ZW50IGV2ZW50IHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZ2VzdHVyZSBzaG91bGQgY2FwdHVyZSB0aGUgZXZlbnQsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIHNob3VsZENhcHR1cmUoZXZlbnQ6IEdlc3R1cmVEZXRhaWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNSZWxldmFudEV2ZW50KGV2ZW50KVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRlc3QgaWYgdGhlIGV2ZW50IGlzIHJlbGV2YW50IHRvIHRoZSBnZXN0dXJlLlxuICAgICAqIFRoZSBldmVudCBpcyByZWxldmFudCBpZlxuICAgICAqIEBwYXJhbSBldmVudCBldmVudCB0byBjaGVja1xuICAgICAqIEByZXR1cm5zIHRydWUgaWYgdGhlIGV2ZW50IGlzIHJlbGV2YW50LCBmYWxzZSBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBpc1JlbGV2YW50RXZlbnQoZXZlbnQ6IEdlc3R1cmVEZXRhaWwpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMucG9pbnRlclR5cGVzLmluY2x1ZGVzKGV2ZW50LnBvaW50ZXJUeXBlKSAmJlxuICAgICAgICAgICAgdGhpcy5wb2ludGVyQ291bnQgPT09IGV2ZW50LnBvaW50ZXJzLmxlbmd0aCAmJlxuICAgICAgICAgICAgdGhpcy5vcmlnaW5UeXBlcy5pbmNsdWRlcyhldmVudC5vcmlnaW4udHlwZSBhcyBhbnkpICYmXG4gICAgICAgICAgICAoZXZlbnQucG9pbnRlclR5cGUgIT09IEdlc3R1cmVQb2ludGVyVHlwZS5Nb3VzZSB8fFxuICAgICAgICAgICAgICAgIChldmVudC5vcmlnaW4gaW5zdGFuY2VvZiBNb3VzZUV2ZW50ICYmIHRoaXMubW91c2VCdXR0b25zLmluY2x1ZGVzKGV2ZW50Lm9yaWdpbi5idXR0b24pKSlcbiAgICAgICAgKVxuICAgIH1cbn1cbiJdfQ==
|