bootstrap 4.5.2 → 5.0.0.beta1

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