bootstrap 4.4.1 → 5.0.0.alpha2
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.
- checksums.yaml +4 -4
- data/.travis.yml +12 -2
- data/README.md +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +12 -8
- data/assets/javascripts/bootstrap.js +2094 -1562
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/javascripts/bootstrap/alert.js +145 -83
- data/assets/javascripts/bootstrap/button.js +66 -152
- data/assets/javascripts/bootstrap/carousel.js +307 -241
- data/assets/javascripts/bootstrap/collapse.js +287 -183
- data/assets/javascripts/bootstrap/dom/data.js +81 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +315 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +96 -0
- data/assets/javascripts/bootstrap/dom/polyfill.js +110 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
- data/assets/javascripts/bootstrap/dropdown.js +255 -261
- data/assets/javascripts/bootstrap/modal.js +364 -270
- data/assets/javascripts/bootstrap/popover.js +72 -113
- data/assets/javascripts/bootstrap/scrollspy.js +162 -147
- data/assets/javascripts/bootstrap/tab.js +176 -108
- data/assets/javascripts/bootstrap/toast.js +179 -139
- data/assets/javascripts/bootstrap/tooltip.js +369 -259
- data/assets/stylesheets/_bootstrap-grid.scss +54 -18
- data/assets/stylesheets/_bootstrap-reboot.scss +7 -4
- data/assets/stylesheets/_bootstrap.scss +17 -11
- data/assets/stylesheets/bootstrap/_alert.scss +6 -7
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +5 -17
- data/assets/stylesheets/bootstrap/_button-group.scss +16 -38
- data/assets/stylesheets/bootstrap/_buttons.scss +25 -40
- data/assets/stylesheets/bootstrap/_card.scss +43 -79
- data/assets/stylesheets/bootstrap/_carousel.scss +30 -15
- data/assets/stylesheets/bootstrap/_close.scss +31 -31
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +54 -9
- data/assets/stylesheets/bootstrap/_forms.scss +9 -338
- data/assets/stylesheets/bootstrap/_functions.scss +97 -25
- data/assets/stylesheets/bootstrap/_grid.scss +3 -50
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +16 -17
- data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
- data/assets/stylesheets/bootstrap/_modal.scss +41 -45
- data/assets/stylesheets/bootstrap/_nav.scss +16 -9
- data/assets/stylesheets/bootstrap/_navbar.scss +43 -74
- data/assets/stylesheets/bootstrap/_pagination.scss +11 -20
- data/assets/stylesheets/bootstrap/_popover.scss +5 -5
- data/assets/stylesheets/bootstrap/_progress.scss +2 -3
- data/assets/stylesheets/bootstrap/_reboot.scss +310 -175
- data/assets/stylesheets/bootstrap/_root.scss +5 -9
- data/assets/stylesheets/bootstrap/_spinners.scss +5 -4
- data/assets/stylesheets/bootstrap/_tables.scss +80 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +6 -2
- data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
- data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
- data/assets/stylesheets/bootstrap/_type.scss +38 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +531 -17
- data/assets/stylesheets/bootstrap/_variables.scss +609 -444
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +142 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +116 -0
- data/assets/stylesheets/bootstrap/forms/_form-file.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +136 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +82 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +140 -0
- data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
- data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
- data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
- data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -4
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +35 -22
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +69 -51
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +22 -66
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +84 -33
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +28 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +3 -3
- data/tasks/updater/network.rb +2 -2
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- metadata +36 -41
- data/assets/javascripts/bootstrap/util.js +0 -188
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -521
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -191
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
- data/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -141
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -22
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -71
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
- data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
- data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
- data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -72
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
|
@@ -0,0 +1,81 @@
|
|
|
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)
|
|
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-alpha2): 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,315 @@
|
|
|
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)
|
|
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(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';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* --------------------------------------------------------------------------
|
|
14
|
+
* Bootstrap (v5.0.0-alpha2): 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-no-jquery')) {
|
|
24
|
+
return jQuery;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return null;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* --------------------------------------------------------------------------
|
|
32
|
+
* Bootstrap (v5.0.0-alpha2): dom/event-handler.js
|
|
33
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
34
|
+
* --------------------------------------------------------------------------
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* ------------------------------------------------------------------------
|
|
38
|
+
* Constants
|
|
39
|
+
* ------------------------------------------------------------------------
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
var $ = getjQuery();
|
|
43
|
+
var namespaceRegex = /[^.]*(?=\..*)\.|.*/;
|
|
44
|
+
var stripNameRegex = /\..*/;
|
|
45
|
+
var stripUidRegex = /::\d+$/;
|
|
46
|
+
var eventRegistry = {}; // Events storage
|
|
47
|
+
|
|
48
|
+
var uidEvent = 1;
|
|
49
|
+
var customEvents = {
|
|
50
|
+
mouseenter: 'mouseover',
|
|
51
|
+
mouseleave: 'mouseout'
|
|
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'];
|
|
54
|
+
/**
|
|
55
|
+
* ------------------------------------------------------------------------
|
|
56
|
+
* Private methods
|
|
57
|
+
* ------------------------------------------------------------------------
|
|
58
|
+
*/
|
|
59
|
+
|
|
60
|
+
function getUidEvent(element, uid) {
|
|
61
|
+
return uid && uid + "::" + uidEvent++ || element.uidEvent || uidEvent++;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function getEvent(element) {
|
|
65
|
+
var uid = getUidEvent(element);
|
|
66
|
+
element.uidEvent = uid;
|
|
67
|
+
eventRegistry[uid] = eventRegistry[uid] || {};
|
|
68
|
+
return eventRegistry[uid];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function bootstrapHandler(element, fn) {
|
|
72
|
+
return function handler(event) {
|
|
73
|
+
event.delegateTarget = element;
|
|
74
|
+
|
|
75
|
+
if (handler.oneOff) {
|
|
76
|
+
EventHandler.off(element, event.type, fn);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return fn.apply(element, [event]);
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function bootstrapDelegationHandler(element, selector, fn) {
|
|
84
|
+
return function handler(event) {
|
|
85
|
+
var domElements = element.querySelectorAll(selector);
|
|
86
|
+
|
|
87
|
+
for (var target = event.target; target && target !== this; target = target.parentNode) {
|
|
88
|
+
for (var i = domElements.length; i--;) {
|
|
89
|
+
if (domElements[i] === target) {
|
|
90
|
+
event.delegateTarget = target;
|
|
91
|
+
|
|
92
|
+
if (handler.oneOff) {
|
|
93
|
+
EventHandler.off(element, event.type, fn);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return fn.apply(target, [event]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
} // To please ESLint
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
return null;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function findHandler(events, handler, delegationSelector) {
|
|
107
|
+
if (delegationSelector === void 0) {
|
|
108
|
+
delegationSelector = null;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
var uidEventList = Object.keys(events);
|
|
112
|
+
|
|
113
|
+
for (var i = 0, len = uidEventList.length; i < len; i++) {
|
|
114
|
+
var event = events[uidEventList[i]];
|
|
115
|
+
|
|
116
|
+
if (event.originalHandler === handler && event.delegationSelector === delegationSelector) {
|
|
117
|
+
return event;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
|
|
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;
|
|
136
|
+
|
|
137
|
+
if (!isNative) {
|
|
138
|
+
typeEvent = originalTypeEvent;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return [delegation, originalHandler, typeEvent];
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {
|
|
145
|
+
if (typeof originalTypeEvent !== 'string' || !element) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
if (!handler) {
|
|
150
|
+
handler = delegationFn;
|
|
151
|
+
delegationFn = null;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
var _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn),
|
|
155
|
+
delegation = _normalizeParams[0],
|
|
156
|
+
originalHandler = _normalizeParams[1],
|
|
157
|
+
typeEvent = _normalizeParams[2];
|
|
158
|
+
|
|
159
|
+
var events = getEvent(element);
|
|
160
|
+
var handlers = events[typeEvent] || (events[typeEvent] = {});
|
|
161
|
+
var previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
|
|
162
|
+
|
|
163
|
+
if (previousFn) {
|
|
164
|
+
previousFn.oneOff = previousFn.oneOff && oneOff;
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
|
|
169
|
+
var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);
|
|
170
|
+
fn.delegationSelector = delegation ? handler : null;
|
|
171
|
+
fn.originalHandler = originalHandler;
|
|
172
|
+
fn.oneOff = oneOff;
|
|
173
|
+
fn.uidEvent = uid;
|
|
174
|
+
handlers[uid] = fn;
|
|
175
|
+
element.addEventListener(typeEvent, fn, delegation);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function removeHandler(element, events, typeEvent, handler, delegationSelector) {
|
|
179
|
+
var fn = findHandler(events[typeEvent], handler, delegationSelector);
|
|
180
|
+
|
|
181
|
+
if (!fn) {
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));
|
|
186
|
+
delete events[typeEvent][fn.uidEvent];
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
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];
|
|
194
|
+
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
var EventHandler = {
|
|
200
|
+
on: function on(element, event, handler, delegationFn) {
|
|
201
|
+
addHandler(element, event, handler, delegationFn, false);
|
|
202
|
+
},
|
|
203
|
+
one: function one(element, event, handler, delegationFn) {
|
|
204
|
+
addHandler(element, event, handler, delegationFn, true);
|
|
205
|
+
},
|
|
206
|
+
off: function off(element, originalTypeEvent, handler, delegationFn) {
|
|
207
|
+
if (typeof originalTypeEvent !== 'string' || !element) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
|
|
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) === '.';
|
|
219
|
+
|
|
220
|
+
if (typeof originalHandler !== 'undefined') {
|
|
221
|
+
// Simplest case: handler is passed, remove that listener ONLY.
|
|
222
|
+
if (!events || !events[typeEvent]) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if (isNamespace) {
|
|
231
|
+
Object.keys(events).forEach(function (elementEvent) {
|
|
232
|
+
removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
var storeElementEvent = events[typeEvent] || {};
|
|
237
|
+
Object.keys(storeElementEvent).forEach(function (keyHandlers) {
|
|
238
|
+
var handlerKey = keyHandlers.replace(stripUidRegex, '');
|
|
239
|
+
|
|
240
|
+
if (!inNamespace || originalTypeEvent.indexOf(handlerKey) > -1) {
|
|
241
|
+
var event = storeElementEvent[keyHandlers];
|
|
242
|
+
removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
},
|
|
246
|
+
trigger: function trigger(element, event, args) {
|
|
247
|
+
if (typeof event !== 'string' || !element) {
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
|
|
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;
|
|
259
|
+
|
|
260
|
+
if (inNamespace && $) {
|
|
261
|
+
jQueryEvent = $.Event(event, args);
|
|
262
|
+
$(element).trigger(jQueryEvent);
|
|
263
|
+
bubbles = !jQueryEvent.isPropagationStopped();
|
|
264
|
+
nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
|
|
265
|
+
defaultPrevented = jQueryEvent.isDefaultPrevented();
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
if (isNative) {
|
|
269
|
+
evt = document.createEvent('HTMLEvents');
|
|
270
|
+
evt.initEvent(typeEvent, bubbles, true);
|
|
271
|
+
} else {
|
|
272
|
+
evt = new CustomEvent(event, {
|
|
273
|
+
bubbles: bubbles,
|
|
274
|
+
cancelable: true
|
|
275
|
+
});
|
|
276
|
+
} // merge custom information in our event
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
if (typeof args !== 'undefined') {
|
|
280
|
+
Object.keys(args).forEach(function (key) {
|
|
281
|
+
Object.defineProperty(evt, key, {
|
|
282
|
+
get: function get() {
|
|
283
|
+
return args[key];
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
if (defaultPrevented) {
|
|
290
|
+
evt.preventDefault();
|
|
291
|
+
|
|
292
|
+
if (!polyfill_js.defaultPreventedPreservedOnDispatch) {
|
|
293
|
+
Object.defineProperty(evt, 'defaultPrevented', {
|
|
294
|
+
get: function get() {
|
|
295
|
+
return true;
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
if (nativeDispatch) {
|
|
302
|
+
element.dispatchEvent(evt);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
if (evt.defaultPrevented && typeof jQueryEvent !== 'undefined') {
|
|
306
|
+
jQueryEvent.preventDefault();
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
return evt;
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
|
|
313
|
+
return EventHandler;
|
|
314
|
+
|
|
315
|
+
})));
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Bootstrap manipulator.js v5.0.0-alpha2 (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
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* --------------------------------------------------------------------------
|
|
16
|
+
* Bootstrap (v5.0.0-alpha2): dom/manipulator.js
|
|
17
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
18
|
+
* --------------------------------------------------------------------------
|
|
19
|
+
*/
|
|
20
|
+
function normalizeData(val) {
|
|
21
|
+
if (val === 'true') {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
if (val === 'false') {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (val === Number(val).toString()) {
|
|
30
|
+
return Number(val);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (val === '' || val === 'null') {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return val;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function normalizeDataKey(key) {
|
|
41
|
+
return key.replace(/[A-Z]/g, function (chr) {
|
|
42
|
+
return "-" + chr.toLowerCase();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
var Manipulator = {
|
|
47
|
+
setDataAttribute: function setDataAttribute(element, key, value) {
|
|
48
|
+
element.setAttribute("data-" + normalizeDataKey(key), value);
|
|
49
|
+
},
|
|
50
|
+
removeDataAttribute: function removeDataAttribute(element, key) {
|
|
51
|
+
element.removeAttribute("data-" + normalizeDataKey(key));
|
|
52
|
+
},
|
|
53
|
+
getDataAttributes: function getDataAttributes(element) {
|
|
54
|
+
if (!element) {
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var attributes = _extends({}, element.dataset);
|
|
59
|
+
|
|
60
|
+
Object.keys(attributes).forEach(function (key) {
|
|
61
|
+
attributes[key] = normalizeData(attributes[key]);
|
|
62
|
+
});
|
|
63
|
+
return attributes;
|
|
64
|
+
},
|
|
65
|
+
getDataAttribute: function getDataAttribute(element, key) {
|
|
66
|
+
return normalizeData(element.getAttribute("data-" + normalizeDataKey(key)));
|
|
67
|
+
},
|
|
68
|
+
offset: function offset(element) {
|
|
69
|
+
var rect = element.getBoundingClientRect();
|
|
70
|
+
return {
|
|
71
|
+
top: rect.top + document.body.scrollTop,
|
|
72
|
+
left: rect.left + document.body.scrollLeft
|
|
73
|
+
};
|
|
74
|
+
},
|
|
75
|
+
position: function position(element) {
|
|
76
|
+
return {
|
|
77
|
+
top: element.offsetTop,
|
|
78
|
+
left: element.offsetLeft
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
toggleClass: function toggleClass(element, className) {
|
|
82
|
+
if (!element) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (element.classList.contains(className)) {
|
|
87
|
+
element.classList.remove(className);
|
|
88
|
+
} else {
|
|
89
|
+
element.classList.add(className);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
return Manipulator;
|
|
95
|
+
|
|
96
|
+
})));
|