bootstrap 5.0.0.alpha2 → 5.0.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.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/README.md +7 -4
  4. data/assets/javascripts/bootstrap-global-this-define.js +6 -0
  5. data/assets/javascripts/bootstrap-global-this-undefine.js +2 -0
  6. data/assets/javascripts/bootstrap-sprockets.js +10 -7
  7. data/assets/javascripts/bootstrap.js +2554 -2564
  8. data/assets/javascripts/bootstrap.min.js +3 -3
  9. data/assets/javascripts/bootstrap/alert.js +119 -115
  10. data/assets/javascripts/bootstrap/base-component.js +63 -0
  11. data/assets/javascripts/bootstrap/button.js +67 -69
  12. data/assets/javascripts/bootstrap/carousel.js +340 -331
  13. data/assets/javascripts/bootstrap/collapse.js +214 -209
  14. data/assets/javascripts/bootstrap/dom/data.js +35 -48
  15. data/assets/javascripts/bootstrap/dom/event-handler.js +105 -98
  16. data/assets/javascripts/bootstrap/dom/manipulator.js +26 -34
  17. data/assets/javascripts/bootstrap/dom/selector-engine.js +28 -41
  18. data/assets/javascripts/bootstrap/dropdown.js +392 -325
  19. data/assets/javascripts/bootstrap/modal.js +492 -434
  20. data/assets/javascripts/bootstrap/offcanvas.js +671 -0
  21. data/assets/javascripts/bootstrap/popover.js +114 -132
  22. data/assets/javascripts/bootstrap/scrollspy.js +172 -180
  23. data/assets/javascripts/bootstrap/tab.js +168 -144
  24. data/assets/javascripts/bootstrap/toast.js +141 -150
  25. data/assets/javascripts/bootstrap/tooltip.js +466 -452
  26. data/assets/stylesheets/_bootstrap-grid.scss +9 -9
  27. data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
  28. data/assets/stylesheets/_bootstrap.scss +5 -3
  29. data/assets/stylesheets/bootstrap/_accordion.scss +118 -0
  30. data/assets/stylesheets/bootstrap/_alert.scss +10 -3
  31. data/assets/stylesheets/bootstrap/_breadcrumb.scss +2 -4
  32. data/assets/stylesheets/bootstrap/_button-group.scss +5 -7
  33. data/assets/stylesheets/bootstrap/_buttons.scss +2 -15
  34. data/assets/stylesheets/bootstrap/_card.scss +2 -29
  35. data/assets/stylesheets/bootstrap/_carousel.scss +35 -18
  36. data/assets/stylesheets/bootstrap/_close.scss +2 -3
  37. data/assets/stylesheets/bootstrap/_dropdown.scss +33 -29
  38. data/assets/stylesheets/bootstrap/_forms.scss +1 -1
  39. data/assets/stylesheets/bootstrap/_functions.scss +11 -12
  40. data/assets/stylesheets/bootstrap/_list-group.scss +23 -6
  41. data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
  42. data/assets/stylesheets/bootstrap/_modal.scss +2 -9
  43. data/assets/stylesheets/bootstrap/_nav.scss +12 -0
  44. data/assets/stylesheets/bootstrap/_navbar.scss +15 -2
  45. data/assets/stylesheets/bootstrap/_offcanvas.scss +77 -0
  46. data/assets/stylesheets/bootstrap/_pagination.scss +3 -3
  47. data/assets/stylesheets/bootstrap/_popover.scss +10 -22
  48. data/assets/stylesheets/bootstrap/_progress.scss +4 -1
  49. data/assets/stylesheets/bootstrap/_reboot.scss +48 -44
  50. data/assets/stylesheets/bootstrap/_root.scss +5 -5
  51. data/assets/stylesheets/bootstrap/_spinners.scss +18 -5
  52. data/assets/stylesheets/bootstrap/_tables.scss +15 -16
  53. data/assets/stylesheets/bootstrap/_toasts.scss +15 -12
  54. data/assets/stylesheets/bootstrap/_tooltip.scss +12 -12
  55. data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
  56. data/assets/stylesheets/bootstrap/_utilities.scss +133 -70
  57. data/assets/stylesheets/bootstrap/_variables.scss +363 -207
  58. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +5 -5
  59. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  60. data/assets/stylesheets/bootstrap/forms/_form-check.scss +21 -11
  61. data/assets/stylesheets/bootstrap/forms/_form-control.scss +112 -9
  62. data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -46
  63. data/assets/stylesheets/bootstrap/forms/_form-select.scss +1 -16
  64. data/assets/stylesheets/bootstrap/forms/_input-group.scss +21 -40
  65. data/assets/stylesheets/bootstrap/forms/_validation.scss +1 -1
  66. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +2 -2
  67. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +2 -2
  68. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +1 -1
  69. data/assets/stylesheets/bootstrap/mixins/_alert.scss +3 -1
  70. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +8 -6
  71. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +10 -5
  72. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -6
  73. data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
  74. data/assets/stylesheets/bootstrap/mixins/_container.scss +2 -4
  75. data/assets/stylesheets/bootstrap/mixins/_forms.scss +26 -22
  76. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +5 -1
  77. data/assets/stylesheets/bootstrap/mixins/_grid.scss +18 -13
  78. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -1
  79. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +5 -3
  80. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +7 -7
  81. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +19 -0
  82. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +3 -2
  83. data/assets/stylesheets/bootstrap/utilities/_api.scss +1 -1
  84. data/bootstrap.gemspec +1 -3
  85. data/lib/bootstrap/version.rb +2 -2
  86. data/tasks/updater/js.rb +20 -5
  87. data/tasks/updater/network.rb +7 -1
  88. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  89. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  90. data/test/dummy_rails/app/views/pages/root.html +89 -0
  91. data/test/dummy_rails/config/application.rb +0 -3
  92. data/test/gemfiles/rails_6_1.gemfile +7 -0
  93. metadata +20 -40
  94. data/assets/javascripts/bootstrap/dom/polyfill.js +0 -110
  95. data/assets/stylesheets/bootstrap/forms/_form-file.scss +0 -91
  96. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap data.js v5.0.0-alpha2 (https://getbootstrap.com/)
3
- * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap data.js v5.0.0 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -11,7 +11,7 @@
11
11
 
12
12
  /**
13
13
  * --------------------------------------------------------------------------
14
- * Bootstrap (v5.0.0-alpha2): dom/data.js
14
+ * Bootstrap (v5.0.0): dom/data.js
15
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
16
  * --------------------------------------------------------------------------
17
17
  */
@@ -21,61 +21,48 @@
21
21
  * Constants
22
22
  * ------------------------------------------------------------------------
23
23
  */
24
- var mapData = function () {
25
- var storeData = {};
26
- var id = 1;
27
- return {
28
- set: function set(element, key, data) {
29
- if (typeof element.bsKey === 'undefined') {
30
- element.bsKey = {
31
- key: key,
32
- id: id
33
- };
34
- id++;
35
- }
24
+ const elementMap = new Map();
25
+ var data = {
26
+ set(element, key, instance) {
27
+ if (!elementMap.has(element)) {
28
+ elementMap.set(element, new Map());
29
+ }
36
30
 
37
- storeData[element.bsKey.id] = data;
38
- },
39
- get: function get(element, key) {
40
- if (!element || typeof element.bsKey === 'undefined') {
41
- return null;
42
- }
31
+ const instanceMap = elementMap.get(element); // make it clear we only want one instance per element
32
+ // can be removed later when multiple key/instances are fine to be used
43
33
 
44
- var keyProperties = element.bsKey;
34
+ if (!instanceMap.has(key) && instanceMap.size !== 0) {
35
+ // eslint-disable-next-line no-console
36
+ console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`);
37
+ return;
38
+ }
45
39
 
46
- if (keyProperties.key === key) {
47
- return storeData[keyProperties.id];
48
- }
40
+ instanceMap.set(key, instance);
41
+ },
49
42
 
50
- return null;
51
- },
52
- delete: function _delete(element, key) {
53
- if (typeof element.bsKey === 'undefined') {
54
- return;
55
- }
43
+ get(element, key) {
44
+ if (elementMap.has(element)) {
45
+ return elementMap.get(element).get(key) || null;
46
+ }
56
47
 
57
- var keyProperties = element.bsKey;
48
+ return null;
49
+ },
58
50
 
59
- if (keyProperties.key === key) {
60
- delete storeData[keyProperties.id];
61
- delete element.bsKey;
62
- }
51
+ remove(element, key) {
52
+ if (!elementMap.has(element)) {
53
+ return;
63
54
  }
64
- };
65
- }();
66
55
 
67
- var Data = {
68
- setData: function setData(instance, key, data) {
69
- mapData.set(instance, key, data);
70
- },
71
- getData: function getData(instance, key) {
72
- return mapData.get(instance, key);
73
- },
74
- removeData: function removeData(instance, key) {
75
- mapData.delete(instance, key);
56
+ const instanceMap = elementMap.get(element);
57
+ instanceMap.delete(key); // free up element references if there are no instances left for an element
58
+
59
+ if (instanceMap.size === 0) {
60
+ elementMap.delete(element);
61
+ }
76
62
  }
63
+
77
64
  };
78
65
 
79
- return Data;
66
+ return data;
80
67
 
81
68
  })));
@@ -1,26 +1,27 @@
1
1
  /*!
2
- * Bootstrap event-handler.js v5.0.0-alpha2 (https://getbootstrap.com/)
3
- * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap event-handler.js v5.0.0 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
7
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./polyfill.js')) :
8
- typeof define === 'function' && define.amd ? define(['./polyfill.js'], factory) :
9
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EventHandler = factory(global.Polyfill));
10
- }(this, (function (polyfill_js) { 'use strict';
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
8
+ typeof define === 'function' && define.amd ? define(factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EventHandler = factory());
10
+ }(this, (function () { 'use strict';
11
11
 
12
12
  /**
13
13
  * --------------------------------------------------------------------------
14
- * Bootstrap (v5.0.0-alpha2): util/index.js
14
+ * Bootstrap (v5.0.0): util/index.js
15
15
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
16
  * --------------------------------------------------------------------------
17
17
  */
18
18
 
19
- var getjQuery = function getjQuery() {
20
- var _window = window,
21
- jQuery = _window.jQuery;
19
+ const getjQuery = () => {
20
+ const {
21
+ jQuery
22
+ } = window;
22
23
 
23
- if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
24
+ if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
24
25
  return jQuery;
25
26
  }
26
27
 
@@ -29,7 +30,7 @@
29
30
 
30
31
  /**
31
32
  * --------------------------------------------------------------------------
32
- * Bootstrap (v5.0.0-alpha2): dom/event-handler.js
33
+ * Bootstrap (v5.0.0): dom/event-handler.js
33
34
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
34
35
  * --------------------------------------------------------------------------
35
36
  */
@@ -39,18 +40,18 @@
39
40
  * ------------------------------------------------------------------------
40
41
  */
41
42
 
42
- var $ = getjQuery();
43
- var namespaceRegex = /[^.]*(?=\..*)\.|.*/;
44
- var stripNameRegex = /\..*/;
45
- var stripUidRegex = /::\d+$/;
46
- var eventRegistry = {}; // Events storage
43
+ const namespaceRegex = /[^.]*(?=\..*)\.|.*/;
44
+ const stripNameRegex = /\..*/;
45
+ const stripUidRegex = /::\d+$/;
46
+ const eventRegistry = {}; // Events storage
47
47
 
48
- var uidEvent = 1;
49
- var customEvents = {
48
+ let uidEvent = 1;
49
+ const customEvents = {
50
50
  mouseenter: 'mouseover',
51
51
  mouseleave: 'mouseout'
52
52
  };
53
- var nativeEvents = ['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll'];
53
+ const customEventsRegex = /^(mouseenter|mouseleave)/i;
54
+ const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
54
55
  /**
55
56
  * ------------------------------------------------------------------------
56
57
  * Private methods
@@ -58,11 +59,11 @@
58
59
  */
59
60
 
60
61
  function getUidEvent(element, uid) {
61
- return uid && uid + "::" + uidEvent++ || element.uidEvent || uidEvent++;
62
+ return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++;
62
63
  }
63
64
 
64
65
  function getEvent(element) {
65
- var uid = getUidEvent(element);
66
+ const uid = getUidEvent(element);
66
67
  element.uidEvent = uid;
67
68
  eventRegistry[uid] = eventRegistry[uid] || {};
68
69
  return eventRegistry[uid];
@@ -82,15 +83,18 @@
82
83
 
83
84
  function bootstrapDelegationHandler(element, selector, fn) {
84
85
  return function handler(event) {
85
- var domElements = element.querySelectorAll(selector);
86
+ const domElements = element.querySelectorAll(selector);
86
87
 
87
- for (var target = event.target; target && target !== this; target = target.parentNode) {
88
- for (var i = domElements.length; i--;) {
88
+ for (let {
89
+ target
90
+ } = event; target && target !== this; target = target.parentNode) {
91
+ for (let i = domElements.length; i--;) {
89
92
  if (domElements[i] === target) {
90
93
  event.delegateTarget = target;
91
94
 
92
95
  if (handler.oneOff) {
93
- EventHandler.off(element, event.type, fn);
96
+ // eslint-disable-next-line unicorn/consistent-destructuring
97
+ EventHandler.off(element, event.type, selector, fn);
94
98
  }
95
99
 
96
100
  return fn.apply(target, [event]);
@@ -103,15 +107,11 @@
103
107
  };
104
108
  }
105
109
 
106
- function findHandler(events, handler, delegationSelector) {
107
- if (delegationSelector === void 0) {
108
- delegationSelector = null;
109
- }
110
-
111
- var uidEventList = Object.keys(events);
110
+ function findHandler(events, handler, delegationSelector = null) {
111
+ const uidEventList = Object.keys(events);
112
112
 
113
- for (var i = 0, len = uidEventList.length; i < len; i++) {
114
- var event = events[uidEventList[i]];
113
+ for (let i = 0, len = uidEventList.length; i < len; i++) {
114
+ const event = events[uidEventList[i]];
115
115
 
116
116
  if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {
117
117
  return event;
@@ -122,17 +122,10 @@
122
122
  }
123
123
 
124
124
  function normalizeParams(originalTypeEvent, handler, delegationFn) {
125
- var delegation = typeof handler === 'string';
126
- var originalHandler = delegation ? delegationFn : handler; // allow to get the native events from namespaced events ('click.bs.button' --> 'click')
127
-
128
- var typeEvent = originalTypeEvent.replace(stripNameRegex, '');
129
- var custom = customEvents[typeEvent];
130
-
131
- if (custom) {
132
- typeEvent = custom;
133
- }
134
-
135
- var isNative = nativeEvents.indexOf(typeEvent) > -1;
125
+ const delegation = typeof handler === 'string';
126
+ const originalHandler = delegation ? delegationFn : handler;
127
+ let typeEvent = getTypeEvent(originalTypeEvent);
128
+ const isNative = nativeEvents.has(typeEvent);
136
129
 
137
130
  if (!isNative) {
138
131
  typeEvent = originalTypeEvent;
@@ -149,24 +142,38 @@
149
142
  if (!handler) {
150
143
  handler = delegationFn;
151
144
  delegationFn = null;
152
- }
145
+ } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
146
+ // this prevents the handler from being dispatched the same way as mouseover or mouseout does
153
147
 
154
- var _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn),
155
- delegation = _normalizeParams[0],
156
- originalHandler = _normalizeParams[1],
157
- typeEvent = _normalizeParams[2];
158
148
 
159
- var events = getEvent(element);
160
- var handlers = events[typeEvent] || (events[typeEvent] = {});
161
- var previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
149
+ if (customEventsRegex.test(originalTypeEvent)) {
150
+ const wrapFn = fn => {
151
+ return function (event) {
152
+ if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) {
153
+ return fn.call(this, event);
154
+ }
155
+ };
156
+ };
157
+
158
+ if (delegationFn) {
159
+ delegationFn = wrapFn(delegationFn);
160
+ } else {
161
+ handler = wrapFn(handler);
162
+ }
163
+ }
164
+
165
+ const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);
166
+ const events = getEvent(element);
167
+ const handlers = events[typeEvent] || (events[typeEvent] = {});
168
+ const previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
162
169
 
163
170
  if (previousFn) {
164
171
  previousFn.oneOff = previousFn.oneOff && oneOff;
165
172
  return;
166
173
  }
167
174
 
168
- var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
169
- var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);
175
+ const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
176
+ const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);
170
177
  fn.delegationSelector = delegation ? handler : null;
171
178
  fn.originalHandler = originalHandler;
172
179
  fn.oneOff = oneOff;
@@ -176,7 +183,7 @@
176
183
  }
177
184
 
178
185
  function removeHandler(element, events, typeEvent, handler, delegationSelector) {
179
- var fn = findHandler(events[typeEvent], handler, delegationSelector);
186
+ const fn = findHandler(events[typeEvent], handler, delegationSelector);
180
187
 
181
188
  if (!fn) {
182
189
  return;
@@ -187,35 +194,39 @@
187
194
  }
188
195
 
189
196
  function removeNamespacedHandlers(element, events, typeEvent, namespace) {
190
- var storeElementEvent = events[typeEvent] || {};
191
- Object.keys(storeElementEvent).forEach(function (handlerKey) {
192
- if (handlerKey.indexOf(namespace) > -1) {
193
- var event = storeElementEvent[handlerKey];
197
+ const storeElementEvent = events[typeEvent] || {};
198
+ Object.keys(storeElementEvent).forEach(handlerKey => {
199
+ if (handlerKey.includes(namespace)) {
200
+ const event = storeElementEvent[handlerKey];
194
201
  removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
195
202
  }
196
203
  });
197
204
  }
198
205
 
199
- var EventHandler = {
200
- on: function on(element, event, handler, delegationFn) {
206
+ function getTypeEvent(event) {
207
+ // allow to get the native events from namespaced events ('click.bs.button' --> 'click')
208
+ event = event.replace(stripNameRegex, '');
209
+ return customEvents[event] || event;
210
+ }
211
+
212
+ const EventHandler = {
213
+ on(element, event, handler, delegationFn) {
201
214
  addHandler(element, event, handler, delegationFn, false);
202
215
  },
203
- one: function one(element, event, handler, delegationFn) {
216
+
217
+ one(element, event, handler, delegationFn) {
204
218
  addHandler(element, event, handler, delegationFn, true);
205
219
  },
206
- off: function off(element, originalTypeEvent, handler, delegationFn) {
220
+
221
+ off(element, originalTypeEvent, handler, delegationFn) {
207
222
  if (typeof originalTypeEvent !== 'string' || !element) {
208
223
  return;
209
224
  }
210
225
 
211
- var _normalizeParams2 = normalizeParams(originalTypeEvent, handler, delegationFn),
212
- delegation = _normalizeParams2[0],
213
- originalHandler = _normalizeParams2[1],
214
- typeEvent = _normalizeParams2[2];
215
-
216
- var inNamespace = typeEvent !== originalTypeEvent;
217
- var events = getEvent(element);
218
- var isNamespace = originalTypeEvent.charAt(0) === '.';
226
+ const [delegation, originalHandler, typeEvent] = normalizeParams(originalTypeEvent, handler, delegationFn);
227
+ const inNamespace = typeEvent !== originalTypeEvent;
228
+ const events = getEvent(element);
229
+ const isNamespace = originalTypeEvent.startsWith('.');
219
230
 
220
231
  if (typeof originalHandler !== 'undefined') {
221
232
  // Simplest case: handler is passed, remove that listener ONLY.
@@ -228,34 +239,36 @@
228
239
  }
229
240
 
230
241
  if (isNamespace) {
231
- Object.keys(events).forEach(function (elementEvent) {
242
+ Object.keys(events).forEach(elementEvent => {
232
243
  removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
233
244
  });
234
245
  }
235
246
 
236
- var storeElementEvent = events[typeEvent] || {};
237
- Object.keys(storeElementEvent).forEach(function (keyHandlers) {
238
- var handlerKey = keyHandlers.replace(stripUidRegex, '');
247
+ const storeElementEvent = events[typeEvent] || {};
248
+ Object.keys(storeElementEvent).forEach(keyHandlers => {
249
+ const handlerKey = keyHandlers.replace(stripUidRegex, '');
239
250
 
240
- if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {
241
- var event = storeElementEvent[keyHandlers];
251
+ if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
252
+ const event = storeElementEvent[keyHandlers];
242
253
  removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
243
254
  }
244
255
  });
245
256
  },
246
- trigger: function trigger(element, event, args) {
257
+
258
+ trigger(element, event, args) {
247
259
  if (typeof event !== 'string' || !element) {
248
260
  return null;
249
261
  }
250
262
 
251
- var typeEvent = event.replace(stripNameRegex, '');
252
- var inNamespace = event !== typeEvent;
253
- var isNative = nativeEvents.indexOf(typeEvent) > -1;
254
- var jQueryEvent;
255
- var bubbles = true;
256
- var nativeDispatch = true;
257
- var defaultPrevented = false;
258
- var evt = null;
263
+ const $ = getjQuery();
264
+ const typeEvent = getTypeEvent(event);
265
+ const inNamespace = event !== typeEvent;
266
+ const isNative = nativeEvents.has(typeEvent);
267
+ let jQueryEvent;
268
+ let bubbles = true;
269
+ let nativeDispatch = true;
270
+ let defaultPrevented = false;
271
+ let evt = null;
259
272
 
260
273
  if (inNamespace && $) {
261
274
  jQueryEvent = $.Event(event, args);
@@ -270,32 +283,25 @@
270
283
  evt.initEvent(typeEvent, bubbles, true);
271
284
  } else {
272
285
  evt = new CustomEvent(event, {
273
- bubbles: bubbles,
286
+ bubbles,
274
287
  cancelable: true
275
288
  });
276
289
  } // merge custom information in our event
277
290
 
278
291
 
279
292
  if (typeof args !== 'undefined') {
280
- Object.keys(args).forEach(function (key) {
293
+ Object.keys(args).forEach(key => {
281
294
  Object.defineProperty(evt, key, {
282
- get: function get() {
295
+ get() {
283
296
  return args[key];
284
297
  }
298
+
285
299
  });
286
300
  });
287
301
  }
288
302
 
289
303
  if (defaultPrevented) {
290
304
  evt.preventDefault();
291
-
292
- if (!polyfill_js.defaultPreventedPreservedOnDispatch) {
293
- Object.defineProperty(evt, 'defaultPrevented', {
294
- get: function get() {
295
- return true;
296
- }
297
- });
298
- }
299
305
  }
300
306
 
301
307
  if (nativeDispatch) {
@@ -308,6 +314,7 @@
308
314
 
309
315
  return evt;
310
316
  }
317
+
311
318
  };
312
319
 
313
320
  return EventHandler;