@webalternatif/js-core 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Mouse.js +62 -0
- package/dist/cjs/Translator.js +110 -0
- package/dist/cjs/dom.js +174 -23
- package/dist/cjs/index.js +5 -3
- package/dist/cjs/string.js +31 -33
- package/dist/cjs/traversal.js +7 -6
- package/dist/esm/Mouse.js +62 -0
- package/dist/esm/Translator.js +110 -0
- package/dist/esm/dom.js +174 -23
- package/dist/esm/index.js +5 -3
- package/dist/esm/string.js +31 -33
- package/dist/esm/traversal.js +7 -6
- package/package.json +1 -1
- package/types/Mouse.d.ts +13 -0
- package/types/Translator.d.ts +34 -0
- package/types/dom.d.ts +13 -13
- package/types/index.d.ts +11 -11
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
3
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
4
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
8
|
+
import { isTouchDevice } from "./is.js";
|
|
9
|
+
var Mouse = /*#__PURE__*/function () {
|
|
10
|
+
function Mouse() {
|
|
11
|
+
_classCallCheck(this, Mouse);
|
|
12
|
+
}
|
|
13
|
+
return _createClass(Mouse, null, [{
|
|
14
|
+
key: "getPosition",
|
|
15
|
+
value: function getPosition(ev, element) {
|
|
16
|
+
ev = _assertClassBrand(Mouse, this, _getEvent).call(this, ev);
|
|
17
|
+
var rect = {
|
|
18
|
+
left: 0,
|
|
19
|
+
top: 0
|
|
20
|
+
};
|
|
21
|
+
if (element instanceof Element) {
|
|
22
|
+
var r = element.getBoundingClientRect();
|
|
23
|
+
rect = {
|
|
24
|
+
left: window.scrollX + r.left,
|
|
25
|
+
top: window.scrollY + r.top
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
x: ev.pageX !== undefined ? ev.pageX - rect.left : rect.left,
|
|
30
|
+
y: ev.pageY !== undefined ? ev.pageY - rect.top : rect.top
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}, {
|
|
34
|
+
key: "getViewportPosition",
|
|
35
|
+
value: function getViewportPosition(ev) {
|
|
36
|
+
ev = _assertClassBrand(Mouse, this, _getEvent).call(this, ev);
|
|
37
|
+
return {
|
|
38
|
+
x: ev.clientX,
|
|
39
|
+
y: ev.clientY
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}, {
|
|
43
|
+
key: "getElement",
|
|
44
|
+
value: function getElement(ev) {
|
|
45
|
+
ev = _assertClassBrand(Mouse, this, _getEvent).call(this, ev);
|
|
46
|
+
return window.document.elementFromPoint(ev.clientX, ev.clientY);
|
|
47
|
+
}
|
|
48
|
+
}]);
|
|
49
|
+
}();
|
|
50
|
+
function _getEvent(ev) {
|
|
51
|
+
var _ev$originalEvent;
|
|
52
|
+
if (isTouchDevice()) {
|
|
53
|
+
var orgEvent = ev.originalEvent ? ev.originalEvent : ev;
|
|
54
|
+
if (orgEvent.changedTouches && orgEvent.changedTouches.length) {
|
|
55
|
+
ev = orgEvent.changedTouches[0];
|
|
56
|
+
} else if (orgEvent.touches) {
|
|
57
|
+
ev = orgEvent.touches[0];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return (_ev$originalEvent = ev.originalEvent) !== null && _ev$originalEvent !== void 0 ? _ev$originalEvent : ev;
|
|
61
|
+
}
|
|
62
|
+
export default Mouse;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
3
|
+
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
4
|
+
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
|
8
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
9
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
10
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
11
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
12
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
13
|
+
import { isFunction, isPlainObject } from "./is.js";
|
|
14
|
+
import { each, extend } from "./traversal.js";
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @typedef {string | (() => string)} TranslatorValue
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @typedef {Record<string, Record<string, Record<string, TranslatorValue>>>} TranslatorNsMapping
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @typedef {Record<string, Record<string, TranslatorValue>>} TranslatorCoreMapping
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @typedef {TranslatorNsMapping | TranslatorCoreMapping} TranslatorMapping
|
|
30
|
+
*/
|
|
31
|
+
var _lang = /*#__PURE__*/new WeakMap();
|
|
32
|
+
var _mapping = /*#__PURE__*/new WeakMap();
|
|
33
|
+
var _Translator_brand = /*#__PURE__*/new WeakSet();
|
|
34
|
+
var Translator = /*#__PURE__*/function () {
|
|
35
|
+
/**
|
|
36
|
+
* @param {TranslatorMapping} mapping
|
|
37
|
+
* @param {string} [defaultLang]
|
|
38
|
+
*/
|
|
39
|
+
function Translator(_mapping2, defaultLang) {
|
|
40
|
+
_classCallCheck(this, Translator);
|
|
41
|
+
_classPrivateMethodInitSpec(this, _Translator_brand);
|
|
42
|
+
/** @type string */
|
|
43
|
+
_classPrivateFieldInitSpec(this, _lang, void 0);
|
|
44
|
+
/** @type TranslatorMapping */
|
|
45
|
+
_classPrivateFieldInitSpec(this, _mapping, void 0);
|
|
46
|
+
_assertClassBrand(_Translator_brand, this, _setMapping).call(this, _mapping2);
|
|
47
|
+
this.setLang(defaultLang);
|
|
48
|
+
}
|
|
49
|
+
return _createClass(Translator, [{
|
|
50
|
+
key: "translate",
|
|
51
|
+
value:
|
|
52
|
+
/**
|
|
53
|
+
* @param {string} label
|
|
54
|
+
* @param {string} [namespace]
|
|
55
|
+
* @param {string} [lang]
|
|
56
|
+
* @returns {string}
|
|
57
|
+
*/
|
|
58
|
+
function translate(label, namespace, lang) {
|
|
59
|
+
lang = undefined === lang ? this.getLang() : lang;
|
|
60
|
+
namespace = undefined === namespace ? 'core' : namespace;
|
|
61
|
+
var translationExists = undefined !== _classPrivateFieldGet(_mapping, this)[namespace] && undefined !== _classPrivateFieldGet(_mapping, this)[namespace][lang] && undefined !== _classPrivateFieldGet(_mapping, this)[namespace][lang][label];
|
|
62
|
+
if (translationExists) {
|
|
63
|
+
var tr = _classPrivateFieldGet(_mapping, this)[namespace][lang][label];
|
|
64
|
+
return isFunction(tr) ? tr() : tr;
|
|
65
|
+
}
|
|
66
|
+
return 'en' !== lang ? this.translate(label, namespace, 'en') : label;
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
key: "_",
|
|
70
|
+
value: function _() {
|
|
71
|
+
return this.translate.apply(this, arguments);
|
|
72
|
+
}
|
|
73
|
+
}, {
|
|
74
|
+
key: "getLang",
|
|
75
|
+
value: function getLang() {
|
|
76
|
+
return _classPrivateFieldGet(_lang, this);
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "setLang",
|
|
80
|
+
value: function setLang(lang) {
|
|
81
|
+
if (!lang) {
|
|
82
|
+
if (typeof navigator !== 'undefined' && navigator.language) {
|
|
83
|
+
lang = navigator.language;
|
|
84
|
+
} else if (typeof process !== 'undefined' && process.env) {
|
|
85
|
+
lang = process.env.LANG || process.env.LC_ALL || process.env.LC_MESSAGES;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
_classPrivateFieldSet(_lang, this, (lang || 'en').trim().toLowerCase().slice(0, 2));
|
|
89
|
+
}
|
|
90
|
+
}]);
|
|
91
|
+
}();
|
|
92
|
+
function _setMapping(mapping) {
|
|
93
|
+
var nsMapping = {},
|
|
94
|
+
coreMapping = {};
|
|
95
|
+
each(mapping, function (ns, langs) {
|
|
96
|
+
each(langs, function (lang, trads) {
|
|
97
|
+
if (isPlainObject(trads)) {
|
|
98
|
+
if (undefined === nsMapping[ns]) nsMapping[ns] = {};
|
|
99
|
+
nsMapping[ns][lang] = trads;
|
|
100
|
+
} else {
|
|
101
|
+
if (undefined === coreMapping[ns]) coreMapping[ns] = {};
|
|
102
|
+
coreMapping[ns][lang] = trads;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
_classPrivateFieldSet(_mapping, this, extend(true, nsMapping, {
|
|
107
|
+
core: extend({}, nsMapping.core || {}, coreMapping)
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
export { Translator as default };
|
package/dist/cjs/dom.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
4
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
1
5
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
6
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
7
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
@@ -8,8 +12,109 @@ import { isArray, isArrayLike, isFunction, isObject, isPlainObject, isString } f
|
|
|
8
12
|
import { camelCase } from "./string.js";
|
|
9
13
|
import { each, foreach, map } from "./traversal.js";
|
|
10
14
|
import { inArray } from "./array.js";
|
|
15
|
+
import Mouse from "./Mouse.js";
|
|
11
16
|
var cssNumber = ['animationIterationCount', 'aspectRatio', 'borderImageSlice', 'columnCount', 'flexGrow', 'flexShrink', 'fontWeight', 'gridArea', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'lineHeight', 'opacity', 'order', 'orphans', 'scale', 'widows', 'zIndex', 'zoom', 'fillOpacity', 'floodOpacity', 'stopOpacity', 'strokeMiterlimit', 'strokeOpacity'];
|
|
12
|
-
var LISTENERS = new
|
|
17
|
+
var LISTENERS = new Map();
|
|
18
|
+
var CUSTOM_EVENTS = ['longtap', 'dbltap'];
|
|
19
|
+
var ENABLED_EVENTS = new Set();
|
|
20
|
+
var _teardownLongTap = null;
|
|
21
|
+
var _teardownDblTap = null;
|
|
22
|
+
var supplyEvent = function supplyEvent(event) {
|
|
23
|
+
if (ENABLED_EVENTS !== null && ENABLED_EVENTS !== void 0 && ENABLED_EVENTS.has(event)) return;
|
|
24
|
+
if (event === 'longtap') enableLongTap();
|
|
25
|
+
if (event === 'dbltap') enableDblTap();
|
|
26
|
+
ENABLED_EVENTS.add(event);
|
|
27
|
+
};
|
|
28
|
+
var enableLongTap = function enableLongTap() {
|
|
29
|
+
var LONGPRESS_DELAY = 800;
|
|
30
|
+
var MOVE_TOLERANCE = 8;
|
|
31
|
+
var timer = null;
|
|
32
|
+
var startX = 0;
|
|
33
|
+
var startY = 0;
|
|
34
|
+
var target = null;
|
|
35
|
+
var start = function start(ev) {
|
|
36
|
+
target = ev.target;
|
|
37
|
+
var pos = Mouse.getViewportPosition(ev);
|
|
38
|
+
startX = pos.x;
|
|
39
|
+
startY = pos.y;
|
|
40
|
+
timer = setTimeout(function () {
|
|
41
|
+
target.dispatchEvent(new CustomEvent('longtap', {
|
|
42
|
+
bubbles: true,
|
|
43
|
+
cancelable: true,
|
|
44
|
+
detail: {
|
|
45
|
+
originalEvent: ev
|
|
46
|
+
}
|
|
47
|
+
}));
|
|
48
|
+
timer = null;
|
|
49
|
+
}, LONGPRESS_DELAY);
|
|
50
|
+
};
|
|
51
|
+
var move = function move(ev) {
|
|
52
|
+
if (!timer) return;
|
|
53
|
+
var pos = Mouse.getViewportPosition(ev);
|
|
54
|
+
if (Math.hypot(pos.x - startX, pos.y - startY) > MOVE_TOLERANCE) {
|
|
55
|
+
clearTimeout(timer);
|
|
56
|
+
timer = null;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
var end = function end() {
|
|
60
|
+
if (timer) clearTimeout(timer);
|
|
61
|
+
timer = null;
|
|
62
|
+
};
|
|
63
|
+
document.addEventListener('touchstart', start, {
|
|
64
|
+
passive: true
|
|
65
|
+
});
|
|
66
|
+
document.addEventListener('touchmove', move, {
|
|
67
|
+
passive: true
|
|
68
|
+
});
|
|
69
|
+
document.addEventListener('touchend', end);
|
|
70
|
+
document.addEventListener('touchcancel', end);
|
|
71
|
+
_teardownLongTap = function teardownLongTap() {
|
|
72
|
+
document.removeEventListener('touchstart', start, {
|
|
73
|
+
passive: true
|
|
74
|
+
});
|
|
75
|
+
document.removeEventListener('touchmove', move, {
|
|
76
|
+
passive: true
|
|
77
|
+
});
|
|
78
|
+
document.removeEventListener('touchend', end);
|
|
79
|
+
document.removeEventListener('touchcancel', end);
|
|
80
|
+
_teardownLongTap = null;
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
var enableDblTap = function enableDblTap() {
|
|
84
|
+
var DBLTAP_DELAY = 300;
|
|
85
|
+
var MOVE_TOLERANCE = 8;
|
|
86
|
+
var lastTapTime = 0;
|
|
87
|
+
var lastPos = null;
|
|
88
|
+
var start = function start(ev) {
|
|
89
|
+
var target = ev.target;
|
|
90
|
+
if (Date.now() - lastTapTime > DBLTAP_DELAY) {
|
|
91
|
+
lastTapTime = Date.now();
|
|
92
|
+
lastPos = Mouse.getViewportPosition(ev);
|
|
93
|
+
} else {
|
|
94
|
+
var pos = Mouse.getViewportPosition(ev);
|
|
95
|
+
if (Math.hypot(pos.x - lastPos.x, pos.y - lastPos.y) <= MOVE_TOLERANCE) {
|
|
96
|
+
target.dispatchEvent(new CustomEvent('dbltap', {
|
|
97
|
+
bubbles: true,
|
|
98
|
+
cancelable: true,
|
|
99
|
+
detail: {
|
|
100
|
+
originalEvent: ev
|
|
101
|
+
}
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
lastTapTime = Date.now();
|
|
105
|
+
lastPos = pos;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
document.addEventListener('touchstart', start, {
|
|
109
|
+
passive: true
|
|
110
|
+
});
|
|
111
|
+
_teardownDblTap = function teardownDblTap() {
|
|
112
|
+
document.removeEventListener('touchstart', start, {
|
|
113
|
+
passive: true
|
|
114
|
+
});
|
|
115
|
+
_teardownDblTap = null;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
13
118
|
|
|
14
119
|
/**
|
|
15
120
|
* @param {any} o
|
|
@@ -50,7 +155,7 @@ export var getStyle = function getStyle(el, cssRule) {
|
|
|
50
155
|
}
|
|
51
156
|
return el.style[camelCase(cssRule)] || '';
|
|
52
157
|
};
|
|
53
|
-
|
|
158
|
+
var dom = {
|
|
54
159
|
/**
|
|
55
160
|
* @param {Element} el
|
|
56
161
|
* @param {string} [selector]
|
|
@@ -98,7 +203,7 @@ export default {
|
|
|
98
203
|
});
|
|
99
204
|
}
|
|
100
205
|
try {
|
|
101
|
-
return refEl.querySelectorAll(selector);
|
|
206
|
+
return Array.from(refEl.querySelectorAll(selector));
|
|
102
207
|
} catch (e) {
|
|
103
208
|
return [];
|
|
104
209
|
}
|
|
@@ -520,7 +625,11 @@ export default {
|
|
|
520
625
|
handler = selector;
|
|
521
626
|
selector = null;
|
|
522
627
|
}
|
|
523
|
-
foreach(events.split(' '), function (
|
|
628
|
+
foreach(events.split(' '), function (rawEvent) {
|
|
629
|
+
var _rawEvent$split = rawEvent.split('.'),
|
|
630
|
+
_rawEvent$split2 = _slicedToArray(_rawEvent$split, 2),
|
|
631
|
+
event = _rawEvent$split2[0],
|
|
632
|
+
namespace = _rawEvent$split2[1];
|
|
524
633
|
var listener = function listener(ev) {
|
|
525
634
|
if (!selector) {
|
|
526
635
|
handler.call(el, ev);
|
|
@@ -529,11 +638,11 @@ export default {
|
|
|
529
638
|
var currentTarget = ev.target;
|
|
530
639
|
while (currentTarget && currentTarget !== el) {
|
|
531
640
|
if (_this5.matches(currentTarget, selector)) {
|
|
532
|
-
var wrappedEv =
|
|
641
|
+
var wrappedEv = {
|
|
533
642
|
originalEvent: ev,
|
|
534
643
|
type: ev.type,
|
|
535
|
-
currentTarget: currentTarget,
|
|
536
644
|
target: ev.target,
|
|
645
|
+
currentTarget: currentTarget,
|
|
537
646
|
relatedTarget: ev.relatedTarget,
|
|
538
647
|
button: ev.button,
|
|
539
648
|
pageX: ev.pageX,
|
|
@@ -547,7 +656,7 @@ export default {
|
|
|
547
656
|
stopImmediatePropagation: function stopImmediatePropagation() {
|
|
548
657
|
return ev.stopImmediatePropagation.apply(ev, arguments);
|
|
549
658
|
}
|
|
550
|
-
}
|
|
659
|
+
};
|
|
551
660
|
handler.call(currentTarget, wrappedEv);
|
|
552
661
|
break;
|
|
553
662
|
}
|
|
@@ -564,8 +673,12 @@ export default {
|
|
|
564
673
|
handler: handler,
|
|
565
674
|
selector: selector,
|
|
566
675
|
listener: listener,
|
|
676
|
+
namespace: namespace,
|
|
567
677
|
options: options
|
|
568
678
|
});
|
|
679
|
+
if (inArray(event, CUSTOM_EVENTS)) {
|
|
680
|
+
supplyEvent(event);
|
|
681
|
+
}
|
|
569
682
|
el.addEventListener(event, listener, options);
|
|
570
683
|
});
|
|
571
684
|
return el;
|
|
@@ -573,7 +686,7 @@ export default {
|
|
|
573
686
|
/**
|
|
574
687
|
* @param {Element|Document|Window} el
|
|
575
688
|
* @param {string} [events]
|
|
576
|
-
* @param {string|Element|function} selector
|
|
689
|
+
* @param {string|Element|function} [selector]
|
|
577
690
|
* @param {function|AddEventListenerOptions|boolean} [handler]
|
|
578
691
|
* @param {AddEventListenerOptions|boolean} [options]
|
|
579
692
|
* @returns {Element}
|
|
@@ -587,10 +700,18 @@ export default {
|
|
|
587
700
|
var store = LISTENERS.get(el);
|
|
588
701
|
if (!store) return el;
|
|
589
702
|
var evts = events ? events.split(' ') : [undefined];
|
|
590
|
-
foreach(evts
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
703
|
+
foreach(evts, function (rawEvent) {
|
|
704
|
+
var _ref = undefined === rawEvent ? [undefined, undefined] : rawEvent.split('.'),
|
|
705
|
+
_ref2 = _slicedToArray(_ref, 2),
|
|
706
|
+
event = _ref2[0],
|
|
707
|
+
namespace = _ref2[1];
|
|
708
|
+
event = !event ? undefined : event;
|
|
709
|
+
var hasEvent = undefined !== event;
|
|
710
|
+
var hasNs = undefined !== namespace;
|
|
711
|
+
foreach(_toConsumableArray(store).reverse(), function (l) {
|
|
712
|
+
var match = !hasEvent && !hasNs || hasEvent && !hasNs && l.event === event || !hasEvent && hasNs && l.namespace === namespace || hasEvent && hasNs && l.event === event && l.namespace === namespace;
|
|
713
|
+
if (match && (undefined === event || l.event === event) && (undefined === handler || l.handler === handler) && (undefined === selector || l.selector === selector) && (undefined === namespace || l.namespace === namespace) && (undefined === options || l.options === options)) {
|
|
714
|
+
el.removeEventListener(l.event, l.listener, l.options);
|
|
594
715
|
var index = store.indexOf(l);
|
|
595
716
|
index !== -1 && store.splice(index, 1);
|
|
596
717
|
}
|
|
@@ -628,14 +749,14 @@ export default {
|
|
|
628
749
|
* @param {Element} el
|
|
629
750
|
* @param {string} selectorClosest
|
|
630
751
|
* @param {string} selectorFind
|
|
631
|
-
* @returns {
|
|
752
|
+
* @returns {Array<Element>}
|
|
632
753
|
*/
|
|
633
754
|
closestFind: function closestFind(el, selectorClosest, selectorFind) {
|
|
634
755
|
var closest = this.closest(el, selectorClosest);
|
|
635
756
|
if (closest) {
|
|
636
757
|
return this.find(closest, selectorFind);
|
|
637
758
|
}
|
|
638
|
-
return
|
|
759
|
+
return [];
|
|
639
760
|
},
|
|
640
761
|
/**
|
|
641
762
|
* @param {Element} el
|
|
@@ -665,18 +786,30 @@ export default {
|
|
|
665
786
|
*/
|
|
666
787
|
last: function last(nodeList) {
|
|
667
788
|
var _arr;
|
|
789
|
+
if (nodeList instanceof Element) return nodeList;
|
|
668
790
|
var arr = Array.from(nodeList);
|
|
669
791
|
return (_arr = arr[arr.length - 1]) !== null && _arr !== void 0 ? _arr : null;
|
|
670
792
|
},
|
|
671
793
|
/**
|
|
672
794
|
* @param {string} html
|
|
673
|
-
* @returns {Element|null}
|
|
795
|
+
* @returns {Element|DocumentFragment|null}
|
|
674
796
|
*/
|
|
675
797
|
create: function create(html) {
|
|
676
|
-
|
|
798
|
+
html += '';
|
|
799
|
+
var isTagName = function isTagName(s) {
|
|
800
|
+
return /^[A-Za-z][A-Za-z0-9-]*$/.test(s);
|
|
801
|
+
};
|
|
802
|
+
if (isTagName(html)) {
|
|
803
|
+
return document.createElement(html);
|
|
804
|
+
}
|
|
677
805
|
var tpl = document.createElement('template');
|
|
678
806
|
tpl.innerHTML = html.trim();
|
|
679
|
-
|
|
807
|
+
var frag = tpl.content;
|
|
808
|
+
if (frag.childElementCount === 1 && frag.children.length === 1) {
|
|
809
|
+
return frag.firstElementChild;
|
|
810
|
+
}
|
|
811
|
+
if (!frag.firstChild) return null;
|
|
812
|
+
return frag.cloneNode(true);
|
|
680
813
|
},
|
|
681
814
|
/**
|
|
682
815
|
* @param {NodeList|Array<Element>} nodeList
|
|
@@ -728,13 +861,13 @@ export default {
|
|
|
728
861
|
return el;
|
|
729
862
|
},
|
|
730
863
|
/**
|
|
731
|
-
* @param {Element|NodeList} el
|
|
864
|
+
* @param {Element|NodeList|Array<Element>} el
|
|
732
865
|
* @param {string|Element} selector
|
|
733
|
-
* @return {Element
|
|
866
|
+
* @return {Array<Element>}
|
|
734
867
|
*/
|
|
735
868
|
not: function not(el, selector) {
|
|
736
869
|
var elements = el instanceof Element ? [el] : Array.from(el);
|
|
737
|
-
var selectorIsString =
|
|
870
|
+
var selectorIsString = isString(selector);
|
|
738
871
|
return elements.filter(function (e) {
|
|
739
872
|
if (!(e instanceof Element)) return false;
|
|
740
873
|
return selectorIsString ? !e.matches(selector) : e !== selector;
|
|
@@ -755,6 +888,7 @@ export default {
|
|
|
755
888
|
* @param {string|Element} selector
|
|
756
889
|
*/
|
|
757
890
|
matches: function matches(el, selector) {
|
|
891
|
+
if (!el) return false;
|
|
758
892
|
return selector instanceof Element ? selector === el : el.matches(selector);
|
|
759
893
|
},
|
|
760
894
|
/**
|
|
@@ -767,14 +901,22 @@ export default {
|
|
|
767
901
|
},
|
|
768
902
|
/**
|
|
769
903
|
* @param {Element} el
|
|
770
|
-
* @param {Element[]} children
|
|
904
|
+
* @param {NodeList|Array<Element>|string[]} children
|
|
771
905
|
* @returns {Element}
|
|
772
906
|
*/
|
|
773
907
|
replaceChildren: function replaceChildren(el) {
|
|
908
|
+
var _this7 = this;
|
|
909
|
+
var nodes = [];
|
|
774
910
|
for (var _len4 = arguments.length, children = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
|
|
775
911
|
children[_key4 - 1] = arguments[_key4];
|
|
776
912
|
}
|
|
777
|
-
|
|
913
|
+
foreach(children, function (child) {
|
|
914
|
+
if (isString(child)) {
|
|
915
|
+
child = _this7.create(child);
|
|
916
|
+
}
|
|
917
|
+
if (child) nodes.push(child);
|
|
918
|
+
});
|
|
919
|
+
el.replaceChildren.apply(el, nodes);
|
|
778
920
|
return el;
|
|
779
921
|
},
|
|
780
922
|
/**
|
|
@@ -800,4 +942,13 @@ export default {
|
|
|
800
942
|
left: rect.left + wOffset.left
|
|
801
943
|
};
|
|
802
944
|
}
|
|
803
|
-
};
|
|
945
|
+
};
|
|
946
|
+
if ('test' === process.env.NODE_ENV) {
|
|
947
|
+
dom.__resetCustomEventsForTests = function () {
|
|
948
|
+
var _teardownLongTap2, _teardownDblTap2;
|
|
949
|
+
ENABLED_EVENTS.clear();
|
|
950
|
+
(_teardownLongTap2 = _teardownLongTap) === null || _teardownLongTap2 === void 0 || _teardownLongTap2();
|
|
951
|
+
(_teardownDblTap2 = _teardownDblTap) === null || _teardownDblTap2 === void 0 || _teardownDblTap2();
|
|
952
|
+
};
|
|
953
|
+
}
|
|
954
|
+
export default dom;
|
package/dist/cjs/index.js
CHANGED
|
@@ -13,8 +13,9 @@ import * as traversal from './traversal.js';
|
|
|
13
13
|
import dom, { getStyle, isDomElement, isWindow, isDocument } from './dom.js';
|
|
14
14
|
import * as math from './math.js';
|
|
15
15
|
import * as utils from './utils.js';
|
|
16
|
-
import * as i18n from './
|
|
16
|
+
import * as i18n from './Translator.js';
|
|
17
17
|
import eventDispatcher from './eventDispatcher.js';
|
|
18
|
+
import Mouse from './Mouse.js';
|
|
18
19
|
var webf = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, stringFunctions), arrayFunctions), traversal), is), random), {}, {
|
|
19
20
|
dom: dom,
|
|
20
21
|
isWindow: isWindow,
|
|
@@ -22,7 +23,8 @@ var webf = _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread
|
|
|
22
23
|
isDomElement: isDomElement,
|
|
23
24
|
getStyle: getStyle
|
|
24
25
|
}, math), utils), i18n), {}, {
|
|
25
|
-
eventDispatcher: eventDispatcher
|
|
26
|
+
eventDispatcher: eventDispatcher,
|
|
27
|
+
Mouse: Mouse
|
|
26
28
|
});
|
|
27
29
|
export default webf;
|
|
28
|
-
export { stringFunctions, arrayFunctions, traversal, is, random, getStyle, dom, math, utils, eventDispatcher };
|
|
30
|
+
export { stringFunctions, arrayFunctions, traversal, is, random, getStyle, dom, math, utils, eventDispatcher, Mouse };
|
package/dist/cjs/string.js
CHANGED
|
@@ -8,7 +8,8 @@ import { isArray, isFloat, isInteger, isObject, isPlainObject, isString, isUndef
|
|
|
8
8
|
import { dec2hex, hex2dec, round } from "./math.js";
|
|
9
9
|
import { inArray } from "./array.js";
|
|
10
10
|
import { each, foreach, map } from "./traversal.js";
|
|
11
|
-
import {
|
|
11
|
+
// import {translate} from "./Translator.js";
|
|
12
|
+
|
|
12
13
|
export var trim = function trim(str) {
|
|
13
14
|
var _char = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '\\s';
|
|
14
15
|
return ltrim(rtrim(str, _char), _char);
|
|
@@ -248,39 +249,36 @@ var _addUrlParam = function addUrlParam(url, param) {
|
|
|
248
249
|
each(param, function (key, val) {
|
|
249
250
|
url = _addUrlParam(url, key, val);
|
|
250
251
|
});
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
}
|
|
273
|
-
if (false === param_exists) {
|
|
274
|
-
params.push(param + "=" + value);
|
|
275
|
-
}
|
|
276
|
-
if (parseUrl.scheme && parseUrl.host) {
|
|
277
|
-
url = parseUrl.scheme + '://' + parseUrl.host + (parseUrl.path || '') + "?" + params.join("&") + hash;
|
|
278
|
-
} else {
|
|
279
|
-
url = (parseUrl.host || '') + parseUrl.path + "?" + params.join("&") + hash;
|
|
280
|
-
}
|
|
252
|
+
return url;
|
|
253
|
+
}
|
|
254
|
+
var parseUrl = parse_url(url),
|
|
255
|
+
pos,
|
|
256
|
+
hash = "";
|
|
257
|
+
if ((pos = url.indexOf("#")) > -1) {
|
|
258
|
+
hash = url.slice(pos);
|
|
259
|
+
url = url.slice(0, pos);
|
|
260
|
+
}
|
|
261
|
+
var key = encodeURIComponent(param);
|
|
262
|
+
var val = value === null ? '' : encodeURIComponent(value);
|
|
263
|
+
if (!parseUrl.query) {
|
|
264
|
+
return url + "?" + key + "=" + val + hash;
|
|
265
|
+
}
|
|
266
|
+
var params = parseUrl.query.split('&');
|
|
267
|
+
var param_exists = false;
|
|
268
|
+
for (var i = 0; i < params.length; i++) {
|
|
269
|
+
if (params[i].startsWith(key + "=")) {
|
|
270
|
+
params[i] = key + "=" + val;
|
|
271
|
+
param_exists = true;
|
|
272
|
+
break;
|
|
281
273
|
}
|
|
282
274
|
}
|
|
283
|
-
|
|
275
|
+
if (!param_exists) {
|
|
276
|
+
params.push(key + "=" + val);
|
|
277
|
+
}
|
|
278
|
+
if (parseUrl.scheme && parseUrl.host) {
|
|
279
|
+
return parseUrl.scheme + '://' + parseUrl.host + (parseUrl.path || '') + "?" + params.join("&") + hash;
|
|
280
|
+
}
|
|
281
|
+
return (parseUrl.host || '') + parseUrl.path + "?" + params.join("&") + hash;
|
|
284
282
|
};
|
|
285
283
|
export { _addUrlParam as addUrlParam };
|
|
286
284
|
export var decodeHtml = function decodeHtml(str) {
|
|
@@ -438,7 +436,7 @@ export var formatSize = function formatSize(bytes) {
|
|
|
438
436
|
decimals = 1;
|
|
439
437
|
}
|
|
440
438
|
var units = map(['k', 'M', 'G', 'T', 'P', 'E'], function (i, prefix) {
|
|
441
|
-
return prefix +
|
|
439
|
+
return prefix + 'B';
|
|
442
440
|
});
|
|
443
441
|
return numberFormat(Math.max(bytes, 0), decimals, true, '', decimalPoint) + ' ' + units[i];
|
|
444
442
|
};
|
package/dist/cjs/traversal.js
CHANGED
|
@@ -34,9 +34,9 @@ export var each = function each(o, callback, context) {
|
|
|
34
34
|
for (var i in o) if (o.hasOwnProperty(i) && false === callback.call(context !== null && context !== void 0 ? context : o[i], i, o[i], o, ++index)) return;
|
|
35
35
|
} else if (isString(o)) {
|
|
36
36
|
var arr = o.split('');
|
|
37
|
-
for (var _i = 0; _i < arr.length; _i++) if (false === callback.call(context !== null && context !== void 0 ? context : arr[_i], _i, arr[_i], o, _i)) return;
|
|
37
|
+
for (var _i = 0; _i < arr.length; _i++) if (false === callback.call(context !== null && context !== void 0 ? context : arr[_i], _i, arr[_i], o, _i)) return o;
|
|
38
38
|
return o;
|
|
39
|
-
} else if (o instanceof Map
|
|
39
|
+
} else if (o instanceof Map) {
|
|
40
40
|
var _index = 0;
|
|
41
41
|
var _iterator = _createForOfIteratorHelper(o.entries()),
|
|
42
42
|
_step;
|
|
@@ -45,7 +45,7 @@ export var each = function each(o, callback, context) {
|
|
|
45
45
|
var _step$value = _slicedToArray(_step.value, 2),
|
|
46
46
|
key = _step$value[0],
|
|
47
47
|
value = _step$value[1];
|
|
48
|
-
if (false === callback.call(context !== null && context !== void 0 ? context : value, key, value, o, _index++)) return;
|
|
48
|
+
if (false === callback.call(context !== null && context !== void 0 ? context : value, key, value, o, _index++)) return o;
|
|
49
49
|
}
|
|
50
50
|
} catch (err) {
|
|
51
51
|
_iterator.e(err);
|
|
@@ -59,7 +59,7 @@ export var each = function each(o, callback, context) {
|
|
|
59
59
|
try {
|
|
60
60
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
61
61
|
var _value = _step2.value;
|
|
62
|
-
if (false === callback.call(context !== null && context !== void 0 ? context : _value, _index2, _value, o, _index2)) return;
|
|
62
|
+
if (false === callback.call(context !== null && context !== void 0 ? context : _value, _index2, _value, o, _index2)) return o;
|
|
63
63
|
_index2++;
|
|
64
64
|
}
|
|
65
65
|
} catch (err) {
|
|
@@ -69,7 +69,7 @@ export var each = function each(o, callback, context) {
|
|
|
69
69
|
}
|
|
70
70
|
} else if (isArrayLike(o)) {
|
|
71
71
|
var _arr = Array.from(o);
|
|
72
|
-
for (var _i2 = 0; _i2 < _arr.length; _i2++) if (false === callback.call(context || _arr[_i2], _i2, _arr[_i2], _arr, _i2)) return;
|
|
72
|
+
for (var _i2 = 0; _i2 < _arr.length; _i2++) if (false === callback.call(context || _arr[_i2], _i2, _arr[_i2], _arr, _i2)) return o;
|
|
73
73
|
}
|
|
74
74
|
return o;
|
|
75
75
|
};
|
|
@@ -111,7 +111,8 @@ export var map = function map(o, callback, context) {
|
|
|
111
111
|
var results = [];
|
|
112
112
|
each(o, function (index, value, o, i) {
|
|
113
113
|
var response = callback.call(context, index, value, o, i);
|
|
114
|
-
|
|
114
|
+
|
|
115
|
+
// if (false === response) return false;
|
|
115
116
|
if (null !== response) results.push(response);
|
|
116
117
|
});
|
|
117
118
|
return results;
|