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.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/README.md +5 -2
- data/assets/javascripts/bootstrap-sprockets.js +11 -8
- data/assets/javascripts/bootstrap.js +2170 -1572
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +195 -66
- data/assets/javascripts/bootstrap/button.js +120 -136
- data/assets/javascripts/bootstrap/carousel.js +390 -184
- data/assets/javascripts/bootstrap/collapse.js +364 -133
- data/assets/javascripts/bootstrap/dom/data.js +81 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +309 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +86 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
- data/assets/javascripts/bootstrap/dropdown.js +357 -232
- data/assets/javascripts/bootstrap/modal.js +406 -211
- data/assets/javascripts/bootstrap/popover.js +82 -50
- data/assets/javascripts/bootstrap/scrollspy.js +226 -80
- data/assets/javascripts/bootstrap/tab.js +215 -77
- data/assets/javascripts/bootstrap/toast.js +239 -79
- data/assets/javascripts/bootstrap/tooltip.js +529 -258
- data/assets/stylesheets/_bootstrap-grid.scss +51 -15
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -1
- data/assets/stylesheets/_bootstrap.scss +15 -8
- data/assets/stylesheets/bootstrap/_accordion.scss +125 -0
- data/assets/stylesheets/bootstrap/_alert.scss +15 -9
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +4 -20
- data/assets/stylesheets/bootstrap/_button-group.scss +21 -45
- data/assets/stylesheets/bootstrap/_buttons.scss +27 -60
- data/assets/stylesheets/bootstrap/_card.scss +25 -96
- data/assets/stylesheets/bootstrap/_carousel.scss +54 -28
- data/assets/stylesheets/bootstrap/_close.scss +30 -30
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +74 -31
- data/assets/stylesheets/bootstrap/_forms.scss +9 -347
- data/assets/stylesheets/bootstrap/_functions.scss +87 -23
- data/assets/stylesheets/bootstrap/_grid.scss +3 -54
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +18 -9
- data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
- data/assets/stylesheets/bootstrap/_modal.scss +41 -46
- data/assets/stylesheets/bootstrap/_nav.scss +12 -8
- data/assets/stylesheets/bootstrap/_navbar.scss +43 -74
- data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
- data/assets/stylesheets/bootstrap/_popover.scss +23 -20
- data/assets/stylesheets/bootstrap/_progress.scss +3 -5
- data/assets/stylesheets/bootstrap/_reboot.scss +328 -173
- data/assets/stylesheets/bootstrap/_root.scss +5 -9
- data/assets/stylesheets/bootstrap/_spinners.scss +14 -5
- data/assets/stylesheets/bootstrap/_tables.scss +79 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +19 -15
- data/assets/stylesheets/bootstrap/_tooltip.scss +17 -17
- data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
- data/assets/stylesheets/bootstrap/_type.scss +38 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +560 -18
- data/assets/stylesheets/bootstrap/_variables.scss +652 -459
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +151 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +223 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +68 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -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 +1 -5
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +9 -9
- 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 +65 -47
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +9 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +17 -78
- 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 +3 -2
- 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 +2 -2
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +68 -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 +6 -4
- metadata +33 -41
- data/assets/javascripts/bootstrap/util.js +0 -192
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -523
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -192
- 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 -23
- 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 -80
- 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/_interactions.scss +0 -5
- 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
|
@@ -1,18 +1,149 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap collapse.js
|
|
2
|
+
* Bootstrap collapse.js v5.0.0-beta1 (https://getbootstrap.com/)
|
|
3
3
|
* Copyright 2011-2020 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('
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['
|
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.
|
|
10
|
-
}(this, (function (
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
|
|
10
|
+
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
|
15
|
+
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
16
|
+
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
|
17
|
+
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* --------------------------------------------------------------------------
|
|
21
|
+
* Bootstrap (v5.0.0-beta1): util/index.js
|
|
22
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
23
|
+
* --------------------------------------------------------------------------
|
|
24
|
+
*/
|
|
25
|
+
var MILLISECONDS_MULTIPLIER = 1000;
|
|
26
|
+
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
|
27
|
+
|
|
28
|
+
var toType = function toType(obj) {
|
|
29
|
+
if (obj === null || obj === undefined) {
|
|
30
|
+
return "" + obj;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var getSelector = function getSelector(element) {
|
|
37
|
+
var selector = element.getAttribute('data-bs-target');
|
|
38
|
+
|
|
39
|
+
if (!selector || selector === '#') {
|
|
40
|
+
var hrefAttr = element.getAttribute('href');
|
|
41
|
+
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return selector;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var getSelectorFromElement = function getSelectorFromElement(element) {
|
|
48
|
+
var selector = getSelector(element);
|
|
49
|
+
|
|
50
|
+
if (selector) {
|
|
51
|
+
return document.querySelector(selector) ? selector : null;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return null;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var getElementFromSelector = function getElementFromSelector(element) {
|
|
58
|
+
var selector = getSelector(element);
|
|
59
|
+
return selector ? document.querySelector(selector) : null;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
|
|
63
|
+
if (!element) {
|
|
64
|
+
return 0;
|
|
65
|
+
} // Get transition-duration of the element
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
var _window$getComputedSt = window.getComputedStyle(element),
|
|
69
|
+
transitionDuration = _window$getComputedSt.transitionDuration,
|
|
70
|
+
transitionDelay = _window$getComputedSt.transitionDelay;
|
|
71
|
+
|
|
72
|
+
var floatTransitionDuration = Number.parseFloat(transitionDuration);
|
|
73
|
+
var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
|
|
74
|
+
|
|
75
|
+
if (!floatTransitionDuration && !floatTransitionDelay) {
|
|
76
|
+
return 0;
|
|
77
|
+
} // If multiple durations are defined, take the first
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
transitionDuration = transitionDuration.split(',')[0];
|
|
81
|
+
transitionDelay = transitionDelay.split(',')[0];
|
|
82
|
+
return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
var triggerTransitionEnd = function triggerTransitionEnd(element) {
|
|
86
|
+
element.dispatchEvent(new Event(TRANSITION_END));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
var isElement = function isElement(obj) {
|
|
90
|
+
return (obj[0] || obj).nodeType;
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
|
|
94
|
+
var called = false;
|
|
95
|
+
var durationPadding = 5;
|
|
96
|
+
var emulatedDuration = duration + durationPadding;
|
|
97
|
+
|
|
98
|
+
function listener() {
|
|
99
|
+
called = true;
|
|
100
|
+
element.removeEventListener(TRANSITION_END, listener);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
element.addEventListener(TRANSITION_END, listener);
|
|
104
|
+
setTimeout(function () {
|
|
105
|
+
if (!called) {
|
|
106
|
+
triggerTransitionEnd(element);
|
|
107
|
+
}
|
|
108
|
+
}, emulatedDuration);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
|
|
112
|
+
Object.keys(configTypes).forEach(function (property) {
|
|
113
|
+
var expectedTypes = configTypes[property];
|
|
114
|
+
var value = config[property];
|
|
115
|
+
var valueType = value && isElement(value) ? 'element' : toType(value);
|
|
116
|
+
|
|
117
|
+
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
118
|
+
throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
var reflow = function reflow(element) {
|
|
124
|
+
return element.offsetHeight;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
var getjQuery = function getjQuery() {
|
|
128
|
+
var _window = window,
|
|
129
|
+
jQuery = _window.jQuery;
|
|
130
|
+
|
|
131
|
+
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
|
132
|
+
return jQuery;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return null;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
var onDOMContentLoaded = function onDOMContentLoaded(callback) {
|
|
139
|
+
if (document.readyState === 'loading') {
|
|
140
|
+
document.addEventListener('DOMContentLoaded', callback);
|
|
141
|
+
} else {
|
|
142
|
+
callback();
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
var isRTL = document.documentElement.dir === 'rtl';
|
|
16
147
|
|
|
17
148
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
18
149
|
|
|
@@ -23,12 +154,58 @@
|
|
|
23
154
|
* ------------------------------------------------------------------------
|
|
24
155
|
*/
|
|
25
156
|
|
|
157
|
+
var VERSION = '5.0.0-beta1';
|
|
158
|
+
|
|
159
|
+
var BaseComponent = /*#__PURE__*/function () {
|
|
160
|
+
function BaseComponent(element) {
|
|
161
|
+
if (!element) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
this._element = element;
|
|
166
|
+
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
var _proto = BaseComponent.prototype;
|
|
170
|
+
|
|
171
|
+
_proto.dispose = function dispose() {
|
|
172
|
+
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
|
|
173
|
+
this._element = null;
|
|
174
|
+
}
|
|
175
|
+
/** Static */
|
|
176
|
+
;
|
|
177
|
+
|
|
178
|
+
BaseComponent.getInstance = function getInstance(element) {
|
|
179
|
+
return Data__default['default'].getData(element, this.DATA_KEY);
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
_createClass(BaseComponent, null, [{
|
|
183
|
+
key: "VERSION",
|
|
184
|
+
get: function get() {
|
|
185
|
+
return VERSION;
|
|
186
|
+
}
|
|
187
|
+
}]);
|
|
188
|
+
|
|
189
|
+
return BaseComponent;
|
|
190
|
+
}();
|
|
191
|
+
|
|
192
|
+
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); }
|
|
193
|
+
|
|
194
|
+
function _defineProperties$1(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
195
|
+
|
|
196
|
+
function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
|
|
197
|
+
|
|
198
|
+
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
|
|
199
|
+
/**
|
|
200
|
+
* ------------------------------------------------------------------------
|
|
201
|
+
* Constants
|
|
202
|
+
* ------------------------------------------------------------------------
|
|
203
|
+
*/
|
|
204
|
+
|
|
26
205
|
var NAME = 'collapse';
|
|
27
|
-
var VERSION = '4.5.2';
|
|
28
206
|
var DATA_KEY = 'bs.collapse';
|
|
29
207
|
var EVENT_KEY = "." + DATA_KEY;
|
|
30
208
|
var DATA_API_KEY = '.data-api';
|
|
31
|
-
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
32
209
|
var Default = {
|
|
33
210
|
toggle: true,
|
|
34
211
|
parent: ''
|
|
@@ -46,47 +223,53 @@
|
|
|
46
223
|
var CLASS_NAME_COLLAPSE = 'collapse';
|
|
47
224
|
var CLASS_NAME_COLLAPSING = 'collapsing';
|
|
48
225
|
var CLASS_NAME_COLLAPSED = 'collapsed';
|
|
49
|
-
var
|
|
50
|
-
var
|
|
226
|
+
var WIDTH = 'width';
|
|
227
|
+
var HEIGHT = 'height';
|
|
51
228
|
var SELECTOR_ACTIVES = '.show, .collapsing';
|
|
52
|
-
var SELECTOR_DATA_TOGGLE = '[data-toggle="collapse"]';
|
|
229
|
+
var SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]';
|
|
53
230
|
/**
|
|
54
231
|
* ------------------------------------------------------------------------
|
|
55
232
|
* Class Definition
|
|
56
233
|
* ------------------------------------------------------------------------
|
|
57
234
|
*/
|
|
58
235
|
|
|
59
|
-
var Collapse = /*#__PURE__*/function () {
|
|
236
|
+
var Collapse = /*#__PURE__*/function (_BaseComponent) {
|
|
237
|
+
_inheritsLoose(Collapse, _BaseComponent);
|
|
238
|
+
|
|
60
239
|
function Collapse(element, config) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
240
|
+
var _this;
|
|
241
|
+
|
|
242
|
+
_this = _BaseComponent.call(this, element) || this;
|
|
243
|
+
_this._isTransitioning = false;
|
|
244
|
+
_this._config = _this._getConfig(config);
|
|
245
|
+
_this._triggerArray = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE + "[href=\"#" + element.id + "\"]," + (SELECTOR_DATA_TOGGLE + "[data-bs-target=\"#" + element.id + "\"]"));
|
|
246
|
+
var toggleList = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE);
|
|
66
247
|
|
|
67
248
|
for (var i = 0, len = toggleList.length; i < len; i++) {
|
|
68
249
|
var elem = toggleList[i];
|
|
69
|
-
var selector =
|
|
70
|
-
var filterElement = [].
|
|
250
|
+
var selector = getSelectorFromElement(elem);
|
|
251
|
+
var filterElement = SelectorEngine__default['default'].find(selector).filter(function (foundElem) {
|
|
71
252
|
return foundElem === element;
|
|
72
253
|
});
|
|
73
254
|
|
|
74
|
-
if (selector !== null && filterElement.length
|
|
75
|
-
|
|
255
|
+
if (selector !== null && filterElement.length) {
|
|
256
|
+
_this._selector = selector;
|
|
76
257
|
|
|
77
|
-
|
|
258
|
+
_this._triggerArray.push(elem);
|
|
78
259
|
}
|
|
79
260
|
}
|
|
80
261
|
|
|
81
|
-
|
|
262
|
+
_this._parent = _this._config.parent ? _this._getParent() : null;
|
|
82
263
|
|
|
83
|
-
if (!
|
|
84
|
-
|
|
264
|
+
if (!_this._config.parent) {
|
|
265
|
+
_this._addAriaAndCollapsedClass(_this._element, _this._triggerArray);
|
|
85
266
|
}
|
|
86
267
|
|
|
87
|
-
if (
|
|
88
|
-
|
|
268
|
+
if (_this._config.toggle) {
|
|
269
|
+
_this.toggle();
|
|
89
270
|
}
|
|
271
|
+
|
|
272
|
+
return _this;
|
|
90
273
|
} // Getters
|
|
91
274
|
|
|
92
275
|
|
|
@@ -94,7 +277,7 @@
|
|
|
94
277
|
|
|
95
278
|
// Public
|
|
96
279
|
_proto.toggle = function toggle() {
|
|
97
|
-
if (
|
|
280
|
+
if (this._element.classList.contains(CLASS_NAME_SHOW)) {
|
|
98
281
|
this.hide();
|
|
99
282
|
} else {
|
|
100
283
|
this.show();
|
|
@@ -102,9 +285,9 @@
|
|
|
102
285
|
};
|
|
103
286
|
|
|
104
287
|
_proto.show = function show() {
|
|
105
|
-
var
|
|
288
|
+
var _this2 = this;
|
|
106
289
|
|
|
107
|
-
if (this._isTransitioning ||
|
|
290
|
+
if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
|
|
108
291
|
return;
|
|
109
292
|
}
|
|
110
293
|
|
|
@@ -112,9 +295,9 @@
|
|
|
112
295
|
var activesData;
|
|
113
296
|
|
|
114
297
|
if (this._parent) {
|
|
115
|
-
actives = [].
|
|
116
|
-
if (typeof
|
|
117
|
-
return elem.getAttribute('data-parent') ===
|
|
298
|
+
actives = SelectorEngine__default['default'].find(SELECTOR_ACTIVES, this._parent).filter(function (elem) {
|
|
299
|
+
if (typeof _this2._config.parent === 'string') {
|
|
300
|
+
return elem.getAttribute('data-bs-parent') === _this2._config.parent;
|
|
118
301
|
}
|
|
119
302
|
|
|
120
303
|
return elem.classList.contains(CLASS_NAME_COLLAPSE);
|
|
@@ -125,88 +308,106 @@
|
|
|
125
308
|
}
|
|
126
309
|
}
|
|
127
310
|
|
|
311
|
+
var container = SelectorEngine__default['default'].findOne(this._selector);
|
|
312
|
+
|
|
128
313
|
if (actives) {
|
|
129
|
-
|
|
314
|
+
var tempActiveData = actives.find(function (elem) {
|
|
315
|
+
return container !== elem;
|
|
316
|
+
});
|
|
317
|
+
activesData = tempActiveData ? Data__default['default'].getData(tempActiveData, DATA_KEY) : null;
|
|
130
318
|
|
|
131
319
|
if (activesData && activesData._isTransitioning) {
|
|
132
320
|
return;
|
|
133
321
|
}
|
|
134
322
|
}
|
|
135
323
|
|
|
136
|
-
var startEvent =
|
|
137
|
-
$(this._element).trigger(startEvent);
|
|
324
|
+
var startEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
|
|
138
325
|
|
|
139
|
-
if (startEvent.
|
|
326
|
+
if (startEvent.defaultPrevented) {
|
|
140
327
|
return;
|
|
141
328
|
}
|
|
142
329
|
|
|
143
330
|
if (actives) {
|
|
144
|
-
|
|
331
|
+
actives.forEach(function (elemActive) {
|
|
332
|
+
if (container !== elemActive) {
|
|
333
|
+
Collapse.collapseInterface(elemActive, 'hide');
|
|
334
|
+
}
|
|
145
335
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
336
|
+
if (!activesData) {
|
|
337
|
+
Data__default['default'].setData(elemActive, DATA_KEY, null);
|
|
338
|
+
}
|
|
339
|
+
});
|
|
149
340
|
}
|
|
150
341
|
|
|
151
342
|
var dimension = this._getDimension();
|
|
152
343
|
|
|
153
|
-
|
|
344
|
+
this._element.classList.remove(CLASS_NAME_COLLAPSE);
|
|
345
|
+
|
|
346
|
+
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
|
347
|
+
|
|
154
348
|
this._element.style[dimension] = 0;
|
|
155
349
|
|
|
156
350
|
if (this._triggerArray.length) {
|
|
157
|
-
|
|
351
|
+
this._triggerArray.forEach(function (element) {
|
|
352
|
+
element.classList.remove(CLASS_NAME_COLLAPSED);
|
|
353
|
+
element.setAttribute('aria-expanded', true);
|
|
354
|
+
});
|
|
158
355
|
}
|
|
159
356
|
|
|
160
357
|
this.setTransitioning(true);
|
|
161
358
|
|
|
162
359
|
var complete = function complete() {
|
|
163
|
-
|
|
164
|
-
|
|
360
|
+
_this2._element.classList.remove(CLASS_NAME_COLLAPSING);
|
|
361
|
+
|
|
362
|
+
_this2._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
|
165
363
|
|
|
166
|
-
|
|
364
|
+
_this2._element.style[dimension] = '';
|
|
365
|
+
|
|
366
|
+
_this2.setTransitioning(false);
|
|
167
367
|
|
|
168
|
-
|
|
368
|
+
EventHandler__default['default'].trigger(_this2._element, EVENT_SHOWN);
|
|
169
369
|
};
|
|
170
370
|
|
|
171
371
|
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
|
172
372
|
var scrollSize = "scroll" + capitalizedDimension;
|
|
173
|
-
var transitionDuration =
|
|
174
|
-
|
|
373
|
+
var transitionDuration = getTransitionDurationFromElement(this._element);
|
|
374
|
+
EventHandler__default['default'].one(this._element, TRANSITION_END, complete);
|
|
375
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
|
175
376
|
this._element.style[dimension] = this._element[scrollSize] + "px";
|
|
176
377
|
};
|
|
177
378
|
|
|
178
379
|
_proto.hide = function hide() {
|
|
179
|
-
var
|
|
380
|
+
var _this3 = this;
|
|
180
381
|
|
|
181
|
-
if (this._isTransitioning ||
|
|
382
|
+
if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
|
|
182
383
|
return;
|
|
183
384
|
}
|
|
184
385
|
|
|
185
|
-
var startEvent =
|
|
186
|
-
$(this._element).trigger(startEvent);
|
|
386
|
+
var startEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
|
|
187
387
|
|
|
188
|
-
if (startEvent.
|
|
388
|
+
if (startEvent.defaultPrevented) {
|
|
189
389
|
return;
|
|
190
390
|
}
|
|
191
391
|
|
|
192
392
|
var dimension = this._getDimension();
|
|
193
393
|
|
|
194
394
|
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
|
|
195
|
-
|
|
196
|
-
|
|
395
|
+
reflow(this._element);
|
|
396
|
+
|
|
397
|
+
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
|
398
|
+
|
|
399
|
+
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
|
400
|
+
|
|
197
401
|
var triggerArrayLength = this._triggerArray.length;
|
|
198
402
|
|
|
199
403
|
if (triggerArrayLength > 0) {
|
|
200
404
|
for (var i = 0; i < triggerArrayLength; i++) {
|
|
201
405
|
var trigger = this._triggerArray[i];
|
|
202
|
-
var
|
|
406
|
+
var elem = getElementFromSelector(trigger);
|
|
203
407
|
|
|
204
|
-
if (
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
if (!$elem.hasClass(CLASS_NAME_SHOW)) {
|
|
208
|
-
$(trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
|
|
209
|
-
}
|
|
408
|
+
if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {
|
|
409
|
+
trigger.classList.add(CLASS_NAME_COLLAPSED);
|
|
410
|
+
trigger.setAttribute('aria-expanded', false);
|
|
210
411
|
}
|
|
211
412
|
}
|
|
212
413
|
}
|
|
@@ -214,14 +415,19 @@
|
|
|
214
415
|
this.setTransitioning(true);
|
|
215
416
|
|
|
216
417
|
var complete = function complete() {
|
|
217
|
-
|
|
418
|
+
_this3.setTransitioning(false);
|
|
419
|
+
|
|
420
|
+
_this3._element.classList.remove(CLASS_NAME_COLLAPSING);
|
|
421
|
+
|
|
422
|
+
_this3._element.classList.add(CLASS_NAME_COLLAPSE);
|
|
218
423
|
|
|
219
|
-
|
|
424
|
+
EventHandler__default['default'].trigger(_this3._element, EVENT_HIDDEN);
|
|
220
425
|
};
|
|
221
426
|
|
|
222
427
|
this._element.style[dimension] = '';
|
|
223
|
-
var transitionDuration =
|
|
224
|
-
|
|
428
|
+
var transitionDuration = getTransitionDurationFromElement(this._element);
|
|
429
|
+
EventHandler__default['default'].one(this._element, TRANSITION_END, complete);
|
|
430
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
|
225
431
|
};
|
|
226
432
|
|
|
227
433
|
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
|
@@ -229,10 +435,10 @@
|
|
|
229
435
|
};
|
|
230
436
|
|
|
231
437
|
_proto.dispose = function dispose() {
|
|
232
|
-
|
|
438
|
+
_BaseComponent.prototype.dispose.call(this);
|
|
439
|
+
|
|
233
440
|
this._config = null;
|
|
234
441
|
this._parent = null;
|
|
235
|
-
this._element = null;
|
|
236
442
|
this._triggerArray = null;
|
|
237
443
|
this._isTransitioning = null;
|
|
238
444
|
} // Private
|
|
@@ -242,92 +448,97 @@
|
|
|
242
448
|
config = _extends({}, Default, config);
|
|
243
449
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
|
244
450
|
|
|
245
|
-
|
|
451
|
+
typeCheckConfig(NAME, config, DefaultType);
|
|
246
452
|
return config;
|
|
247
453
|
};
|
|
248
454
|
|
|
249
455
|
_proto._getDimension = function _getDimension() {
|
|
250
|
-
|
|
251
|
-
return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
|
|
456
|
+
return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT;
|
|
252
457
|
};
|
|
253
458
|
|
|
254
459
|
_proto._getParent = function _getParent() {
|
|
255
|
-
var
|
|
460
|
+
var _this4 = this;
|
|
256
461
|
|
|
257
|
-
var parent;
|
|
462
|
+
var parent = this._config.parent;
|
|
258
463
|
|
|
259
|
-
if (
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
parent = this._config.parent[0];
|
|
464
|
+
if (isElement(parent)) {
|
|
465
|
+
// it's a jQuery object
|
|
466
|
+
if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {
|
|
467
|
+
parent = parent[0];
|
|
264
468
|
}
|
|
265
469
|
} else {
|
|
266
|
-
parent =
|
|
470
|
+
parent = SelectorEngine__default['default'].findOne(parent);
|
|
267
471
|
}
|
|
268
472
|
|
|
269
|
-
var selector = "[data-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
473
|
+
var selector = SELECTOR_DATA_TOGGLE + "[data-bs-parent=\"" + parent + "\"]";
|
|
474
|
+
SelectorEngine__default['default'].find(selector, parent).forEach(function (element) {
|
|
475
|
+
var selected = getElementFromSelector(element);
|
|
476
|
+
|
|
477
|
+
_this4._addAriaAndCollapsedClass(selected, [element]);
|
|
273
478
|
});
|
|
274
479
|
return parent;
|
|
275
480
|
};
|
|
276
481
|
|
|
277
482
|
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
if (triggerArray.length) {
|
|
281
|
-
$(triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
|
|
483
|
+
if (!element || !triggerArray.length) {
|
|
484
|
+
return;
|
|
282
485
|
}
|
|
486
|
+
|
|
487
|
+
var isOpen = element.classList.contains(CLASS_NAME_SHOW);
|
|
488
|
+
triggerArray.forEach(function (elem) {
|
|
489
|
+
if (isOpen) {
|
|
490
|
+
elem.classList.remove(CLASS_NAME_COLLAPSED);
|
|
491
|
+
} else {
|
|
492
|
+
elem.classList.add(CLASS_NAME_COLLAPSED);
|
|
493
|
+
}
|
|
494
|
+
|
|
495
|
+
elem.setAttribute('aria-expanded', isOpen);
|
|
496
|
+
});
|
|
283
497
|
} // Static
|
|
284
498
|
;
|
|
285
499
|
|
|
286
|
-
Collapse.
|
|
287
|
-
var
|
|
288
|
-
return selector ? document.querySelector(selector) : null;
|
|
289
|
-
};
|
|
500
|
+
Collapse.collapseInterface = function collapseInterface(element, config) {
|
|
501
|
+
var data = Data__default['default'].getData(element, DATA_KEY);
|
|
290
502
|
|
|
291
|
-
|
|
292
|
-
return this.each(function () {
|
|
293
|
-
var $this = $(this);
|
|
294
|
-
var data = $this.data(DATA_KEY);
|
|
503
|
+
var _config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(element), typeof config === 'object' && config ? config : {});
|
|
295
504
|
|
|
296
|
-
|
|
505
|
+
if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
|
|
506
|
+
_config.toggle = false;
|
|
507
|
+
}
|
|
297
508
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
509
|
+
if (!data) {
|
|
510
|
+
data = new Collapse(element, _config);
|
|
511
|
+
}
|
|
301
512
|
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
513
|
+
if (typeof config === 'string') {
|
|
514
|
+
if (typeof data[config] === 'undefined') {
|
|
515
|
+
throw new TypeError("No method named \"" + config + "\"");
|
|
305
516
|
}
|
|
306
517
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
}
|
|
518
|
+
data[config]();
|
|
519
|
+
}
|
|
520
|
+
};
|
|
311
521
|
|
|
312
|
-
|
|
313
|
-
|
|
522
|
+
Collapse.jQueryInterface = function jQueryInterface(config) {
|
|
523
|
+
return this.each(function () {
|
|
524
|
+
Collapse.collapseInterface(this, config);
|
|
314
525
|
});
|
|
315
526
|
};
|
|
316
527
|
|
|
317
|
-
_createClass(Collapse, null, [{
|
|
318
|
-
key: "
|
|
528
|
+
_createClass$1(Collapse, null, [{
|
|
529
|
+
key: "Default",
|
|
319
530
|
get: function get() {
|
|
320
|
-
return
|
|
531
|
+
return Default;
|
|
321
532
|
}
|
|
322
533
|
}, {
|
|
323
|
-
key: "
|
|
534
|
+
key: "DATA_KEY",
|
|
324
535
|
get: function get() {
|
|
325
|
-
return
|
|
536
|
+
return DATA_KEY;
|
|
326
537
|
}
|
|
327
538
|
}]);
|
|
328
539
|
|
|
329
540
|
return Collapse;
|
|
330
|
-
}();
|
|
541
|
+
}(BaseComponent);
|
|
331
542
|
/**
|
|
332
543
|
* ------------------------------------------------------------------------
|
|
333
544
|
* Data Api implementation
|
|
@@ -335,36 +546,56 @@
|
|
|
335
546
|
*/
|
|
336
547
|
|
|
337
548
|
|
|
338
|
-
|
|
549
|
+
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
339
550
|
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
|
|
340
|
-
if (event.
|
|
551
|
+
if (event.target.tagName === 'A') {
|
|
341
552
|
event.preventDefault();
|
|
342
553
|
}
|
|
343
554
|
|
|
344
|
-
var
|
|
345
|
-
var selector =
|
|
346
|
-
var
|
|
347
|
-
|
|
348
|
-
var
|
|
349
|
-
var
|
|
350
|
-
|
|
555
|
+
var triggerData = Manipulator__default['default'].getDataAttributes(this);
|
|
556
|
+
var selector = getSelectorFromElement(this);
|
|
557
|
+
var selectorElements = SelectorEngine__default['default'].find(selector);
|
|
558
|
+
selectorElements.forEach(function (element) {
|
|
559
|
+
var data = Data__default['default'].getData(element, DATA_KEY);
|
|
560
|
+
var config;
|
|
561
|
+
|
|
562
|
+
if (data) {
|
|
563
|
+
// update parent attribute
|
|
564
|
+
if (data._parent === null && typeof triggerData.parent === 'string') {
|
|
565
|
+
data._config.parent = triggerData.parent;
|
|
566
|
+
data._parent = data._getParent();
|
|
567
|
+
}
|
|
351
568
|
|
|
352
|
-
|
|
569
|
+
config = 'toggle';
|
|
570
|
+
} else {
|
|
571
|
+
config = triggerData;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
Collapse.collapseInterface(element, config);
|
|
353
575
|
});
|
|
354
576
|
});
|
|
355
577
|
/**
|
|
356
578
|
* ------------------------------------------------------------------------
|
|
357
579
|
* jQuery
|
|
358
580
|
* ------------------------------------------------------------------------
|
|
581
|
+
* add .Collapse to jQuery only if jQuery is present
|
|
359
582
|
*/
|
|
360
583
|
|
|
361
|
-
|
|
362
|
-
|
|
584
|
+
onDOMContentLoaded(function () {
|
|
585
|
+
var $ = getjQuery();
|
|
586
|
+
/* istanbul ignore if */
|
|
363
587
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
588
|
+
if ($) {
|
|
589
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
590
|
+
$.fn[NAME] = Collapse.jQueryInterface;
|
|
591
|
+
$.fn[NAME].Constructor = Collapse;
|
|
592
|
+
|
|
593
|
+
$.fn[NAME].noConflict = function () {
|
|
594
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
595
|
+
return Collapse.jQueryInterface;
|
|
596
|
+
};
|
|
597
|
+
}
|
|
598
|
+
});
|
|
368
599
|
|
|
369
600
|
return Collapse;
|
|
370
601
|
|