bootstrap 4.6.0 → 5.0.0.beta2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +2 -1
  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 +14 -8
  7. data/assets/javascripts/bootstrap.js +2152 -1633
  8. data/assets/javascripts/bootstrap.min.js +2 -2
  9. data/assets/javascripts/bootstrap/alert.js +179 -64
  10. data/assets/javascripts/bootstrap/base-component.js +75 -0
  11. data/assets/javascripts/bootstrap/button.js +94 -143
  12. data/assets/javascripts/bootstrap/carousel.js +386 -202
  13. data/assets/javascripts/bootstrap/collapse.js +349 -132
  14. data/assets/javascripts/bootstrap/dom/data.js +81 -0
  15. data/assets/javascripts/bootstrap/dom/event-handler.js +310 -0
  16. data/assets/javascripts/bootstrap/dom/manipulator.js +86 -0
  17. data/assets/javascripts/bootstrap/dom/selector-engine.js +93 -0
  18. data/assets/javascripts/bootstrap/dropdown.js +387 -224
  19. data/assets/javascripts/bootstrap/modal.js +391 -220
  20. data/assets/javascripts/bootstrap/popover.js +94 -49
  21. data/assets/javascripts/bootstrap/scrollspy.js +212 -80
  22. data/assets/javascripts/bootstrap/tab.js +198 -79
  23. data/assets/javascripts/bootstrap/toast.js +211 -78
  24. data/assets/javascripts/bootstrap/tooltip.js +558 -300
  25. data/assets/stylesheets/_bootstrap-grid.scss +51 -16
  26. data/assets/stylesheets/_bootstrap-reboot.scss +4 -1
  27. data/assets/stylesheets/_bootstrap.scss +15 -8
  28. data/assets/stylesheets/bootstrap/_accordion.scss +126 -0
  29. data/assets/stylesheets/bootstrap/_alert.scss +15 -10
  30. data/assets/stylesheets/bootstrap/_badge.scss +2 -27
  31. data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -17
  32. data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
  33. data/assets/stylesheets/bootstrap/_buttons.scss +27 -60
  34. data/assets/stylesheets/bootstrap/_card.scss +21 -92
  35. data/assets/stylesheets/bootstrap/_carousel.scss +65 -33
  36. data/assets/stylesheets/bootstrap/_close.scss +30 -30
  37. data/assets/stylesheets/bootstrap/_containers.scss +41 -0
  38. data/assets/stylesheets/bootstrap/_dropdown.scss +95 -38
  39. data/assets/stylesheets/bootstrap/_forms.scss +9 -347
  40. data/assets/stylesheets/bootstrap/_functions.scss +84 -23
  41. data/assets/stylesheets/bootstrap/_grid.scss +3 -54
  42. data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
  43. data/assets/stylesheets/bootstrap/_list-group.scss +17 -8
  44. data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
  45. data/assets/stylesheets/bootstrap/_modal.scss +41 -46
  46. data/assets/stylesheets/bootstrap/_nav.scss +16 -4
  47. data/assets/stylesheets/bootstrap/_navbar.scss +43 -71
  48. data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
  49. data/assets/stylesheets/bootstrap/_popover.scss +15 -27
  50. data/assets/stylesheets/bootstrap/_progress.scss +2 -4
  51. data/assets/stylesheets/bootstrap/_reboot.scss +314 -163
  52. data/assets/stylesheets/bootstrap/_root.scss +5 -8
  53. data/assets/stylesheets/bootstrap/_spinners.scss +5 -5
  54. data/assets/stylesheets/bootstrap/_tables.scss +79 -114
  55. data/assets/stylesheets/bootstrap/_toasts.scss +20 -15
  56. data/assets/stylesheets/bootstrap/_tooltip.scss +17 -17
  57. data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
  58. data/assets/stylesheets/bootstrap/_type.scss +38 -59
  59. data/assets/stylesheets/bootstrap/_utilities.scss +566 -18
  60. data/assets/stylesheets/bootstrap/_variables.scss +673 -463
  61. data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
  62. data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
  63. data/assets/stylesheets/bootstrap/forms/_form-check.scss +152 -0
  64. data/assets/stylesheets/bootstrap/forms/_form-control.scss +223 -0
  65. data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
  66. data/assets/stylesheets/bootstrap/forms/_form-select.scss +67 -0
  67. data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
  68. data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
  69. data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
  70. data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
  71. data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
  72. data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
  73. data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
  74. data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
  75. data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
  76. data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
  77. data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
  78. data/assets/stylesheets/bootstrap/mixins/_alert.scss +1 -5
  79. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +8 -8
  80. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
  81. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
  82. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +65 -47
  83. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
  84. data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
  85. data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
  86. data/assets/stylesheets/bootstrap/mixins/_forms.scss +27 -88
  87. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +13 -11
  88. data/assets/stylesheets/bootstrap/mixins/_grid.scss +83 -32
  89. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
  90. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -2
  91. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  92. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
  93. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
  94. data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
  95. data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
  96. data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -0
  97. data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +29 -0
  98. data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
  99. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
  100. data/bootstrap.gemspec +1 -3
  101. data/lib/bootstrap/version.rb +2 -2
  102. data/tasks/updater/js.rb +20 -5
  103. data/test/dummy_rails/app/assets/javascripts/application.js +4 -3
  104. data/test/dummy_rails/app/views/layouts/application.html.erb +3 -1
  105. data/test/dummy_rails/app/views/pages/root.html +89 -0
  106. data/test/dummy_rails/config/application.rb +0 -3
  107. data/test/gemfiles/rails_6_1.gemfile +7 -0
  108. metadata +44 -75
  109. data/assets/javascripts/bootstrap/util.js +0 -192
  110. data/assets/stylesheets/bootstrap/_code.scss +0 -48
  111. data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
  112. data/assets/stylesheets/bootstrap/_input-group.scss +0 -208
  113. data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
  114. data/assets/stylesheets/bootstrap/_media.scss +0 -8
  115. data/assets/stylesheets/bootstrap/_print.scss +0 -141
  116. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
  117. data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
  118. data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
  119. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -80
  120. data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
  121. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
  122. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
  123. data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
  124. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
  125. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
  126. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
  127. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
  128. data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  129. data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  130. data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
  131. data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
  132. data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
  133. data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
  134. data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
  135. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
  136. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
  137. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
  138. data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  139. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
  140. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
  141. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
  142. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
  143. data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
  144. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
  145. data/test/dummy_rails/app/views/pages/root.html.slim +0 -58
@@ -0,0 +1,81 @@
1
+ /*!
2
+ * Bootstrap data.js v5.0.0-beta2 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
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.Data = factory());
10
+ }(this, (function () { 'use strict';
11
+
12
+ /**
13
+ * --------------------------------------------------------------------------
14
+ * Bootstrap (v5.0.0-beta2): dom/data.js
15
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
+ * --------------------------------------------------------------------------
17
+ */
18
+
19
+ /**
20
+ * ------------------------------------------------------------------------
21
+ * Constants
22
+ * ------------------------------------------------------------------------
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
+ }
36
+
37
+ storeData[element.bsKey.id] = data;
38
+ },
39
+ get: function get(element, key) {
40
+ if (!element || typeof element.bsKey === 'undefined') {
41
+ return null;
42
+ }
43
+
44
+ var keyProperties = element.bsKey;
45
+
46
+ if (keyProperties.key === key) {
47
+ return storeData[keyProperties.id];
48
+ }
49
+
50
+ return null;
51
+ },
52
+ delete: function _delete(element, key) {
53
+ if (typeof element.bsKey === 'undefined') {
54
+ return;
55
+ }
56
+
57
+ var keyProperties = element.bsKey;
58
+
59
+ if (keyProperties.key === key) {
60
+ delete storeData[keyProperties.id];
61
+ delete element.bsKey;
62
+ }
63
+ }
64
+ };
65
+ }();
66
+
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);
76
+ }
77
+ };
78
+
79
+ return Data;
80
+
81
+ })));
@@ -0,0 +1,310 @@
1
+ /*!
2
+ * Bootstrap event-handler.js v5.0.0-beta2 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
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
+
12
+ /**
13
+ * --------------------------------------------------------------------------
14
+ * Bootstrap (v5.0.0-beta2): util/index.js
15
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
+ * --------------------------------------------------------------------------
17
+ */
18
+
19
+ var getjQuery = function getjQuery() {
20
+ var _window = window,
21
+ jQuery = _window.jQuery;
22
+
23
+ if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
24
+ return jQuery;
25
+ }
26
+
27
+ return null;
28
+ };
29
+
30
+ document.documentElement.dir === 'rtl';
31
+
32
+ /**
33
+ * --------------------------------------------------------------------------
34
+ * Bootstrap (v5.0.0-beta2): dom/event-handler.js
35
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
36
+ * --------------------------------------------------------------------------
37
+ */
38
+ /**
39
+ * ------------------------------------------------------------------------
40
+ * Constants
41
+ * ------------------------------------------------------------------------
42
+ */
43
+
44
+ var namespaceRegex = /[^.]*(?=\..*)\.|.*/;
45
+ var stripNameRegex = /\..*/;
46
+ var stripUidRegex = /::\d+$/;
47
+ var eventRegistry = {}; // Events storage
48
+
49
+ var uidEvent = 1;
50
+ var customEvents = {
51
+ mouseenter: 'mouseover',
52
+ mouseleave: 'mouseout'
53
+ };
54
+ var 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']);
55
+ /**
56
+ * ------------------------------------------------------------------------
57
+ * Private methods
58
+ * ------------------------------------------------------------------------
59
+ */
60
+
61
+ function getUidEvent(element, uid) {
62
+ return uid && uid + "::" + uidEvent++ || element.uidEvent || uidEvent++;
63
+ }
64
+
65
+ function getEvent(element) {
66
+ var uid = getUidEvent(element);
67
+ element.uidEvent = uid;
68
+ eventRegistry[uid] = eventRegistry[uid] || {};
69
+ return eventRegistry[uid];
70
+ }
71
+
72
+ function bootstrapHandler(element, fn) {
73
+ return function handler(event) {
74
+ event.delegateTarget = element;
75
+
76
+ if (handler.oneOff) {
77
+ EventHandler.off(element, event.type, fn);
78
+ }
79
+
80
+ return fn.apply(element, [event]);
81
+ };
82
+ }
83
+
84
+ function bootstrapDelegationHandler(element, selector, fn) {
85
+ return function handler(event) {
86
+ var domElements = element.querySelectorAll(selector);
87
+
88
+ for (var target = event.target; target && target !== this; target = target.parentNode) {
89
+ for (var i = domElements.length; i--;) {
90
+ if (domElements[i] === target) {
91
+ event.delegateTarget = target;
92
+
93
+ if (handler.oneOff) {
94
+ // eslint-disable-next-line unicorn/consistent-destructuring
95
+ EventHandler.off(element, event.type, fn);
96
+ }
97
+
98
+ return fn.apply(target, [event]);
99
+ }
100
+ }
101
+ } // To please ESLint
102
+
103
+
104
+ return null;
105
+ };
106
+ }
107
+
108
+ function findHandler(events, handler, delegationSelector) {
109
+ if (delegationSelector === void 0) {
110
+ delegationSelector = null;
111
+ }
112
+
113
+ var uidEventList = Object.keys(events);
114
+
115
+ for (var i = 0, len = uidEventList.length; i < len; i++) {
116
+ var event = events[uidEventList[i]];
117
+
118
+ if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {
119
+ return event;
120
+ }
121
+ }
122
+
123
+ return null;
124
+ }
125
+
126
+ function normalizeParams(originalTypeEvent, handler, delegationFn) {
127
+ var delegation = typeof handler === 'string';
128
+ var originalHandler = delegation ? delegationFn : handler; // allow to get the native events from namespaced events ('click.bs.button' --> 'click')
129
+
130
+ var typeEvent = originalTypeEvent.replace(stripNameRegex, '');
131
+ var custom = customEvents[typeEvent];
132
+
133
+ if (custom) {
134
+ typeEvent = custom;
135
+ }
136
+
137
+ var isNative = nativeEvents.has(typeEvent);
138
+
139
+ if (!isNative) {
140
+ typeEvent = originalTypeEvent;
141
+ }
142
+
143
+ return [delegation, originalHandler, typeEvent];
144
+ }
145
+
146
+ function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {
147
+ if (typeof originalTypeEvent !== 'string' || !element) {
148
+ return;
149
+ }
150
+
151
+ if (!handler) {
152
+ handler = delegationFn;
153
+ delegationFn = null;
154
+ }
155
+
156
+ var _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn),
157
+ delegation = _normalizeParams[0],
158
+ originalHandler = _normalizeParams[1],
159
+ typeEvent = _normalizeParams[2];
160
+
161
+ var events = getEvent(element);
162
+ var handlers = events[typeEvent] || (events[typeEvent] = {});
163
+ var previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
164
+
165
+ if (previousFn) {
166
+ previousFn.oneOff = previousFn.oneOff && oneOff;
167
+ return;
168
+ }
169
+
170
+ var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
171
+ var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);
172
+ fn.delegationSelector = delegation ? handler : null;
173
+ fn.originalHandler = originalHandler;
174
+ fn.oneOff = oneOff;
175
+ fn.uidEvent = uid;
176
+ handlers[uid] = fn;
177
+ element.addEventListener(typeEvent, fn, delegation);
178
+ }
179
+
180
+ function removeHandler(element, events, typeEvent, handler, delegationSelector) {
181
+ var fn = findHandler(events[typeEvent], handler, delegationSelector);
182
+
183
+ if (!fn) {
184
+ return;
185
+ }
186
+
187
+ element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));
188
+ delete events[typeEvent][fn.uidEvent];
189
+ }
190
+
191
+ function removeNamespacedHandlers(element, events, typeEvent, namespace) {
192
+ var storeElementEvent = events[typeEvent] || {};
193
+ Object.keys(storeElementEvent).forEach(function (handlerKey) {
194
+ if (handlerKey.includes(namespace)) {
195
+ var event = storeElementEvent[handlerKey];
196
+ removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
197
+ }
198
+ });
199
+ }
200
+
201
+ var EventHandler = {
202
+ on: function on(element, event, handler, delegationFn) {
203
+ addHandler(element, event, handler, delegationFn, false);
204
+ },
205
+ one: function one(element, event, handler, delegationFn) {
206
+ addHandler(element, event, handler, delegationFn, true);
207
+ },
208
+ off: function off(element, originalTypeEvent, handler, delegationFn) {
209
+ if (typeof originalTypeEvent !== 'string' || !element) {
210
+ return;
211
+ }
212
+
213
+ var _normalizeParams2 = normalizeParams(originalTypeEvent, handler, delegationFn),
214
+ delegation = _normalizeParams2[0],
215
+ originalHandler = _normalizeParams2[1],
216
+ typeEvent = _normalizeParams2[2];
217
+
218
+ var inNamespace = typeEvent !== originalTypeEvent;
219
+ var events = getEvent(element);
220
+ var isNamespace = originalTypeEvent.startsWith('.');
221
+
222
+ if (typeof originalHandler !== 'undefined') {
223
+ // Simplest case: handler is passed, remove that listener ONLY.
224
+ if (!events || !events[typeEvent]) {
225
+ return;
226
+ }
227
+
228
+ removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
229
+ return;
230
+ }
231
+
232
+ if (isNamespace) {
233
+ Object.keys(events).forEach(function (elementEvent) {
234
+ removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
235
+ });
236
+ }
237
+
238
+ var storeElementEvent = events[typeEvent] || {};
239
+ Object.keys(storeElementEvent).forEach(function (keyHandlers) {
240
+ var handlerKey = keyHandlers.replace(stripUidRegex, '');
241
+
242
+ if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
243
+ var event = storeElementEvent[keyHandlers];
244
+ removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
245
+ }
246
+ });
247
+ },
248
+ trigger: function trigger(element, event, args) {
249
+ if (typeof event !== 'string' || !element) {
250
+ return null;
251
+ }
252
+
253
+ var $ = getjQuery();
254
+ var typeEvent = event.replace(stripNameRegex, '');
255
+ var inNamespace = event !== typeEvent;
256
+ var isNative = nativeEvents.has(typeEvent);
257
+ var jQueryEvent;
258
+ var bubbles = true;
259
+ var nativeDispatch = true;
260
+ var defaultPrevented = false;
261
+ var evt = null;
262
+
263
+ if (inNamespace && $) {
264
+ jQueryEvent = $.Event(event, args);
265
+ $(element).trigger(jQueryEvent);
266
+ bubbles = !jQueryEvent.isPropagationStopped();
267
+ nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
268
+ defaultPrevented = jQueryEvent.isDefaultPrevented();
269
+ }
270
+
271
+ if (isNative) {
272
+ evt = document.createEvent('HTMLEvents');
273
+ evt.initEvent(typeEvent, bubbles, true);
274
+ } else {
275
+ evt = new CustomEvent(event, {
276
+ bubbles: bubbles,
277
+ cancelable: true
278
+ });
279
+ } // merge custom information in our event
280
+
281
+
282
+ if (typeof args !== 'undefined') {
283
+ Object.keys(args).forEach(function (key) {
284
+ Object.defineProperty(evt, key, {
285
+ get: function get() {
286
+ return args[key];
287
+ }
288
+ });
289
+ });
290
+ }
291
+
292
+ if (defaultPrevented) {
293
+ evt.preventDefault();
294
+ }
295
+
296
+ if (nativeDispatch) {
297
+ element.dispatchEvent(evt);
298
+ }
299
+
300
+ if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {
301
+ jQueryEvent.preventDefault();
302
+ }
303
+
304
+ return evt;
305
+ }
306
+ };
307
+
308
+ return EventHandler;
309
+
310
+ })));
@@ -0,0 +1,86 @@
1
+ /*!
2
+ * Bootstrap manipulator.js v5.0.0-beta2 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
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.Manipulator = factory());
10
+ }(this, (function () { 'use strict';
11
+
12
+ /**
13
+ * --------------------------------------------------------------------------
14
+ * Bootstrap (v5.0.0-beta2): dom/manipulator.js
15
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
16
+ * --------------------------------------------------------------------------
17
+ */
18
+ function normalizeData(val) {
19
+ if (val === 'true') {
20
+ return true;
21
+ }
22
+
23
+ if (val === 'false') {
24
+ return false;
25
+ }
26
+
27
+ if (val === Number(val).toString()) {
28
+ return Number(val);
29
+ }
30
+
31
+ if (val === '' || val === 'null') {
32
+ return null;
33
+ }
34
+
35
+ return val;
36
+ }
37
+
38
+ function normalizeDataKey(key) {
39
+ return key.replace(/[A-Z]/g, function (chr) {
40
+ return "-" + chr.toLowerCase();
41
+ });
42
+ }
43
+
44
+ var Manipulator = {
45
+ setDataAttribute: function setDataAttribute(element, key, value) {
46
+ element.setAttribute("data-bs-" + normalizeDataKey(key), value);
47
+ },
48
+ removeDataAttribute: function removeDataAttribute(element, key) {
49
+ element.removeAttribute("data-bs-" + normalizeDataKey(key));
50
+ },
51
+ getDataAttributes: function getDataAttributes(element) {
52
+ if (!element) {
53
+ return {};
54
+ }
55
+
56
+ var attributes = {};
57
+ Object.keys(element.dataset).filter(function (key) {
58
+ return key.startsWith('bs');
59
+ }).forEach(function (key) {
60
+ var pureKey = key.replace(/^bs/, '');
61
+ pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
62
+ attributes[pureKey] = normalizeData(element.dataset[key]);
63
+ });
64
+ return attributes;
65
+ },
66
+ getDataAttribute: function getDataAttribute(element, key) {
67
+ return normalizeData(element.getAttribute("data-bs-" + normalizeDataKey(key)));
68
+ },
69
+ offset: function offset(element) {
70
+ var rect = element.getBoundingClientRect();
71
+ return {
72
+ top: rect.top + document.body.scrollTop,
73
+ left: rect.left + document.body.scrollLeft
74
+ };
75
+ },
76
+ position: function position(element) {
77
+ return {
78
+ top: element.offsetTop,
79
+ left: element.offsetLeft
80
+ };
81
+ }
82
+ };
83
+
84
+ return Manipulator;
85
+
86
+ })));