@whitesev/pops 1.7.2 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.amd.js +95 -1403
- package/dist/index.amd.js.map +1 -1
- package/dist/index.cjs.js +95 -1403
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +95 -1403
- package/dist/index.esm.js.map +1 -1
- package/dist/index.iife.js +95 -1403
- package/dist/index.iife.js.map +1 -1
- package/dist/index.system.js +95 -1403
- package/dist/index.system.js.map +1 -1
- package/dist/index.umd.js +95 -1403
- package/dist/index.umd.js.map +1 -1
- package/dist/types/src/GlobalConfig.d.ts +20 -0
- package/dist/types/src/Pops.d.ts +18 -1
- package/dist/types/src/utils/PopsUtils.d.ts +2 -1
- package/package.json +2 -1
- package/src/GlobalConfig.ts +60 -0
- package/src/Pops.ts +6 -1
- package/src/components/alert/index.ts +2 -0
- package/src/components/confirm/index.ts +2 -0
- package/src/components/drawer/index.ts +2 -0
- package/src/components/folder/index.ts +3 -1
- package/src/components/iframe/index.ts +2 -0
- package/src/components/loading/index.ts +2 -0
- package/src/components/panel/PanelHandleContentDetails.ts +1 -1
- package/src/components/panel/index.ts +2 -0
- package/src/components/prompt/index.ts +2 -0
- package/src/components/rightClickMenu/index.ts +2 -0
- package/src/components/searchSuggestion/index.ts +2 -0
- package/src/components/tooltip/index.ts +2 -0
- package/src/css/index.css +8 -0
- package/src/utils/PopsInstanceUtils.ts +109 -119
- package/src/utils/PopsUtils.ts +5 -2
- package/dist/types/src/utils/AnyTouch.d.ts +0 -17
- package/src/utils/AnyTouch.js +0 -1394
package/dist/index.umd.js
CHANGED
|
@@ -38,1405 +38,37 @@
|
|
|
38
38
|
return PopsCoreEnv.self;
|
|
39
39
|
},
|
|
40
40
|
};
|
|
41
|
-
const OriginPrototype
|
|
41
|
+
const OriginPrototype = {
|
|
42
42
|
Object: {
|
|
43
43
|
defineProperty: Object.defineProperty,
|
|
44
44
|
},
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
Object.setPrototypeOf ||
|
|
73
|
-
({ __proto__: [] } instanceof Array &&
|
|
74
|
-
function (d, b) {
|
|
75
|
-
d.__proto__ = b;
|
|
76
|
-
}) ||
|
|
77
|
-
function (d, b) {
|
|
78
|
-
for (var p in b) if (Object.hasOwnProperty.call(b, p)) d[p] = b[p];
|
|
79
|
-
};
|
|
80
|
-
return extendStatics(d, b);
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
function __extends(d, b) {
|
|
84
|
-
if (typeof b !== "function" && b !== null)
|
|
85
|
-
throw new TypeError(
|
|
86
|
-
"Class extends value " + String(b) + " is not a constructor or null"
|
|
87
|
-
);
|
|
88
|
-
extendStatics(d, b);
|
|
89
|
-
function __() {
|
|
90
|
-
this.constructor = d;
|
|
91
|
-
}
|
|
92
|
-
d.prototype =
|
|
93
|
-
b === null
|
|
94
|
-
? Object.create(b)
|
|
95
|
-
: ((__.prototype = b.prototype), new __());
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
var __assign = function () {
|
|
99
|
-
__assign =
|
|
100
|
-
Object.assign ||
|
|
101
|
-
function __assign(t) {
|
|
102
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
103
|
-
s = arguments[i];
|
|
104
|
-
for (var p in s) if (Object.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
105
|
-
}
|
|
106
|
-
return t;
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
return __assign.apply(this, arguments);
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
function __values(o) {
|
|
113
|
-
var s = typeof Symbol === "function" && Symbol.iterator,
|
|
114
|
-
m = s && o[s],
|
|
115
|
-
i = 0;
|
|
116
|
-
if (m) return m.call(o);
|
|
117
|
-
if (o && typeof o.length === "number")
|
|
118
|
-
return {
|
|
119
|
-
next: function () {
|
|
120
|
-
if (o && i >= o.length) o = void 0;
|
|
121
|
-
return { value: o && o[i++], done: !o };
|
|
122
|
-
},
|
|
123
|
-
};
|
|
124
|
-
throw new TypeError(
|
|
125
|
-
s ? "Object is not iterable." : "Symbol.iterator is not defined."
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
var AnyEvent = (function () {
|
|
130
|
-
function AnyEvent() {
|
|
131
|
-
this.__map = {};
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
AnyEvent.prototype.beforeEach = function (interceptor) {
|
|
135
|
-
this.__interceptor = interceptor;
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
AnyEvent.prototype.on = function (typeOrTypes, listener) {
|
|
139
|
-
var e_1, _a;
|
|
140
|
-
var types = Array.isArray(typeOrTypes) ? typeOrTypes : [typeOrTypes];
|
|
141
|
-
try {
|
|
142
|
-
for (
|
|
143
|
-
var types_1 = __values(types), types_1_1 = types_1.next();
|
|
144
|
-
!types_1_1.done;
|
|
145
|
-
types_1_1 = types_1.next()
|
|
146
|
-
) {
|
|
147
|
-
var type = types_1_1.value;
|
|
148
|
-
|
|
149
|
-
this.__map[type] = this.__map[type] || [];
|
|
150
|
-
|
|
151
|
-
var listeners = this.__map[type];
|
|
152
|
-
if (listeners) {
|
|
153
|
-
listeners.push(listener);
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
} catch (e_1_1) {
|
|
157
|
-
e_1 = { error: e_1_1 };
|
|
158
|
-
} finally {
|
|
159
|
-
try {
|
|
160
|
-
if (types_1_1 && !types_1_1.done && (_a = types_1.return))
|
|
161
|
-
_a.call(types_1);
|
|
162
|
-
} finally {
|
|
163
|
-
if (e_1) throw e_1.error;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
return this;
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
AnyEvent.prototype.emit = function (type, payload, callback) {
|
|
170
|
-
var _this = this;
|
|
171
|
-
if (void 0 !== this.__interceptor) {
|
|
172
|
-
this.__interceptor(type, function () {
|
|
173
|
-
_this.__emit(type, payload);
|
|
174
|
-
callback && callback();
|
|
175
|
-
});
|
|
176
|
-
} else {
|
|
177
|
-
this.__emit(type, payload);
|
|
178
|
-
callback && callback();
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
AnyEvent.prototype.__emit = function (type, event) {
|
|
183
|
-
var e_2, _a;
|
|
184
|
-
|
|
185
|
-
var listeners = this.__map[type];
|
|
186
|
-
if (
|
|
187
|
-
Array.isArray(listeners) &&
|
|
188
|
-
(listeners === null || listeners === void 0
|
|
189
|
-
? void 0
|
|
190
|
-
: listeners.length)
|
|
191
|
-
) {
|
|
192
|
-
try {
|
|
193
|
-
for (
|
|
194
|
-
var listeners_1 = __values(listeners),
|
|
195
|
-
listeners_1_1 = listeners_1.next();
|
|
196
|
-
!listeners_1_1.done;
|
|
197
|
-
listeners_1_1 = listeners_1.next()
|
|
198
|
-
) {
|
|
199
|
-
var listener = listeners_1_1.value;
|
|
200
|
-
listener(event, type);
|
|
201
|
-
}
|
|
202
|
-
} catch (e_2_1) {
|
|
203
|
-
e_2 = { error: e_2_1 };
|
|
204
|
-
} finally {
|
|
205
|
-
try {
|
|
206
|
-
if (
|
|
207
|
-
listeners_1_1 &&
|
|
208
|
-
!listeners_1_1.done &&
|
|
209
|
-
(_a = listeners_1.return)
|
|
210
|
-
)
|
|
211
|
-
_a.call(listeners_1);
|
|
212
|
-
} finally {
|
|
213
|
-
if (e_2) throw e_2.error;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
this.event = event;
|
|
218
|
-
};
|
|
219
|
-
|
|
220
|
-
AnyEvent.prototype.off = function (type, listener) {
|
|
221
|
-
var listeners = this.__map[type];
|
|
222
|
-
if (void 0 !== listeners) {
|
|
223
|
-
if (void 0 === listener) {
|
|
224
|
-
delete this.__map[type];
|
|
225
|
-
} else {
|
|
226
|
-
var index = listeners.findIndex(function (cb) {
|
|
227
|
-
return cb === listener;
|
|
228
|
-
});
|
|
229
|
-
listeners.splice(index, 1);
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
AnyEvent.prototype.destroy = function () {
|
|
234
|
-
this.__map = {};
|
|
235
|
-
};
|
|
236
|
-
return AnyEvent;
|
|
237
|
-
})();
|
|
238
|
-
|
|
239
|
-
var TOUCH_START = "touchstart";
|
|
240
|
-
var TOUCH_MOVE = "touchmove";
|
|
241
|
-
var TOUCH_END = "touchend";
|
|
242
|
-
var TOUCH_CANCEL = "touchcancel";
|
|
243
|
-
var MOUSE_UP = "mouseup";
|
|
244
|
-
var MOUSE_MOVE = "mousemove";
|
|
245
|
-
var MOUSE_DOWN = "mousedown";
|
|
246
|
-
var TYPE_START$1 = "start";
|
|
247
|
-
var TYPE_MOVE$1 = "move";
|
|
248
|
-
var TYPE_END$1 = "end";
|
|
249
|
-
|
|
250
|
-
function isFunction(input) {
|
|
251
|
-
return "[object Function]" === Object.prototype.toString.call(input);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
var CLIENT_X = "clientX";
|
|
255
|
-
var CLIENT_Y = "clientY";
|
|
256
|
-
var COMPUTE_INTERVAL = 16;
|
|
257
|
-
var TYPE_START = "start";
|
|
258
|
-
var TYPE_MOVE = "move";
|
|
259
|
-
var TYPE_CANCEL = "cancel";
|
|
260
|
-
var TYPE_END = "end";
|
|
261
|
-
var DIRECTION_LEFT = "left";
|
|
262
|
-
var DIRECTION_RIGHT = "right";
|
|
263
|
-
var DIRECTION_UP = "up";
|
|
264
|
-
var DIRECTION_DOWN = "down";
|
|
265
|
-
|
|
266
|
-
var _a;
|
|
267
|
-
var STATUS_CODE_AND_NAME_MAP =
|
|
268
|
-
((_a = {}),
|
|
269
|
-
(_a[4] = TYPE_START),
|
|
270
|
-
(_a[5] = TYPE_MOVE),
|
|
271
|
-
(_a[1] = TYPE_END),
|
|
272
|
-
(_a[3] = TYPE_CANCEL),
|
|
273
|
-
_a);
|
|
274
|
-
|
|
275
|
-
function getStatusName(code) {
|
|
276
|
-
return STATUS_CODE_AND_NAME_MAP[code];
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
function flow(isVaild, lastStatus, phase) {
|
|
280
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
281
|
-
var STATE_MAP = {
|
|
282
|
-
1:
|
|
283
|
-
((_a = {}),
|
|
284
|
-
(_a[0] = ((_b = {}), (_b[TYPE_MOVE] = 4), _b)),
|
|
285
|
-
(_a[4] =
|
|
286
|
-
((_c = {}),
|
|
287
|
-
(_c[TYPE_MOVE] = 5),
|
|
288
|
-
(_c[TYPE_END] = 1),
|
|
289
|
-
(_c[TYPE_CANCEL] = 3),
|
|
290
|
-
_c)),
|
|
291
|
-
(_a[5] =
|
|
292
|
-
((_d = {}),
|
|
293
|
-
(_d[TYPE_MOVE] = 5),
|
|
294
|
-
(_d[TYPE_END] = 1),
|
|
295
|
-
(_d[TYPE_CANCEL] = 3),
|
|
296
|
-
_d)),
|
|
297
|
-
_a),
|
|
298
|
-
0:
|
|
299
|
-
((_e = {}),
|
|
300
|
-
(_e[4] =
|
|
301
|
-
((_f = {}),
|
|
302
|
-
(_f[TYPE_MOVE] = 2),
|
|
303
|
-
(_f[TYPE_END] = 1),
|
|
304
|
-
(_f[TYPE_CANCEL] = 3),
|
|
305
|
-
_f)),
|
|
306
|
-
(_e[5] =
|
|
307
|
-
((_g = {}),
|
|
308
|
-
(_g[TYPE_START] = 2),
|
|
309
|
-
(_g[TYPE_MOVE] = 2),
|
|
310
|
-
(_g[TYPE_END] = 1),
|
|
311
|
-
(_g[TYPE_CANCEL] = 3),
|
|
312
|
-
_g)),
|
|
313
|
-
_e),
|
|
314
|
-
};
|
|
315
|
-
|
|
316
|
-
var map = STATE_MAP[Number(isVaild)][lastStatus];
|
|
317
|
-
return (void 0 !== map && map[phase]) || 0;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
function resetState(context) {
|
|
321
|
-
if ([1, 3, 2].includes(context.state)) {
|
|
322
|
-
context.state = 0;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
function isMoveOrEndOrCancel(state) {
|
|
327
|
-
return [5, 1, 3].includes(state);
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
function isDisabled(context) {
|
|
331
|
-
if (context.disabled) {
|
|
332
|
-
context.state = 0;
|
|
333
|
-
return true;
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
function createPluginContext(defaultOptions, options) {
|
|
338
|
-
return __assign(__assign(__assign({}, defaultOptions), options), {
|
|
339
|
-
state: 0,
|
|
340
|
-
disabled: false,
|
|
341
|
-
});
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
function round2(n) {
|
|
345
|
-
return Math.round(n * 100) / 100;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
function inputCreator() {
|
|
349
|
-
var id = 0;
|
|
350
|
-
var prevInput;
|
|
351
|
-
|
|
352
|
-
var activeInput;
|
|
353
|
-
|
|
354
|
-
var startInput;
|
|
355
|
-
|
|
356
|
-
var startMultiInput;
|
|
357
|
-
|
|
358
|
-
return function (basicsInput) {
|
|
359
|
-
prevInput = activeInput;
|
|
360
|
-
if (void 0 !== basicsInput) {
|
|
361
|
-
id = Number.MAX_SAFE_INTEGER > id ? ++id : 1;
|
|
362
|
-
var pureInput = extendInput(basicsInput, id);
|
|
363
|
-
activeInput = pureInput;
|
|
364
|
-
var isStart = pureInput.isStart,
|
|
365
|
-
pointLength = pureInput.pointLength;
|
|
366
|
-
if (isStart) {
|
|
367
|
-
startInput = pureInput;
|
|
368
|
-
prevInput = void 0;
|
|
369
|
-
if (1 < pointLength) {
|
|
370
|
-
startMultiInput = pureInput;
|
|
371
|
-
} else {
|
|
372
|
-
startMultiInput = void 0;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
return __assign(__assign({}, pureInput), {
|
|
376
|
-
prevInput: prevInput,
|
|
377
|
-
|
|
378
|
-
startMultiInput: startMultiInput,
|
|
379
|
-
|
|
380
|
-
startInput: startInput,
|
|
381
|
-
});
|
|
382
|
-
}
|
|
383
|
-
};
|
|
384
|
-
}
|
|
385
|
-
|
|
386
|
-
function getCenter(points) {
|
|
387
|
-
var length = points.length;
|
|
388
|
-
if (0 < length) {
|
|
389
|
-
if (1 === length) {
|
|
390
|
-
var _a = points[0],
|
|
391
|
-
clientX = _a.clientX,
|
|
392
|
-
clientY = _a.clientY;
|
|
393
|
-
return { x: Math.round(clientX), y: Math.round(clientY) };
|
|
394
|
-
}
|
|
395
|
-
var countPoint = points.reduce(
|
|
396
|
-
function (countPoint, point) {
|
|
397
|
-
countPoint.x += point[CLIENT_X];
|
|
398
|
-
countPoint.y += point[CLIENT_Y];
|
|
399
|
-
return countPoint;
|
|
400
|
-
},
|
|
401
|
-
{ x: 0, y: 0 }
|
|
402
|
-
);
|
|
403
|
-
return {
|
|
404
|
-
x: Math.round(countPoint.x / length),
|
|
405
|
-
y: Math.round(countPoint.y / length),
|
|
406
|
-
};
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
|
|
410
|
-
function extendInput(basicsInput, id) {
|
|
411
|
-
var phase = basicsInput.phase,
|
|
412
|
-
points = basicsInput.points,
|
|
413
|
-
changedPoints = basicsInput.changedPoints,
|
|
414
|
-
nativeEvent = basicsInput.nativeEvent;
|
|
415
|
-
var pointLength = points.length;
|
|
416
|
-
var isStart = TYPE_START === phase;
|
|
417
|
-
var isEnd =
|
|
418
|
-
(TYPE_END === phase && 0 === pointLength) || TYPE_CANCEL === phase;
|
|
419
|
-
var timestamp = Date.now();
|
|
420
|
-
var _a = getCenter(points) || getCenter(changedPoints),
|
|
421
|
-
x = _a.x,
|
|
422
|
-
y = _a.y;
|
|
423
|
-
var currentTarget = nativeEvent.currentTarget;
|
|
424
|
-
return Object.assign(basicsInput, {
|
|
425
|
-
id: id,
|
|
426
|
-
x: x,
|
|
427
|
-
y: y,
|
|
428
|
-
timestamp: timestamp,
|
|
429
|
-
isStart: isStart,
|
|
430
|
-
isEnd: isEnd,
|
|
431
|
-
pointLength: pointLength,
|
|
432
|
-
currentTarget: currentTarget,
|
|
433
|
-
|
|
434
|
-
getOffset: function (el) {
|
|
435
|
-
if (el === void 0) {
|
|
436
|
-
el = currentTarget;
|
|
437
|
-
}
|
|
438
|
-
var rect = el.getBoundingClientRect();
|
|
439
|
-
return {
|
|
440
|
-
x: x - Math.round(rect.left),
|
|
441
|
-
y: y - Math.round(rect.top),
|
|
442
|
-
};
|
|
443
|
-
},
|
|
444
|
-
});
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
function mouse() {
|
|
448
|
-
var prevPoints;
|
|
449
|
-
var isPressed = false;
|
|
450
|
-
|
|
451
|
-
var _target = null;
|
|
452
|
-
var createInput = inputCreator();
|
|
453
|
-
|
|
454
|
-
return function (event) {
|
|
455
|
-
var clientX = event.clientX,
|
|
456
|
-
clientY = event.clientY,
|
|
457
|
-
type = event.type,
|
|
458
|
-
button = event.button,
|
|
459
|
-
target = event.target;
|
|
460
|
-
var points = [{ clientX: clientX, clientY: clientY, target: target }];
|
|
461
|
-
var phase;
|
|
462
|
-
if (MOUSE_DOWN === type && 0 === button) {
|
|
463
|
-
_target = target;
|
|
464
|
-
isPressed = true;
|
|
465
|
-
phase = TYPE_START$1;
|
|
466
|
-
} else if (isPressed) {
|
|
467
|
-
if (MOUSE_MOVE === type) {
|
|
468
|
-
phase = TYPE_MOVE$1;
|
|
469
|
-
} else if (MOUSE_UP === type) {
|
|
470
|
-
points = [];
|
|
471
|
-
phase = TYPE_END$1;
|
|
472
|
-
isPressed = false;
|
|
473
|
-
}
|
|
474
|
-
} else {
|
|
475
|
-
return;
|
|
476
|
-
}
|
|
477
|
-
|
|
478
|
-
var changedPoints = prevPoints || [
|
|
479
|
-
{ clientX: clientX, clientY: clientY, target: target },
|
|
480
|
-
];
|
|
481
|
-
prevPoints = [{ clientX: clientX, clientY: clientY, target: target }];
|
|
482
|
-
if (void 0 !== phase) {
|
|
483
|
-
return createInput({
|
|
484
|
-
phase: phase,
|
|
485
|
-
changedPoints: changedPoints,
|
|
486
|
-
points: points,
|
|
487
|
-
|
|
488
|
-
target: _target,
|
|
489
|
-
|
|
490
|
-
targets: [_target],
|
|
491
|
-
nativeEvent: event,
|
|
492
|
-
});
|
|
493
|
-
}
|
|
494
|
-
};
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
function touch(el) {
|
|
498
|
-
var createInput = inputCreator();
|
|
499
|
-
|
|
500
|
-
return function (event) {
|
|
501
|
-
var targets = [];
|
|
502
|
-
|
|
503
|
-
var points = [];
|
|
504
|
-
Array.from(event.touches).forEach(function (_a) {
|
|
505
|
-
var clientX = _a.clientX,
|
|
506
|
-
clientY = _a.clientY,
|
|
507
|
-
target = _a.target;
|
|
508
|
-
if (el === null || el === void 0 ? void 0 : el.contains(target)) {
|
|
509
|
-
targets.push(target);
|
|
510
|
-
points.push({
|
|
511
|
-
clientX: clientX,
|
|
512
|
-
clientY: clientY,
|
|
513
|
-
target: target,
|
|
514
|
-
});
|
|
515
|
-
}
|
|
516
|
-
});
|
|
517
|
-
var changedPoints = Array.from(event.changedTouches).map(function (_a) {
|
|
518
|
-
var clientX = _a.clientX,
|
|
519
|
-
clientY = _a.clientY,
|
|
520
|
-
target = _a.target;
|
|
521
|
-
return { clientX: clientX, clientY: clientY, target: target };
|
|
522
|
-
});
|
|
523
|
-
return createInput({
|
|
524
|
-
phase: event.type.replace("touch", ""),
|
|
525
|
-
changedPoints: changedPoints,
|
|
526
|
-
|
|
527
|
-
points: points,
|
|
528
|
-
nativeEvent: event,
|
|
529
|
-
target: event.target,
|
|
530
|
-
|
|
531
|
-
targets: targets,
|
|
532
|
-
});
|
|
533
|
-
};
|
|
534
|
-
}
|
|
535
|
-
|
|
536
|
-
function dispatchDomEvent(typeName, el, payload, eventInit) {
|
|
537
|
-
var data = {};
|
|
538
|
-
for (var key in payload) {
|
|
539
|
-
if (!["target", "currentTarget", "type"].includes(key)) {
|
|
540
|
-
data[key] = payload[key];
|
|
541
|
-
}
|
|
542
|
-
}
|
|
543
|
-
|
|
544
|
-
var event;
|
|
545
|
-
if (document.createEvent) {
|
|
546
|
-
event = document.createEvent("HTMLEvents");
|
|
547
|
-
event.initEvent(
|
|
548
|
-
typeName,
|
|
549
|
-
eventInit === null || eventInit === void 0
|
|
550
|
-
? void 0
|
|
551
|
-
: eventInit.bubbles,
|
|
552
|
-
eventInit === null || eventInit === void 0
|
|
553
|
-
? void 0
|
|
554
|
-
: eventInit.cancelable
|
|
555
|
-
);
|
|
556
|
-
} else {
|
|
557
|
-
event = new Event(typeName, eventInit);
|
|
558
|
-
}
|
|
559
|
-
Object.assign(event, data, {
|
|
560
|
-
match: function () {
|
|
561
|
-
return (
|
|
562
|
-
payload.targets &&
|
|
563
|
-
0 < payload.targets.length &&
|
|
564
|
-
payload.targets.every(function (target) {
|
|
565
|
-
return event.currentTarget.contains(target);
|
|
566
|
-
})
|
|
567
|
-
);
|
|
568
|
-
},
|
|
569
|
-
});
|
|
570
|
-
return el.dispatchEvent(event);
|
|
571
|
-
}
|
|
572
|
-
|
|
573
|
-
function canPreventDefault(event, options) {
|
|
574
|
-
var preventDefault = options.preventDefault;
|
|
575
|
-
if (isFunction(preventDefault)) {
|
|
576
|
-
return preventDefault(event);
|
|
577
|
-
} else {
|
|
578
|
-
return !!preventDefault;
|
|
579
|
-
}
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
var ELEMENT_TYPES = [
|
|
583
|
-
TOUCH_START,
|
|
584
|
-
TOUCH_MOVE,
|
|
585
|
-
TOUCH_END,
|
|
586
|
-
TOUCH_CANCEL,
|
|
587
|
-
MOUSE_DOWN,
|
|
588
|
-
];
|
|
589
|
-
var WINDOW_TYPES = [MOUSE_MOVE, MOUSE_UP];
|
|
590
|
-
|
|
591
|
-
function bindElement(el, catchEvent, options) {
|
|
592
|
-
ELEMENT_TYPES.forEach(function (type) {
|
|
593
|
-
el.addEventListener(type, catchEvent, options);
|
|
594
|
-
});
|
|
595
|
-
WINDOW_TYPES.forEach(function (type) {
|
|
596
|
-
window.addEventListener(type, catchEvent, options);
|
|
597
|
-
});
|
|
598
|
-
return function () {
|
|
599
|
-
ELEMENT_TYPES.forEach(function (types) {
|
|
600
|
-
el.removeEventListener(types, catchEvent);
|
|
601
|
-
});
|
|
602
|
-
WINDOW_TYPES.forEach(function (type) {
|
|
603
|
-
window.removeEventListener(type, catchEvent);
|
|
604
|
-
});
|
|
605
|
-
};
|
|
606
|
-
}
|
|
607
|
-
|
|
608
|
-
var TYPE_COMPUTED = "computed";
|
|
609
|
-
var DEFAULT_OPTIONS$6 = {
|
|
610
|
-
domEvents: { bubbles: true, cancelable: true },
|
|
611
|
-
|
|
612
|
-
preventDefault: function (event) {
|
|
613
|
-
if (event.target && "tagName" in event.target) {
|
|
614
|
-
var tagName = event.target.tagName;
|
|
615
|
-
return !/^(?:INPUT|TEXTAREA|BUTTON|SELECT)$/.test(tagName);
|
|
616
|
-
}
|
|
617
|
-
return false;
|
|
618
|
-
},
|
|
619
|
-
};
|
|
620
|
-
var TYPE_UNBIND = "u";
|
|
621
|
-
var TYPE_INPUT = "input";
|
|
622
|
-
var TYPE_AT_AFTER = "at:after";
|
|
623
|
-
var default_1$1 = (function (_super) {
|
|
624
|
-
__extends(default_1, _super);
|
|
625
|
-
|
|
626
|
-
function default_1(el, options) {
|
|
627
|
-
var _a;
|
|
628
|
-
|
|
629
|
-
var _this = _super.call(this) || this;
|
|
630
|
-
|
|
631
|
-
_this.v = "2.1.3";
|
|
632
|
-
|
|
633
|
-
_this.__computeFunctionList = [];
|
|
634
|
-
|
|
635
|
-
_this.__computeFunctionCreatorList = [];
|
|
636
|
-
|
|
637
|
-
_this.__pluginContexts = [];
|
|
638
|
-
_this.__isIgnoreMouse = false;
|
|
639
|
-
|
|
640
|
-
_this.el = el;
|
|
641
|
-
_this.c = {};
|
|
642
|
-
_this.__options = __assign(__assign({}, DEFAULT_OPTIONS$6), options);
|
|
643
|
-
|
|
644
|
-
var createInputFromTouch = touch(_this.el);
|
|
645
|
-
var createInputFromMouse = mouse();
|
|
646
|
-
|
|
647
|
-
_this.__inputCreatorMap =
|
|
648
|
-
((_a = {}),
|
|
649
|
-
(_a[TOUCH_START] = createInputFromTouch),
|
|
650
|
-
(_a[TOUCH_MOVE] = createInputFromTouch),
|
|
651
|
-
(_a[TOUCH_END] = createInputFromTouch),
|
|
652
|
-
(_a[TOUCH_CANCEL] = createInputFromTouch),
|
|
653
|
-
(_a[MOUSE_DOWN] = createInputFromMouse),
|
|
654
|
-
(_a[MOUSE_MOVE] = createInputFromMouse),
|
|
655
|
-
(_a[MOUSE_UP] = createInputFromMouse),
|
|
656
|
-
_a);
|
|
657
|
-
|
|
658
|
-
_this.on(TYPE_AT_AFTER, function (payload) {
|
|
659
|
-
var target = payload.target,
|
|
660
|
-
__type = payload.__type;
|
|
661
|
-
var domEvents = _this.__options.domEvents;
|
|
662
|
-
|
|
663
|
-
if (!!domEvents && void 0 !== _this.el && !!target) {
|
|
664
|
-
dispatchDomEvent(__type, target, payload, domEvents);
|
|
665
|
-
dispatchDomEvent(TYPE_AT_AFTER, target, payload, domEvents);
|
|
666
|
-
}
|
|
667
|
-
});
|
|
668
|
-
if (void 0 !== el) {
|
|
669
|
-
el.style.webkitTapHighlightColor = "rgba(0,0,0,0)";
|
|
670
|
-
var supportsPassive_1 = false;
|
|
671
|
-
try {
|
|
672
|
-
var opts = {};
|
|
673
|
-
OriginPrototype.Object.defineProperty(opts, "passive", {
|
|
674
|
-
get: function () {
|
|
675
|
-
supportsPassive_1 = true;
|
|
676
|
-
},
|
|
677
|
-
});
|
|
678
|
-
window.addEventListener(
|
|
679
|
-
"_",
|
|
680
|
-
function () {
|
|
681
|
-
return void 0;
|
|
682
|
-
},
|
|
683
|
-
opts
|
|
684
|
-
);
|
|
685
|
-
} catch (_b) {}
|
|
686
|
-
|
|
687
|
-
_this.on(
|
|
688
|
-
TYPE_UNBIND,
|
|
689
|
-
bindElement(
|
|
690
|
-
el,
|
|
691
|
-
_this.catchEvent.bind(_this),
|
|
692
|
-
false === _this.__options.preventDefault && supportsPassive_1
|
|
693
|
-
? { passive: true }
|
|
694
|
-
: { passive: false }
|
|
695
|
-
)
|
|
696
|
-
);
|
|
697
|
-
}
|
|
698
|
-
return _this;
|
|
699
|
-
}
|
|
700
|
-
|
|
701
|
-
default_1.prototype.use = function (plugin, pluginOptions) {
|
|
702
|
-
this.__pluginContexts.push(plugin(this, pluginOptions));
|
|
703
|
-
};
|
|
704
|
-
|
|
705
|
-
default_1.prototype.catchEvent = function (event) {
|
|
706
|
-
var input = this.__inputCreatorMap[event.type](event);
|
|
707
|
-
if (void 0 !== input) {
|
|
708
|
-
var stopPropagation = function () {
|
|
709
|
-
return event.stopPropagation();
|
|
710
|
-
};
|
|
711
|
-
var stopImmediatePropagation = function () {
|
|
712
|
-
return event.stopImmediatePropagation();
|
|
713
|
-
};
|
|
714
|
-
var preventDefault = function () {
|
|
715
|
-
return event.preventDefault();
|
|
716
|
-
};
|
|
717
|
-
if (canPreventDefault(event, this.__options)) {
|
|
718
|
-
preventDefault();
|
|
719
|
-
} else {
|
|
720
|
-
if ("touchstart" === event.type) {
|
|
721
|
-
this.__isIgnoreMouse = true;
|
|
722
|
-
} else if ("touchmove" === event.type) {
|
|
723
|
-
this.__isIgnoreMouse = false;
|
|
724
|
-
}
|
|
725
|
-
if (this.__isIgnoreMouse && event.type.startsWith("mouse")) {
|
|
726
|
-
if ("mouseup" === event.type) {
|
|
727
|
-
this.__isIgnoreMouse = false;
|
|
728
|
-
}
|
|
729
|
-
return;
|
|
730
|
-
}
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
this.emit(TYPE_INPUT, input);
|
|
734
|
-
this.emit2("at:".concat(input.phase), input, {});
|
|
735
|
-
var computed_1 = {};
|
|
736
|
-
|
|
737
|
-
this.__computeFunctionList.forEach(function (compute) {
|
|
738
|
-
var result = compute(input, computed_1);
|
|
739
|
-
if (void 0 !== result) {
|
|
740
|
-
for (var key in result) {
|
|
741
|
-
computed_1[key] = result[key];
|
|
742
|
-
}
|
|
743
|
-
}
|
|
744
|
-
});
|
|
745
|
-
|
|
746
|
-
this.emit(
|
|
747
|
-
TYPE_COMPUTED,
|
|
748
|
-
__assign(__assign(__assign({}, input), computed_1), {
|
|
749
|
-
stopPropagation: stopPropagation,
|
|
750
|
-
stopImmediatePropagation: stopImmediatePropagation,
|
|
751
|
-
preventDefault: preventDefault,
|
|
752
|
-
})
|
|
753
|
-
);
|
|
754
|
-
}
|
|
755
|
-
};
|
|
756
|
-
default_1.prototype.compute = function (
|
|
757
|
-
computeFunctionCreatorList,
|
|
758
|
-
|
|
759
|
-
callback
|
|
760
|
-
) {
|
|
761
|
-
var e_1, _a;
|
|
762
|
-
try {
|
|
763
|
-
for (
|
|
764
|
-
var computeFunctionCreatorList_1 = __values(
|
|
765
|
-
computeFunctionCreatorList
|
|
766
|
-
),
|
|
767
|
-
computeFunctionCreatorList_1_1 =
|
|
768
|
-
computeFunctionCreatorList_1.next();
|
|
769
|
-
!computeFunctionCreatorList_1_1.done;
|
|
770
|
-
computeFunctionCreatorList_1_1 = computeFunctionCreatorList_1.next()
|
|
771
|
-
) {
|
|
772
|
-
var computeFunctionCreator = computeFunctionCreatorList_1_1.value;
|
|
773
|
-
if (
|
|
774
|
-
!this.__computeFunctionCreatorList.includes(
|
|
775
|
-
computeFunctionCreator
|
|
776
|
-
)
|
|
777
|
-
) {
|
|
778
|
-
this.__computeFunctionCreatorList.push(computeFunctionCreator);
|
|
779
|
-
|
|
780
|
-
this.__computeFunctionList.push(computeFunctionCreator());
|
|
781
|
-
}
|
|
782
|
-
}
|
|
783
|
-
} catch (e_1_1) {
|
|
784
|
-
e_1 = { error: e_1_1 };
|
|
785
|
-
} finally {
|
|
786
|
-
try {
|
|
787
|
-
if (
|
|
788
|
-
computeFunctionCreatorList_1_1 &&
|
|
789
|
-
!computeFunctionCreatorList_1_1.done &&
|
|
790
|
-
(_a = computeFunctionCreatorList_1.return)
|
|
791
|
-
)
|
|
792
|
-
_a.call(computeFunctionCreatorList_1);
|
|
793
|
-
} finally {
|
|
794
|
-
if (e_1) throw e_1.error;
|
|
795
|
-
}
|
|
796
|
-
}
|
|
797
|
-
|
|
798
|
-
this.on(TYPE_COMPUTED, callback);
|
|
799
|
-
};
|
|
800
|
-
|
|
801
|
-
default_1.prototype.beforeEach = function (interceptor) {
|
|
802
|
-
var _this = this;
|
|
803
|
-
|
|
804
|
-
_super.prototype.beforeEach.call(this, function (type, next) {
|
|
805
|
-
var _a;
|
|
806
|
-
if ((_a = _this.c) === null || _a === void 0 ? void 0 : _a.name) {
|
|
807
|
-
interceptor(type, next);
|
|
808
|
-
} else {
|
|
809
|
-
next();
|
|
810
|
-
}
|
|
811
|
-
});
|
|
812
|
-
};
|
|
813
|
-
|
|
814
|
-
default_1.prototype.get = function (name) {
|
|
815
|
-
return this.__pluginContexts.find(function (pluginContext) {
|
|
816
|
-
return name === pluginContext.name;
|
|
817
|
-
});
|
|
818
|
-
};
|
|
819
|
-
|
|
820
|
-
default_1.prototype.set = function (newOptions) {
|
|
821
|
-
this.__options = __assign(__assign({}, this.__options), newOptions);
|
|
822
|
-
};
|
|
823
|
-
|
|
824
|
-
default_1.prototype.emit2 = function (type, payload, pluginContext) {
|
|
825
|
-
var _this = this;
|
|
826
|
-
this.c = pluginContext;
|
|
827
|
-
|
|
828
|
-
this.emit(
|
|
829
|
-
type,
|
|
830
|
-
__assign(__assign({}, payload), { type: type }),
|
|
831
|
-
function () {
|
|
832
|
-
_this.emit(
|
|
833
|
-
TYPE_AT_AFTER,
|
|
834
|
-
__assign(__assign({}, payload), { name: type, __type: type })
|
|
835
|
-
);
|
|
836
|
-
}
|
|
837
|
-
);
|
|
838
|
-
};
|
|
839
|
-
default_1.prototype.destroy = function () {
|
|
840
|
-
this.emit(TYPE_UNBIND);
|
|
841
|
-
_super.prototype.destroy.call(this);
|
|
842
|
-
};
|
|
843
|
-
return default_1;
|
|
844
|
-
})(AnyEvent);
|
|
845
|
-
|
|
846
|
-
var getVLength = function (v) {
|
|
847
|
-
return Math.sqrt(v.x * v.x + v.y * v.y);
|
|
848
|
-
};
|
|
849
|
-
|
|
850
|
-
var getDotProduct = function (v1, v2) {
|
|
851
|
-
return v1.x * v2.x + v1.y * v2.y;
|
|
852
|
-
};
|
|
853
|
-
|
|
854
|
-
var getRadian = function (v1, v2) {
|
|
855
|
-
var mr = getVLength(v1) * getVLength(v2);
|
|
856
|
-
if (mr === 0) return 0;
|
|
857
|
-
var r = getDotProduct(v1, v2) / mr;
|
|
858
|
-
if (r > 1) r = 1;
|
|
859
|
-
return Math.acos(r);
|
|
860
|
-
};
|
|
861
|
-
|
|
862
|
-
var getCross = function (v1, v2) {
|
|
863
|
-
return v1.x * v2.y - v2.x * v1.y;
|
|
864
|
-
};
|
|
865
|
-
|
|
866
|
-
var radianToAngle = function (radian) {
|
|
867
|
-
return (radian / Math.PI) * 180;
|
|
868
|
-
};
|
|
869
|
-
|
|
870
|
-
var getAngle = function (v1, v2) {
|
|
871
|
-
var angle = getRadian(v1, v2);
|
|
872
|
-
if (getCross(v1, v2) > 0) {
|
|
873
|
-
angle *= -1;
|
|
874
|
-
}
|
|
875
|
-
return radianToAngle(angle);
|
|
876
|
-
};
|
|
877
|
-
|
|
878
|
-
var getDirection = function (x, y) {
|
|
879
|
-
if (0 === x && 0 === y) {
|
|
880
|
-
return;
|
|
881
|
-
}
|
|
882
|
-
if (Math.abs(x) >= Math.abs(y)) {
|
|
883
|
-
return 0 < x ? DIRECTION_RIGHT : DIRECTION_LEFT;
|
|
884
|
-
} else {
|
|
885
|
-
return 0 < y ? DIRECTION_DOWN : DIRECTION_UP;
|
|
886
|
-
}
|
|
887
|
-
};
|
|
888
|
-
|
|
889
|
-
function ComputeAngle() {
|
|
890
|
-
var angle = 0;
|
|
891
|
-
var deltaAngle = 0;
|
|
892
|
-
|
|
893
|
-
return function (input, computed) {
|
|
894
|
-
var prevVecotr = computed.prevVecotr,
|
|
895
|
-
startVecotr = computed.startVecotr,
|
|
896
|
-
activeVecotr = computed.activeVecotr;
|
|
897
|
-
if (activeVecotr) {
|
|
898
|
-
deltaAngle = Math.round(getAngle(activeVecotr, prevVecotr));
|
|
899
|
-
angle = Math.round(getAngle(activeVecotr, startVecotr));
|
|
900
|
-
}
|
|
901
|
-
return { angle: angle, deltaAngle: deltaAngle };
|
|
902
|
-
};
|
|
903
|
-
}
|
|
904
|
-
|
|
905
|
-
function ComputeDeltaXY() {
|
|
906
|
-
return function (input) {
|
|
907
|
-
var prevInput = input.prevInput;
|
|
908
|
-
var deltaX = 0;
|
|
909
|
-
var deltaY = 0;
|
|
910
|
-
var deltaXYAngle = 0;
|
|
911
|
-
if (void 0 !== prevInput) {
|
|
912
|
-
deltaX = input.x - prevInput.x;
|
|
913
|
-
deltaY = input.y - prevInput.y;
|
|
914
|
-
if (0 !== deltaX || 0 !== deltaY) {
|
|
915
|
-
var deltaXY = Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));
|
|
916
|
-
deltaXYAngle = Math.round(
|
|
917
|
-
radianToAngle(Math.acos(Math.abs(deltaX) / deltaXY))
|
|
918
|
-
);
|
|
919
|
-
}
|
|
920
|
-
}
|
|
921
|
-
return {
|
|
922
|
-
deltaX: deltaX,
|
|
923
|
-
deltaY: deltaY,
|
|
924
|
-
deltaXYAngle: deltaXYAngle,
|
|
925
|
-
};
|
|
926
|
-
};
|
|
927
|
-
}
|
|
928
|
-
|
|
929
|
-
function ComputeDistance() {
|
|
930
|
-
var displacementX = 0;
|
|
931
|
-
var displacementY = 0;
|
|
932
|
-
var distanceX = 0;
|
|
933
|
-
var distanceY = 0;
|
|
934
|
-
var distance = 0;
|
|
935
|
-
|
|
936
|
-
var overallDirection;
|
|
937
|
-
|
|
938
|
-
return function (input) {
|
|
939
|
-
var phase = input.phase,
|
|
940
|
-
startInput = input.startInput;
|
|
941
|
-
if (TYPE_START === phase) {
|
|
942
|
-
displacementX = 0;
|
|
943
|
-
displacementY = 0;
|
|
944
|
-
distanceX = 0;
|
|
945
|
-
distanceY = 0;
|
|
946
|
-
distance = 0;
|
|
947
|
-
} else if (TYPE_MOVE === phase) {
|
|
948
|
-
displacementX = Math.round(
|
|
949
|
-
input.points[0][CLIENT_X] - startInput.points[0][CLIENT_X]
|
|
950
|
-
);
|
|
951
|
-
displacementY = Math.round(
|
|
952
|
-
input.points[0][CLIENT_Y] - startInput.points[0][CLIENT_Y]
|
|
953
|
-
);
|
|
954
|
-
distanceX = Math.abs(displacementX);
|
|
955
|
-
distanceY = Math.abs(displacementY);
|
|
956
|
-
distance = Math.round(getVLength({ x: distanceX, y: distanceY }));
|
|
957
|
-
overallDirection = getDirection(displacementX, displacementY);
|
|
958
|
-
}
|
|
959
|
-
return {
|
|
960
|
-
displacementX: displacementX,
|
|
961
|
-
displacementY: displacementY,
|
|
962
|
-
distanceX: distanceX,
|
|
963
|
-
distanceY: distanceY,
|
|
964
|
-
distance: distance,
|
|
965
|
-
|
|
966
|
-
overallDirection: overallDirection,
|
|
967
|
-
};
|
|
968
|
-
};
|
|
969
|
-
}
|
|
970
|
-
|
|
971
|
-
function ComputeScale() {
|
|
972
|
-
var scale = 1;
|
|
973
|
-
|
|
974
|
-
return function (input, computed) {
|
|
975
|
-
var deltaScale = 1;
|
|
976
|
-
var prevVecotr = computed.prevVecotr,
|
|
977
|
-
startVecotr = computed.startVecotr,
|
|
978
|
-
activeVecotr = computed.activeVecotr;
|
|
979
|
-
if (activeVecotr) {
|
|
980
|
-
deltaScale = round2(
|
|
981
|
-
getVLength(activeVecotr) / getVLength(prevVecotr)
|
|
982
|
-
);
|
|
983
|
-
scale = round2(getVLength(activeVecotr) / getVLength(startVecotr));
|
|
984
|
-
}
|
|
985
|
-
return { scale: scale, deltaScale: deltaScale };
|
|
986
|
-
};
|
|
987
|
-
}
|
|
988
|
-
|
|
989
|
-
function ComputeVAndDir() {
|
|
990
|
-
var velocityX = 0;
|
|
991
|
-
var velocityY = 0;
|
|
992
|
-
var speedX = 0;
|
|
993
|
-
var speedY = 0;
|
|
994
|
-
|
|
995
|
-
var direction;
|
|
996
|
-
|
|
997
|
-
var lastValidInput;
|
|
998
|
-
|
|
999
|
-
return function (input) {
|
|
1000
|
-
if (void 0 !== input) {
|
|
1001
|
-
lastValidInput = lastValidInput || input.startInput;
|
|
1002
|
-
var deltaTime = input.timestamp - lastValidInput.timestamp;
|
|
1003
|
-
if (COMPUTE_INTERVAL < deltaTime) {
|
|
1004
|
-
var deltaX = input.x - lastValidInput.x;
|
|
1005
|
-
var deltaY = input.y - lastValidInput.y;
|
|
1006
|
-
speedX = Math.round((deltaX / deltaTime) * 100) / 100;
|
|
1007
|
-
speedY = Math.round((deltaY / deltaTime) * 100) / 100;
|
|
1008
|
-
velocityX = Math.abs(speedX);
|
|
1009
|
-
velocityY = Math.abs(speedY);
|
|
1010
|
-
direction = getDirection(deltaX, deltaY);
|
|
1011
|
-
lastValidInput = input;
|
|
1012
|
-
}
|
|
1013
|
-
}
|
|
1014
|
-
return {
|
|
1015
|
-
velocityX: velocityX,
|
|
1016
|
-
velocityY: velocityY,
|
|
1017
|
-
speedX: speedX,
|
|
1018
|
-
speedY: speedY,
|
|
1019
|
-
|
|
1020
|
-
direction: direction,
|
|
1021
|
-
};
|
|
1022
|
-
};
|
|
1023
|
-
}
|
|
1024
|
-
|
|
1025
|
-
function ComputeMaxLength() {
|
|
1026
|
-
var maxPointLength = 0;
|
|
1027
|
-
|
|
1028
|
-
return function (input) {
|
|
1029
|
-
var phase = input.phase;
|
|
1030
|
-
if (TYPE_START === phase) {
|
|
1031
|
-
maxPointLength = input.pointLength;
|
|
1032
|
-
}
|
|
1033
|
-
return { maxPointLength: maxPointLength };
|
|
1034
|
-
};
|
|
1035
|
-
}
|
|
1036
|
-
|
|
1037
|
-
function computeVector(input) {
|
|
1038
|
-
return {
|
|
1039
|
-
x: input.points[1][CLIENT_X] - input.points[0][CLIENT_X],
|
|
1040
|
-
y: input.points[1][CLIENT_Y] - input.points[0][CLIENT_Y],
|
|
1041
|
-
};
|
|
1042
|
-
}
|
|
1043
|
-
function ComputeVectorForMutli() {
|
|
1044
|
-
var startVecotr;
|
|
1045
|
-
|
|
1046
|
-
var prevVecotr;
|
|
1047
|
-
var activeVecotr;
|
|
1048
|
-
|
|
1049
|
-
return function (input) {
|
|
1050
|
-
var prevInput = input.prevInput,
|
|
1051
|
-
startMultiInput = input.startMultiInput;
|
|
1052
|
-
if (
|
|
1053
|
-
void 0 !== startMultiInput &&
|
|
1054
|
-
void 0 !== prevInput &&
|
|
1055
|
-
input.id !== startMultiInput.id &&
|
|
1056
|
-
1 < prevInput.pointLength &&
|
|
1057
|
-
1 < input.pointLength
|
|
1058
|
-
) {
|
|
1059
|
-
startVecotr = computeVector(startMultiInput);
|
|
1060
|
-
prevVecotr = computeVector(prevInput);
|
|
1061
|
-
activeVecotr = computeVector(input);
|
|
1062
|
-
} else {
|
|
1063
|
-
activeVecotr = void 0;
|
|
1064
|
-
}
|
|
1065
|
-
return {
|
|
1066
|
-
startVecotr: startVecotr,
|
|
1067
|
-
|
|
1068
|
-
prevVecotr: prevVecotr,
|
|
1069
|
-
activeVecotr: activeVecotr,
|
|
1070
|
-
};
|
|
1071
|
-
};
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1074
|
-
var DEFAULT_OPTIONS$5 = {
|
|
1075
|
-
name: "tap",
|
|
1076
|
-
pointLength: 1,
|
|
1077
|
-
tapTimes: 1,
|
|
1078
|
-
waitNextTapTime: 300,
|
|
1079
|
-
maxDistance: 2,
|
|
1080
|
-
maxDistanceFromPrevTap: 9,
|
|
1081
|
-
maxPressTime: 250,
|
|
1082
|
-
};
|
|
1083
|
-
|
|
1084
|
-
function tap(at, options) {
|
|
1085
|
-
var context = createPluginContext(DEFAULT_OPTIONS$5, options);
|
|
1086
|
-
var tapCount = 0;
|
|
1087
|
-
|
|
1088
|
-
var prevTapPoint;
|
|
1089
|
-
|
|
1090
|
-
var prevTapTime;
|
|
1091
|
-
|
|
1092
|
-
var countDownToFailTimer;
|
|
1093
|
-
function reset() {
|
|
1094
|
-
tapCount = 0;
|
|
1095
|
-
prevTapPoint = void 0;
|
|
1096
|
-
prevTapTime = void 0;
|
|
1097
|
-
}
|
|
1098
|
-
function countDownToFail() {
|
|
1099
|
-
countDownToFailTimer = setTimeout(function () {
|
|
1100
|
-
context.state = 2;
|
|
1101
|
-
reset();
|
|
1102
|
-
}, context.waitNextTapTime);
|
|
1103
|
-
}
|
|
1104
|
-
|
|
1105
|
-
function isValidDistanceFromPrevTap(center, options) {
|
|
1106
|
-
if (void 0 !== prevTapPoint) {
|
|
1107
|
-
var distanceFromPreviousTap = getVLength({
|
|
1108
|
-
x: center.x - prevTapPoint.x,
|
|
1109
|
-
|
|
1110
|
-
y: center.y - prevTapPoint.y,
|
|
1111
|
-
});
|
|
1112
|
-
prevTapPoint = center;
|
|
1113
|
-
return options.maxDistanceFromPrevTap >= distanceFromPreviousTap;
|
|
1114
|
-
} else {
|
|
1115
|
-
prevTapPoint = center;
|
|
1116
|
-
return true;
|
|
1117
|
-
}
|
|
1118
|
-
}
|
|
1119
|
-
|
|
1120
|
-
function isValidInterval(waitNextTapTime) {
|
|
1121
|
-
var now = performance.now();
|
|
1122
|
-
|
|
1123
|
-
if (void 0 === prevTapTime) {
|
|
1124
|
-
prevTapTime = now;
|
|
1125
|
-
return true;
|
|
1126
|
-
} else {
|
|
1127
|
-
var interval = now - prevTapTime;
|
|
1128
|
-
prevTapTime = now;
|
|
1129
|
-
return interval < waitNextTapTime;
|
|
1130
|
-
}
|
|
1131
|
-
}
|
|
1132
|
-
|
|
1133
|
-
at.compute([ComputeDistance, ComputeMaxLength], function (computed) {
|
|
1134
|
-
if (isDisabled(context)) return;
|
|
1135
|
-
var phase = computed.phase,
|
|
1136
|
-
x = computed.x,
|
|
1137
|
-
y = computed.y;
|
|
1138
|
-
if (TYPE_END !== phase) return;
|
|
1139
|
-
context.state = 0;
|
|
1140
|
-
if (test()) {
|
|
1141
|
-
clearTimeout(countDownToFailTimer);
|
|
1142
|
-
if (
|
|
1143
|
-
isValidDistanceFromPrevTap({ x: x, y: y }, context) &&
|
|
1144
|
-
isValidInterval(context.waitNextTapTime)
|
|
1145
|
-
) {
|
|
1146
|
-
tapCount++;
|
|
1147
|
-
} else {
|
|
1148
|
-
tapCount = 1;
|
|
1149
|
-
}
|
|
1150
|
-
if (0 === tapCount % context.tapTimes) {
|
|
1151
|
-
context.state = 1;
|
|
1152
|
-
at.emit2(context.name, computed, context);
|
|
1153
|
-
reset();
|
|
1154
|
-
} else {
|
|
1155
|
-
countDownToFail();
|
|
1156
|
-
}
|
|
1157
|
-
} else {
|
|
1158
|
-
reset();
|
|
1159
|
-
context.state = 2;
|
|
1160
|
-
}
|
|
1161
|
-
function test() {
|
|
1162
|
-
var startInput = computed.startInput,
|
|
1163
|
-
pointLength = computed.pointLength,
|
|
1164
|
-
timestamp = computed.timestamp;
|
|
1165
|
-
var deltaTime = timestamp - startInput.timestamp;
|
|
1166
|
-
var distance = computed.distance,
|
|
1167
|
-
maxPointLength = computed.maxPointLength;
|
|
1168
|
-
return (
|
|
1169
|
-
maxPointLength === context.pointLength &&
|
|
1170
|
-
0 === pointLength &&
|
|
1171
|
-
context.maxDistance >= distance &&
|
|
1172
|
-
context.maxPressTime > deltaTime
|
|
1173
|
-
);
|
|
1174
|
-
}
|
|
1175
|
-
});
|
|
1176
|
-
return context;
|
|
1177
|
-
}
|
|
1178
|
-
|
|
1179
|
-
var DEFAULT_OPTIONS$4 = { name: "pan", threshold: 10, pointLength: 1 };
|
|
1180
|
-
|
|
1181
|
-
function pan(at, options) {
|
|
1182
|
-
var context = createPluginContext(DEFAULT_OPTIONS$4, options);
|
|
1183
|
-
at.compute(
|
|
1184
|
-
[ComputeVAndDir, ComputeDistance, ComputeDeltaXY],
|
|
1185
|
-
|
|
1186
|
-
function (computed) {
|
|
1187
|
-
resetState(context);
|
|
1188
|
-
if (isDisabled(context)) return;
|
|
1189
|
-
var isValid = test();
|
|
1190
|
-
context.state = flow(isValid, context.state, computed.phase);
|
|
1191
|
-
if (isValid || isMoveOrEndOrCancel(context.state)) {
|
|
1192
|
-
var name_1 = context.name;
|
|
1193
|
-
at.emit2(name_1, computed, context);
|
|
1194
|
-
at.emit2(name_1 + getStatusName(context.state), computed, context);
|
|
1195
|
-
if (
|
|
1196
|
-
![TYPE_END, TYPE_CANCEL].includes(computed.phase) &&
|
|
1197
|
-
computed.direction
|
|
1198
|
-
) {
|
|
1199
|
-
at.emit2(name_1 + computed.direction, computed, context);
|
|
1200
|
-
}
|
|
1201
|
-
}
|
|
1202
|
-
function test() {
|
|
1203
|
-
var pointLength = computed.pointLength,
|
|
1204
|
-
distance = computed.distance;
|
|
1205
|
-
return (
|
|
1206
|
-
context.pointLength === pointLength &&
|
|
1207
|
-
context.threshold <= distance
|
|
1208
|
-
);
|
|
1209
|
-
}
|
|
1210
|
-
}
|
|
1211
|
-
);
|
|
1212
|
-
return context;
|
|
1213
|
-
}
|
|
1214
|
-
|
|
1215
|
-
var DEFAULT_OPTIONS$3 = {
|
|
1216
|
-
name: "swipe",
|
|
1217
|
-
threshold: 10,
|
|
1218
|
-
velocity: 0.3,
|
|
1219
|
-
pointLength: 1,
|
|
1220
|
-
};
|
|
1221
|
-
|
|
1222
|
-
function swipe(at, options) {
|
|
1223
|
-
var context = createPluginContext(DEFAULT_OPTIONS$3, options);
|
|
1224
|
-
at.compute(
|
|
1225
|
-
[ComputeDistance, ComputeVAndDir, ComputeMaxLength],
|
|
1226
|
-
|
|
1227
|
-
function (computed) {
|
|
1228
|
-
context.state = 0;
|
|
1229
|
-
if (context.disabled) return;
|
|
1230
|
-
if (test()) {
|
|
1231
|
-
var name_1 = context.name;
|
|
1232
|
-
context.state = 1;
|
|
1233
|
-
at.emit2(name_1, computed, context);
|
|
1234
|
-
at.emit2(name_1 + computed.direction, computed, context);
|
|
1235
|
-
}
|
|
1236
|
-
function test() {
|
|
1237
|
-
if (TYPE_END !== computed.phase) return false;
|
|
1238
|
-
var velocityX = computed.velocityX,
|
|
1239
|
-
velocityY = computed.velocityY,
|
|
1240
|
-
distance = computed.distance,
|
|
1241
|
-
maxPointLength = computed.maxPointLength;
|
|
1242
|
-
return (
|
|
1243
|
-
maxPointLength === context.pointLength &&
|
|
1244
|
-
0 === computed.points.length &&
|
|
1245
|
-
context.threshold < distance &&
|
|
1246
|
-
context.velocity < Math.max(velocityX, velocityY)
|
|
1247
|
-
);
|
|
1248
|
-
}
|
|
1249
|
-
}
|
|
1250
|
-
);
|
|
1251
|
-
return context;
|
|
1252
|
-
}
|
|
1253
|
-
|
|
1254
|
-
var DEFAULT_OPTIONS$2 = {
|
|
1255
|
-
name: "press",
|
|
1256
|
-
pointLength: 1,
|
|
1257
|
-
maxDistance: 9,
|
|
1258
|
-
minPressTime: 251,
|
|
1259
|
-
};
|
|
1260
|
-
|
|
1261
|
-
function press(at, options) {
|
|
1262
|
-
var context = createPluginContext(DEFAULT_OPTIONS$2, options);
|
|
1263
|
-
var timeoutId = 0;
|
|
1264
|
-
|
|
1265
|
-
at.compute([ComputeDistance], function (computed) {
|
|
1266
|
-
if (isDisabled(context)) return;
|
|
1267
|
-
var phase = computed.phase,
|
|
1268
|
-
startInput = computed.startInput,
|
|
1269
|
-
pointLength = computed.pointLength;
|
|
1270
|
-
if (TYPE_START === phase && context.pointLength === pointLength) {
|
|
1271
|
-
resetState(context);
|
|
1272
|
-
clearTimeout(timeoutId);
|
|
1273
|
-
timeoutId = setTimeout(function () {
|
|
1274
|
-
context.state = 1;
|
|
1275
|
-
at.emit2(context.name, computed, context);
|
|
1276
|
-
}, context.minPressTime);
|
|
1277
|
-
} else if (TYPE_END === phase && 1 === context.state) {
|
|
1278
|
-
at.emit2(
|
|
1279
|
-
"".concat(context.name).concat(DIRECTION_UP),
|
|
1280
|
-
computed,
|
|
1281
|
-
context
|
|
1282
|
-
);
|
|
1283
|
-
} else if (1 !== context.state) {
|
|
1284
|
-
var deltaTime = computed.timestamp - startInput.timestamp;
|
|
1285
|
-
if (
|
|
1286
|
-
!test() ||
|
|
1287
|
-
(context.minPressTime > deltaTime &&
|
|
1288
|
-
[TYPE_END, TYPE_CANCEL].includes(phase))
|
|
1289
|
-
) {
|
|
1290
|
-
clearTimeout(timeoutId);
|
|
1291
|
-
context.state = 2;
|
|
1292
|
-
}
|
|
1293
|
-
}
|
|
1294
|
-
function test() {
|
|
1295
|
-
var distance = computed.distance;
|
|
1296
|
-
return distance && context.maxDistance > distance;
|
|
1297
|
-
}
|
|
1298
|
-
});
|
|
1299
|
-
return context;
|
|
1300
|
-
}
|
|
1301
|
-
|
|
1302
|
-
var DEFAULT_OPTIONS$1 = {
|
|
1303
|
-
name: "pinch",
|
|
1304
|
-
threshold: 0,
|
|
1305
|
-
pointLength: 2,
|
|
1306
|
-
};
|
|
1307
|
-
|
|
1308
|
-
function pinch(at, options) {
|
|
1309
|
-
var context = createPluginContext(DEFAULT_OPTIONS$1, options);
|
|
1310
|
-
at.compute(
|
|
1311
|
-
[ComputeVectorForMutli, ComputeScale],
|
|
1312
|
-
|
|
1313
|
-
function (computed) {
|
|
1314
|
-
resetState(context);
|
|
1315
|
-
if (isDisabled(context)) return;
|
|
1316
|
-
var isValid = test();
|
|
1317
|
-
context.state = flow(isValid, context.state, computed.phase);
|
|
1318
|
-
var name = context.name;
|
|
1319
|
-
if (isValid || isMoveOrEndOrCancel(context.state)) {
|
|
1320
|
-
at.emit2(name, computed, context);
|
|
1321
|
-
var deltaScale = computed.deltaScale;
|
|
1322
|
-
if (1 !== deltaScale) {
|
|
1323
|
-
at.emit2(
|
|
1324
|
-
name + (1 < deltaScale ? "in" : "out"),
|
|
1325
|
-
computed,
|
|
1326
|
-
context
|
|
1327
|
-
);
|
|
1328
|
-
}
|
|
1329
|
-
}
|
|
1330
|
-
var stateName = getStatusName(context.state);
|
|
1331
|
-
if (stateName) {
|
|
1332
|
-
at.emit2(name + stateName, computed, context);
|
|
1333
|
-
}
|
|
1334
|
-
function test() {
|
|
1335
|
-
var pointLength = computed.pointLength,
|
|
1336
|
-
scale = computed.scale;
|
|
1337
|
-
computed.deltaScale;
|
|
1338
|
-
computed.phase;
|
|
1339
|
-
return (
|
|
1340
|
-
context.pointLength === pointLength &&
|
|
1341
|
-
context.threshold < Math.abs(scale - 1)
|
|
1342
|
-
);
|
|
1343
|
-
}
|
|
1344
|
-
}
|
|
1345
|
-
);
|
|
1346
|
-
return context;
|
|
1347
|
-
}
|
|
1348
|
-
|
|
1349
|
-
var DEFAULT_OPTIONS = {
|
|
1350
|
-
name: "rotate",
|
|
1351
|
-
threshold: 0,
|
|
1352
|
-
pointLength: 2,
|
|
1353
|
-
};
|
|
1354
|
-
|
|
1355
|
-
function rotate(at, options) {
|
|
1356
|
-
var context = createPluginContext(DEFAULT_OPTIONS, options);
|
|
1357
|
-
at.compute(
|
|
1358
|
-
[ComputeVectorForMutli, ComputeAngle],
|
|
1359
|
-
|
|
1360
|
-
function (computed) {
|
|
1361
|
-
if (isDisabled(context)) return;
|
|
1362
|
-
resetState(context);
|
|
1363
|
-
var isValid = test();
|
|
1364
|
-
context.state = flow(isValid, context.state, computed.phase);
|
|
1365
|
-
var name = context.name;
|
|
1366
|
-
if (isValid || isMoveOrEndOrCancel(context.state)) {
|
|
1367
|
-
at.emit2(name, computed, context);
|
|
1368
|
-
}
|
|
1369
|
-
var stateName = getStatusName(context.state);
|
|
1370
|
-
if (stateName) {
|
|
1371
|
-
at.emit2(name + stateName, computed, context);
|
|
1372
|
-
}
|
|
1373
|
-
function test() {
|
|
1374
|
-
var pointLength = computed.pointLength,
|
|
1375
|
-
angle = computed.angle;
|
|
1376
|
-
return (
|
|
1377
|
-
context.pointLength === pointLength &&
|
|
1378
|
-
context.threshold < Math.abs(angle)
|
|
1379
|
-
);
|
|
1380
|
-
}
|
|
1381
|
-
}
|
|
1382
|
-
);
|
|
1383
|
-
return context;
|
|
1384
|
-
}
|
|
1385
|
-
|
|
1386
|
-
function doubletap(at) {
|
|
1387
|
-
at.use(tap, { name: "doubletap", tapTimes: 2 });
|
|
1388
|
-
var doubleTapContext = at.get("doubletap");
|
|
1389
|
-
|
|
1390
|
-
var timeID;
|
|
1391
|
-
|
|
1392
|
-
at.beforeEach(function (type, next) {
|
|
1393
|
-
if ("tap" === type) {
|
|
1394
|
-
clearTimeout(timeID);
|
|
1395
|
-
timeID = setTimeout(function () {
|
|
1396
|
-
if ([0, 2].includes(doubleTapContext.state)) {
|
|
1397
|
-
next();
|
|
1398
|
-
}
|
|
1399
|
-
}, 300);
|
|
1400
|
-
} else {
|
|
1401
|
-
next();
|
|
1402
|
-
}
|
|
1403
|
-
});
|
|
1404
|
-
return doubleTapContext;
|
|
1405
|
-
}
|
|
1406
|
-
|
|
1407
|
-
var default_1 = (function (_super) {
|
|
1408
|
-
__extends(default_1, _super);
|
|
1409
|
-
|
|
1410
|
-
function default_1(el, options) {
|
|
1411
|
-
var _this = _super.call(this, el, options) || this;
|
|
1412
|
-
_this.use(tap);
|
|
1413
|
-
_this.use(pan);
|
|
1414
|
-
_this.use(swipe);
|
|
1415
|
-
_this.use(press);
|
|
1416
|
-
_this.use(pinch);
|
|
1417
|
-
_this.use(rotate);
|
|
1418
|
-
return _this;
|
|
1419
|
-
}
|
|
1420
|
-
default_1.STATE_POSSIBLE = 0;
|
|
1421
|
-
default_1.STATE_START = 4;
|
|
1422
|
-
default_1.STATE_MOVE = 5;
|
|
1423
|
-
default_1.STATE_END = 1;
|
|
1424
|
-
default_1.STATE_CANCELLED = 3;
|
|
1425
|
-
default_1.STATE_FAILED = 2;
|
|
1426
|
-
default_1.STATE_RECOGNIZED = 1;
|
|
1427
|
-
default_1.tap = tap;
|
|
1428
|
-
default_1.pan = pan;
|
|
1429
|
-
default_1.swipe = swipe;
|
|
1430
|
-
default_1.press = press;
|
|
1431
|
-
default_1.rotate = rotate;
|
|
1432
|
-
default_1.pinch = pinch;
|
|
1433
|
-
default_1.doubletap = doubletap;
|
|
1434
|
-
return default_1;
|
|
1435
|
-
})(default_1$1);
|
|
1436
|
-
|
|
1437
|
-
return default_1;
|
|
1438
|
-
});
|
|
1439
|
-
};
|
|
47
|
+
let t$1 = class t{constructor(){this.__map={};}beforeEach(t){this.__interceptor=t;}on(t,i){const s=Array.isArray(t)?t:[t];for(const t of s){this.__map[t]=this.__map[t]||[];const s=this.__map[t];s&&s.push(i);}return this}emit(t,i,s){void 0!==this.__interceptor?this.__interceptor(t,(()=>{this.__emit(t,i),s&&s();})):(this.__emit(t,i),s&&s());}__emit(t,i){const s=this.__map[t];if(Array.isArray(s)&&(null==s?void 0:s.length))for(const _ of s)_(i,t);this.event=i;}off(t,i){const s=this.__map[t];if(void 0!==s)if(void 0===i)delete this.__map[t];else {const t=s.findIndex((t=>t===i));s.splice(t,1);}}destroy(){this.__map={};}};
|
|
48
|
+
|
|
49
|
+
const n$1="clientX",e$2="clientY",t=16,c$3="start",o$1="move",s$1="cancel",u$3="end",a$2="left",i$3="right",r$4="up",d$1="down",m$2={4:"start",5:"move",1:"end",3:"cancel"};function v$1(n){return m$2[n]}function b(n,e,t){const c={1:{0:{move:4},4:{move:5,end:1,cancel:3},5:{move:5,end:1,cancel:3}},0:{4:{move:2,end:1,cancel:3},5:{start:2,move:2,end:1,cancel:3}}}[Number(n)][e];return void 0!==c&&c[t]||0}function g$1(n){[1,3,2].includes(n.state)&&(n.state=0);}function h$3(n){return [5,1,3].includes(n)}function j(n){if(n.disabled)return n.state=0,!0}function O(n,e){return Object.assign(Object.assign(Object.assign({},n),e),{state:0,disabled:!1})}function p$3(n){return Math.round(100*n)/100}
|
|
50
|
+
|
|
51
|
+
function r$3(){let t,o,i,r,a=0;return function(u){if(t=o,void 0!==u){a=Number.MAX_SAFE_INTEGER>a?++a:1;const h=function(t,o){const{phase:i,points:r,changedPoints:a,nativeEvent:u}=t,h=r.length,p=c$3===i,g=u$3===i&&0===h||s$1===i,l=Date.now(),{x:d,y:m}=c$2(r)||c$2(a),{currentTarget:v}=u;return Object.assign(t,{id:o,x:d,y:m,timestamp:l,isStart:p,isEnd:g,pointLength:h,currentTarget:v,getOffset(t=v){const e=t.getBoundingClientRect();return {x:d-Math.round(e.left),y:m-Math.round(e.top)}}})}(u,a);o=h;const{isStart:p,pointLength:g}=h;return p&&(i=h,t=void 0,r=1<g?h:void 0),Object.assign(Object.assign({},h),{prevInput:t,startMultiInput:r,startInput:i})}}}function c$2(t){const{length:e}=t;if(0<e){if(1===e){const{clientX:e,clientY:n}=t[0];return {x:Math.round(e),y:Math.round(n)}}const n=t.reduce(((t,e)=>(t.x+=e[n$1],t.y+=e[e$2],t)),{x:0,y:0});return {x:Math.round(n.x/e),y:Math.round(n.y/e)}}}function a$1(t,e,n,s){const o={};for(const t in n)["target","currentTarget","type"].includes(t)||(o[t]=n[t]);let i;return document.createEvent?(i=document.createEvent("HTMLEvents"),i.initEvent(t,null==s?void 0:s.bubbles,null==s?void 0:s.cancelable)):i=new Event(t,s),Object.assign(i,o,{match:()=>n.targets&&0<n.targets.length&&n.targets.every((t=>i.currentTarget.contains(t)))}),e.dispatchEvent(i)}function u$2(t,e){const{preventDefault:n}=e;return s=n,"[object Function]"===Object.prototype.toString.call(s)?n(t):!!n;var s;}const h$2=["touchstart","touchmove","touchend","touchcancel","mousedown"],p$2=["mousemove","mouseup"];const g={domEvents:{bubbles:!0,cancelable:!0},preventDefault:t=>{if(t.target&&"tagName"in t.target){const{tagName:e}=t.target;return !/^(?:INPUT|TEXTAREA|BUTTON|SELECT)$/.test(e)}return !1}};let l$1 = class l extends t$1{constructor(t,e){super(),this.v="2.1.3",this.__computeFunctionList=[],this.__computeFunctionCreatorList=[],this.__pluginContexts=[],this.__isIgnoreMouse=!1,this.el=t,this.c={},this.__options=Object.assign(Object.assign({},g),e);const n=function(t){const e=r$3();return function(n){const s=[],o=[];Array.from(n.touches).forEach((({clientX:e,clientY:n,target:i})=>{(null==t?void 0:t.contains(i))&&(s.push(i),o.push({clientX:e,clientY:n,target:i}));}));const i=Array.from(n.changedTouches).map((({clientX:t,clientY:e,target:n})=>({clientX:t,clientY:e,target:n})));return e({phase:n.type.replace("touch",""),changedPoints:i,points:o,nativeEvent:n,target:n.target,targets:s})}}(this.el),s=function(){let t,e=!1,n=null;const s=r$3();return function(o){const{clientX:i,clientY:r,type:c,button:a,target:u}=o;let h,p=[{clientX:i,clientY:r,target:u}];if("mousedown"===c&&0===a)n=u,e=!0,h="start";else {if(!e)return;"mousemove"===c?h="move":"mouseup"===c&&(p=[],h="end",e=!1);}const g=t||[{clientX:i,clientY:r,target:u}];if(t=[{clientX:i,clientY:r,target:u}],void 0!==h)return s({phase:h,changedPoints:g,points:p,target:n,targets:[n],nativeEvent:o})}}();if(this.__inputCreatorMap={touchstart:n,touchmove:n,touchend:n,touchcancel:n,mousedown:s,mousemove:s,mouseup:s},this.on("at:after",(t=>{const{target:e,__type:n}=t,{domEvents:s}=this.__options;s&&void 0!==this.el&&e&&(a$1(n,e,t,s),a$1("at:after",e,t,s));})),void 0!==t){t.style.webkitTapHighlightColor="rgba(0,0,0,0)";let e=!1;try{const t={};Object.defineProperty(t,"passive",{get(){e=!0;}}),window.addEventListener("_",(()=>{}),t);}catch(t){}this.on("u",function(t,e,n){return h$2.forEach((s=>{t.addEventListener(s,e,n);})),p$2.forEach((t=>{window.addEventListener(t,e,n);})),()=>{h$2.forEach((n=>{t.removeEventListener(n,e);})),p$2.forEach((t=>{window.removeEventListener(t,e);}));}}(t,this.catchEvent.bind(this),!1===this.__options.preventDefault&&e?{passive:!0}:{passive:!1}));}}use(t,e){this.__pluginContexts.push(t(this,e));}catchEvent(t){const e=this.__inputCreatorMap[t.type](t);if(void 0!==e){const n=()=>t.stopPropagation(),s=()=>t.stopImmediatePropagation(),o=()=>t.preventDefault();if(u$2(t,this.__options))o();else if("touchstart"===t.type?this.__isIgnoreMouse=!0:"touchmove"===t.type&&(this.__isIgnoreMouse=!1),this.__isIgnoreMouse&&t.type.startsWith("mouse"))return void("mouseup"===t.type&&(this.__isIgnoreMouse=!1));this.emit("input",e),this.emit2(`at:${e.phase}`,e,{});const i={};this.__computeFunctionList.forEach((t=>{const n=t(e,i);if(void 0!==n)for(const t in n)i[t]=n[t];})),this.emit("computed",Object.assign(Object.assign(Object.assign({},e),i),{stopPropagation:n,stopImmediatePropagation:s,preventDefault:o}));}}compute(t,e){for(const e of t)this.__computeFunctionCreatorList.includes(e)||(this.__computeFunctionCreatorList.push(e),this.__computeFunctionList.push(e()));this.on("computed",e);}beforeEach(t){super.beforeEach(((e,n)=>{var s;(null===(s=this.c)||void 0===s?void 0:s.name)?t(e,n):n();}));}get(t){return this.__pluginContexts.find((e=>t===e.name))}set(t){this.__options=Object.assign(Object.assign({},this.__options),t);}emit2(t,e,n){this.c=n,this.emit(t,Object.assign(Object.assign({},e),{type:t}),(()=>{this.emit("at:after",Object.assign(Object.assign({},e),{name:t,__type:t}));}));}destroy(){this.emit("u"),super.destroy();}};
|
|
52
|
+
|
|
53
|
+
var x=r=>Math.sqrt(r.x*r.x+r.y*r.y),y=(r,a)=>r.x*a.x+r.y*a.y,e$1=(r,a)=>{var t=x(r)*x(a);if(0===t)return 0;var h=y(r,a)/t;return h>1&&(h=1),Math.acos(h)},n=(r,a)=>r.x*a.y-a.x*r.y,o=r=>r/Math.PI*180,s=(r,a)=>{var t=e$1(r,a);return n(r,a)>0&&(t*=-1),o(t)},u$1=(x,y)=>{if(0!==x||0!==y)return Math.abs(x)>=Math.abs(y)?0<x?i$3:a$2:0<y?d$1:r$4};
|
|
54
|
+
|
|
55
|
+
function p$1(){let n=0,e=0;return function(o,r){const{prevVecotr:i,startVecotr:a,activeVecotr:c}=r;return c&&(e=Math.round(s(c,i)),n=Math.round(s(c,a))),{angle:n,deltaAngle:e}}}function d(){return function(t){const{prevInput:e}=t;let o$1=0,r=0,i=0;if(void 0!==e&&(o$1=t.x-e.x,r=t.y-e.y,0!==o$1||0!==r)){const t=Math.sqrt(Math.pow(o$1,2)+Math.pow(r,2));i=Math.round(o(Math.acos(Math.abs(o$1)/t)));}return {deltaX:o$1,deltaY:r,deltaXYAngle:i}}}function h$1(){let t,n=0,u=0,s=0,p=0,d=0;return function(h){const{phase:l,startInput:f}=h;return c$3===l?(n=0,u=0,s=0,p=0,d=0):o$1===l&&(n=Math.round(h.points[0][n$1]-f.points[0][n$1]),u=Math.round(h.points[0][e$2]-f.points[0][e$2]),s=Math.abs(n),p=Math.abs(u),d=Math.round(x({x:s,y:p})),t=u$1(n,u)),{displacementX:n,displacementY:u,distanceX:s,distanceY:p,distance:d,overallDirection:t}}}function l(){let t=1;return function(n,o){let r=1;const{prevVecotr:i,startVecotr:a,activeVecotr:c}=o;return c&&(r=p$3(x(c)/x(i)),t=p$3(x(c)/x(a))),{scale:t,deltaScale:r}}}function f(){let t$1,n,e=0,r=0,i=0,a=0;return function(c){if(void 0!==c){n=n||c.startInput;const u=c.timestamp-n.timestamp;if(t<u){const s=c.x-n.x,p=c.y-n.y;i=Math.round(s/u*100)/100,a=Math.round(p/u*100)/100,e=Math.abs(i),r=Math.abs(a),t$1=u$1(s,p),n=c;}}return {velocityX:e,velocityY:r,speedX:i,speedY:a,direction:t$1}}}function M(){let t=0;return function(n){const{phase:e}=n;return c$3===e&&(t=n.pointLength),{maxPointLength:t}}}function v(t){return {x:t.points[1][n$1]-t.points[0][n$1],y:t.points[1][e$2]-t.points[0][e$2]}}function m$1(){let t,n,e;return function(o){const{prevInput:r,startMultiInput:i}=o;return void 0!==i&&void 0!==r&&o.id!==i.id&&1<r.pointLength&&1<o.pointLength?(t=v(i),n=v(r),e=v(o)):e=void 0,{startVecotr:t,prevVecotr:n,activeVecotr:e}}}
|
|
56
|
+
|
|
57
|
+
const m={name:"tap",pointLength:1,tapTimes:1,waitNextTapTime:300,maxDistance:2,maxDistanceFromPrevTap:9,maxPressTime:250};function r$2(r,s){const c=O(m,s);let p,u,x$1,T=0;function f(){T=0,p=void 0,u=void 0;}return r.compute([h$1,M],(t=>{if(j(c))return;const{phase:i,x:o,y:m}=t;u$3===i&&(c.state=0,!function(){const{startInput:e,pointLength:n,timestamp:a}=t,i=a-e.timestamp,{distance:o,maxPointLength:m}=t;return m===c.pointLength&&0===n&&c.maxDistance>=o&&c.maxPressTime>i}()?(f(),c.state=2):(clearTimeout(x$1),function(t,e){if(void 0!==p){const n=x({x:t.x-p.x,y:t.y-p.y});return p=t,e.maxDistanceFromPrevTap>=n}return p=t,!0}({x:o,y:m},c)&&function(t){const e=performance.now();if(void 0===u)return u=e,!0;{const n=e-u;return u=e,n<t}}(c.waitNextTapTime)?T++:T=1,0==T%c.tapTimes?(c.state=1,r.emit2(c.name,t,c),f()):x$1=setTimeout((()=>{c.state=2,f();}),c.waitNextTapTime)));})),c}
|
|
58
|
+
|
|
59
|
+
const p={name:"pan",threshold:10,pointLength:1};function u(u,d$1){const f$1=O(p,d$1);return u.compute([f,h$1,d],(t=>{if(g$1(f$1),j(f$1))return;const c=function(){const{pointLength:e,distance:n}=t;return f$1.pointLength===e&&f$1.threshold<=n}();if(f$1.state=b(c,f$1.state,t.phase),c||h$3(f$1.state)){const{name:e}=f$1;u.emit2(e,t,f$1),u.emit2(e+v$1(f$1.state),t,f$1),![u$3,s$1].includes(t.phase)&&t.direction&&u.emit2(e+t.direction,t,f$1);}})),f$1}
|
|
60
|
+
|
|
61
|
+
const c$1={name:"swipe",threshold:10,velocity:.3,pointLength:1};function a(a,r){const s=O(c$1,r);return a.compute([h$1,f,M],(t=>{if(s.state=0,!s.disabled&&function(){if(u$3!==t.phase)return !1;const{velocityX:o,velocityY:n,distance:i,maxPointLength:c}=t;return c===s.pointLength&&0===t.points.length&&s.threshold<i&&s.velocity<Math.max(o,n)}()){const{name:e}=s;s.state=1,a.emit2(e,t,s),a.emit2(e+t.direction,t,s);}})),s}
|
|
62
|
+
|
|
63
|
+
const r$1={name:"press",pointLength:1,maxDistance:9,minPressTime:251};function c(c,u){const p=O(r$1,u);let f=0;return c.compute([h$1],(t=>{if(j(p))return;const{phase:o,startInput:r,pointLength:u}=t;if(c$3===o&&p.pointLength===u)g$1(p),clearTimeout(f),f=setTimeout((()=>{p.state=1,c.emit2(p.name,t,p);}),p.minPressTime);else if(u$3===o&&1===p.state)c.emit2(`${p.name}${r$4}`,t,p);else if(1!==p.state){const e=t.timestamp-r.timestamp;(!function(){const{distance:e}=t;return e&&p.maxDistance>e}()||p.minPressTime>e&&[u$3,s$1].includes(o))&&(clearTimeout(f),p.state=2);}})),p}
|
|
64
|
+
|
|
65
|
+
const i$2={name:"pinch",threshold:0,pointLength:2};function r(r,m){const p=O(i$2,m);return r.compute([m$1,l],(t=>{if(g$1(p),j(p))return;const c=function(){const{pointLength:e,scale:n,deltaScale:o,phase:a}=t;return p.pointLength===e&&p.threshold<Math.abs(n-1)}();p.state=b(c,p.state,t.phase);const{name:h}=p;if(c||h$3(p.state)){r.emit2(h,t,p);const{deltaScale:e}=t;1!==e&&r.emit2(h+(1<e?"in":"out"),t,p);}const i=v$1(p.state);i&&r.emit2(h+i,t,p);})),p}
|
|
66
|
+
|
|
67
|
+
const h={name:"rotate",threshold:0,pointLength:2};function i$1(i,m){const u=O(h,m);return i.compute([m$1,p$1],(t=>{if(j(u))return;g$1(u);const r=function(){const{pointLength:e,angle:n}=t;return u.pointLength===e&&u.threshold<Math.abs(n)}();u.state=b(r,u.state,t.phase);const{name:c}=u;(r||h$3(u.state))&&i.emit2(c,t,u);const h=v$1(u.state);h&&i.emit2(c+h,t,u);})),u}
|
|
68
|
+
|
|
69
|
+
function e(e){e.use(r$2,{name:"doubletap",tapTimes:2});const a=e.get("doubletap");let o;return e.beforeEach(((t,e)=>{"tap"===t?(clearTimeout(o),o=setTimeout((()=>{[0,2].includes(a.state)&&e();}),300)):e();})),a}
|
|
70
|
+
|
|
71
|
+
class i extends l$1{constructor(t,u$1){super(t,u$1),this.use(r$2),this.use(u),this.use(a),this.use(c),this.use(r),this.use(i$1);}}i.STATE_POSSIBLE=0,i.STATE_START=4,i.STATE_MOVE=5,i.STATE_END=1,i.STATE_CANCELLED=3,i.STATE_FAILED=2,i.STATE_RECOGNIZED=1,i.tap=r$2,i.pan=u,i.swipe=a,i.press=c,i.rotate=i$1,i.pinch=r,i.doubletap=e;
|
|
1440
72
|
|
|
1441
73
|
class PopsUtils {
|
|
1442
74
|
/**
|
|
@@ -1675,7 +307,9 @@
|
|
|
1675
307
|
: parseFloat(result.toString());
|
|
1676
308
|
return result;
|
|
1677
309
|
}
|
|
1678
|
-
AnyTouch =
|
|
310
|
+
AnyTouch = () => {
|
|
311
|
+
return i;
|
|
312
|
+
};
|
|
1679
313
|
}
|
|
1680
314
|
const popsUtils = new PopsUtils();
|
|
1681
315
|
|
|
@@ -1773,7 +407,7 @@
|
|
|
1773
407
|
/* 在上层与主元素之间寻找可以被selector所匹配到的 */
|
|
1774
408
|
let closestElement = target.closest(_selector_);
|
|
1775
409
|
/* event的target值不能直接修改 */
|
|
1776
|
-
OriginPrototype
|
|
410
|
+
OriginPrototype.Object.defineProperty(event, "target", {
|
|
1777
411
|
get() {
|
|
1778
412
|
return closestElement;
|
|
1779
413
|
},
|
|
@@ -3405,7 +2039,7 @@
|
|
|
3405
2039
|
let clickElementTopOffset = 0;
|
|
3406
2040
|
let AnyTouch = popsUtils.AnyTouch();
|
|
3407
2041
|
let anyTouchElement = new AnyTouch(options.dragElement, {
|
|
3408
|
-
|
|
2042
|
+
preventDefault(event) {
|
|
3409
2043
|
if (typeof options.preventEvent === "function") {
|
|
3410
2044
|
return options.preventEvent(event);
|
|
3411
2045
|
}
|
|
@@ -3573,7 +2207,7 @@
|
|
|
3573
2207
|
}
|
|
3574
2208
|
});
|
|
3575
2209
|
/* 因为会覆盖上面的点击事件,主动触发一下 */
|
|
3576
|
-
anyTouchElement.on(["
|
|
2210
|
+
anyTouchElement.on(["tap"], function (event) {
|
|
3577
2211
|
event.changedPoints.forEach((item) => {
|
|
3578
2212
|
popsDOMUtils.trigger(item.target, "click", void 0, true);
|
|
3579
2213
|
});
|
|
@@ -3621,7 +2255,7 @@
|
|
|
3621
2255
|
},
|
|
3622
2256
|
};
|
|
3623
2257
|
|
|
3624
|
-
var indexCSS = "@charset \"utf-8\";\r\n* {\r\n\t-webkit-box-sizing: border-box;\r\n\tbox-sizing: border-box;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\t-webkit-tap-highlight-color: transparent;\r\n\t/* 代替::-webkit-scrollbar */\r\n\tscrollbar-width: thin;\r\n}\r\n.pops {\r\n\t--pops-bg-opacity: 1;\r\n\t--pops-bd-opacity: 1;\r\n\t--pops-font-size: 16px;\r\n}\r\n.pops-mask {\r\n\t--pops-mask-bg-opacity: 0.4;\r\n}\r\n.pops {\r\n\tbackground-color: rgb(255, 255, 255, var(--pops-bg-opacity));\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid rgb(235, 238, 245, var(--pops-bd-opacity));\r\n\tfont-size: var(--pops-font-size);\r\n\tbox-shadow: 0 0 12px rgba(0, 0, 0, 0.12);\r\n\tbox-sizing: border-box;\r\n\toverflow: hidden;\r\n\ttransition: all 0.35s;\r\n}\r\n.pops-anim {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n.pops-anim[anim=\"\"] {\r\n\ttop: unset;\r\n\tright: unset;\r\n\tbottom: unset;\r\n\tleft: unset;\r\n\twidth: unset;\r\n\theight: unset;\r\n\ttransition: none;\r\n}\r\n/* 底部图标动画和样式 */\r\n.pops i.pops-bottom-icon[is-loading=\"true\"] {\r\n\tanimation: rotating 2s linear infinite;\r\n}\r\n.pops i.pops-bottom-icon {\r\n\theight: 1em;\r\n\twidth: 1em;\r\n\tline-height: 1em;\r\n\tdisplay: inline-flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\tfill: currentColor;\r\n\tcolor: inherit;\r\n\tfont-size: inherit;\r\n}\r\n\r\n/* 遮罩层样式 */\r\n.pops-mask {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder: 0;\r\n\tborder-radius: 0;\r\n\tbackground-color: rgba(0, 0, 0, var(--pops-mask-bg-opacity));\r\n\tbox-shadow: none;\r\n\ttransition: none;\r\n}\r\n\r\n.pops-header-controls button.pops-header-control[type][data-header] {\r\n\tfloat: right;\r\n\tmargin: 0 0;\r\n\toutline: 0;\r\n\tborder: 0;\r\n\tborder-color: rgb(136, 136, 136, var(--pops-bd-opacity));\r\n\tbackground-color: transparent;\r\n\tcolor: #888;\r\n\tcursor: pointer;\r\n}\r\n.pops-header-controls button.pops-header-control[type=\"max\"],\r\n.pops-header-controls button.pops-header-control[type=\"mise\"],\r\n.pops-header-controls button.pops-header-control[type=\"min\"] {\r\n\tposition: relative;\r\n\tfloat: right;\r\n\tmargin: 0 2px;\r\n\toutline: 0 !important;\r\n\tborder: 0;\r\n\tborder-color: rgb(136, 136, 136, var(--pops-bd-opacity));\r\n\tbackground-color: transparent;\r\n\tcolor: rgb(136, 136, 136);\r\n\tcursor: pointer;\r\n\ttransition: all 0.3s ease-in-out;\r\n}\r\nbutton.pops-header-control i {\r\n\tcolor: rgb(144, 147, 153);\r\n\tfont-size: inherit;\r\n\tdisplay: inline-flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\tfill: currentColor;\r\n}\r\nbutton.pops-header-control svg {\r\n\theight: 1.25em;\r\n\twidth: 1.25em;\r\n}\r\nbutton.pops-header-control {\r\n\tright: 15px;\r\n\tpadding: 0;\r\n\tborder: none;\r\n\toutline: 0;\r\n\tbackground: 0 0;\r\n\tcursor: pointer;\r\n\tposition: unset;\r\n\tline-height: 1.15;\r\n}\r\nbutton.pops-header-control i:hover {\r\n\tcolor: rgb(64, 158, 255);\r\n}\r\n.pops-header-controls[data-margin] button.pops-header-control {\r\n\tmargin: 0 6px;\r\n}\r\n.pops[type-value] .pops-header-controls {\r\n\tdisplay: flex;\r\n}\r\n";
|
|
2258
|
+
var indexCSS = "@charset \"utf-8\";\r\n* {\r\n\t-webkit-box-sizing: border-box;\r\n\tbox-sizing: border-box;\r\n\tmargin: 0;\r\n\tpadding: 0;\r\n\t-webkit-tap-highlight-color: transparent;\r\n\t/* 代替::-webkit-scrollbar */\r\n\tscrollbar-width: thin;\r\n}\r\n.pops {\r\n\t--pops-bg-opacity: 1;\r\n\t--pops-bd-opacity: 1;\r\n\t--pops-font-size: 16px;\r\n}\r\n.pops-mask {\r\n\t--pops-mask-bg-opacity: 0.4;\r\n}\r\n.pops {\r\n\tbackground-color: rgb(255, 255, 255, var(--pops-bg-opacity));\r\n\tborder-radius: 4px;\r\n\tborder: 1px solid rgb(235, 238, 245, var(--pops-bd-opacity));\r\n\tfont-size: var(--pops-font-size);\r\n\tbox-shadow: 0 0 12px rgba(0, 0, 0, 0.12);\r\n\tbox-sizing: border-box;\r\n\toverflow: hidden;\r\n\ttransition: all 0.35s;\r\n}\r\n.pops-anim {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n.pops-anim[anim=\"\"] {\r\n\ttop: unset;\r\n\tright: unset;\r\n\tbottom: unset;\r\n\tleft: unset;\r\n\twidth: unset;\r\n\theight: unset;\r\n\ttransition: none;\r\n}\r\n/* 底部图标动画和样式 */\r\n.pops i.pops-bottom-icon[is-loading=\"true\"] {\r\n\tanimation: rotating 2s linear infinite;\r\n}\r\n.pops i.pops-bottom-icon {\r\n\theight: 1em;\r\n\twidth: 1em;\r\n\tline-height: 1em;\r\n\tdisplay: inline-flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\tfill: currentColor;\r\n\tcolor: inherit;\r\n\tfont-size: inherit;\r\n}\r\n\r\n/* 遮罩层样式 */\r\n.pops-mask {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tright: 0;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tborder: 0;\r\n\tborder-radius: 0;\r\n\tbackground-color: rgba(0, 0, 0, var(--pops-mask-bg-opacity));\r\n\tbox-shadow: none;\r\n\ttransition: none;\r\n}\r\n\r\n.pops-header-controls button.pops-header-control[type][data-header] {\r\n\tfloat: right;\r\n\tmargin: 0 0;\r\n\toutline: 0;\r\n\tborder: 0;\r\n\tborder-color: rgb(136, 136, 136, var(--pops-bd-opacity));\r\n\tbackground-color: transparent;\r\n\tcolor: #888;\r\n\tcursor: pointer;\r\n}\r\n.pops-header-controls button.pops-header-control[type=\"max\"],\r\n.pops-header-controls button.pops-header-control[type=\"mise\"],\r\n.pops-header-controls button.pops-header-control[type=\"min\"] {\r\n\tposition: relative;\r\n\tfloat: right;\r\n\tmargin: 0 2px;\r\n\toutline: 0 !important;\r\n\tborder: 0;\r\n\tborder-color: rgb(136, 136, 136, var(--pops-bd-opacity));\r\n\tbackground-color: transparent;\r\n\tcolor: rgb(136, 136, 136);\r\n\tcursor: pointer;\r\n\ttransition: all 0.3s ease-in-out;\r\n}\r\nbutton.pops-header-control i {\r\n\tcolor: rgb(144, 147, 153);\r\n\tfont-size: inherit;\r\n\tdisplay: inline-flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\tfill: currentColor;\r\n}\r\nbutton.pops-header-control svg {\r\n\theight: 1.25em;\r\n\twidth: 1.25em;\r\n}\r\nbutton.pops-header-control {\r\n\tright: 15px;\r\n\tpadding: 0;\r\n\tborder: none;\r\n\toutline: 0;\r\n\tbackground: 0 0;\r\n\tcursor: pointer;\r\n\tposition: unset;\r\n\tline-height: 1.15;\r\n}\r\nbutton.pops-header-control i:hover {\r\n\tcolor: rgb(64, 158, 255);\r\n}\r\n.pops-header-controls[data-margin] button.pops-header-control {\r\n\tmargin: 0 6px;\r\n}\r\n.pops[type-value] .pops-header-controls {\r\n\tdisplay: flex;\r\n}\r\n\r\n/* 标题禁止选中文字 */\r\n.pops [class^=\"pops\"][class*=\"-title\"] p[pops] {\r\n\t-webkit-user-select: none;\r\n\t-moz-user-select: none;\r\n\t-ms-user-select: none;\r\n\tuser-select: none;\r\n}\r\n";
|
|
3625
2259
|
|
|
3626
2260
|
var ninePalaceGridPositionCSS = ".pops[position=\"top_left\"] {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 0;\r\n}\r\n.pops[position=\"top\"] {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tleft: 50%;\r\n\ttransform: translateX(-50%);\r\n}\r\n.pops[position=\"top_right\"] {\r\n\tposition: fixed;\r\n\ttop: 0;\r\n\tright: 0;\r\n}\r\n.pops[position=\"center_left\"] {\r\n\tposition: fixed;\r\n\ttop: 50%;\r\n\tleft: 0;\r\n\ttransform: translateY(-50%);\r\n}\r\n.pops[position=\"center\"] {\r\n\tposition: fixed;\r\n\ttop: 50%;\r\n\tleft: 50%;\r\n\ttransform: translate(-50%, -50%);\r\n}\r\n.pops[position=\"center_right\"] {\r\n\tposition: fixed;\r\n\ttop: 50%;\r\n\tright: 0;\r\n\ttransform: translateY(-50%);\r\n}\r\n.pops[position=\"bottom_left\"] {\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tleft: 0;\r\n}\r\n.pops[position=\"bottom\"] {\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tleft: 50%;\r\n\ttransform: translate(-50%, 0);\r\n}\r\n.pops[position=\"bottom_right\"] {\r\n\tposition: fixed;\r\n\tright: 0;\r\n\tbottom: 0;\r\n}\r\n";
|
|
3627
2261
|
|
|
@@ -3709,6 +2343,49 @@
|
|
|
3709
2343
|
|
|
3710
2344
|
var SVG_arrowLeft = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1024 1024\">\r\n\t<path\r\n\t\td=\"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z\"></path>\r\n</svg>\r\n";
|
|
3711
2345
|
|
|
2346
|
+
const GlobalConfig = {
|
|
2347
|
+
config: {},
|
|
2348
|
+
/**
|
|
2349
|
+
* 为所有弹窗设置全局属性
|
|
2350
|
+
*/
|
|
2351
|
+
setGlobalConfig(config) {
|
|
2352
|
+
Reflect.ownKeys(config).forEach((keyName) => {
|
|
2353
|
+
Reflect.set(GlobalConfig.config, keyName, Reflect.get(config, keyName));
|
|
2354
|
+
});
|
|
2355
|
+
},
|
|
2356
|
+
/**
|
|
2357
|
+
* 获取全局配置
|
|
2358
|
+
*/
|
|
2359
|
+
getGlobalConfig() {
|
|
2360
|
+
let result = {};
|
|
2361
|
+
let style = GlobalConfig.config.style == null
|
|
2362
|
+
? ""
|
|
2363
|
+
: typeof GlobalConfig.config.style === "function"
|
|
2364
|
+
? GlobalConfig.config.style()
|
|
2365
|
+
: GlobalConfig.config.style;
|
|
2366
|
+
if (typeof style === "string") {
|
|
2367
|
+
result.style = style;
|
|
2368
|
+
}
|
|
2369
|
+
let zIndex = GlobalConfig.config.zIndex == null
|
|
2370
|
+
? ""
|
|
2371
|
+
: typeof GlobalConfig.config.zIndex === "function"
|
|
2372
|
+
? GlobalConfig.config.zIndex()
|
|
2373
|
+
: GlobalConfig.config.zIndex;
|
|
2374
|
+
if (typeof zIndex === "string") {
|
|
2375
|
+
let newIndex = (zIndex = parseInt(zIndex));
|
|
2376
|
+
if (!isNaN(newIndex)) {
|
|
2377
|
+
result.zIndex = newIndex;
|
|
2378
|
+
}
|
|
2379
|
+
}
|
|
2380
|
+
else {
|
|
2381
|
+
if (!isNaN(zIndex)) {
|
|
2382
|
+
result.zIndex = zIndex;
|
|
2383
|
+
}
|
|
2384
|
+
}
|
|
2385
|
+
return result;
|
|
2386
|
+
},
|
|
2387
|
+
};
|
|
2388
|
+
|
|
3712
2389
|
const PopsElementHandler = {
|
|
3713
2390
|
/**
|
|
3714
2391
|
* 获取遮罩层HTML
|
|
@@ -4515,6 +3192,7 @@
|
|
|
4515
3192
|
pops.config.cssText.alertCSS,
|
|
4516
3193
|
]);
|
|
4517
3194
|
let config = PopsAlertConfig();
|
|
3195
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
4518
3196
|
config = popsUtils.assign(config, details);
|
|
4519
3197
|
let guid = popsUtils.getRandomGUID();
|
|
4520
3198
|
// 设置当前类型
|
|
@@ -4704,6 +3382,7 @@
|
|
|
4704
3382
|
pops.config.cssText.confirmCSS,
|
|
4705
3383
|
]);
|
|
4706
3384
|
let config = PopsConfirmConfig();
|
|
3385
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
4707
3386
|
config = popsUtils.assign(config, details);
|
|
4708
3387
|
let guid = popsUtils.getRandomGUID();
|
|
4709
3388
|
// 设置当前类型
|
|
@@ -4903,6 +3582,7 @@
|
|
|
4903
3582
|
pops.config.cssText.promptCSS,
|
|
4904
3583
|
]);
|
|
4905
3584
|
let config = PopsPromptConfig();
|
|
3585
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
4906
3586
|
config = popsUtils.assign(config, details);
|
|
4907
3587
|
let guid = popsUtils.getRandomGUID();
|
|
4908
3588
|
const PopsType = "prompt";
|
|
@@ -5035,6 +3715,7 @@
|
|
|
5035
3715
|
class PopsLoading {
|
|
5036
3716
|
constructor(details) {
|
|
5037
3717
|
let config = PopsLoadingConfig();
|
|
3718
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
5038
3719
|
config = popsUtils.assign(config, details);
|
|
5039
3720
|
let guid = popsUtils.getRandomGUID();
|
|
5040
3721
|
const PopsType = "loading";
|
|
@@ -5169,6 +3850,7 @@
|
|
|
5169
3850
|
pops.config.cssText.iframeCSS,
|
|
5170
3851
|
]);
|
|
5171
3852
|
let config = PopsIframeConfig();
|
|
3853
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
5172
3854
|
config = popsUtils.assign(config, details);
|
|
5173
3855
|
if (config.url == null) {
|
|
5174
3856
|
throw "config.url不能为空";
|
|
@@ -5421,6 +4103,7 @@
|
|
|
5421
4103
|
pops.config.cssText.tooltipCSS,
|
|
5422
4104
|
]);
|
|
5423
4105
|
let config = PopsTooltipConfig();
|
|
4106
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
5424
4107
|
config = popsUtils.assign(config, details);
|
|
5425
4108
|
if (!(config.target instanceof HTMLElement)) {
|
|
5426
4109
|
throw "config.target 必须是HTMLElement类型";
|
|
@@ -5761,6 +4444,7 @@
|
|
|
5761
4444
|
pops.config.cssText.drawerCSS,
|
|
5762
4445
|
]);
|
|
5763
4446
|
let config = PopsDrawerConfig();
|
|
4447
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
5764
4448
|
config = popsUtils.assign(config, details);
|
|
5765
4449
|
let guid = popsUtils.getRandomGUID();
|
|
5766
4450
|
const PopsType = "drawer";
|
|
@@ -6099,6 +4783,8 @@
|
|
|
6099
4783
|
pops.config.cssText.folderCSS,
|
|
6100
4784
|
]);
|
|
6101
4785
|
let config = PopsFolderConfig();
|
|
4786
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
4787
|
+
config = popsUtils.assign(config, details);
|
|
6102
4788
|
/* 办公几件套 */
|
|
6103
4789
|
Folder_ICON.docx = Folder_ICON.doc;
|
|
6104
4790
|
Folder_ICON.rtf = Folder_ICON.doc;
|
|
@@ -6152,7 +4838,6 @@
|
|
|
6152
4838
|
androidIconList.forEach((keyName) => {
|
|
6153
4839
|
Folder_ICON[keyName] = Folder_ICON.apk;
|
|
6154
4840
|
});
|
|
6155
|
-
config = popsUtils.assign(config, details);
|
|
6156
4841
|
if (details?.folder) {
|
|
6157
4842
|
config.folder = details.folder;
|
|
6158
4843
|
}
|
|
@@ -8084,7 +6769,7 @@
|
|
|
8084
6769
|
setPanEvent() {
|
|
8085
6770
|
const AnyTouch = popsUtils.AnyTouch();
|
|
8086
6771
|
this.$tooltip = new AnyTouch(this.$ele.button, {
|
|
8087
|
-
|
|
6772
|
+
preventDefault() {
|
|
8088
6773
|
return false;
|
|
8089
6774
|
},
|
|
8090
6775
|
});
|
|
@@ -9635,6 +8320,7 @@
|
|
|
9635
8320
|
pops.config.cssText.panelCSS,
|
|
9636
8321
|
]);
|
|
9637
8322
|
let config = PopsPanelConfig();
|
|
8323
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
9638
8324
|
config = popsUtils.assign(config, details);
|
|
9639
8325
|
if (details && Array.isArray(details.content)) {
|
|
9640
8326
|
config.content = details.content;
|
|
@@ -9872,6 +8558,7 @@
|
|
|
9872
8558
|
pops.config.cssText.rightClickMenu,
|
|
9873
8559
|
]);
|
|
9874
8560
|
let config = rightClickMenuConfig();
|
|
8561
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
9875
8562
|
config = popsUtils.assign(config, details);
|
|
9876
8563
|
if (config.target == null) {
|
|
9877
8564
|
throw "config.target 不能为空";
|
|
@@ -10245,7 +8932,7 @@
|
|
|
10245
8932
|
*/
|
|
10246
8933
|
async function liElementClickEvent(clickEvent) {
|
|
10247
8934
|
if (typeof item.callback === "function") {
|
|
10248
|
-
OriginPrototype
|
|
8935
|
+
OriginPrototype.Object.defineProperty(menuEvent, "target", {
|
|
10249
8936
|
get() {
|
|
10250
8937
|
return menuEventTarget;
|
|
10251
8938
|
},
|
|
@@ -10349,6 +9036,7 @@
|
|
|
10349
9036
|
pops.config.cssText.common,
|
|
10350
9037
|
]);
|
|
10351
9038
|
let config = searchSuggestionConfig();
|
|
9039
|
+
config = popsUtils.assign(config, GlobalConfig.getGlobalConfig());
|
|
10352
9040
|
config = popsUtils.assign(config, details);
|
|
10353
9041
|
if (config.target == null) {
|
|
10354
9042
|
throw new TypeError("config.target 不能为空");
|
|
@@ -10887,7 +9575,7 @@
|
|
|
10887
9575
|
/** 配置 */
|
|
10888
9576
|
config = {
|
|
10889
9577
|
/** 版本号 */
|
|
10890
|
-
version: "2024.10.
|
|
9578
|
+
version: "2024.10.19",
|
|
10891
9579
|
cssText: {
|
|
10892
9580
|
/** 主CSS */
|
|
10893
9581
|
index: indexCSS,
|
|
@@ -11025,6 +9713,10 @@
|
|
|
11025
9713
|
isPhone(userAgent = PopsCore.globalThis.navigator.userAgent) {
|
|
11026
9714
|
return Boolean(/(iPhone|iPad|iPod|iOS|Android)/i.test(userAgent));
|
|
11027
9715
|
}
|
|
9716
|
+
/**
|
|
9717
|
+
* 为所有弹窗设置全局属性
|
|
9718
|
+
*/
|
|
9719
|
+
GlobalConfig = GlobalConfig;
|
|
11028
9720
|
/**
|
|
11029
9721
|
* 普通信息框
|
|
11030
9722
|
* @param details 配置
|