@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 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 = 8;
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
- while (currentTarget && currentTarget !== el) {
647
- if (_this5.matches(currentTarget, selector)) {
648
- var wrappedEv = {
649
- originalEvent: ev,
650
- type: ev.type,
651
- target: ev.target,
652
- currentTarget: currentTarget,
653
- relatedTarget: ev.relatedTarget,
654
- button: ev.button,
655
- pageX: ev.pageX,
656
- pageY: ev.pageY,
657
- preventDefault: function preventDefault() {
658
- return ev.preventDefault.apply(ev, arguments);
659
- },
660
- stopPropagation: function stopPropagation() {
661
- return ev.stopPropagation.apply(ev, arguments);
662
- },
663
- stopImmediatePropagation: function stopImmediatePropagation() {
664
- return ev.stopImmediatePropagation.apply(ev, arguments);
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
- handler.call(currentTarget, wrappedEv);
668
- break;
669
- }
670
- currentTarget = currentTarget.parentElement;
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 = 8;
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
- while (currentTarget && currentTarget !== el) {
640
- if (_this5.matches(currentTarget, selector)) {
641
- var wrappedEv = {
642
- originalEvent: ev,
643
- type: ev.type,
644
- target: ev.target,
645
- currentTarget: currentTarget,
646
- relatedTarget: ev.relatedTarget,
647
- button: ev.button,
648
- pageX: ev.pageX,
649
- pageY: ev.pageY,
650
- preventDefault: function preventDefault() {
651
- return ev.preventDefault.apply(ev, arguments);
652
- },
653
- stopPropagation: function stopPropagation() {
654
- return ev.stopPropagation.apply(ev, arguments);
655
- },
656
- stopImmediatePropagation: function stopImmediatePropagation() {
657
- return ev.stopImmediatePropagation.apply(ev, arguments);
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
- handler.call(currentTarget, wrappedEv);
661
- break;
662
- }
663
- currentTarget = currentTarget.parentElement;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webalternatif/js-core",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "type": "module",
5
5
  "types": "types/index.d.ts",
6
6
  "main": "dist/cjs/index.js",
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: string | Element | NodeList | Array<Element>): Element;
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: string | Element | NodeList | Array<Element>): Array<Element>;
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: string | Element | NodeList | Array<Element>): Element;
22
- find(refEl: Element | Document | string, selector: string | Element | NodeList | Array<Element>): Array<Element>;
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;