1 | "use strict";
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.dataToArray = dataToArray;
|
7 | exports.addEventListener = addEventListener;
|
8 | exports.removeEventListener = removeEventListener;
|
9 | exports.transformArguments = transformArguments;
|
10 | exports.getTouchParentScroll = exports.windowIsUndefined = exports.isNumeric = exports.transitionEnd = exports.transitionStr = void 0;
|
11 |
|
12 | function dataToArray(vars) {
|
13 | if (Array.isArray(vars)) {
|
14 | return vars;
|
15 | }
|
16 |
|
17 | return [vars];
|
18 | }
|
19 |
|
20 | var transitionEndObject = {
|
21 | transition: 'transitionend',
|
22 | WebkitTransition: 'webkitTransitionEnd',
|
23 | MozTransition: 'transitionend',
|
24 | OTransition: 'oTransitionEnd otransitionend'
|
25 | };
|
26 | var transitionStr = Object.keys(transitionEndObject).filter(function (key) {
|
27 | if (typeof document === 'undefined') {
|
28 | return false;
|
29 | }
|
30 |
|
31 | var html = document.getElementsByTagName('html')[0];
|
32 | return key in (html ? html.style : {});
|
33 | })[0];
|
34 | exports.transitionStr = transitionStr;
|
35 | var transitionEnd = transitionEndObject[transitionStr];
|
36 | exports.transitionEnd = transitionEnd;
|
37 |
|
38 | function addEventListener(target, eventType, callback, options) {
|
39 | if (target.addEventListener) {
|
40 | target.addEventListener(eventType, callback, options);
|
41 | } else if (target.attachEvent) {
|
42 |
|
43 | target.attachEvent("on".concat(eventType), callback);
|
44 | }
|
45 | }
|
46 |
|
47 | function removeEventListener(target, eventType, callback, options) {
|
48 | if (target.removeEventListener) {
|
49 | target.removeEventListener(eventType, callback, options);
|
50 | } else if (target.attachEvent) {
|
51 |
|
52 | target.detachEvent("on".concat(eventType), callback);
|
53 | }
|
54 | }
|
55 |
|
56 | function transformArguments(arg, cb) {
|
57 | var result = typeof arg === 'function' ? arg(cb) : arg;
|
58 |
|
59 | if (Array.isArray(result)) {
|
60 | if (result.length === 2) {
|
61 | return result;
|
62 | }
|
63 |
|
64 | return [result[0], result[1]];
|
65 | }
|
66 |
|
67 | return [result];
|
68 | }
|
69 |
|
70 | var isNumeric = function isNumeric(value) {
|
71 | return !isNaN(parseFloat(value)) && isFinite(value);
|
72 | };
|
73 |
|
74 | exports.isNumeric = isNumeric;
|
75 | var windowIsUndefined = !(typeof window !== 'undefined' && window.document && window.document.createElement);
|
76 | exports.windowIsUndefined = windowIsUndefined;
|
77 |
|
78 | var getTouchParentScroll = function getTouchParentScroll(root, currentTarget, differX, differY) {
|
79 | if (!currentTarget || currentTarget === document || currentTarget instanceof Document) {
|
80 | return false;
|
81 | }
|
82 |
|
83 |
|
84 | if (currentTarget === root.parentNode) {
|
85 | return true;
|
86 | }
|
87 |
|
88 | var isY = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differY);
|
89 | var isX = Math.max(Math.abs(differX), Math.abs(differY)) === Math.abs(differX);
|
90 | var scrollY = currentTarget.scrollHeight - currentTarget.clientHeight;
|
91 | var scrollX = currentTarget.scrollWidth - currentTarget.clientWidth;
|
92 | var style = document.defaultView.getComputedStyle(currentTarget);
|
93 | var overflowY = style.overflowY === 'auto' || style.overflowY === 'scroll';
|
94 | var overflowX = style.overflowX === 'auto' || style.overflowX === 'scroll';
|
95 | var y = scrollY && overflowY;
|
96 | var x = scrollX && overflowX;
|
97 |
|
98 | if (isY && (!y || y && (currentTarget.scrollTop >= scrollY && differY < 0 || currentTarget.scrollTop <= 0 && differY > 0)) || isX && (!x || x && (currentTarget.scrollLeft >= scrollX && differX < 0 || currentTarget.scrollLeft <= 0 && differX > 0))) {
|
99 | return getTouchParentScroll(root, currentTarget.parentNode, differX, differY);
|
100 | }
|
101 |
|
102 | return false;
|
103 | };
|
104 |
|
105 | exports.getTouchParentScroll = getTouchParentScroll; |
\ | No newline at end of file |