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