@webalternatif/js-core 1.1.1 → 1.1.3
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/array.js +46 -46
- package/dist/cjs/dom.js +277 -147
- package/dist/cjs/eventDispatcher.js +126 -86
- package/dist/cjs/i18n/agenda/en.js +65 -0
- package/dist/cjs/i18n/agenda/fr.js +67 -0
- package/dist/cjs/i18n/agenda/index.js +2 -0
- package/dist/cjs/i18n/ajaxform/en.js +5 -0
- package/dist/cjs/i18n/ajaxform/fr.js +5 -0
- package/dist/cjs/i18n/ajaxform/index.js +2 -0
- package/dist/cjs/i18n/ajaxupload/en.js +11 -0
- package/dist/cjs/i18n/ajaxupload/fr.js +11 -0
- package/dist/cjs/i18n/ajaxupload/index.js +2 -0
- package/dist/cjs/i18n/autocomplete/en.js +3 -0
- package/dist/cjs/i18n/autocomplete/fr.js +3 -0
- package/dist/cjs/i18n/autocomplete/index.js +2 -0
- package/dist/cjs/i18n/confirm/en.js +5 -0
- package/dist/cjs/i18n/confirm/fr.js +5 -0
- package/dist/cjs/i18n/confirm/index.js +2 -0
- package/dist/cjs/i18n/core/en.js +4 -0
- package/dist/cjs/i18n/core/fr.js +4 -0
- package/dist/cjs/i18n/core/index.js +2 -0
- package/dist/cjs/i18n/datagrid/en.js +8 -0
- package/dist/cjs/i18n/datagrid/fr.js +8 -0
- package/dist/cjs/i18n/datagrid/index.js +2 -0
- package/dist/cjs/i18n/date/en.js +47 -0
- package/dist/cjs/i18n/date/fr.js +47 -0
- package/dist/cjs/i18n/date/index.js +2 -0
- package/dist/cjs/i18n/datetimepicker/en.js +27 -0
- package/dist/cjs/i18n/datetimepicker/fr.js +27 -0
- package/dist/cjs/i18n/datetimepicker/index.js +2 -0
- package/dist/cjs/i18n/dialog/en.js +3 -0
- package/dist/cjs/i18n/dialog/fr.js +3 -0
- package/dist/cjs/i18n/dialog/index.js +2 -0
- package/dist/cjs/i18n/fulldayeventagenda/en.js +65 -0
- package/dist/cjs/i18n/fulldayeventagenda/fr.js +67 -0
- package/dist/cjs/i18n/fulldayeventagenda/index.js +2 -0
- package/dist/cjs/i18n/index.js +30 -0
- package/dist/cjs/i18n/richtexteditor/en.js +56 -0
- package/dist/cjs/i18n/richtexteditor/fr.js +56 -0
- package/dist/cjs/i18n/richtexteditor/index.js +2 -0
- package/dist/cjs/i18n/select/en.js +3 -0
- package/dist/cjs/i18n/select/fr.js +3 -0
- package/dist/cjs/i18n/select/index.js +2 -0
- package/dist/cjs/i18n/timepicker/en.js +3 -0
- package/dist/cjs/i18n/timepicker/fr.js +3 -0
- package/dist/cjs/i18n/timepicker/index.js +2 -0
- package/dist/cjs/i18n/useragenda/en.js +65 -0
- package/dist/cjs/i18n/useragenda/fr.js +67 -0
- package/dist/cjs/i18n/useragenda/index.js +2 -0
- package/dist/cjs/i18n.js +16 -25
- package/dist/cjs/index.js +24 -54
- package/dist/cjs/is.js +28 -43
- package/dist/cjs/math.js +27 -38
- package/dist/cjs/random.js +10 -23
- package/dist/cjs/string.js +162 -166
- package/dist/cjs/stringPrototype.js +10 -10
- package/dist/cjs/traversal.js +191 -68
- package/dist/cjs/utils.js +51 -43
- package/dist/esm/array.js +46 -46
- package/dist/esm/dom.js +277 -147
- package/dist/esm/eventDispatcher.js +126 -86
- package/dist/esm/i18n/agenda/en.js +65 -0
- package/dist/esm/i18n/agenda/fr.js +67 -0
- package/dist/esm/i18n/agenda/index.js +2 -0
- package/dist/esm/i18n/ajaxform/en.js +5 -0
- package/dist/esm/i18n/ajaxform/fr.js +5 -0
- package/dist/esm/i18n/ajaxform/index.js +2 -0
- package/dist/esm/i18n/ajaxupload/en.js +11 -0
- package/dist/esm/i18n/ajaxupload/fr.js +11 -0
- package/dist/esm/i18n/ajaxupload/index.js +2 -0
- package/dist/esm/i18n/autocomplete/en.js +3 -0
- package/dist/esm/i18n/autocomplete/fr.js +3 -0
- package/dist/esm/i18n/autocomplete/index.js +2 -0
- package/dist/esm/i18n/confirm/en.js +5 -0
- package/dist/esm/i18n/confirm/fr.js +5 -0
- package/dist/esm/i18n/confirm/index.js +2 -0
- package/dist/esm/i18n/core/en.js +4 -0
- package/dist/esm/i18n/core/fr.js +4 -0
- package/dist/esm/i18n/core/index.js +2 -0
- package/dist/esm/i18n/datagrid/en.js +8 -0
- package/dist/esm/i18n/datagrid/fr.js +8 -0
- package/dist/esm/i18n/datagrid/index.js +2 -0
- package/dist/esm/i18n/date/en.js +47 -0
- package/dist/esm/i18n/date/fr.js +47 -0
- package/dist/esm/i18n/date/index.js +2 -0
- package/dist/esm/i18n/datetimepicker/en.js +27 -0
- package/dist/esm/i18n/datetimepicker/fr.js +27 -0
- package/dist/esm/i18n/datetimepicker/index.js +2 -0
- package/dist/esm/i18n/dialog/en.js +3 -0
- package/dist/esm/i18n/dialog/fr.js +3 -0
- package/dist/esm/i18n/dialog/index.js +2 -0
- package/dist/esm/i18n/fulldayeventagenda/en.js +65 -0
- package/dist/esm/i18n/fulldayeventagenda/fr.js +67 -0
- package/dist/esm/i18n/fulldayeventagenda/index.js +2 -0
- package/dist/esm/i18n/index.js +30 -0
- package/dist/esm/i18n/richtexteditor/en.js +56 -0
- package/dist/esm/i18n/richtexteditor/fr.js +56 -0
- package/dist/esm/i18n/richtexteditor/index.js +2 -0
- package/dist/esm/i18n/select/en.js +3 -0
- package/dist/esm/i18n/select/fr.js +3 -0
- package/dist/esm/i18n/select/index.js +2 -0
- package/dist/esm/i18n/timepicker/en.js +3 -0
- package/dist/esm/i18n/timepicker/fr.js +3 -0
- package/dist/esm/i18n/timepicker/index.js +2 -0
- package/dist/esm/i18n/useragenda/en.js +65 -0
- package/dist/esm/i18n/useragenda/fr.js +67 -0
- package/dist/esm/i18n/useragenda/index.js +2 -0
- package/dist/esm/i18n.js +16 -25
- package/dist/esm/index.js +24 -54
- package/dist/esm/is.js +28 -43
- package/dist/esm/math.js +27 -38
- package/dist/esm/random.js +10 -23
- package/dist/esm/string.js +162 -166
- package/dist/esm/stringPrototype.js +10 -10
- package/dist/esm/traversal.js +191 -68
- package/dist/esm/utils.js +51 -43
- package/package.json +3 -2
- package/types/dom.d.ts +53 -35
- package/types/index.d.ts +22 -19
- package/types/is.d.ts +1 -0
- package/types/traversal.d.ts +10 -7
package/dist/esm/dom.js
CHANGED
|
@@ -1,100 +1,115 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
|
+
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
|
+
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; } }
|
|
4
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
5
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
6
|
+
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; }
|
|
7
|
+
import { isArray, isArrayLike, isObject, isString } from "./is.js";
|
|
8
|
+
import { camelCase } from "./string.js";
|
|
9
|
+
import { each, foreach, map } from "./traversal.js";
|
|
10
|
+
import { inArray } from "./array.js";
|
|
11
|
+
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
|
+
export var isWindow = function isWindow(o) {
|
|
12
13
|
return !!o && o === o.window;
|
|
13
14
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return (0, _is.isObject)(o) && o instanceof HTMLElement;
|
|
15
|
+
export var isDomElement = function isDomElement(o) {
|
|
16
|
+
return isObject(o) && o instanceof HTMLElement;
|
|
17
17
|
};
|
|
18
|
-
|
|
19
|
-
const getStyle = function (elem, cssRule) {
|
|
18
|
+
export var getStyle = function getStyle(elem, cssRule) {
|
|
20
19
|
if (!isDomElement(elem)) {
|
|
21
20
|
return '';
|
|
22
21
|
}
|
|
23
22
|
if (window.getComputedStyle) {
|
|
24
|
-
|
|
25
|
-
return computedStyle.getPropertyValue(cssRule) || computedStyle[
|
|
23
|
+
var computedStyle = window.getComputedStyle(elem, null);
|
|
24
|
+
return computedStyle.getPropertyValue(cssRule) || computedStyle[camelCase(cssRule)] || '';
|
|
26
25
|
}
|
|
27
|
-
return elem.style[
|
|
26
|
+
return elem.style[camelCase(cssRule)] || '';
|
|
28
27
|
};
|
|
29
|
-
|
|
30
|
-
var _default = exports.default = {
|
|
28
|
+
export default {
|
|
31
29
|
/**
|
|
32
30
|
* @param {Element} el
|
|
33
31
|
* @param {string} [selector]
|
|
34
32
|
* @returns {NodeList}
|
|
35
33
|
*/
|
|
36
|
-
children(el, selector) {
|
|
37
|
-
return selector ? this.find(el,
|
|
34
|
+
children: function children(el, selector) {
|
|
35
|
+
return selector ? this.find(el, ":scope > ".concat(selector)) : el.children;
|
|
38
36
|
},
|
|
39
37
|
/**
|
|
40
38
|
* @param {Element} el
|
|
41
39
|
* @param {string} [selector]
|
|
42
40
|
* @returns {Element|null}
|
|
43
41
|
*/
|
|
44
|
-
child(el, selector) {
|
|
42
|
+
child: function child(el, selector) {
|
|
45
43
|
return this.first(this.children(el, selector));
|
|
46
44
|
},
|
|
47
45
|
/**
|
|
48
|
-
* @param {Element|Document
|
|
49
|
-
* @param {string} [selector
|
|
50
|
-
* @returns {
|
|
46
|
+
* @param {Element|Document} refEl
|
|
47
|
+
* @param {string|Element|NodeList|Array<Element>} [selector]
|
|
48
|
+
* @returns {Element|null}
|
|
51
49
|
*/
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
refEl = document;
|
|
56
|
-
}
|
|
57
|
-
try {
|
|
58
|
-
return refEl.querySelectorAll(selector);
|
|
59
|
-
} catch (e) {
|
|
60
|
-
return document.querySelectorAll(':not(*)');
|
|
61
|
-
}
|
|
50
|
+
findOne: function findOne(refEl, selector) {
|
|
51
|
+
var _this$find$;
|
|
52
|
+
return (_this$find$ = this.find(refEl, selector)[0]) !== null && _this$find$ !== void 0 ? _this$find$ : null;
|
|
62
53
|
},
|
|
63
54
|
/**
|
|
64
|
-
* @param {Element|Document
|
|
65
|
-
* @param {string}
|
|
66
|
-
* @returns {Element
|
|
55
|
+
* @param {Element|Document} refEl
|
|
56
|
+
* @param {string|Element|NodeList|Array<Element>} selector
|
|
57
|
+
* @returns {Array<Element>}
|
|
67
58
|
*/
|
|
68
|
-
|
|
69
|
-
if (
|
|
59
|
+
find: function find(refEl, selector) {
|
|
60
|
+
if (undefined === selector) {
|
|
70
61
|
selector = refEl;
|
|
71
62
|
refEl = document;
|
|
72
63
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
} catch (e) {
|
|
76
|
-
return null;
|
|
64
|
+
if (selector instanceof Element) {
|
|
65
|
+
selector = [selector];
|
|
77
66
|
}
|
|
67
|
+
if (isArrayLike(selector)) {
|
|
68
|
+
return map(Array.from(selector), function (i, el) {
|
|
69
|
+
if (el instanceof Element) {
|
|
70
|
+
return refEl === el || refEl.contains(el) ? el : null;
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return Array.from(refEl.querySelectorAll(selector));
|
|
78
76
|
},
|
|
79
77
|
/**
|
|
80
|
-
* @param {Element} el
|
|
78
|
+
* @param {Element|NodeList|Array<Element>} el
|
|
81
79
|
* @param {string} className
|
|
82
|
-
* @returns {Element}
|
|
80
|
+
* @returns {Element|NodeList|Array<Element>}
|
|
83
81
|
*/
|
|
84
|
-
addClass(el, className) {
|
|
82
|
+
addClass: function addClass(el, className) {
|
|
85
83
|
if (!className) return el;
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
var classNames = className.split(' ').map(function (c) {
|
|
85
|
+
return c.trim();
|
|
86
|
+
}).filter(Boolean);
|
|
87
|
+
var elements = el instanceof Element ? [el] : Array.from(el);
|
|
88
|
+
elements.forEach(function (e) {
|
|
89
|
+
if (e instanceof Element) {
|
|
90
|
+
var _e$classList;
|
|
91
|
+
(_e$classList = e.classList).add.apply(_e$classList, _toConsumableArray(classNames));
|
|
92
|
+
}
|
|
93
|
+
});
|
|
88
94
|
return el;
|
|
89
95
|
},
|
|
90
96
|
/**
|
|
91
|
-
* @param {Element} el
|
|
92
|
-
* @param {string}
|
|
93
|
-
* @returns {Element}
|
|
94
|
-
*/
|
|
95
|
-
removeClass(el,
|
|
96
|
-
if (!
|
|
97
|
-
|
|
97
|
+
* @param {Element|NodeList|Array<Element>} el
|
|
98
|
+
* @param {string} className
|
|
99
|
+
* @returns {Element|NodeList|Array<Element>}
|
|
100
|
+
*/
|
|
101
|
+
removeClass: function removeClass(el, className) {
|
|
102
|
+
if (!className) return;
|
|
103
|
+
var classNames = className.split(' ').map(function (c) {
|
|
104
|
+
return c.trim();
|
|
105
|
+
}).filter(Boolean);
|
|
106
|
+
var elements = el instanceof Element ? [el] : Array.from(el);
|
|
107
|
+
elements.forEach(function (e) {
|
|
108
|
+
if (e instanceof Element) {
|
|
109
|
+
var _e$classList2;
|
|
110
|
+
(_e$classList2 = e.classList).remove.apply(_e$classList2, _toConsumableArray(classNames));
|
|
111
|
+
}
|
|
112
|
+
});
|
|
98
113
|
return el;
|
|
99
114
|
},
|
|
100
115
|
/**
|
|
@@ -103,8 +118,12 @@ var _default = exports.default = {
|
|
|
103
118
|
* @param {boolean} [force]
|
|
104
119
|
* @returns {Element}
|
|
105
120
|
*/
|
|
106
|
-
toggleClass(el, classNames, force) {
|
|
107
|
-
(
|
|
121
|
+
toggleClass: function toggleClass(el, classNames, force) {
|
|
122
|
+
foreach(classNames.split(' ').map(function (c) {
|
|
123
|
+
return c.trim();
|
|
124
|
+
}).filter(Boolean), function (c) {
|
|
125
|
+
return el.classList.toggle(c, force);
|
|
126
|
+
});
|
|
108
127
|
return el;
|
|
109
128
|
},
|
|
110
129
|
/**
|
|
@@ -112,40 +131,84 @@ var _default = exports.default = {
|
|
|
112
131
|
* @param {string} classNames
|
|
113
132
|
* @returns {boolean}
|
|
114
133
|
*/
|
|
115
|
-
hasClass(el, classNames) {
|
|
116
|
-
|
|
134
|
+
hasClass: function hasClass(el, classNames) {
|
|
135
|
+
if (!classNames) return false;
|
|
136
|
+
var foundClasses = true;
|
|
137
|
+
foreach(classNames.split(' ').map(function (c) {
|
|
138
|
+
return c.trim();
|
|
139
|
+
}).filter(Boolean), function (c) {
|
|
140
|
+
if (el.classList.contains(c)) {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
foundClasses = false;
|
|
144
|
+
return false;
|
|
145
|
+
});
|
|
146
|
+
return foundClasses;
|
|
117
147
|
},
|
|
118
148
|
/**
|
|
119
|
-
* @param {
|
|
120
|
-
* @param {
|
|
121
|
-
* @returns {
|
|
149
|
+
* @param {Node} node
|
|
150
|
+
* @param {...Node} children
|
|
151
|
+
* @returns {Node}
|
|
122
152
|
*/
|
|
123
|
-
append(
|
|
124
|
-
|
|
125
|
-
|
|
153
|
+
append: function append(node) {
|
|
154
|
+
for (var _len = arguments.length, children = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
155
|
+
children[_key - 1] = arguments[_key];
|
|
156
|
+
}
|
|
157
|
+
node.append.apply(node, children);
|
|
158
|
+
return node;
|
|
126
159
|
},
|
|
127
160
|
/**
|
|
128
|
-
* @param {
|
|
129
|
-
* @param {
|
|
130
|
-
* @returns {
|
|
161
|
+
* @param {Node} node
|
|
162
|
+
* @param {...Node} children
|
|
163
|
+
* @returns {Node}
|
|
131
164
|
*/
|
|
132
|
-
prepend(
|
|
133
|
-
|
|
134
|
-
|
|
165
|
+
prepend: function prepend(node) {
|
|
166
|
+
for (var _len2 = arguments.length, children = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
167
|
+
children[_key2 - 1] = arguments[_key2];
|
|
168
|
+
}
|
|
169
|
+
node.prepend.apply(node, children);
|
|
170
|
+
return node;
|
|
135
171
|
},
|
|
136
172
|
/**
|
|
137
|
-
* @param {Element}
|
|
173
|
+
* @param {Element|NodeList|Array<Element>|string} els
|
|
138
174
|
* @returns {void}
|
|
139
175
|
*/
|
|
140
|
-
remove(
|
|
141
|
-
|
|
176
|
+
remove: function remove() {
|
|
177
|
+
var _this = this;
|
|
178
|
+
for (var _len3 = arguments.length, els = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
179
|
+
els[_key3] = arguments[_key3];
|
|
180
|
+
}
|
|
181
|
+
els.forEach(function (el) {
|
|
182
|
+
if (el instanceof Element) {
|
|
183
|
+
el.remove();
|
|
184
|
+
} else if (el instanceof NodeList || isArray(el)) {
|
|
185
|
+
Array.from(el).forEach(function (e) {
|
|
186
|
+
return e.remove();
|
|
187
|
+
});
|
|
188
|
+
} else {
|
|
189
|
+
_this.remove(_this.find(el));
|
|
190
|
+
}
|
|
191
|
+
});
|
|
142
192
|
},
|
|
143
193
|
/**
|
|
144
194
|
* @param {Element} el
|
|
145
|
-
* @param {string}
|
|
195
|
+
* @param {string|Element} selector
|
|
146
196
|
* @returns {Element|null}
|
|
147
197
|
*/
|
|
148
|
-
closest(el, selector) {
|
|
198
|
+
closest: function closest(el, selector) {
|
|
199
|
+
if (selector instanceof Element) {
|
|
200
|
+
if (el === selector) {
|
|
201
|
+
return el;
|
|
202
|
+
}
|
|
203
|
+
var parentEl = el.parentElement;
|
|
204
|
+
while (parentEl) {
|
|
205
|
+
if (parentEl === selector) {
|
|
206
|
+
return parentEl;
|
|
207
|
+
}
|
|
208
|
+
parentEl = parentEl.parentElement;
|
|
209
|
+
}
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
149
212
|
return el.closest(selector);
|
|
150
213
|
},
|
|
151
214
|
/**
|
|
@@ -153,21 +216,23 @@ var _default = exports.default = {
|
|
|
153
216
|
* @param {string} [selector]
|
|
154
217
|
* @returns {Element|null}
|
|
155
218
|
*/
|
|
156
|
-
next(el
|
|
157
|
-
|
|
219
|
+
next: function next(el) {
|
|
220
|
+
var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
221
|
+
var sibling = el.nextElementSibling;
|
|
158
222
|
if (!selector) return sibling;
|
|
159
223
|
if (sibling && sibling.matches(selector)) {
|
|
160
224
|
return sibling;
|
|
161
225
|
}
|
|
162
|
-
return
|
|
226
|
+
return null;
|
|
163
227
|
},
|
|
164
228
|
/**
|
|
165
229
|
* @param {Element} el
|
|
166
230
|
* @param {string|null} [selector]
|
|
167
231
|
* @returns {Element|null}
|
|
168
232
|
*/
|
|
169
|
-
prev(el
|
|
170
|
-
|
|
233
|
+
prev: function prev(el) {
|
|
234
|
+
var selector = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
235
|
+
var sibling = el.previousElementSibling;
|
|
171
236
|
if (!selector) return sibling;
|
|
172
237
|
if (sibling && sibling.matches(selector)) {
|
|
173
238
|
return sibling;
|
|
@@ -179,9 +244,9 @@ var _default = exports.default = {
|
|
|
179
244
|
* @param {string} [selector]
|
|
180
245
|
* @returns {Element[]}
|
|
181
246
|
*/
|
|
182
|
-
nextAll(el, selector) {
|
|
183
|
-
|
|
184
|
-
|
|
247
|
+
nextAll: function nextAll(el, selector) {
|
|
248
|
+
var siblings = [];
|
|
249
|
+
var sibling = el.nextElementSibling;
|
|
185
250
|
while (sibling) {
|
|
186
251
|
if (undefined === selector || sibling.matches(selector)) {
|
|
187
252
|
siblings.push(sibling);
|
|
@@ -195,9 +260,9 @@ var _default = exports.default = {
|
|
|
195
260
|
* @param {string} [selector]
|
|
196
261
|
* @returns {Element[]}
|
|
197
262
|
*/
|
|
198
|
-
prevAll(el, selector) {
|
|
199
|
-
|
|
200
|
-
|
|
263
|
+
prevAll: function prevAll(el, selector) {
|
|
264
|
+
var siblings = [];
|
|
265
|
+
var sibling = el.previousElementSibling;
|
|
201
266
|
while (sibling) {
|
|
202
267
|
if (undefined === selector || sibling.matches(selector)) {
|
|
203
268
|
siblings.push(sibling);
|
|
@@ -206,12 +271,52 @@ var _default = exports.default = {
|
|
|
206
271
|
}
|
|
207
272
|
return siblings;
|
|
208
273
|
},
|
|
274
|
+
/**
|
|
275
|
+
* @param {Element} el
|
|
276
|
+
* @param {Element|string} selector
|
|
277
|
+
* @returns {Element[]}
|
|
278
|
+
*/
|
|
279
|
+
nextUntil: function nextUntil(el, selector) {
|
|
280
|
+
var selectorIsElement = false;
|
|
281
|
+
var list = [];
|
|
282
|
+
if (selector instanceof Element) {
|
|
283
|
+
selectorIsElement = true;
|
|
284
|
+
}
|
|
285
|
+
var nextSibling = el.nextElementSibling;
|
|
286
|
+
while (nextSibling) {
|
|
287
|
+
var found = selectorIsElement ? nextSibling === selector : nextSibling.matches(selector);
|
|
288
|
+
if (found) break;
|
|
289
|
+
list.push(nextSibling);
|
|
290
|
+
nextSibling = nextSibling.nextElementSibling;
|
|
291
|
+
}
|
|
292
|
+
return list;
|
|
293
|
+
},
|
|
294
|
+
/**
|
|
295
|
+
* @param {Element} el
|
|
296
|
+
* @param {Element|string} selector
|
|
297
|
+
* @returns {Element[]}
|
|
298
|
+
*/
|
|
299
|
+
prevUntil: function prevUntil(el, selector) {
|
|
300
|
+
var selectorIsElement = false;
|
|
301
|
+
var list = [];
|
|
302
|
+
if (selector instanceof Element) {
|
|
303
|
+
selectorIsElement = true;
|
|
304
|
+
}
|
|
305
|
+
var prevSibling = el.previousElementSibling;
|
|
306
|
+
while (prevSibling) {
|
|
307
|
+
var found = selectorIsElement ? prevSibling === selector : prevSibling.matches(selector);
|
|
308
|
+
if (found) break;
|
|
309
|
+
list.push(prevSibling);
|
|
310
|
+
prevSibling = prevSibling.previousElementSibling;
|
|
311
|
+
}
|
|
312
|
+
return list;
|
|
313
|
+
},
|
|
209
314
|
/**
|
|
210
315
|
* @param {Element} el
|
|
211
316
|
* @param {Element} wrappingElement
|
|
212
317
|
* @returns {Element}
|
|
213
318
|
*/
|
|
214
|
-
wrap(el, wrappingElement) {
|
|
319
|
+
wrap: function wrap(el, wrappingElement) {
|
|
215
320
|
if (!wrappingElement.isConnected) {
|
|
216
321
|
el.parentNode.insertBefore(wrappingElement, el);
|
|
217
322
|
}
|
|
@@ -224,7 +329,7 @@ var _default = exports.default = {
|
|
|
224
329
|
* @param {*} [value]
|
|
225
330
|
* @returns {Element|*}
|
|
226
331
|
*/
|
|
227
|
-
attr(el, name, value) {
|
|
332
|
+
attr: function attr(el, name, value) {
|
|
228
333
|
if (undefined === value) return el.getAttribute(name);
|
|
229
334
|
if (null === value) {
|
|
230
335
|
el.removeAttribute(name);
|
|
@@ -239,7 +344,7 @@ var _default = exports.default = {
|
|
|
239
344
|
* @param {*} [value]
|
|
240
345
|
* @returns {*|Element}
|
|
241
346
|
*/
|
|
242
|
-
prop(el, name, value) {
|
|
347
|
+
prop: function prop(el, name, value) {
|
|
243
348
|
if (undefined === value) {
|
|
244
349
|
return el[name];
|
|
245
350
|
}
|
|
@@ -251,9 +356,9 @@ var _default = exports.default = {
|
|
|
251
356
|
* @param {string} [html]
|
|
252
357
|
* @returns {Element|*}
|
|
253
358
|
*/
|
|
254
|
-
html(el,
|
|
255
|
-
if (undefined ===
|
|
256
|
-
el.innerHTML =
|
|
359
|
+
html: function html(el, _html) {
|
|
360
|
+
if (undefined === _html) return el.innerHTML;
|
|
361
|
+
el.innerHTML = _html;
|
|
257
362
|
return el;
|
|
258
363
|
},
|
|
259
364
|
/**
|
|
@@ -261,18 +366,18 @@ var _default = exports.default = {
|
|
|
261
366
|
* @param {string} [text]
|
|
262
367
|
* @returns {Element|*}
|
|
263
368
|
*/
|
|
264
|
-
text(el,
|
|
265
|
-
if (undefined ===
|
|
266
|
-
el.innerText =
|
|
369
|
+
text: function text(el, _text) {
|
|
370
|
+
if (undefined === _text) return el.innerText;
|
|
371
|
+
el.innerText = _text;
|
|
267
372
|
return el;
|
|
268
373
|
},
|
|
269
374
|
/**
|
|
270
375
|
* @param {Element} el
|
|
271
376
|
* @returns {Element}
|
|
272
377
|
*/
|
|
273
|
-
hide(el) {
|
|
378
|
+
hide: function hide(el) {
|
|
274
379
|
if (undefined === this.data(el, '__display__')) {
|
|
275
|
-
|
|
380
|
+
var display = getComputedStyle(el).display;
|
|
276
381
|
this.data(el, '__display__', display);
|
|
277
382
|
}
|
|
278
383
|
el.style.display = 'none';
|
|
@@ -282,8 +387,8 @@ var _default = exports.default = {
|
|
|
282
387
|
* @param {Element} el
|
|
283
388
|
* @returns {Element}
|
|
284
389
|
*/
|
|
285
|
-
show(el) {
|
|
286
|
-
|
|
390
|
+
show: function show(el) {
|
|
391
|
+
var dataDisplay = this.data(el, '__display__');
|
|
287
392
|
if (undefined === dataDisplay) {
|
|
288
393
|
el.style.removeProperty('display');
|
|
289
394
|
} else {
|
|
@@ -296,24 +401,33 @@ var _default = exports.default = {
|
|
|
296
401
|
* @param {Element} el
|
|
297
402
|
* @returns {Element}
|
|
298
403
|
*/
|
|
299
|
-
toggle(el) {
|
|
404
|
+
toggle: function toggle(el) {
|
|
300
405
|
return 'none' === el.style.display ? this.show(el) : this.hide(el);
|
|
301
406
|
},
|
|
302
407
|
/**
|
|
303
408
|
* @param {Element} el
|
|
304
409
|
* @param {Object<string, string>|string} name
|
|
305
410
|
* @param {string} [value]
|
|
306
|
-
* @returns {Element}
|
|
411
|
+
* @returns {Element|DOMStringMap}
|
|
307
412
|
*/
|
|
308
|
-
data(el, name, value) {
|
|
309
|
-
|
|
310
|
-
|
|
413
|
+
data: function data(el, name, value) {
|
|
414
|
+
var _this2 = this;
|
|
415
|
+
if (undefined === name && undefined === value) {
|
|
416
|
+
return el.dataset;
|
|
417
|
+
}
|
|
418
|
+
if (webf.isPlainObject(name)) {
|
|
419
|
+
webf.each(name, function (k, v) {
|
|
420
|
+
return _this2.data(el, k, v);
|
|
421
|
+
});
|
|
311
422
|
return el;
|
|
312
423
|
}
|
|
313
|
-
|
|
314
|
-
|
|
424
|
+
var isAttr = /^data-/.test(name + '');
|
|
425
|
+
var key = camelCase(isAttr ? (name + '').replace(/^data-/, '') : name + '');
|
|
315
426
|
if (undefined === value) return el.dataset[key];
|
|
316
|
-
if (null === value)
|
|
427
|
+
if (null === value) {
|
|
428
|
+
this.removeData(el, key);
|
|
429
|
+
return el;
|
|
430
|
+
}
|
|
317
431
|
el.dataset[key] = value;
|
|
318
432
|
return el;
|
|
319
433
|
},
|
|
@@ -322,8 +436,8 @@ var _default = exports.default = {
|
|
|
322
436
|
* @param {string} name
|
|
323
437
|
* @returns {Element|*}
|
|
324
438
|
*/
|
|
325
|
-
removeData(el, name) {
|
|
326
|
-
|
|
439
|
+
removeData: function removeData(el, name) {
|
|
440
|
+
var key = camelCase((name + '').replace(/^data-/, ''));
|
|
327
441
|
delete el.dataset[key];
|
|
328
442
|
return el;
|
|
329
443
|
},
|
|
@@ -334,7 +448,8 @@ var _default = exports.default = {
|
|
|
334
448
|
* @param {AddEventListenerOptions|false} options
|
|
335
449
|
* @returns {Element}
|
|
336
450
|
*/
|
|
337
|
-
on(el, event, handler
|
|
451
|
+
on: function on(el, event, handler) {
|
|
452
|
+
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
338
453
|
el.addEventListener(event, handler, options);
|
|
339
454
|
return el;
|
|
340
455
|
},
|
|
@@ -345,35 +460,34 @@ var _default = exports.default = {
|
|
|
345
460
|
* @param {Object} options
|
|
346
461
|
* @returns {Element}
|
|
347
462
|
*/
|
|
348
|
-
off(el, event, handler, options) {
|
|
463
|
+
off: function off(el, event, handler, options) {
|
|
349
464
|
el.removeEventListener(event, handler, options);
|
|
350
465
|
return el;
|
|
351
466
|
},
|
|
352
467
|
/**
|
|
353
468
|
* @param {HTMLElement} el
|
|
354
|
-
* @param {Object<string, string>|string}
|
|
469
|
+
* @param {Object<string, string>|string} style
|
|
355
470
|
* @param {string} [value]
|
|
356
471
|
* @returns {Element}
|
|
357
472
|
*/
|
|
358
|
-
css(el,
|
|
359
|
-
|
|
473
|
+
css: function css(el, style, value) {
|
|
474
|
+
var _this3 = this;
|
|
475
|
+
if (isString(style)) {
|
|
476
|
+
var prop = style.startsWith('--') ? style : camelCase(style);
|
|
360
477
|
if (undefined === value) {
|
|
361
|
-
return
|
|
478
|
+
return getStyle(el, prop);
|
|
362
479
|
}
|
|
363
|
-
if (
|
|
364
|
-
el.style.setProperty(
|
|
480
|
+
if (prop.startsWith('--')) {
|
|
481
|
+
el.style.setProperty(prop, String(value));
|
|
365
482
|
} else {
|
|
366
|
-
|
|
483
|
+
if (typeof value === "number" && !inArray(prop, cssNumber)) value += 'px';
|
|
484
|
+
el.style[prop] = value;
|
|
367
485
|
}
|
|
368
|
-
|
|
486
|
+
} else {
|
|
487
|
+
each(style, function (name, v) {
|
|
488
|
+
_this3.css(el, name, v);
|
|
489
|
+
});
|
|
369
490
|
}
|
|
370
|
-
(0, _traversal.each)(styles, (name, v) => {
|
|
371
|
-
if (name.startsWith('--')) {
|
|
372
|
-
el.style.setProperty(name, String(v));
|
|
373
|
-
} else {
|
|
374
|
-
el.style[name] = v;
|
|
375
|
-
}
|
|
376
|
-
});
|
|
377
491
|
return el;
|
|
378
492
|
},
|
|
379
493
|
/**
|
|
@@ -382,8 +496,8 @@ var _default = exports.default = {
|
|
|
382
496
|
* @param {string} selectorFind
|
|
383
497
|
* @returns {NodeList|null}
|
|
384
498
|
*/
|
|
385
|
-
closestFind(el, selectorClosest, selectorFind) {
|
|
386
|
-
|
|
499
|
+
closestFind: function closestFind(el, selectorClosest, selectorFind) {
|
|
500
|
+
var closest = this.closest(el, selectorClosest);
|
|
387
501
|
if (closest) {
|
|
388
502
|
return this.find(closest, selectorFind);
|
|
389
503
|
}
|
|
@@ -395,8 +509,8 @@ var _default = exports.default = {
|
|
|
395
509
|
* @param {string} selectorFindOne
|
|
396
510
|
* @returns {Element|null}
|
|
397
511
|
*/
|
|
398
|
-
closestFindOne(el, selectorClosest, selectorFindOne) {
|
|
399
|
-
|
|
512
|
+
closestFindOne: function closestFindOne(el, selectorClosest, selectorFindOne) {
|
|
513
|
+
var closest = this.closest(el, selectorClosest);
|
|
400
514
|
if (closest) {
|
|
401
515
|
return this.findOne(closest, selectorFindOne);
|
|
402
516
|
}
|
|
@@ -406,31 +520,34 @@ var _default = exports.default = {
|
|
|
406
520
|
* @param {NodeList} nodeList
|
|
407
521
|
* @returns {Element|null}
|
|
408
522
|
*/
|
|
409
|
-
first(nodeList) {
|
|
410
|
-
return nodeList
|
|
523
|
+
first: function first(nodeList) {
|
|
524
|
+
return nodeList !== null && nodeList !== void 0 && nodeList.length ? nodeList.item(0) : null;
|
|
411
525
|
},
|
|
412
526
|
/**
|
|
413
|
-
* @param {NodeList} nodeList
|
|
527
|
+
* @param {NodeList|Array<Element>} nodeList
|
|
414
528
|
* @returns {Element|null}
|
|
415
529
|
*/
|
|
416
|
-
last(nodeList) {
|
|
417
|
-
|
|
530
|
+
last: function last(nodeList) {
|
|
531
|
+
var arr = Array.from(nodeList)[0];
|
|
532
|
+
return arr[arr.length - 1];
|
|
418
533
|
},
|
|
419
534
|
/**
|
|
420
535
|
* @param {string} html
|
|
421
|
-
* @returns {Element}
|
|
536
|
+
* @returns {Element|null}
|
|
422
537
|
*/
|
|
423
|
-
create(html) {
|
|
424
|
-
|
|
538
|
+
create: function create(html) {
|
|
539
|
+
var _tpl$content$firstEle;
|
|
540
|
+
var tpl = document.createElement('template');
|
|
425
541
|
tpl.innerHTML = html.trim();
|
|
426
|
-
return tpl.content.firstElementChild;
|
|
542
|
+
return (_tpl$content$firstEle = tpl.content.firstElementChild) !== null && _tpl$content$firstEle !== void 0 ? _tpl$content$firstEle : null;
|
|
427
543
|
},
|
|
428
544
|
/**
|
|
429
545
|
* @param {NodeList} nodeList
|
|
430
546
|
* @param {number} [index=0]
|
|
431
547
|
* @returns {Element|null}
|
|
432
548
|
*/
|
|
433
|
-
eq(nodeList
|
|
549
|
+
eq: function eq(nodeList) {
|
|
550
|
+
var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
434
551
|
if (Math.abs(index) >= nodeList.length) return null;
|
|
435
552
|
if (index < 0) {
|
|
436
553
|
index = nodeList.length + index;
|
|
@@ -442,7 +559,7 @@ var _default = exports.default = {
|
|
|
442
559
|
* @param {Element} newEl
|
|
443
560
|
* @returns {Element}
|
|
444
561
|
*/
|
|
445
|
-
after(el, newEl) {
|
|
562
|
+
after: function after(el, newEl) {
|
|
446
563
|
return el.parentElement.insertBefore(newEl, el.nextElementSibling);
|
|
447
564
|
},
|
|
448
565
|
/**
|
|
@@ -450,17 +567,30 @@ var _default = exports.default = {
|
|
|
450
567
|
* @param {Element} newEl
|
|
451
568
|
* @returns {Element}
|
|
452
569
|
*/
|
|
453
|
-
before(el, newEl) {
|
|
570
|
+
before: function before(el, newEl) {
|
|
454
571
|
return el.parentElement.insertBefore(newEl, el);
|
|
455
572
|
},
|
|
456
573
|
/**
|
|
457
574
|
* @param {Element} el
|
|
458
575
|
* @returns {Element}
|
|
459
576
|
*/
|
|
460
|
-
empty(el) {
|
|
577
|
+
empty: function empty(el) {
|
|
461
578
|
while (el.firstChild) {
|
|
462
579
|
el.removeChild(el.firstChild);
|
|
463
580
|
}
|
|
464
581
|
return el;
|
|
582
|
+
},
|
|
583
|
+
/**
|
|
584
|
+
* @param {Element|NodeList} el
|
|
585
|
+
* @param {string|Element} selector
|
|
586
|
+
* @return {Element[]}
|
|
587
|
+
*/
|
|
588
|
+
not: function not(el, selector) {
|
|
589
|
+
var elements = el instanceof Element ? [el] : Array.from(el);
|
|
590
|
+
var selectorIsString = webf.isString(selector);
|
|
591
|
+
return elements.filter(function (e) {
|
|
592
|
+
if (!(e instanceof Element)) return false;
|
|
593
|
+
return selectorIsString ? !e.matches(selector) : e !== selector;
|
|
594
|
+
});
|
|
465
595
|
}
|
|
466
596
|
};
|