@webalternatif/js-core 1.5.0 → 1.5.2
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/cjs/dom.js +53 -28
- package/dist/esm/dom.js +54 -29
- package/package.json +1 -1
- package/types/dom.d.ts +6 -6
- package/types/index.d.ts +3 -3
package/dist/cjs/dom.js
CHANGED
|
@@ -89,9 +89,18 @@ var enableLongTap = function enableLongTap() {
|
|
|
89
89
|
};
|
|
90
90
|
var enableDblTap = function enableDblTap() {
|
|
91
91
|
var DBLTAP_DELAY = 300;
|
|
92
|
-
var MOVE_TOLERANCE =
|
|
92
|
+
var MOVE_TOLERANCE = 40;
|
|
93
93
|
var lastTapTime = 0;
|
|
94
94
|
var lastPos = null;
|
|
95
|
+
if ((0, _is.isTouchDevice)()) {
|
|
96
|
+
document.addEventListener('dblclick', function (ev) {
|
|
97
|
+
ev.preventDefault();
|
|
98
|
+
ev.stopPropagation();
|
|
99
|
+
ev.stopImmediatePropagation();
|
|
100
|
+
}, {
|
|
101
|
+
capture: true
|
|
102
|
+
});
|
|
103
|
+
}
|
|
95
104
|
var start = function start(ev) {
|
|
96
105
|
var target = ev.target;
|
|
97
106
|
if (Date.now() - lastTapTime > DBLTAP_DELAY) {
|
|
@@ -181,7 +190,7 @@ var dom = {
|
|
|
181
190
|
},
|
|
182
191
|
/**
|
|
183
192
|
* @param {Element|Document|string} refEl
|
|
184
|
-
* @param {string|Element|NodeList|Array<Element>} selector
|
|
193
|
+
* @param {string|Element|NodeList|Array<Element>} [selector]
|
|
185
194
|
* @returns {Element}
|
|
186
195
|
*/
|
|
187
196
|
findOne: function findOne(refEl, selector) {
|
|
@@ -190,7 +199,7 @@ var dom = {
|
|
|
190
199
|
},
|
|
191
200
|
/**
|
|
192
201
|
* @param {Element|Document|string} refEl
|
|
193
|
-
* @param {string|Element|NodeList|Array<Element>} selector
|
|
202
|
+
* @param {string|Element|NodeList|Array<Element>} [selector]
|
|
194
203
|
* @returns {Array<Element>}
|
|
195
204
|
*/
|
|
196
205
|
find: function find(refEl, selector) {
|
|
@@ -643,31 +652,44 @@ var dom = {
|
|
|
643
652
|
return;
|
|
644
653
|
}
|
|
645
654
|
var currentTarget = ev.target;
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
655
|
+
var _loop = function _loop() {
|
|
656
|
+
if (_this5.matches(currentTarget, selector)) {
|
|
657
|
+
var wrappedEv = {
|
|
658
|
+
_immediateStopped: false,
|
|
659
|
+
originalEvent: ev,
|
|
660
|
+
type: ev.type,
|
|
661
|
+
target: ev.target,
|
|
662
|
+
currentTarget: currentTarget,
|
|
663
|
+
relatedTarget: ev.relatedTarget,
|
|
664
|
+
button: ev.button,
|
|
665
|
+
pageX: ev.pageX,
|
|
666
|
+
pageY: ev.pageY,
|
|
667
|
+
preventDefault: function preventDefault() {
|
|
668
|
+
return ev.preventDefault.apply(ev, arguments);
|
|
669
|
+
},
|
|
670
|
+
stopPropagation: function stopPropagation() {
|
|
671
|
+
return ev.stopPropagation.apply(ev, arguments);
|
|
672
|
+
},
|
|
673
|
+
stopImmediatePropagation: function stopImmediatePropagation() {
|
|
674
|
+
wrappedEv._immediateStopped = true;
|
|
675
|
+
ev.stopImmediatePropagation.apply(ev, arguments);
|
|
676
|
+
}
|
|
677
|
+
};
|
|
678
|
+
handler.call(currentTarget, wrappedEv);
|
|
679
|
+
if (wrappedEv._immediateStopped) {
|
|
680
|
+
return {
|
|
681
|
+
v: void 0
|
|
682
|
+
};
|
|
665
683
|
}
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
}
|
|
670
|
-
|
|
684
|
+
return 0; // break
|
|
685
|
+
}
|
|
686
|
+
currentTarget = currentTarget.parentElement;
|
|
687
|
+
},
|
|
688
|
+
_ret;
|
|
689
|
+
while (currentTarget && currentTarget !== el) {
|
|
690
|
+
_ret = _loop();
|
|
691
|
+
if (_ret === 0) break;
|
|
692
|
+
if (_ret) return _ret.v;
|
|
671
693
|
}
|
|
672
694
|
};
|
|
673
695
|
var store = LISTENERS.get(el);
|
|
@@ -858,10 +880,13 @@ var dom = {
|
|
|
858
880
|
return el.parentElement.insertBefore(newEl, el);
|
|
859
881
|
},
|
|
860
882
|
/**
|
|
861
|
-
* @param {Element} el
|
|
883
|
+
* @param {Element|string} el
|
|
862
884
|
* @returns {Element}
|
|
863
885
|
*/
|
|
864
886
|
empty: function empty(el) {
|
|
887
|
+
if ((0, _is.isString)(el)) {
|
|
888
|
+
el = this.findOne(el);
|
|
889
|
+
}
|
|
865
890
|
while (el.firstChild) {
|
|
866
891
|
el.removeChild(el.firstChild);
|
|
867
892
|
}
|
package/dist/esm/dom.js
CHANGED
|
@@ -8,7 +8,7 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
|
|
|
8
8
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
9
9
|
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
10
10
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
-
import { isArray, isArrayLike, isFunction, isObject, isPlainObject, isString } from "./is.js";
|
|
11
|
+
import { isArray, isArrayLike, isFunction, isObject, isPlainObject, isString, isTouchDevice } from "./is.js";
|
|
12
12
|
import { camelCase } from "./string.js";
|
|
13
13
|
import { each, foreach, map } from "./traversal.js";
|
|
14
14
|
import { inArray } from "./array.js";
|
|
@@ -82,9 +82,18 @@ var enableLongTap = function enableLongTap() {
|
|
|
82
82
|
};
|
|
83
83
|
var enableDblTap = function enableDblTap() {
|
|
84
84
|
var DBLTAP_DELAY = 300;
|
|
85
|
-
var MOVE_TOLERANCE =
|
|
85
|
+
var MOVE_TOLERANCE = 40;
|
|
86
86
|
var lastTapTime = 0;
|
|
87
87
|
var lastPos = null;
|
|
88
|
+
if (isTouchDevice()) {
|
|
89
|
+
document.addEventListener('dblclick', function (ev) {
|
|
90
|
+
ev.preventDefault();
|
|
91
|
+
ev.stopPropagation();
|
|
92
|
+
ev.stopImmediatePropagation();
|
|
93
|
+
}, {
|
|
94
|
+
capture: true
|
|
95
|
+
});
|
|
96
|
+
}
|
|
88
97
|
var start = function start(ev) {
|
|
89
98
|
var target = ev.target;
|
|
90
99
|
if (Date.now() - lastTapTime > DBLTAP_DELAY) {
|
|
@@ -174,7 +183,7 @@ var dom = {
|
|
|
174
183
|
},
|
|
175
184
|
/**
|
|
176
185
|
* @param {Element|Document|string} refEl
|
|
177
|
-
* @param {string|Element|NodeList|Array<Element>} selector
|
|
186
|
+
* @param {string|Element|NodeList|Array<Element>} [selector]
|
|
178
187
|
* @returns {Element}
|
|
179
188
|
*/
|
|
180
189
|
findOne: function findOne(refEl, selector) {
|
|
@@ -183,7 +192,7 @@ var dom = {
|
|
|
183
192
|
},
|
|
184
193
|
/**
|
|
185
194
|
* @param {Element|Document|string} refEl
|
|
186
|
-
* @param {string|Element|NodeList|Array<Element>} selector
|
|
195
|
+
* @param {string|Element|NodeList|Array<Element>} [selector]
|
|
187
196
|
* @returns {Array<Element>}
|
|
188
197
|
*/
|
|
189
198
|
find: function find(refEl, selector) {
|
|
@@ -636,31 +645,44 @@ var dom = {
|
|
|
636
645
|
return;
|
|
637
646
|
}
|
|
638
647
|
var currentTarget = ev.target;
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
648
|
+
var _loop = function _loop() {
|
|
649
|
+
if (_this5.matches(currentTarget, selector)) {
|
|
650
|
+
var wrappedEv = {
|
|
651
|
+
_immediateStopped: false,
|
|
652
|
+
originalEvent: ev,
|
|
653
|
+
type: ev.type,
|
|
654
|
+
target: ev.target,
|
|
655
|
+
currentTarget: currentTarget,
|
|
656
|
+
relatedTarget: ev.relatedTarget,
|
|
657
|
+
button: ev.button,
|
|
658
|
+
pageX: ev.pageX,
|
|
659
|
+
pageY: ev.pageY,
|
|
660
|
+
preventDefault: function preventDefault() {
|
|
661
|
+
return ev.preventDefault.apply(ev, arguments);
|
|
662
|
+
},
|
|
663
|
+
stopPropagation: function stopPropagation() {
|
|
664
|
+
return ev.stopPropagation.apply(ev, arguments);
|
|
665
|
+
},
|
|
666
|
+
stopImmediatePropagation: function stopImmediatePropagation() {
|
|
667
|
+
wrappedEv._immediateStopped = true;
|
|
668
|
+
ev.stopImmediatePropagation.apply(ev, arguments);
|
|
669
|
+
}
|
|
670
|
+
};
|
|
671
|
+
handler.call(currentTarget, wrappedEv);
|
|
672
|
+
if (wrappedEv._immediateStopped) {
|
|
673
|
+
return {
|
|
674
|
+
v: void 0
|
|
675
|
+
};
|
|
658
676
|
}
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
}
|
|
663
|
-
|
|
677
|
+
return 0; // break
|
|
678
|
+
}
|
|
679
|
+
currentTarget = currentTarget.parentElement;
|
|
680
|
+
},
|
|
681
|
+
_ret;
|
|
682
|
+
while (currentTarget && currentTarget !== el) {
|
|
683
|
+
_ret = _loop();
|
|
684
|
+
if (_ret === 0) break;
|
|
685
|
+
if (_ret) return _ret.v;
|
|
664
686
|
}
|
|
665
687
|
};
|
|
666
688
|
var store = LISTENERS.get(el);
|
|
@@ -851,10 +873,13 @@ var dom = {
|
|
|
851
873
|
return el.parentElement.insertBefore(newEl, el);
|
|
852
874
|
},
|
|
853
875
|
/**
|
|
854
|
-
* @param {Element} el
|
|
876
|
+
* @param {Element|string} el
|
|
855
877
|
* @returns {Element}
|
|
856
878
|
*/
|
|
857
879
|
empty: function empty(el) {
|
|
880
|
+
if (isString(el)) {
|
|
881
|
+
el = this.findOne(el);
|
|
882
|
+
}
|
|
858
883
|
while (el.firstChild) {
|
|
859
884
|
el.removeChild(el.firstChild);
|
|
860
885
|
}
|
package/package.json
CHANGED
package/types/dom.d.ts
CHANGED
|
@@ -18,16 +18,16 @@ declare namespace dom {
|
|
|
18
18
|
function child(el: Element, selector?: string): Element | null;
|
|
19
19
|
/**
|
|
20
20
|
* @param {Element|Document|string} refEl
|
|
21
|
-
* @param {string|Element|NodeList|Array<Element>} selector
|
|
21
|
+
* @param {string|Element|NodeList|Array<Element>} [selector]
|
|
22
22
|
* @returns {Element}
|
|
23
23
|
*/
|
|
24
|
-
function findOne(refEl: Element | Document | string, selector
|
|
24
|
+
function findOne(refEl: Element | Document | string, selector?: string | Element | NodeList | Array<Element>): Element;
|
|
25
25
|
/**
|
|
26
26
|
* @param {Element|Document|string} refEl
|
|
27
|
-
* @param {string|Element|NodeList|Array<Element>} selector
|
|
27
|
+
* @param {string|Element|NodeList|Array<Element>} [selector]
|
|
28
28
|
* @returns {Array<Element>}
|
|
29
29
|
*/
|
|
30
|
-
function find(refEl: Element | Document | string, selector
|
|
30
|
+
function find(refEl: Element | Document | string, selector?: string | Element | NodeList | Array<Element>): Array<Element>;
|
|
31
31
|
/**
|
|
32
32
|
* @param {Element|string} el
|
|
33
33
|
* @param {string} data
|
|
@@ -263,10 +263,10 @@ declare namespace dom {
|
|
|
263
263
|
*/
|
|
264
264
|
function before(el: Element, newEl: Element | string): Element | null;
|
|
265
265
|
/**
|
|
266
|
-
* @param {Element} el
|
|
266
|
+
* @param {Element|string} el
|
|
267
267
|
* @returns {Element}
|
|
268
268
|
*/
|
|
269
|
-
function empty(el: Element): Element;
|
|
269
|
+
function empty(el: Element | string): Element;
|
|
270
270
|
/**
|
|
271
271
|
* @param {Element|NodeList|Array<Element>} el
|
|
272
272
|
* @param {string|Element} selector
|
package/types/index.d.ts
CHANGED
|
@@ -18,8 +18,8 @@ declare const webf: {
|
|
|
18
18
|
dom: {
|
|
19
19
|
children(el: Element, selector?: string): NodeList;
|
|
20
20
|
child(el: Element, selector?: string): Element | null;
|
|
21
|
-
findOne(refEl: Element | Document | string, selector
|
|
22
|
-
find(refEl: Element | Document | string, selector
|
|
21
|
+
findOne(refEl: Element | Document | string, selector?: string | Element | NodeList | Array<Element>): Element;
|
|
22
|
+
find(refEl: Element | Document | string, selector?: string | Element | NodeList | Array<Element>): Array<Element>;
|
|
23
23
|
findOneByData(el: Element | string, data: string, value?: string): Element | null;
|
|
24
24
|
findByData(el: Element | string, data: string, value?: string): Element[];
|
|
25
25
|
addClass(el: Element | NodeList | Array<Element>, className: string): Element | NodeList | Array<Element>;
|
|
@@ -61,7 +61,7 @@ declare const webf: {
|
|
|
61
61
|
eq(nodeList: NodeList | Array<Element>, index?: number): Element | null;
|
|
62
62
|
after(el: Element, newEl: Element | string): Element | null;
|
|
63
63
|
before(el: Element, newEl: Element | string): Element | null;
|
|
64
|
-
empty(el: Element): Element;
|
|
64
|
+
empty(el: Element | string): Element;
|
|
65
65
|
not(el: Element | NodeList | Array<Element>, selector: string | Element): Array<Element>;
|
|
66
66
|
collide(elem1: Element, elem2: Element): boolean;
|
|
67
67
|
matches(el: Element, selector: string | Element): boolean;
|