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
|
@@ -1,82 +1,145 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap collapse.js
|
|
3
|
-
* Copyright 2011-
|
|
4
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
|
2
|
+
* Bootstrap collapse.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
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 = global || self, global.Collapse = factory(global.
|
|
10
|
-
}(this, (function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], 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
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
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-alpha2): 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;
|
|
22
31
|
}
|
|
23
|
-
}
|
|
24
32
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
28
|
-
return Constructor;
|
|
29
|
-
}
|
|
33
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
34
|
+
};
|
|
30
35
|
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
writable: true
|
|
38
|
-
});
|
|
39
|
-
} else {
|
|
40
|
-
obj[key] = value;
|
|
36
|
+
var getSelector = function getSelector(element) {
|
|
37
|
+
var selector = element.getAttribute('data-target');
|
|
38
|
+
|
|
39
|
+
if (!selector || selector === '#') {
|
|
40
|
+
var hrefAttr = element.getAttribute('href');
|
|
41
|
+
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
return
|
|
44
|
-
}
|
|
44
|
+
return selector;
|
|
45
|
+
};
|
|
45
46
|
|
|
46
|
-
function
|
|
47
|
-
var
|
|
47
|
+
var getSelectorFromElement = function getSelectorFromElement(element) {
|
|
48
|
+
var selector = getSelector(element);
|
|
48
49
|
|
|
49
|
-
if (
|
|
50
|
-
|
|
51
|
-
if (enumerableOnly) symbols = symbols.filter(function (sym) {
|
|
52
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
53
|
-
});
|
|
54
|
-
keys.push.apply(keys, symbols);
|
|
50
|
+
if (selector) {
|
|
51
|
+
return document.querySelector(selector) ? selector : null;
|
|
55
52
|
}
|
|
56
53
|
|
|
57
|
-
return
|
|
58
|
-
}
|
|
54
|
+
return null;
|
|
55
|
+
};
|
|
59
56
|
|
|
60
|
-
function
|
|
61
|
-
|
|
62
|
-
|
|
57
|
+
var getElementFromSelector = function getElementFromSelector(element) {
|
|
58
|
+
var selector = getSelector(element);
|
|
59
|
+
return selector ? document.querySelector(selector) : null;
|
|
60
|
+
};
|
|
63
61
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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 = parseFloat(transitionDuration);
|
|
73
|
+
var floatTransitionDelay = 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 (parseFloat(transitionDuration) + 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);
|
|
74
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-no-jquery')) {
|
|
132
|
+
return jQuery;
|
|
75
133
|
}
|
|
76
134
|
|
|
77
|
-
return
|
|
78
|
-
}
|
|
135
|
+
return null;
|
|
136
|
+
};
|
|
79
137
|
|
|
138
|
+
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); }
|
|
139
|
+
|
|
140
|
+
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); } }
|
|
141
|
+
|
|
142
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
80
143
|
/**
|
|
81
144
|
* ------------------------------------------------------------------------
|
|
82
145
|
* Constants
|
|
@@ -84,11 +147,10 @@
|
|
|
84
147
|
*/
|
|
85
148
|
|
|
86
149
|
var NAME = 'collapse';
|
|
87
|
-
var VERSION = '
|
|
150
|
+
var VERSION = '5.0.0-alpha2';
|
|
88
151
|
var DATA_KEY = 'bs.collapse';
|
|
89
152
|
var EVENT_KEY = "." + DATA_KEY;
|
|
90
153
|
var DATA_API_KEY = '.data-api';
|
|
91
|
-
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
92
154
|
var Default = {
|
|
93
155
|
toggle: true,
|
|
94
156
|
parent: ''
|
|
@@ -97,51 +159,41 @@
|
|
|
97
159
|
toggle: 'boolean',
|
|
98
160
|
parent: '(string|element)'
|
|
99
161
|
};
|
|
100
|
-
var
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
var
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
var Dimension = {
|
|
114
|
-
WIDTH: 'width',
|
|
115
|
-
HEIGHT: 'height'
|
|
116
|
-
};
|
|
117
|
-
var Selector = {
|
|
118
|
-
ACTIVES: '.show, .collapsing',
|
|
119
|
-
DATA_TOGGLE: '[data-toggle="collapse"]'
|
|
120
|
-
};
|
|
162
|
+
var EVENT_SHOW = "show" + EVENT_KEY;
|
|
163
|
+
var EVENT_SHOWN = "shown" + EVENT_KEY;
|
|
164
|
+
var EVENT_HIDE = "hide" + EVENT_KEY;
|
|
165
|
+
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
|
|
166
|
+
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
|
167
|
+
var CLASS_NAME_SHOW = 'show';
|
|
168
|
+
var CLASS_NAME_COLLAPSE = 'collapse';
|
|
169
|
+
var CLASS_NAME_COLLAPSING = 'collapsing';
|
|
170
|
+
var CLASS_NAME_COLLAPSED = 'collapsed';
|
|
171
|
+
var WIDTH = 'width';
|
|
172
|
+
var HEIGHT = 'height';
|
|
173
|
+
var SELECTOR_ACTIVES = '.show, .collapsing';
|
|
174
|
+
var SELECTOR_DATA_TOGGLE = '[data-toggle="collapse"]';
|
|
121
175
|
/**
|
|
122
176
|
* ------------------------------------------------------------------------
|
|
123
177
|
* Class Definition
|
|
124
178
|
* ------------------------------------------------------------------------
|
|
125
179
|
*/
|
|
126
180
|
|
|
127
|
-
var Collapse =
|
|
128
|
-
/*#__PURE__*/
|
|
129
|
-
function () {
|
|
181
|
+
var Collapse = /*#__PURE__*/function () {
|
|
130
182
|
function Collapse(element, config) {
|
|
131
183
|
this._isTransitioning = false;
|
|
132
184
|
this._element = element;
|
|
133
185
|
this._config = this._getConfig(config);
|
|
134
|
-
this._triggerArray = [].
|
|
135
|
-
var toggleList = [].
|
|
186
|
+
this._triggerArray = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE + "[href=\"#" + element.id + "\"]," + (SELECTOR_DATA_TOGGLE + "[data-target=\"#" + element.id + "\"]"));
|
|
187
|
+
var toggleList = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE);
|
|
136
188
|
|
|
137
189
|
for (var i = 0, len = toggleList.length; i < len; i++) {
|
|
138
190
|
var elem = toggleList[i];
|
|
139
|
-
var selector =
|
|
140
|
-
var filterElement = [].
|
|
191
|
+
var selector = getSelectorFromElement(elem);
|
|
192
|
+
var filterElement = SelectorEngine__default['default'].find(selector).filter(function (foundElem) {
|
|
141
193
|
return foundElem === element;
|
|
142
194
|
});
|
|
143
195
|
|
|
144
|
-
if (selector !== null && filterElement.length
|
|
196
|
+
if (selector !== null && filterElement.length) {
|
|
145
197
|
this._selector = selector;
|
|
146
198
|
|
|
147
199
|
this._triggerArray.push(elem);
|
|
@@ -157,6 +209,8 @@
|
|
|
157
209
|
if (this._config.toggle) {
|
|
158
210
|
this.toggle();
|
|
159
211
|
}
|
|
212
|
+
|
|
213
|
+
Data__default['default'].setData(element, DATA_KEY, this);
|
|
160
214
|
} // Getters
|
|
161
215
|
|
|
162
216
|
|
|
@@ -164,7 +218,7 @@
|
|
|
164
218
|
|
|
165
219
|
// Public
|
|
166
220
|
_proto.toggle = function toggle() {
|
|
167
|
-
if (
|
|
221
|
+
if (this._element.classList.contains(CLASS_NAME_SHOW)) {
|
|
168
222
|
this.hide();
|
|
169
223
|
} else {
|
|
170
224
|
this.show();
|
|
@@ -174,7 +228,7 @@
|
|
|
174
228
|
_proto.show = function show() {
|
|
175
229
|
var _this = this;
|
|
176
230
|
|
|
177
|
-
if (this._isTransitioning ||
|
|
231
|
+
if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW)) {
|
|
178
232
|
return;
|
|
179
233
|
}
|
|
180
234
|
|
|
@@ -182,12 +236,12 @@
|
|
|
182
236
|
var activesData;
|
|
183
237
|
|
|
184
238
|
if (this._parent) {
|
|
185
|
-
actives = [].
|
|
239
|
+
actives = SelectorEngine__default['default'].find(SELECTOR_ACTIVES, this._parent).filter(function (elem) {
|
|
186
240
|
if (typeof _this._config.parent === 'string') {
|
|
187
241
|
return elem.getAttribute('data-parent') === _this._config.parent;
|
|
188
242
|
}
|
|
189
243
|
|
|
190
|
-
return elem.classList.contains(
|
|
244
|
+
return elem.classList.contains(CLASS_NAME_COLLAPSE);
|
|
191
245
|
});
|
|
192
246
|
|
|
193
247
|
if (actives.length === 0) {
|
|
@@ -195,88 +249,106 @@
|
|
|
195
249
|
}
|
|
196
250
|
}
|
|
197
251
|
|
|
252
|
+
var container = SelectorEngine__default['default'].findOne(this._selector);
|
|
253
|
+
|
|
198
254
|
if (actives) {
|
|
199
|
-
|
|
255
|
+
var tempActiveData = actives.filter(function (elem) {
|
|
256
|
+
return container !== elem;
|
|
257
|
+
});
|
|
258
|
+
activesData = tempActiveData[0] ? Data__default['default'].getData(tempActiveData[0], DATA_KEY) : null;
|
|
200
259
|
|
|
201
260
|
if (activesData && activesData._isTransitioning) {
|
|
202
261
|
return;
|
|
203
262
|
}
|
|
204
263
|
}
|
|
205
264
|
|
|
206
|
-
var startEvent =
|
|
207
|
-
$(this._element).trigger(startEvent);
|
|
265
|
+
var startEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW);
|
|
208
266
|
|
|
209
|
-
if (startEvent.
|
|
267
|
+
if (startEvent.defaultPrevented) {
|
|
210
268
|
return;
|
|
211
269
|
}
|
|
212
270
|
|
|
213
271
|
if (actives) {
|
|
214
|
-
|
|
272
|
+
actives.forEach(function (elemActive) {
|
|
273
|
+
if (container !== elemActive) {
|
|
274
|
+
Collapse.collapseInterface(elemActive, 'hide');
|
|
275
|
+
}
|
|
215
276
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
277
|
+
if (!activesData) {
|
|
278
|
+
Data__default['default'].setData(elemActive, DATA_KEY, null);
|
|
279
|
+
}
|
|
280
|
+
});
|
|
219
281
|
}
|
|
220
282
|
|
|
221
283
|
var dimension = this._getDimension();
|
|
222
284
|
|
|
223
|
-
|
|
285
|
+
this._element.classList.remove(CLASS_NAME_COLLAPSE);
|
|
286
|
+
|
|
287
|
+
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
|
288
|
+
|
|
224
289
|
this._element.style[dimension] = 0;
|
|
225
290
|
|
|
226
291
|
if (this._triggerArray.length) {
|
|
227
|
-
|
|
292
|
+
this._triggerArray.forEach(function (element) {
|
|
293
|
+
element.classList.remove(CLASS_NAME_COLLAPSED);
|
|
294
|
+
element.setAttribute('aria-expanded', true);
|
|
295
|
+
});
|
|
228
296
|
}
|
|
229
297
|
|
|
230
298
|
this.setTransitioning(true);
|
|
231
299
|
|
|
232
300
|
var complete = function complete() {
|
|
233
|
-
|
|
301
|
+
_this._element.classList.remove(CLASS_NAME_COLLAPSING);
|
|
302
|
+
|
|
303
|
+
_this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
|
304
|
+
|
|
234
305
|
_this._element.style[dimension] = '';
|
|
235
306
|
|
|
236
307
|
_this.setTransitioning(false);
|
|
237
308
|
|
|
238
|
-
|
|
309
|
+
EventHandler__default['default'].trigger(_this._element, EVENT_SHOWN);
|
|
239
310
|
};
|
|
240
311
|
|
|
241
312
|
var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
|
242
313
|
var scrollSize = "scroll" + capitalizedDimension;
|
|
243
|
-
var transitionDuration =
|
|
244
|
-
|
|
314
|
+
var transitionDuration = getTransitionDurationFromElement(this._element);
|
|
315
|
+
EventHandler__default['default'].one(this._element, TRANSITION_END, complete);
|
|
316
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
|
245
317
|
this._element.style[dimension] = this._element[scrollSize] + "px";
|
|
246
318
|
};
|
|
247
319
|
|
|
248
320
|
_proto.hide = function hide() {
|
|
249
321
|
var _this2 = this;
|
|
250
322
|
|
|
251
|
-
if (this._isTransitioning ||
|
|
323
|
+
if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW)) {
|
|
252
324
|
return;
|
|
253
325
|
}
|
|
254
326
|
|
|
255
|
-
var startEvent =
|
|
256
|
-
$(this._element).trigger(startEvent);
|
|
327
|
+
var startEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
|
|
257
328
|
|
|
258
|
-
if (startEvent.
|
|
329
|
+
if (startEvent.defaultPrevented) {
|
|
259
330
|
return;
|
|
260
331
|
}
|
|
261
332
|
|
|
262
333
|
var dimension = this._getDimension();
|
|
263
334
|
|
|
264
335
|
this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
|
|
265
|
-
|
|
266
|
-
|
|
336
|
+
reflow(this._element);
|
|
337
|
+
|
|
338
|
+
this._element.classList.add(CLASS_NAME_COLLAPSING);
|
|
339
|
+
|
|
340
|
+
this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
|
341
|
+
|
|
267
342
|
var triggerArrayLength = this._triggerArray.length;
|
|
268
343
|
|
|
269
344
|
if (triggerArrayLength > 0) {
|
|
270
345
|
for (var i = 0; i < triggerArrayLength; i++) {
|
|
271
346
|
var trigger = this._triggerArray[i];
|
|
272
|
-
var
|
|
273
|
-
|
|
274
|
-
if (selector !== null) {
|
|
275
|
-
var $elem = $([].slice.call(document.querySelectorAll(selector)));
|
|
347
|
+
var elem = getElementFromSelector(trigger);
|
|
276
348
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
349
|
+
if (elem && !elem.classList.contains(CLASS_NAME_SHOW)) {
|
|
350
|
+
trigger.classList.add(CLASS_NAME_COLLAPSED);
|
|
351
|
+
trigger.setAttribute('aria-expanded', false);
|
|
280
352
|
}
|
|
281
353
|
}
|
|
282
354
|
}
|
|
@@ -286,12 +358,17 @@
|
|
|
286
358
|
var complete = function complete() {
|
|
287
359
|
_this2.setTransitioning(false);
|
|
288
360
|
|
|
289
|
-
|
|
361
|
+
_this2._element.classList.remove(CLASS_NAME_COLLAPSING);
|
|
362
|
+
|
|
363
|
+
_this2._element.classList.add(CLASS_NAME_COLLAPSE);
|
|
364
|
+
|
|
365
|
+
EventHandler__default['default'].trigger(_this2._element, EVENT_HIDDEN);
|
|
290
366
|
};
|
|
291
367
|
|
|
292
368
|
this._element.style[dimension] = '';
|
|
293
|
-
var transitionDuration =
|
|
294
|
-
|
|
369
|
+
var transitionDuration = getTransitionDurationFromElement(this._element);
|
|
370
|
+
EventHandler__default['default'].one(this._element, TRANSITION_END, complete);
|
|
371
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
|
295
372
|
};
|
|
296
373
|
|
|
297
374
|
_proto.setTransitioning = function setTransitioning(isTransitioning) {
|
|
@@ -299,7 +376,7 @@
|
|
|
299
376
|
};
|
|
300
377
|
|
|
301
378
|
_proto.dispose = function dispose() {
|
|
302
|
-
|
|
379
|
+
Data__default['default'].removeData(this._element, DATA_KEY);
|
|
303
380
|
this._config = null;
|
|
304
381
|
this._parent = null;
|
|
305
382
|
this._element = null;
|
|
@@ -309,81 +386,90 @@
|
|
|
309
386
|
;
|
|
310
387
|
|
|
311
388
|
_proto._getConfig = function _getConfig(config) {
|
|
312
|
-
config =
|
|
389
|
+
config = _extends({}, Default, config);
|
|
313
390
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
|
314
391
|
|
|
315
|
-
|
|
392
|
+
typeCheckConfig(NAME, config, DefaultType);
|
|
316
393
|
return config;
|
|
317
394
|
};
|
|
318
395
|
|
|
319
396
|
_proto._getDimension = function _getDimension() {
|
|
320
|
-
|
|
321
|
-
return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;
|
|
397
|
+
return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT;
|
|
322
398
|
};
|
|
323
399
|
|
|
324
400
|
_proto._getParent = function _getParent() {
|
|
325
401
|
var _this3 = this;
|
|
326
402
|
|
|
327
|
-
var parent;
|
|
328
|
-
|
|
329
|
-
if (Util.isElement(this._config.parent)) {
|
|
330
|
-
parent = this._config.parent; // It's a jQuery object
|
|
403
|
+
var parent = this._config.parent;
|
|
331
404
|
|
|
332
|
-
|
|
333
|
-
|
|
405
|
+
if (isElement(parent)) {
|
|
406
|
+
// it's a jQuery object
|
|
407
|
+
if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {
|
|
408
|
+
parent = parent[0];
|
|
334
409
|
}
|
|
335
410
|
} else {
|
|
336
|
-
parent =
|
|
411
|
+
parent = SelectorEngine__default['default'].findOne(parent);
|
|
337
412
|
}
|
|
338
413
|
|
|
339
|
-
var selector = "[data-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
414
|
+
var selector = SELECTOR_DATA_TOGGLE + "[data-parent=\"" + parent + "\"]";
|
|
415
|
+
SelectorEngine__default['default'].find(selector, parent).forEach(function (element) {
|
|
416
|
+
var selected = getElementFromSelector(element);
|
|
417
|
+
|
|
418
|
+
_this3._addAriaAndCollapsedClass(selected, [element]);
|
|
343
419
|
});
|
|
344
420
|
return parent;
|
|
345
421
|
};
|
|
346
422
|
|
|
347
423
|
_proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
if (triggerArray.length) {
|
|
351
|
-
$(triggerArray).toggleClass(ClassName.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
|
|
424
|
+
if (!element || !triggerArray.length) {
|
|
425
|
+
return;
|
|
352
426
|
}
|
|
427
|
+
|
|
428
|
+
var isOpen = element.classList.contains(CLASS_NAME_SHOW);
|
|
429
|
+
triggerArray.forEach(function (elem) {
|
|
430
|
+
if (isOpen) {
|
|
431
|
+
elem.classList.remove(CLASS_NAME_COLLAPSED);
|
|
432
|
+
} else {
|
|
433
|
+
elem.classList.add(CLASS_NAME_COLLAPSED);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
elem.setAttribute('aria-expanded', isOpen);
|
|
437
|
+
});
|
|
353
438
|
} // Static
|
|
354
439
|
;
|
|
355
440
|
|
|
356
|
-
Collapse.
|
|
357
|
-
var
|
|
358
|
-
return selector ? document.querySelector(selector) : null;
|
|
359
|
-
};
|
|
441
|
+
Collapse.collapseInterface = function collapseInterface(element, config) {
|
|
442
|
+
var data = Data__default['default'].getData(element, DATA_KEY);
|
|
360
443
|
|
|
361
|
-
|
|
362
|
-
return this.each(function () {
|
|
363
|
-
var $this = $(this);
|
|
364
|
-
var data = $this.data(DATA_KEY);
|
|
444
|
+
var _config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(element), typeof config === 'object' && config ? config : {});
|
|
365
445
|
|
|
366
|
-
|
|
446
|
+
if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
|
|
447
|
+
_config.toggle = false;
|
|
448
|
+
}
|
|
367
449
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
450
|
+
if (!data) {
|
|
451
|
+
data = new Collapse(element, _config);
|
|
452
|
+
}
|
|
371
453
|
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
454
|
+
if (typeof config === 'string') {
|
|
455
|
+
if (typeof data[config] === 'undefined') {
|
|
456
|
+
throw new TypeError("No method named \"" + config + "\"");
|
|
375
457
|
}
|
|
376
458
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
}
|
|
459
|
+
data[config]();
|
|
460
|
+
}
|
|
461
|
+
};
|
|
381
462
|
|
|
382
|
-
|
|
383
|
-
|
|
463
|
+
Collapse.jQueryInterface = function jQueryInterface(config) {
|
|
464
|
+
return this.each(function () {
|
|
465
|
+
Collapse.collapseInterface(this, config);
|
|
384
466
|
});
|
|
385
467
|
};
|
|
386
468
|
|
|
469
|
+
Collapse.getInstance = function getInstance(element) {
|
|
470
|
+
return Data__default['default'].getData(element, DATA_KEY);
|
|
471
|
+
};
|
|
472
|
+
|
|
387
473
|
_createClass(Collapse, null, [{
|
|
388
474
|
key: "VERSION",
|
|
389
475
|
get: function get() {
|
|
@@ -405,36 +491,54 @@
|
|
|
405
491
|
*/
|
|
406
492
|
|
|
407
493
|
|
|
408
|
-
|
|
494
|
+
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
409
495
|
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
|
|
410
|
-
if (event.
|
|
496
|
+
if (event.target.tagName === 'A') {
|
|
411
497
|
event.preventDefault();
|
|
412
498
|
}
|
|
413
499
|
|
|
414
|
-
var
|
|
415
|
-
var selector =
|
|
416
|
-
var
|
|
417
|
-
|
|
418
|
-
var
|
|
419
|
-
var
|
|
420
|
-
|
|
500
|
+
var triggerData = Manipulator__default['default'].getDataAttributes(this);
|
|
501
|
+
var selector = getSelectorFromElement(this);
|
|
502
|
+
var selectorElements = SelectorEngine__default['default'].find(selector);
|
|
503
|
+
selectorElements.forEach(function (element) {
|
|
504
|
+
var data = Data__default['default'].getData(element, DATA_KEY);
|
|
505
|
+
var config;
|
|
506
|
+
|
|
507
|
+
if (data) {
|
|
508
|
+
// update parent attribute
|
|
509
|
+
if (data._parent === null && typeof triggerData.parent === 'string') {
|
|
510
|
+
data._config.parent = triggerData.parent;
|
|
511
|
+
data._parent = data._getParent();
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
config = 'toggle';
|
|
515
|
+
} else {
|
|
516
|
+
config = triggerData;
|
|
517
|
+
}
|
|
421
518
|
|
|
422
|
-
Collapse.
|
|
519
|
+
Collapse.collapseInterface(element, config);
|
|
423
520
|
});
|
|
424
521
|
});
|
|
522
|
+
var $ = getjQuery();
|
|
425
523
|
/**
|
|
426
524
|
* ------------------------------------------------------------------------
|
|
427
525
|
* jQuery
|
|
428
526
|
* ------------------------------------------------------------------------
|
|
527
|
+
* add .collapse to jQuery only if jQuery is present
|
|
429
528
|
*/
|
|
430
529
|
|
|
431
|
-
|
|
432
|
-
$.fn[NAME].Constructor = Collapse;
|
|
530
|
+
/* istanbul ignore if */
|
|
433
531
|
|
|
434
|
-
|
|
435
|
-
$.fn[NAME]
|
|
436
|
-
|
|
437
|
-
|
|
532
|
+
if ($) {
|
|
533
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
534
|
+
$.fn[NAME] = Collapse.jQueryInterface;
|
|
535
|
+
$.fn[NAME].Constructor = Collapse;
|
|
536
|
+
|
|
537
|
+
$.fn[NAME].noConflict = function () {
|
|
538
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
539
|
+
return Collapse.jQueryInterface;
|
|
540
|
+
};
|
|
541
|
+
}
|
|
438
542
|
|
|
439
543
|
return Collapse;
|
|
440
544
|
|