@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.
Files changed (36) hide show
  1. package/fesm2022/ngutil-aria.mjs +88 -65
  2. package/fesm2022/ngutil-aria.mjs.map +1 -1
  3. package/focus/focus-state.directive.d.ts +1 -2
  4. package/focus/focus.service.d.ts +1 -1
  5. package/focus/focusable.directive.d.ts +0 -1
  6. package/package.json +7 -9
  7. package/ui-state/abstract.d.ts +1 -1
  8. package/ui-state/dirty.directive.d.ts +9 -0
  9. package/ui-state/index.d.ts +5 -3
  10. package/ui-state/progress-state.d.ts +1 -1
  11. package/esm2022/activity/activity.service.mjs +0 -49
  12. package/esm2022/activity/index.mjs +0 -2
  13. package/esm2022/focus/focus-state.directive.mjs +0 -63
  14. package/esm2022/focus/focus-trap.directive.mjs +0 -25
  15. package/esm2022/focus/focus.service.mjs +0 -145
  16. package/esm2022/focus/focusable.directive.mjs +0 -52
  17. package/esm2022/focus/index.mjs +0 -5
  18. package/esm2022/gestures/gesture-drag.mjs +0 -81
  19. package/esm2022/gestures/gesture-event.mjs +0 -44
  20. package/esm2022/gestures/gesture-longtap.mjs +0 -34
  21. package/esm2022/gestures/gesture-tap.mjs +0 -37
  22. package/esm2022/gestures/gesture.mjs +0 -66
  23. package/esm2022/gestures/gesture.service.mjs +0 -279
  24. package/esm2022/gestures/index.mjs +0 -7
  25. package/esm2022/index.mjs +0 -6
  26. package/esm2022/keystroke/index.mjs +0 -2
  27. package/esm2022/keystroke/keystroke.service.mjs +0 -92
  28. package/esm2022/ngutil-aria.mjs +0 -5
  29. package/esm2022/ui-state/abstract.mjs +0 -41
  30. package/esm2022/ui-state/busy.directive.mjs +0 -27
  31. package/esm2022/ui-state/disabled.directive.mjs +0 -28
  32. package/esm2022/ui-state/index.mjs +0 -25
  33. package/esm2022/ui-state/progress-state.mjs +0 -141
  34. package/esm2022/ui-state/readonly.directive.mjs +0 -27
  35. package/esm2022/ui-state/selector.mjs +0 -308
  36. 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==