@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.
Files changed (121) hide show
  1. package/dist/cjs/array.js +46 -46
  2. package/dist/cjs/dom.js +277 -147
  3. package/dist/cjs/eventDispatcher.js +126 -86
  4. package/dist/cjs/i18n/agenda/en.js +65 -0
  5. package/dist/cjs/i18n/agenda/fr.js +67 -0
  6. package/dist/cjs/i18n/agenda/index.js +2 -0
  7. package/dist/cjs/i18n/ajaxform/en.js +5 -0
  8. package/dist/cjs/i18n/ajaxform/fr.js +5 -0
  9. package/dist/cjs/i18n/ajaxform/index.js +2 -0
  10. package/dist/cjs/i18n/ajaxupload/en.js +11 -0
  11. package/dist/cjs/i18n/ajaxupload/fr.js +11 -0
  12. package/dist/cjs/i18n/ajaxupload/index.js +2 -0
  13. package/dist/cjs/i18n/autocomplete/en.js +3 -0
  14. package/dist/cjs/i18n/autocomplete/fr.js +3 -0
  15. package/dist/cjs/i18n/autocomplete/index.js +2 -0
  16. package/dist/cjs/i18n/confirm/en.js +5 -0
  17. package/dist/cjs/i18n/confirm/fr.js +5 -0
  18. package/dist/cjs/i18n/confirm/index.js +2 -0
  19. package/dist/cjs/i18n/core/en.js +4 -0
  20. package/dist/cjs/i18n/core/fr.js +4 -0
  21. package/dist/cjs/i18n/core/index.js +2 -0
  22. package/dist/cjs/i18n/datagrid/en.js +8 -0
  23. package/dist/cjs/i18n/datagrid/fr.js +8 -0
  24. package/dist/cjs/i18n/datagrid/index.js +2 -0
  25. package/dist/cjs/i18n/date/en.js +47 -0
  26. package/dist/cjs/i18n/date/fr.js +47 -0
  27. package/dist/cjs/i18n/date/index.js +2 -0
  28. package/dist/cjs/i18n/datetimepicker/en.js +27 -0
  29. package/dist/cjs/i18n/datetimepicker/fr.js +27 -0
  30. package/dist/cjs/i18n/datetimepicker/index.js +2 -0
  31. package/dist/cjs/i18n/dialog/en.js +3 -0
  32. package/dist/cjs/i18n/dialog/fr.js +3 -0
  33. package/dist/cjs/i18n/dialog/index.js +2 -0
  34. package/dist/cjs/i18n/fulldayeventagenda/en.js +65 -0
  35. package/dist/cjs/i18n/fulldayeventagenda/fr.js +67 -0
  36. package/dist/cjs/i18n/fulldayeventagenda/index.js +2 -0
  37. package/dist/cjs/i18n/index.js +30 -0
  38. package/dist/cjs/i18n/richtexteditor/en.js +56 -0
  39. package/dist/cjs/i18n/richtexteditor/fr.js +56 -0
  40. package/dist/cjs/i18n/richtexteditor/index.js +2 -0
  41. package/dist/cjs/i18n/select/en.js +3 -0
  42. package/dist/cjs/i18n/select/fr.js +3 -0
  43. package/dist/cjs/i18n/select/index.js +2 -0
  44. package/dist/cjs/i18n/timepicker/en.js +3 -0
  45. package/dist/cjs/i18n/timepicker/fr.js +3 -0
  46. package/dist/cjs/i18n/timepicker/index.js +2 -0
  47. package/dist/cjs/i18n/useragenda/en.js +65 -0
  48. package/dist/cjs/i18n/useragenda/fr.js +67 -0
  49. package/dist/cjs/i18n/useragenda/index.js +2 -0
  50. package/dist/cjs/i18n.js +16 -25
  51. package/dist/cjs/index.js +24 -54
  52. package/dist/cjs/is.js +28 -43
  53. package/dist/cjs/math.js +27 -38
  54. package/dist/cjs/random.js +10 -23
  55. package/dist/cjs/string.js +162 -166
  56. package/dist/cjs/stringPrototype.js +10 -10
  57. package/dist/cjs/traversal.js +191 -68
  58. package/dist/cjs/utils.js +51 -43
  59. package/dist/esm/array.js +46 -46
  60. package/dist/esm/dom.js +277 -147
  61. package/dist/esm/eventDispatcher.js +126 -86
  62. package/dist/esm/i18n/agenda/en.js +65 -0
  63. package/dist/esm/i18n/agenda/fr.js +67 -0
  64. package/dist/esm/i18n/agenda/index.js +2 -0
  65. package/dist/esm/i18n/ajaxform/en.js +5 -0
  66. package/dist/esm/i18n/ajaxform/fr.js +5 -0
  67. package/dist/esm/i18n/ajaxform/index.js +2 -0
  68. package/dist/esm/i18n/ajaxupload/en.js +11 -0
  69. package/dist/esm/i18n/ajaxupload/fr.js +11 -0
  70. package/dist/esm/i18n/ajaxupload/index.js +2 -0
  71. package/dist/esm/i18n/autocomplete/en.js +3 -0
  72. package/dist/esm/i18n/autocomplete/fr.js +3 -0
  73. package/dist/esm/i18n/autocomplete/index.js +2 -0
  74. package/dist/esm/i18n/confirm/en.js +5 -0
  75. package/dist/esm/i18n/confirm/fr.js +5 -0
  76. package/dist/esm/i18n/confirm/index.js +2 -0
  77. package/dist/esm/i18n/core/en.js +4 -0
  78. package/dist/esm/i18n/core/fr.js +4 -0
  79. package/dist/esm/i18n/core/index.js +2 -0
  80. package/dist/esm/i18n/datagrid/en.js +8 -0
  81. package/dist/esm/i18n/datagrid/fr.js +8 -0
  82. package/dist/esm/i18n/datagrid/index.js +2 -0
  83. package/dist/esm/i18n/date/en.js +47 -0
  84. package/dist/esm/i18n/date/fr.js +47 -0
  85. package/dist/esm/i18n/date/index.js +2 -0
  86. package/dist/esm/i18n/datetimepicker/en.js +27 -0
  87. package/dist/esm/i18n/datetimepicker/fr.js +27 -0
  88. package/dist/esm/i18n/datetimepicker/index.js +2 -0
  89. package/dist/esm/i18n/dialog/en.js +3 -0
  90. package/dist/esm/i18n/dialog/fr.js +3 -0
  91. package/dist/esm/i18n/dialog/index.js +2 -0
  92. package/dist/esm/i18n/fulldayeventagenda/en.js +65 -0
  93. package/dist/esm/i18n/fulldayeventagenda/fr.js +67 -0
  94. package/dist/esm/i18n/fulldayeventagenda/index.js +2 -0
  95. package/dist/esm/i18n/index.js +30 -0
  96. package/dist/esm/i18n/richtexteditor/en.js +56 -0
  97. package/dist/esm/i18n/richtexteditor/fr.js +56 -0
  98. package/dist/esm/i18n/richtexteditor/index.js +2 -0
  99. package/dist/esm/i18n/select/en.js +3 -0
  100. package/dist/esm/i18n/select/fr.js +3 -0
  101. package/dist/esm/i18n/select/index.js +2 -0
  102. package/dist/esm/i18n/timepicker/en.js +3 -0
  103. package/dist/esm/i18n/timepicker/fr.js +3 -0
  104. package/dist/esm/i18n/timepicker/index.js +2 -0
  105. package/dist/esm/i18n/useragenda/en.js +65 -0
  106. package/dist/esm/i18n/useragenda/fr.js +67 -0
  107. package/dist/esm/i18n/useragenda/index.js +2 -0
  108. package/dist/esm/i18n.js +16 -25
  109. package/dist/esm/index.js +24 -54
  110. package/dist/esm/is.js +28 -43
  111. package/dist/esm/math.js +27 -38
  112. package/dist/esm/random.js +10 -23
  113. package/dist/esm/string.js +162 -166
  114. package/dist/esm/stringPrototype.js +10 -10
  115. package/dist/esm/traversal.js +191 -68
  116. package/dist/esm/utils.js +51 -43
  117. package/package.json +3 -2
  118. package/types/dom.d.ts +53 -35
  119. package/types/index.d.ts +22 -19
  120. package/types/is.d.ts +1 -0
  121. package/types/traversal.d.ts +10 -7
package/dist/esm/dom.js CHANGED
@@ -1,100 +1,115 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isWindow = exports.isDomElement = exports.getStyle = exports.default = void 0;
7
- var _is = require("./is.js");
8
- var _string = require("./string.js");
9
- var _traversal = require("./traversal.js");
10
- var _array = require("./array.js");
11
- const isWindow = function (o) {
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
- exports.isWindow = isWindow;
15
- const isDomElement = function (o) {
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
- exports.isDomElement = isDomElement;
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
- const computedStyle = window.getComputedStyle(elem, null);
25
- return computedStyle.getPropertyValue(cssRule) || computedStyle[(0, _string.camelCase)(cssRule)] || '';
23
+ var computedStyle = window.getComputedStyle(elem, null);
24
+ return computedStyle.getPropertyValue(cssRule) || computedStyle[camelCase(cssRule)] || '';
26
25
  }
27
- return elem.style[(0, _string.camelCase)(cssRule)] || '';
26
+ return elem.style[camelCase(cssRule)] || '';
28
27
  };
29
- exports.getStyle = getStyle;
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, `:scope > ${selector}`) : el.children;
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|string} refEl
49
- * @param {string} [selector='*']
50
- * @returns {NodeList}
46
+ * @param {Element|Document} refEl
47
+ * @param {string|Element|NodeList|Array<Element>} [selector]
48
+ * @returns {Element|null}
51
49
  */
52
- find(refEl, selector = '*') {
53
- if ((0, _is.isString)(refEl)) {
54
- selector = refEl;
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|string} refEl
65
- * @param {string} [selector='*']
66
- * @returns {Element|null}
55
+ * @param {Element|Document} refEl
56
+ * @param {string|Element|NodeList|Array<Element>} selector
57
+ * @returns {Array<Element>}
67
58
  */
68
- findOne(refEl, selector = '*') {
69
- if ((0, _is.isString)(refEl)) {
59
+ find: function find(refEl, selector) {
60
+ if (undefined === selector) {
70
61
  selector = refEl;
71
62
  refEl = document;
72
63
  }
73
- try {
74
- return refEl.querySelector(selector);
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
- const classNames = className.split(' ').map(c => c.trim()).filter(Boolean);
87
- el.classList.add(...classNames);
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} classNames
93
- * @returns {Element}
94
- */
95
- removeClass(el, classNames) {
96
- if (!classNames) return el;
97
- el.classList.remove(...classNames.split(' ').map(c => c.trim()).filter(Boolean));
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
- (0, _traversal.each)(classNames.split(' ').map(c => c.trim()).filter(Boolean), (i, c) => el.classList.toggle(c, force));
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
- return (0, _array.compareArray)([...el.classList], classNames.split(' ').map(c => c.trim()).filter(Boolean));
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 {Element} el
120
- * @param {Element} child
121
- * @returns {Element}
149
+ * @param {Node} node
150
+ * @param {...Node} children
151
+ * @returns {Node}
122
152
  */
123
- append(el, child) {
124
- el.append(child);
125
- return el;
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 {Element} el
129
- * @param {Element} child
130
- * @returns {Element}
161
+ * @param {Node} node
162
+ * @param {...Node} children
163
+ * @returns {Node}
131
164
  */
132
- prepend(el, child) {
133
- el.prepend(child);
134
- return el;
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} el
173
+ * @param {Element|NodeList|Array<Element>|string} els
138
174
  * @returns {void}
139
175
  */
140
- remove(el) {
141
- el.remove();
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} [selector]
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, selector = null) {
157
- let sibling = el.nextElementSibling;
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 sibling;
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, selector = null) {
170
- let sibling = el.previousElementSibling;
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
- const siblings = [];
184
- let sibling = el.nextElementSibling;
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
- const siblings = [];
200
- let sibling = el.previousElementSibling;
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, html) {
255
- if (undefined === html) return el.innerHTML;
256
- el.innerHTML = html;
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, text) {
265
- if (undefined === text) return el.innerText;
266
- el.innerText = text;
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
- const display = getComputedStyle(el).display;
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
- const dataDisplay = this.data(el, '__display__');
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
- if ((0, _is.isPlainObject)(name)) {
310
- (0, _traversal.each)(name, (k, v) => this.data(el, k, v));
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
- const isAttr = /^data-/.test(name + '');
314
- const key = (0, _string.camelCase)(isAttr ? (name + '').replace(/^data-/, '') : name + '');
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) this.removeData(el, key);
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
- const key = (name + '').replace(/^data-/, '').camelCase();
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, options = false) {
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} styles
469
+ * @param {Object<string, string>|string} style
355
470
  * @param {string} [value]
356
471
  * @returns {Element}
357
472
  */
358
- css(el, styles, value) {
359
- if ((0, _is.isString)(styles)) {
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 styles.startsWith('--') ? el.style.getPropertyValue(styles) : el.style[styles];
478
+ return getStyle(el, prop);
362
479
  }
363
- if (styles.startsWith('--')) {
364
- el.style.setProperty(styles, String(value));
480
+ if (prop.startsWith('--')) {
481
+ el.style.setProperty(prop, String(value));
365
482
  } else {
366
- el.style[styles] = value;
483
+ if (typeof value === "number" && !inArray(prop, cssNumber)) value += 'px';
484
+ el.style[prop] = value;
367
485
  }
368
- return el;
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
- const closest = this.closest(el, selectorClosest);
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
- const closest = this.closest(el, selectorClosest);
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?.length ? nodeList.item(0) : null;
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
- return nodeList.length ? nodeList.item(nodeList.length - 1) : null;
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
- const tpl = document.createElement('template');
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, index = 0) {
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
  };