gesturx 1.7.5 → 1.8.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.
package/dist/index.js CHANGED
@@ -1,147 +1,147 @@
1
- var ee = Object.defineProperty;
2
- var te = (n, s, e) => s in n ? ee(n, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[s] = e;
3
- var h = (n, s, e) => te(n, typeof s != "symbol" ? s + "" : s, e);
4
- import { filter as c, fromEvent as S, mergeMap as T, defer as ne, of as b, merge as y, takeWhile as N, scan as O, map as u, BehaviorSubject as B, switchMap as v, NEVER as se, shareReplay as x, exhaustMap as G, first as Y, share as f, timer as H, withLatestFrom as j, takeUntil as k, skip as ie, tap as pe, ignoreElements as oe, buffer as re, debounceTime as ae, startWith as le, pairwise as he, combineLatest as ce } from "rxjs";
5
- function ue(n, s) {
1
+ var se = Object.defineProperty;
2
+ var pe = (t, n, e) => n in t ? se(t, n, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[n] = e;
3
+ var $ = (t, n, e) => pe(t, typeof n != "symbol" ? n + "" : n, e);
4
+ import { filter as h, fromEvent as I, mergeMap as S, defer as oe, of as T, merge as v, takeWhile as V, scan as U, map as c, BehaviorSubject as q, switchMap as y, distinctUntilChanged as re, startWith as H, shareReplay as M, combineLatest as W, exhaustMap as J, first as F, share as w, timer as K, withLatestFrom as L, takeUntil as b, skip as ae, tap as Q, ignoreElements as le, buffer as he, debounceTime as ce, pairwise as $e } from "rxjs";
5
+ function ue(t, n) {
6
6
  return Math.sqrt(
7
- Math.pow(s.x - n.x, 2) + Math.pow(s.y - n.y, 2)
7
+ Math.pow(n.x - t.x, 2) + Math.pow(n.y - t.y, 2)
8
8
  );
9
9
  }
10
- function $e(n) {
11
- const s = n.length;
12
- if (s < 2) return 0;
13
- const e = n.reduce((t, o, a) => t + n.slice(a + 1).reduce((r, p) => r + ue(o, p), 0), 0), i = s * (s - 1) / 2;
10
+ function de(t) {
11
+ const n = t.length;
12
+ if (n < 2) return 0;
13
+ const e = t.reduce((s, p, a) => s + t.slice(a + 1).reduce((o, r) => o + ue(p, r), 0), 0), i = n * (n - 1) / 2;
14
14
  return e / i;
15
15
  }
16
- function U(n, s) {
17
- const e = s.x - n.x, i = s.y - n.y;
16
+ function N(t, n) {
17
+ const e = n.x - t.x, i = n.y - t.y;
18
18
  return Math.atan2(i, e);
19
19
  }
20
- function de(n, s) {
21
- return U(n, s) * (180 / Math.PI);
20
+ function ve(t, n) {
21
+ return N(t, n) * (180 / Math.PI);
22
22
  }
23
- function C(n) {
24
- const s = n.reduce(
25
- (i, t) => (i.x += t.x, i.y += t.y, i),
23
+ function R(t) {
24
+ const n = t.reduce(
25
+ (i, s) => (i.x += s.x, i.y += s.y, i),
26
26
  { x: 0, y: 0 }
27
- ), e = n.length || 1;
27
+ ), e = t.length || 1;
28
28
  return {
29
- x: s.x / e,
30
- y: s.y / e
29
+ x: n.x / e,
30
+ y: n.y / e
31
31
  };
32
32
  }
33
- function ge(n, s) {
34
- if (n.length !== s.length)
33
+ function ge(t, n) {
34
+ if (t.length !== n.length)
35
35
  throw new Error("Initial and new points arrays must have the same length.");
36
- const e = C(n), i = C(s);
37
- let t = 0;
38
- for (let r = 0; r < n.length; r++) {
39
- const p = U(
36
+ const e = R(t), i = R(n);
37
+ let s = 0;
38
+ for (let o = 0; o < t.length; o++) {
39
+ const r = N(
40
40
  e,
41
- n[r]
41
+ t[o]
42
42
  );
43
- let $ = U(
43
+ let u = N(
44
44
  i,
45
- s[r]
46
- ) - p;
47
- $ > Math.PI ? $ -= 2 * Math.PI : $ < -Math.PI && ($ += 2 * Math.PI), t += $;
45
+ n[o]
46
+ ) - r;
47
+ u > Math.PI ? u -= 2 * Math.PI : u < -Math.PI && (u += 2 * Math.PI), s += u;
48
48
  }
49
- const o = t / n.length, a = o * (180 / Math.PI);
50
- return { radianDelta: o, degreesDelta: a };
49
+ const p = s / t.length, a = p * (180 / Math.PI);
50
+ return { radianDelta: p, degreesDelta: a };
51
51
  }
52
- function ve(n) {
53
- return n != null;
52
+ function ye(t) {
53
+ return t != null;
54
54
  }
55
- const ye = (n) => n.length > 0, me = (n) => n.pipe(c(ye));
56
- function J(n, s, e) {
57
- const i = C([n]), t = C([s]);
58
- return Math.abs(t.x - i.x) >= e || Math.abs(t.y - i.y) >= e;
55
+ const me = (t) => t.length > 0, fe = (t) => t.pipe(h(me));
56
+ function Z(t, n, e) {
57
+ const i = R([t]), s = R([n]);
58
+ return Math.abs(s.x - i.x) >= e || Math.abs(s.y - i.y) >= e;
59
59
  }
60
- const De = (n, s, e) => {
61
- const i = n > 0 ? s / n : 0, t = n > 0 ? e / n : 0;
60
+ const Ae = (t, n, e) => {
61
+ const i = t > 0 ? n / t : 0, s = t > 0 ? e / t : 0;
62
62
  return {
63
63
  velocityX: i,
64
- velocityY: t
64
+ velocityY: s
65
65
  };
66
66
  };
67
- function F(n) {
68
- return (s) => s.pipe(
69
- c((e) => e.pointerId === n.pointerId)
67
+ function X(t) {
68
+ return (n) => n.pipe(
69
+ h((e) => e.pointerId === t.pointerId)
70
70
  );
71
71
  }
72
- const K = (n) => n.type === "pointerleave" || n.type === "pointercancel" || n.type === "pointerup", Pe = ({
73
- container: n,
74
- afterEventReceived: s = (e) => e
75
- }) => S(n, "pointerdown").pipe(
76
- u(s)
77
- ), Q = ({
78
- pointerEvent$: n
79
- }) => (s) => {
80
- const e = n.pipe(
81
- c((p) => p.type === "pointerup")
82
- ), i = n.pipe(
83
- c((p) => p.type === "pointerleave")
84
- ), t = n.pipe(
85
- c((p) => p.type === "pointercancel")
86
- ), o = n.pipe(
87
- c((p) => p.type === "pointermove")
88
- ), a = S(window, "contextmenu"), r = (p) => ["pointercancel", "pointerleave", "pointerup", "contextmenu"].includes(
89
- p.type
72
+ const ee = (t) => t.type === "pointerleave" || t.type === "pointercancel" || t.type === "pointerup", De = ({
73
+ container: t,
74
+ afterEventReceived: n = (e) => e
75
+ }) => I(t, "pointerdown").pipe(
76
+ c(n)
77
+ ), te = ({
78
+ pointerEvent$: t
79
+ }) => (n) => {
80
+ const e = t.pipe(
81
+ h((r) => r.type === "pointerup")
82
+ ), i = t.pipe(
83
+ h((r) => r.type === "pointerleave")
84
+ ), s = t.pipe(
85
+ h((r) => r.type === "pointercancel")
86
+ ), p = t.pipe(
87
+ h((r) => r.type === "pointermove")
88
+ ), a = I(window, "contextmenu"), o = (r) => ["pointercancel", "pointerleave", "pointerup", "contextmenu"].includes(
89
+ r.type
90
90
  );
91
- return s.pipe(
92
- T((p) => {
93
- const l = ne(() => b(p));
94
- return y(
91
+ return n.pipe(
92
+ S((r) => {
93
+ const l = oe(() => T(r));
94
+ return v(
95
95
  l,
96
- y(
97
- o,
98
- t,
96
+ v(
97
+ p,
98
+ s,
99
99
  i,
100
100
  e,
101
101
  a
102
102
  )
103
103
  ).pipe(
104
- F(p),
105
- N((D) => !r(D), !0)
104
+ X(r),
105
+ V((f) => !o(f), !0)
106
106
  );
107
107
  }),
108
- O((p, l) => {
109
- if (r(l)) {
110
- const { [l.pointerId]: $, ...D } = (p == null ? void 0 : p.pointers) ?? {};
108
+ U((r, l) => {
109
+ if (o(l)) {
110
+ const { [l.pointerId]: u, ...f } = (r == null ? void 0 : r.pointers) ?? {};
111
111
  return {
112
112
  event: l,
113
- pointers: D
113
+ pointers: f
114
114
  };
115
115
  }
116
116
  return {
117
117
  event: l,
118
118
  pointers: {
119
- ...(p == null ? void 0 : p.pointers) ?? {},
119
+ ...(r == null ? void 0 : r.pointers) ?? {},
120
120
  [l.pointerId]: l
121
121
  }
122
122
  };
123
123
  }, void 0),
124
- u(({ event: p, pointers: l }) => ({
125
- event: p,
126
- pointers: Object.values(l).filter(ve)
124
+ c(({ event: r, pointers: l }) => ({
125
+ event: r,
126
+ pointers: Object.values(l).filter(ye)
127
127
  }))
128
128
  );
129
- }, q = (n, s, e, i) => {
130
- const t = n.x - s.x + e, o = n.y - s.y + i;
129
+ }, _ = (t, n, e, i) => {
130
+ const s = t.x - n.x + e, p = t.y - n.y + i;
131
131
  return {
132
- deltaX: t,
133
- deltaY: o
132
+ deltaX: s,
133
+ deltaY: p
134
134
  };
135
- }, Z = (n) => {
136
- const s = (e) => C(
135
+ }, ne = (t) => {
136
+ const n = (e) => R(
137
137
  e.latestActivePointers.length ? e.latestActivePointers : [e.event]
138
138
  );
139
- return n.pipe(
140
- O((e, i) => {
141
- var g, E;
142
- const t = s(i), o = (e == null ? void 0 : e.center) ?? t, a = (e == null ? void 0 : e.deltaX) ?? 0, r = (e == null ? void 0 : e.deltaY) ?? 0, p = ((g = e == null ? void 0 : e.latestActivePointers) == null ? void 0 : g.length) ?? 1, l = ((E = i.latestActivePointers) == null ? void 0 : E.length) ?? 1, $ = ["pointerdown", "pointercancel", "pointerleave", "pointerup"].includes(
139
+ return t.pipe(
140
+ U((e, i) => {
141
+ var m, D;
142
+ const s = n(i), p = (e == null ? void 0 : e.center) ?? s, a = (e == null ? void 0 : e.deltaX) ?? 0, o = (e == null ? void 0 : e.deltaY) ?? 0, r = ((m = e == null ? void 0 : e.latestActivePointers) == null ? void 0 : m.length) ?? 1, l = ((D = i.latestActivePointers) == null ? void 0 : D.length) ?? 1, u = ["pointerdown", "pointercancel", "pointerleave", "pointerup"].includes(
143
143
  i.event.type
144
- ) && p !== l, D = l > 0, { deltaX: d, deltaY: A } = $ && D ? q(t, t, a, r) : q(t, o, a, r), { degreesDelta: P } = p === l && p >= 2 && l >= 2 ? ge(
144
+ ) && r !== l, f = l > 0, { deltaX: d, deltaY: E } = u && f ? _(s, s, a, o) : _(s, p, a, o), { degreesDelta: A } = r === l && r >= 2 && l >= 2 ? ge(
145
145
  (e == null ? void 0 : e.latestActivePointers) ?? [],
146
146
  i.latestActivePointers ?? []
147
147
  ) : { degreesDelta: 0 };
@@ -149,213 +149,230 @@ const K = (n) => n.type === "pointerleave" || n.type === "pointercancel" || n.ty
149
149
  startTime: (/* @__PURE__ */ new Date()).getTime(),
150
150
  ...e,
151
151
  ...i,
152
- center: t,
152
+ center: s,
153
153
  deltaX: d,
154
- deltaY: A,
155
- deltaPointersAngle: P
154
+ deltaY: E,
155
+ deltaPointersAngle: A
156
156
  };
157
157
  }, void 0),
158
- u((e) => {
158
+ c((e) => {
159
159
  const {
160
160
  deltaX: i,
161
- deltaY: t,
162
- latestActivePointers: o,
161
+ deltaY: s,
162
+ latestActivePointers: p,
163
163
  startTime: a,
164
- center: r,
165
- event: p,
164
+ center: o,
165
+ event: r,
166
166
  deltaPointersAngle: l
167
- } = e, $ = o ?? [], d = Date.now() - a, { velocityX: A, velocityY: P } = De(d, i, t), g = $e(o);
167
+ } = e, u = p ?? [], d = Date.now() - a, { velocityX: E, velocityY: A } = Ae(d, i, s), m = de(p);
168
168
  return {
169
169
  deltaX: i,
170
- deltaY: t,
171
- velocityX: A,
172
- velocityY: P,
170
+ deltaY: s,
171
+ velocityX: E,
172
+ velocityY: A,
173
173
  delay: d,
174
- center: r,
175
- pointers: $,
174
+ center: o,
175
+ pointers: u,
176
176
  startTime: a,
177
- event: p,
177
+ event: r,
178
178
  deltaPointersAngle: l,
179
- pointersAverageDistance: g
179
+ pointersAverageDistance: m
180
180
  };
181
181
  })
182
182
  );
183
- }, _ = (n) => n.pipe(
184
- c(
185
- (s) => !!s.container
183
+ }, G = (t) => t.pipe(
184
+ h(
185
+ (n) => !!n.container
186
186
  )
187
- ), W = (n) => n.pipe(c(K)), Ae = ({
188
- container: n,
189
- afterEventReceived: s = (e) => e
187
+ ), ie = (t) => t.pipe(h(ee)), Pe = ({
188
+ container: t,
189
+ afterEventReceived: n = (e) => e
190
190
  }) => {
191
- const e = Pe({ afterEventReceived: s, container: n }), i = S(n, "pointerup").pipe(
192
- u(s)
193
- ), t = S(n, "pointermove").pipe(
194
- u(s)
195
- ), o = S(n, "pointerleave").pipe(
196
- u(s)
197
- ), a = S(
198
- n,
191
+ const e = De({ afterEventReceived: n, container: t }), i = I(t, "pointerup").pipe(
192
+ c(n)
193
+ ), s = I(t, "pointermove").pipe(
194
+ c(n)
195
+ ), p = I(t, "pointerleave").pipe(
196
+ c(n)
197
+ ), a = I(
198
+ t,
199
199
  "pointercancel"
200
- ).pipe(u(s));
201
- return y(
200
+ ).pipe(c(n));
201
+ return v(
202
202
  e,
203
203
  a,
204
- o,
204
+ p,
205
205
  i,
206
- t
206
+ s
207
207
  );
208
208
  };
209
209
  class z {
210
- constructor(s, e) {
211
- h(this, "configSubject", new B({}));
212
- h(this, "pan$");
213
- h(this, "panStart$");
214
- h(this, "panMove$");
215
- h(this, "panEnd$");
216
- h(this, "pointerEvent$");
217
- h(this, "pointerDown$");
218
- h(this, "pointerUp$");
219
- h(this, "pointerCancel$");
220
- h(this, "pointerMove$");
221
- h(this, "pointerOff$");
222
- h(this, "state$");
223
- h(this, "failWith$");
224
- h(this, "config$", this.configSubject.pipe(_));
225
- const i = new B({
210
+ constructor(n, e) {
211
+ $(this, "configSubject", new q({}));
212
+ $(this, "pan$");
213
+ $(this, "panStart$");
214
+ $(this, "panMove$");
215
+ $(this, "panEnd$");
216
+ $(this, "pointerEvent$");
217
+ $(this, "pointerDown$");
218
+ $(this, "pointerUp$");
219
+ $(this, "pointerCancel$");
220
+ $(this, "pointerMove$");
221
+ $(this, "pointerOff$");
222
+ $(this, "state$");
223
+ $(this, "config$", this.configSubject.pipe(G));
224
+ /**
225
+ * Track active running failWith recognizers
226
+ */
227
+ $(this, "failWithActive$");
228
+ const i = new q({
226
229
  fingers: 0
227
230
  });
228
231
  this.pointerEvent$ = this.config$.pipe(
229
- v(
230
- ({ container: t, afterEventReceived: o }) => Ae({
231
- container: t,
232
- afterEventReceived: o
232
+ y(
233
+ ({ container: p, afterEventReceived: a }) => Pe({
234
+ container: p,
235
+ afterEventReceived: a
233
236
  })
234
237
  )
235
238
  ), this.pointerDown$ = this.pointerEvent$.pipe(
236
- c((t) => t.type === "pointerdown")
239
+ h((p) => p.type === "pointerdown")
237
240
  ), this.pointerUp$ = this.pointerEvent$.pipe(
238
- c((t) => t.type === "pointerup")
241
+ h((p) => p.type === "pointerup")
239
242
  ), this.pointerMove$ = this.pointerEvent$.pipe(
240
- c((t) => t.type === "pointermove")
243
+ h((p) => p.type === "pointermove")
241
244
  ), this.pointerCancel$ = this.pointerEvent$.pipe(
242
- c((t) => t.type === "pointercancel")
243
- ), this.pointerOff$ = this.pointerEvent$.pipe(W), this.failWith$ = this.config$.pipe(
244
- v(
245
- ({ failWith: t }) => t != null && t.length ? y(...(t == null ? void 0 : t.map(({ start$: o }) => o)) ?? []) : se
246
- )
245
+ h((p) => p.type === "pointercancel")
246
+ ), this.pointerOff$ = this.pointerEvent$.pipe(ie);
247
+ const s = this.config$.pipe(
248
+ c(({ failWith: p }) => p),
249
+ re()
250
+ );
251
+ this.failWithActive$ = s.pipe(
252
+ y((p) => {
253
+ const a = p == null ? void 0 : p.map((o) => {
254
+ const r = o.start$.pipe(c(() => !0)), l = o.end$.pipe(c(() => !1));
255
+ return v(r, l).pipe(
256
+ H(!1),
257
+ M(1)
258
+ );
259
+ });
260
+ return a != null && a.length ? W(a) : W([T(!1)]);
261
+ }),
262
+ c((p) => p.some((a) => a)),
263
+ M(1)
247
264
  ), this.pan$ = this.configSubject.pipe(
248
- _,
249
- v((t) => {
250
- var D, d, A;
251
- const o = Math.max(1, ((D = t.panConfig) == null ? void 0 : D.numInputs) ?? 1), a = Math.max(0, ((d = t.panConfig) == null ? void 0 : d.posThreshold) ?? 0), r = Math.max(0, ((A = t.panConfig) == null ? void 0 : A.delay) ?? 0), p = this.pointerDown$.pipe(
252
- Q({
265
+ G,
266
+ y((p) => {
267
+ var d, E, A;
268
+ const a = Math.max(1, ((d = p.panConfig) == null ? void 0 : d.numInputs) ?? 1), o = Math.max(0, ((E = p.panConfig) == null ? void 0 : E.posThreshold) ?? 0), r = Math.max(0, ((A = p.panConfig) == null ? void 0 : A.delay) ?? 0), l = this.pointerDown$.pipe(
269
+ te({
253
270
  pointerEvent$: this.pointerEvent$,
254
271
  trackMove: !0
255
272
  }),
256
- x(1)
257
- ), l = (P) => P.pipe(
258
- c(
259
- (g) => g.pointers.length >= o
273
+ M(1)
274
+ ), u = (m) => m.pipe(
275
+ h(
276
+ (D) => D.pointers.length >= a
260
277
  )
261
- ), $ = (P) => P.pipe(c((g) => g.pointers.length < o));
262
- return p.pipe(
263
- l,
264
- G(({ pointers: P }) => {
265
- const g = p.pipe(
266
- $,
267
- Y(),
268
- f()
269
- ), E = H(r), I = y(
270
- ...P.map((m) => b(m)),
278
+ ), f = (m) => m.pipe(h((D) => D.pointers.length < a));
279
+ return l.pipe(
280
+ u,
281
+ J(({ pointers: m }) => {
282
+ const D = l.pipe(
283
+ f,
284
+ F(),
285
+ w()
286
+ ), Y = K(r), C = v(
287
+ ...m.map((g) => T(g)),
271
288
  this.pointerDown$
272
289
  ).pipe(
273
- T(
274
- (m) => y(this.pointerMove$, b(m)).pipe(
275
- F(m),
276
- c(
277
- (M) => J(
278
- m,
279
- M,
280
- a
290
+ S(
291
+ (g) => v(this.pointerMove$, T(g)).pipe(
292
+ X(g),
293
+ h(
294
+ (x) => Z(
295
+ g,
296
+ x,
297
+ o
281
298
  )
282
299
  )
283
300
  )
284
301
  ),
285
- Y()
302
+ F()
286
303
  ).pipe(
287
- v(() => E),
288
- j(p),
289
- u(([, { event: m, pointers: M }]) => ({
304
+ y(() => Y),
305
+ L(l),
306
+ c(([, { event: g, pointers: x }]) => ({
290
307
  type: "start",
291
- event: m,
292
- latestActivePointers: M
308
+ event: g,
309
+ latestActivePointers: x
293
310
  })),
294
- x({
311
+ M({
295
312
  bufferSize: 1,
296
313
  refCount: !1
297
314
  }),
298
- k(g)
299
- ), w = I.pipe(
300
- T(
301
- () => p.pipe(
302
- ie(1),
303
- u(({ event: m, pointers: M }) => ({
315
+ b(D)
316
+ ), k = C.pipe(
317
+ S(
318
+ () => l.pipe(
319
+ ae(1),
320
+ c(({ event: g, pointers: x }) => ({
304
321
  type: "move",
305
- event: m,
306
- latestActivePointers: M
322
+ event: g,
323
+ latestActivePointers: x
307
324
  }))
308
325
  )
309
326
  ),
310
- k(g)
311
- ), L = I.pipe(
312
- T(
313
- () => g.pipe(
314
- u(({ event: m, pointers: M }) => ({
327
+ b(D)
328
+ ), P = C.pipe(
329
+ S(
330
+ () => D.pipe(
331
+ c(({ event: g, pointers: x }) => ({
315
332
  type: "end",
316
- event: m,
317
- latestActivePointers: M
333
+ event: g,
334
+ latestActivePointers: x
318
335
  }))
319
336
  )
320
337
  )
321
- ), R = y(I, w, L).pipe(
322
- x(1)
338
+ ), O = v(C, k, P).pipe(
339
+ M(1)
323
340
  );
324
- return R.pipe(
325
- Z,
326
- j(R),
327
- u(([m, { type: M }]) => ({
328
- ...m,
329
- type: M
341
+ return O.pipe(
342
+ ne,
343
+ L(O),
344
+ c(([g, { type: x }]) => ({
345
+ ...g,
346
+ type: x
330
347
  }))
331
348
  );
332
349
  })
333
350
  );
334
351
  }),
335
- pe((t) => {
352
+ Q((p) => {
336
353
  i.next({
337
- fingers: t.pointers.length
354
+ fingers: p.pointers.length
338
355
  });
339
356
  }),
340
- f()
357
+ w()
341
358
  ), this.panStart$ = this.pan$.pipe(
342
- c((t) => t.type === "start"),
343
- u(({ type: t, ...o }) => o)
359
+ h((p) => p.type === "start"),
360
+ c(({ type: p, ...a }) => a)
344
361
  ), this.panMove$ = this.pan$.pipe(
345
- c((t) => t.type === "move"),
346
- u(({ type: t, ...o }) => o)
362
+ h((p) => p.type === "move"),
363
+ c(({ type: p, ...a }) => a)
347
364
  ), this.panEnd$ = this.pan$.pipe(
348
- c((t) => t.type === "end"),
349
- u(({ type: t, ...o }) => o)
350
- ), this.state$ = i.asObservable(), this.updateInternal(s ?? {}, e);
365
+ h((p) => p.type === "end"),
366
+ c(({ type: p, ...a }) => a)
367
+ ), this.state$ = i.asObservable(), this.updateInternal(n ?? {}, e);
351
368
  }
352
- updateInternal(s, e) {
369
+ updateInternal(n, e) {
353
370
  const i = this.configSubject.getValue();
354
371
  this.configSubject.next({
355
372
  ...i,
356
- ...s,
357
- ...s.options && {
358
- options: { ...i.options, ...s.options }
373
+ ...n,
374
+ ...n.options && {
375
+ options: { ...i.options, ...n.options }
359
376
  },
360
377
  panConfig: {
361
378
  ...i.panConfig,
@@ -363,50 +380,73 @@ class z {
363
380
  }
364
381
  });
365
382
  }
366
- update(s, e) {
367
- this.updateInternal(s, e);
383
+ update(n, e) {
384
+ this.updateInternal(n, e);
368
385
  }
369
386
  }
370
387
  class Ie extends z {
371
388
  constructor(e) {
372
- var o;
389
+ var a;
373
390
  super(e, {
374
391
  ...e,
375
- posThreshold: ((o = e == null ? void 0 : e.options) == null ? void 0 : o.posThreshold) ?? 15
392
+ posThreshold: ((a = e == null ? void 0 : e.options) == null ? void 0 : a.posThreshold) ?? 15
376
393
  });
377
- h(this, "events$");
378
- h(this, "start$");
379
- h(this, "end$");
394
+ $(this, "events$");
395
+ $(this, "start$");
396
+ $(this, "end$");
380
397
  const i = this.panStart$.pipe(
381
- u((a) => ({
398
+ c((o) => ({
382
399
  type: "panStart",
383
- ...a
400
+ ...o
384
401
  })),
385
- f()
386
- ), t = this.panEnd$.pipe(
387
- u((a) => ({
402
+ L(this.failWithActive$),
403
+ h(([, o]) => !o),
404
+ c(([o]) => o),
405
+ w()
406
+ ), s = this.panEnd$.pipe(
407
+ c((o) => ({
388
408
  type: "panEnd",
389
- ...a
409
+ ...o
390
410
  })),
391
- f()
411
+ w()
412
+ ), p = this.panMove$.pipe(
413
+ c((o) => ({
414
+ type: "panMove",
415
+ ...o
416
+ }))
392
417
  );
393
- this.events$ = y(
394
- i,
395
- this.panMove$.pipe(
396
- u((a) => ({
397
- type: "panMove",
398
- ...a
399
- }))
400
- ),
401
- t
402
- ), this.start$ = i, this.end$ = t;
418
+ this.events$ = v(
419
+ i.pipe(
420
+ y((o) => {
421
+ let r = o;
422
+ const l = this.failWithActive$.pipe(
423
+ h((d) => d),
424
+ F()
425
+ ), u = v(T(o), p, s).pipe(
426
+ Q((d) => {
427
+ r = d;
428
+ }),
429
+ b(l)
430
+ ), f = l.pipe(
431
+ c(() => ({
432
+ ...r,
433
+ type: "panEnd"
434
+ })),
435
+ b(s)
436
+ );
437
+ return v(u, f);
438
+ })
439
+ )
440
+ ), this.start$ = this.events$.pipe(
441
+ h((o) => o.type === "panStart")
442
+ ), this.end$ = this.events$.pipe(h((o) => o.type === "panEnd"));
403
443
  }
404
444
  update(e) {
405
445
  super.update(e, e.options);
406
446
  }
407
447
  }
408
- const fe = (n) => (s) => s.pipe(
409
- c((e) => Math.abs(e.velocityX) >= n || Math.abs(e.velocityY) >= n)
448
+ const we = (t) => (n) => n.pipe(
449
+ h((e) => Math.abs(e.velocityX) >= t || Math.abs(e.velocityY) >= t)
410
450
  );
411
451
  class Se extends z {
412
452
  constructor(e) {
@@ -414,23 +454,23 @@ class Se extends z {
414
454
  posThreshold: 0,
415
455
  numInputs: 1
416
456
  });
417
- h(this, "events$");
457
+ $(this, "events$");
418
458
  this.events$ = this.config$.pipe(
419
- v((i) => {
420
- const { escapeVelocity: t = 0.9 } = i.options ?? {};
459
+ y((i) => {
460
+ const { escapeVelocity: s = 0.9 } = i.options ?? {};
421
461
  return this.panStart$.pipe(
422
- v((o) => this.panEnd$.pipe(
423
- fe(t),
424
- u((a) => ({
462
+ y((p) => this.panEnd$.pipe(
463
+ we(s),
464
+ c((a) => ({
425
465
  type: "swipe",
426
- angle: de(
427
- o.event,
466
+ angle: ve(
467
+ p.event,
428
468
  a.event
429
469
  ),
430
470
  ...a
431
471
  }))
432
472
  )),
433
- f()
473
+ w()
434
474
  );
435
475
  })
436
476
  );
@@ -439,216 +479,215 @@ class Se extends z {
439
479
  super.update(e);
440
480
  }
441
481
  }
442
- const we = ({
443
- timeout: n,
444
- pointerEvent$: s
482
+ const Me = ({
483
+ timeout: t,
484
+ pointerEvent$: n
445
485
  }) => (e) => e.pipe(
446
- T(
447
- (i) => H(n).pipe(
448
- k(
449
- s.pipe(W, F(i))
486
+ S(
487
+ (i) => K(t).pipe(
488
+ b(
489
+ n.pipe(ie, X(i))
450
490
  )
451
491
  )
452
492
  )
453
- ), Me = ({
454
- initialPointerEvent: n,
455
- pointerEvent$: s,
493
+ ), Ee = ({
494
+ initialPointerEvent: t,
495
+ pointerEvent$: n,
456
496
  tolerance: e
457
497
  }) => (i) => i.pipe(
458
- T(
459
- (t) => s.pipe(
460
- F(t),
461
- N((o) => !K(o), !0),
462
- c(
463
- (o) => J(n, o, e)
498
+ S(
499
+ (s) => n.pipe(
500
+ X(s),
501
+ V((p) => !ee(p), !0),
502
+ h(
503
+ (p) => Z(t, p, e)
464
504
  )
465
505
  )
466
506
  )
467
507
  );
468
- class Te extends z {
508
+ class be extends z {
469
509
  constructor(e) {
470
510
  super(e);
471
- h(this, "events$");
511
+ $(this, "events$");
472
512
  this.events$ = this.config$.pipe(
473
- v((i) => {
474
- const {
475
- multiTapThreshold: t = 0,
476
- maximumPressTime: o = 150,
477
- maxTaps: a = 1,
478
- tolerance: r = 10
479
- } = i.options ?? {}, p = this.pointerDown$.pipe(
480
- Q({
513
+ y((i) => {
514
+ var d, E;
515
+ const s = ((d = i.options) == null ? void 0 : d.maxTaps) ?? 1, p = ((E = i.options) == null ? void 0 : E.multiTapThreshold) ?? 100 * (s - 1), { maximumPressTime: a = 150, tolerance: o = 10 } = i.options ?? {}, r = this.pointerDown$.pipe(
516
+ te({
481
517
  pointerEvent$: this.pointerEvent$,
482
518
  trackMove: !0
483
519
  }),
484
- x(1)
485
- ), l = p.pipe(
486
- c(({ pointers: d }) => d.length > 1)
487
- ), $ = (d) => d.pipe(
488
- re(this.pointerUp$.pipe(ae(t))),
489
- Y()
520
+ M(1)
521
+ ), l = r.pipe(
522
+ h(({ pointers: A }) => A.length > 1)
523
+ ), u = (A) => A.pipe(
524
+ he(this.pointerUp$.pipe(ce(p))),
525
+ F()
490
526
  );
491
- return y(
527
+ return v(
492
528
  this.pointerDown$,
493
- p.pipe(oe())
529
+ r.pipe(le())
494
530
  ).pipe(
495
- G((d) => {
496
- const A = y(
497
- b(d),
531
+ J((A) => {
532
+ const m = v(
533
+ T(A),
498
534
  this.pointerDown$
499
- ).pipe(x(1)), P = A.pipe($), g = A.pipe(
500
- Me({
501
- initialPointerEvent: d,
535
+ ).pipe(M(1)), D = m.pipe(u), Y = m.pipe(
536
+ Ee({
537
+ initialPointerEvent: A,
502
538
  pointerEvent$: this.pointerEvent$,
503
- tolerance: r
539
+ tolerance: o
504
540
  })
505
- ), E = A.pipe(
506
- we({
541
+ ), B = m.pipe(
542
+ Me({
507
543
  pointerEvent$: this.pointerEvent$,
508
- timeout: o
544
+ timeout: a
509
545
  })
510
- ), V = y(
511
- this.failWith$,
546
+ ), C = v(
547
+ this.failWithActive$.pipe(h((P) => P)),
512
548
  this.pointerCancel$,
513
549
  l,
514
- g,
515
- E
516
- ), I = P.pipe(
517
- me,
518
- c((w) => w.length <= a),
519
- u((w) => ({
550
+ Y,
551
+ B
552
+ ), k = D.pipe(
553
+ fe,
554
+ h((P) => P.length <= s),
555
+ c((P) => ({
520
556
  type: "tap",
521
- taps: w.length,
522
- latestActivePointers: w,
523
- event: w[0]
557
+ taps: P.length,
558
+ latestActivePointers: P,
559
+ event: P[0]
524
560
  })),
525
- x(1)
561
+ M(1)
526
562
  );
527
- return I.pipe(
528
- Z,
529
- j(I),
530
- u(([w, { type: L, taps: R }]) => ({
531
- ...w,
532
- type: L,
533
- taps: R
563
+ return k.pipe(
564
+ ne,
565
+ L(k),
566
+ c(([P, { type: O, taps: g }]) => ({
567
+ ...P,
568
+ type: O,
569
+ taps: g
534
570
  })),
535
- k(V)
571
+ b(C)
536
572
  );
537
573
  })
538
574
  );
539
575
  }),
540
- f()
576
+ w()
541
577
  );
542
578
  }
543
579
  update(e) {
544
580
  super.update(e);
545
581
  }
546
582
  }
547
- class be extends z {
583
+ class Ce extends z {
548
584
  constructor(e = {}) {
549
585
  super(e, {
550
586
  numInputs: 2,
551
587
  posThreshold: 15,
552
588
  ...e.options
553
589
  });
554
- h(this, "events$");
590
+ $(this, "events$");
555
591
  this.events$ = this.config$.pipe(
556
- v(() => {
592
+ y(() => {
557
593
  const i = this.panStart$.pipe(
558
- u((r) => ({
559
- ...r,
594
+ c((o) => ({
595
+ ...o,
560
596
  type: "rotateStart",
561
597
  angle: 0,
562
598
  deltaAngle: 0
563
599
  })),
564
- x(1)
565
- ), t = i.pipe(
566
- v(
600
+ M(1)
601
+ ), s = i.pipe(
602
+ y(
567
603
  () => this.pan$.pipe(
568
- O((r, p) => {
569
- const l = ((r == null ? void 0 : r.angle) ?? 0) + p.deltaPointersAngle;
604
+ U((o, r) => {
605
+ const l = ((o == null ? void 0 : o.angle) ?? 0) + r.deltaPointersAngle;
570
606
  return {
607
+ ...o,
571
608
  ...r,
572
- ...p,
573
609
  angle: l,
574
- deltaAngle: p.deltaPointersAngle
610
+ deltaAngle: r.deltaPointersAngle
575
611
  };
576
612
  }, void 0)
577
613
  )
578
614
  ),
579
- f()
580
- ), o = t.pipe(
581
- c((r) => r.type === "move"),
582
- u((r) => ({ ...r, type: "rotateMove" }))
583
- ), a = t.pipe(
584
- c((r) => r.type === "end"),
585
- u((r) => ({ ...r, type: "rotateEnd" }))
615
+ w()
616
+ ), p = s.pipe(
617
+ h((o) => o.type === "move"),
618
+ c((o) => ({ ...o, type: "rotateMove" }))
619
+ ), a = s.pipe(
620
+ h((o) => o.type === "end"),
621
+ c((o) => ({ ...o, type: "rotateEnd" }))
586
622
  );
587
- return y(i, o, a);
623
+ return v(i, p, a);
588
624
  }),
589
- f()
625
+ w()
590
626
  );
591
627
  }
592
628
  update(e) {
593
629
  super.update(e, e.options);
594
630
  }
595
631
  }
596
- const X = ({
597
- type: n,
598
- initialEvent: s
632
+ const j = ({
633
+ type: t,
634
+ initialEvent: n
599
635
  }) => (e) => e.pipe(
600
- O((i, t) => {
601
- const a = ((i == null ? void 0 : i.pointers.length) ?? 0) !== t.pointers.length, r = (i == null ? void 0 : i.pointersAverageDistance) ?? t.pointersAverageDistance, p = a ? t.pointersAverageDistance : i && "initialPointersAverageDistance" in i ? i.initialPointersAverageDistance : t.pointersAverageDistance, l = p === 0 ? 1 : t.pointersAverageDistance / p, $ = t.pointersAverageDistance - p, D = t.pointersAverageDistance - p, d = a || r === 0 ? 1 : t.pointersAverageDistance / r;
636
+ U((i, s) => {
637
+ const a = ((i == null ? void 0 : i.pointers.length) ?? 0) !== s.pointers.length, o = (i == null ? void 0 : i.pointersAverageDistance) ?? s.pointersAverageDistance, r = a ? s.pointersAverageDistance : i && "initialPointersAverageDistance" in i ? i.initialPointersAverageDistance : s.pointersAverageDistance, l = r === 0 ? 1 : s.pointersAverageDistance / r, u = s.pointersAverageDistance - r, f = s.pointersAverageDistance - r, d = a || o === 0 ? 1 : s.pointersAverageDistance / o;
602
638
  return {
603
639
  ...i,
604
- ...t,
605
- type: n,
606
- initialPointersAverageDistance: p,
640
+ ...s,
641
+ type: t,
642
+ initialPointersAverageDistance: r,
607
643
  scale: l,
608
- distance: $,
609
- deltaDistance: D,
644
+ distance: u,
645
+ deltaDistance: f,
610
646
  deltaDistanceScale: d
611
647
  };
612
- }, s),
613
- u(({ initialPointersAverageDistance: i, ...t }) => t)
648
+ }, n),
649
+ c(({ initialPointersAverageDistance: i, ...s }) => s)
614
650
  );
615
- class Ce extends z {
651
+ class Re extends z {
616
652
  constructor(e) {
617
653
  super(e, {
618
654
  ...e == null ? void 0 : e.options,
619
655
  numInputs: 2
620
656
  });
621
- h(this, "events$");
657
+ $(this, "events$");
658
+ $(this, "start$");
659
+ $(this, "end$");
660
+ const i = this.panStart$.pipe(
661
+ y(
662
+ (s) => T(s).pipe(
663
+ j({
664
+ type: "pinchStart",
665
+ initialEvent: void 0
666
+ })
667
+ )
668
+ ),
669
+ w()
670
+ );
622
671
  this.events$ = this.config$.pipe(
623
- v(() => {
624
- const i = this.panStart$.pipe(
625
- v(
626
- (a) => b(a).pipe(
627
- X({
628
- type: "pinchStart",
629
- initialEvent: void 0
630
- })
631
- )
632
- ),
633
- x(1)
634
- ), t = i.pipe(
635
- v((a) => this.pan$.pipe(
636
- N((r) => r.type !== "end"),
637
- X({
672
+ y(() => {
673
+ const s = i.pipe(M(1)), p = s.pipe(
674
+ y((o) => this.pan$.pipe(
675
+ V((r) => r.type !== "end"),
676
+ j({
638
677
  type: "pinchMove",
639
- initialEvent: a
678
+ initialEvent: o
640
679
  })
641
680
  ))
642
- ), o = i.pipe(
643
- v(
644
- (a) => this.pan$.pipe(
681
+ ), a = s.pipe(
682
+ y(
683
+ (o) => this.pan$.pipe(
645
684
  // we cannot have a panEnd without a previous event so it will always emit
646
- le(a),
647
- he(),
648
- c(([, r]) => r.type === "end"),
649
- v(
650
- ([r, p]) => b(p).pipe(
651
- X({
685
+ H(o),
686
+ $e(),
687
+ h(([, r]) => r.type === "end"),
688
+ y(
689
+ ([r, l]) => T(l).pipe(
690
+ j({
652
691
  type: "pinchEnd",
653
692
  initialEvent: r
654
693
  })
@@ -657,45 +696,47 @@ class Ce extends z {
657
696
  )
658
697
  )
659
698
  );
660
- return y(i, t, o);
699
+ return v(s, p, a);
661
700
  }),
662
- f()
663
- );
701
+ w()
702
+ ), this.start$ = this.events$.pipe(
703
+ h((s) => s.type === "pinchStart")
704
+ ), this.end$ = this.events$.pipe(h((s) => s.type === "pinchEnd"));
664
705
  }
665
706
  update(e) {
666
707
  super.update(e, e.options);
667
708
  }
668
709
  }
669
710
  class ze {
670
- constructor(s) {
671
- h(this, "events$");
672
- h(this, "recognizers");
673
- h(this, "state$");
674
- this.options = s, this.recognizers = s.recognizers, this.events$ = y(
675
- ...s.recognizers.map((e) => e.events$)
676
- ).pipe(f()), this.state$ = ce(
711
+ constructor(n) {
712
+ $(this, "events$");
713
+ $(this, "recognizers");
714
+ $(this, "state$");
715
+ this.options = n, this.recognizers = n.recognizers, this.events$ = v(
716
+ ...n.recognizers.map((e) => e.events$)
717
+ ).pipe(w()), this.state$ = W(
677
718
  this.recognizers.map((e) => e.state$)
678
719
  ).pipe(
679
- u(
680
- (e) => e.reduce((i, t) => ({
681
- fingers: Math.max(i.fingers, t.fingers)
720
+ c(
721
+ (e) => e.reduce((i, s) => ({
722
+ fingers: Math.max(i.fingers, s.fingers)
682
723
  }))
683
724
  )
684
- ), this.update(s);
725
+ ), this.update(n);
685
726
  }
686
- update(s) {
687
- s.container && (s.container.style.touchAction = "none", s.container.style.userSelect = "none"), this.options.recognizers.forEach((e) => {
688
- e.update(s);
727
+ update(n) {
728
+ n.container && (n.container.style.touchAction = "none", n.container.style.userSelect = "none"), this.options.recognizers.forEach((e) => {
729
+ e.update(n);
689
730
  });
690
731
  }
691
732
  }
692
733
  export {
693
734
  Ie as PanRecognizer,
694
- Ce as PinchRecognizer,
735
+ Re as PinchRecognizer,
695
736
  ze as Recognizable,
696
737
  z as Recognizer,
697
- be as RotateRecognizer,
738
+ Ce as RotateRecognizer,
698
739
  Se as SwipeRecognizer,
699
- Te as TapRecognizer
740
+ be as TapRecognizer
700
741
  };
701
742
  //# sourceMappingURL=index.js.map