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,16 +1,47 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap popover.js
|
|
2
|
+
* Bootstrap popover.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.Popover = factory(global.
|
|
10
|
-
}(this, (function (
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/selector-engine.js'), require('./tooltip.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/selector-engine', './tooltip'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.Data, global.SelectorEngine, global.Tooltip));
|
|
10
|
+
}(this, (function (Data, SelectorEngine, Tooltip) { 'use strict';
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
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 SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
16
|
+
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* --------------------------------------------------------------------------
|
|
20
|
+
* Bootstrap (v5.0.0-beta1): util/index.js
|
|
21
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
22
|
+
* --------------------------------------------------------------------------
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
var getjQuery = function getjQuery() {
|
|
26
|
+
var _window = window,
|
|
27
|
+
jQuery = _window.jQuery;
|
|
28
|
+
|
|
29
|
+
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
|
30
|
+
return jQuery;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return null;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var onDOMContentLoaded = function onDOMContentLoaded(callback) {
|
|
37
|
+
if (document.readyState === 'loading') {
|
|
38
|
+
document.addEventListener('DOMContentLoaded', callback);
|
|
39
|
+
} else {
|
|
40
|
+
callback();
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
var isRTL = document.documentElement.dir === 'rtl';
|
|
14
45
|
|
|
15
46
|
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); } }
|
|
16
47
|
|
|
@@ -26,28 +57,22 @@
|
|
|
26
57
|
*/
|
|
27
58
|
|
|
28
59
|
var NAME = 'popover';
|
|
29
|
-
var VERSION = '4.5.2';
|
|
30
60
|
var DATA_KEY = 'bs.popover';
|
|
31
61
|
var EVENT_KEY = "." + DATA_KEY;
|
|
32
|
-
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
33
62
|
var CLASS_PREFIX = 'bs-popover';
|
|
34
63
|
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
|
35
64
|
|
|
36
|
-
var Default = _extends({},
|
|
65
|
+
var Default = _extends({}, Tooltip__default['default'].Default, {
|
|
37
66
|
placement: 'right',
|
|
38
67
|
trigger: 'click',
|
|
39
68
|
content: '',
|
|
40
|
-
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div
|
|
69
|
+
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
|
|
41
70
|
});
|
|
42
71
|
|
|
43
|
-
var DefaultType = _extends({},
|
|
72
|
+
var DefaultType = _extends({}, Tooltip__default['default'].DefaultType, {
|
|
44
73
|
content: '(string|element|function)'
|
|
45
74
|
});
|
|
46
75
|
|
|
47
|
-
var CLASS_NAME_FADE = 'fade';
|
|
48
|
-
var CLASS_NAME_SHOW = 'show';
|
|
49
|
-
var SELECTOR_TITLE = '.popover-header';
|
|
50
|
-
var SELECTOR_CONTENT = '.popover-body';
|
|
51
76
|
var Event = {
|
|
52
77
|
HIDE: "hide" + EVENT_KEY,
|
|
53
78
|
HIDDEN: "hidden" + EVENT_KEY,
|
|
@@ -60,6 +85,10 @@
|
|
|
60
85
|
MOUSEENTER: "mouseenter" + EVENT_KEY,
|
|
61
86
|
MOUSELEAVE: "mouseleave" + EVENT_KEY
|
|
62
87
|
};
|
|
88
|
+
var CLASS_NAME_FADE = 'fade';
|
|
89
|
+
var CLASS_NAME_SHOW = 'show';
|
|
90
|
+
var SELECTOR_TITLE = '.popover-header';
|
|
91
|
+
var SELECTOR_CONTENT = '.popover-body';
|
|
63
92
|
/**
|
|
64
93
|
* ------------------------------------------------------------------------
|
|
65
94
|
* Class Definition
|
|
@@ -80,48 +109,47 @@
|
|
|
80
109
|
return this.getTitle() || this._getContent();
|
|
81
110
|
};
|
|
82
111
|
|
|
83
|
-
_proto.addAttachmentClass = function addAttachmentClass(attachment) {
|
|
84
|
-
$(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
_proto.getTipElement = function getTipElement() {
|
|
88
|
-
this.tip = this.tip || $(this.config.template)[0];
|
|
89
|
-
return this.tip;
|
|
90
|
-
};
|
|
91
|
-
|
|
92
112
|
_proto.setContent = function setContent() {
|
|
93
|
-
var
|
|
113
|
+
var tip = this.getTipElement(); // we use append for html objects to maintain js events
|
|
94
114
|
|
|
95
|
-
this.setElementContent(
|
|
115
|
+
this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_TITLE, tip), this.getTitle());
|
|
96
116
|
|
|
97
117
|
var content = this._getContent();
|
|
98
118
|
|
|
99
119
|
if (typeof content === 'function') {
|
|
100
|
-
content = content.call(this.
|
|
120
|
+
content = content.call(this._element);
|
|
101
121
|
}
|
|
102
122
|
|
|
103
|
-
this.setElementContent(
|
|
104
|
-
|
|
123
|
+
this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, tip), content);
|
|
124
|
+
tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);
|
|
105
125
|
} // Private
|
|
106
126
|
;
|
|
107
127
|
|
|
128
|
+
_proto._addAttachmentClass = function _addAttachmentClass(attachment) {
|
|
129
|
+
this.getTipElement().classList.add(CLASS_PREFIX + "-" + this.updateAttachment(attachment));
|
|
130
|
+
};
|
|
131
|
+
|
|
108
132
|
_proto._getContent = function _getContent() {
|
|
109
|
-
return this.
|
|
133
|
+
return this._element.getAttribute('data-bs-content') || this.config.content;
|
|
110
134
|
};
|
|
111
135
|
|
|
112
136
|
_proto._cleanTipClass = function _cleanTipClass() {
|
|
113
|
-
var
|
|
114
|
-
var tabClass =
|
|
137
|
+
var tip = this.getTipElement();
|
|
138
|
+
var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
|
|
115
139
|
|
|
116
140
|
if (tabClass !== null && tabClass.length > 0) {
|
|
117
|
-
|
|
141
|
+
tabClass.map(function (token) {
|
|
142
|
+
return token.trim();
|
|
143
|
+
}).forEach(function (tClass) {
|
|
144
|
+
return tip.classList.remove(tClass);
|
|
145
|
+
});
|
|
118
146
|
}
|
|
119
147
|
} // Static
|
|
120
148
|
;
|
|
121
149
|
|
|
122
|
-
Popover.
|
|
150
|
+
Popover.jQueryInterface = function jQueryInterface(config) {
|
|
123
151
|
return this.each(function () {
|
|
124
|
-
var data =
|
|
152
|
+
var data = Data__default['default'].getData(this, DATA_KEY);
|
|
125
153
|
|
|
126
154
|
var _config = typeof config === 'object' ? config : null;
|
|
127
155
|
|
|
@@ -131,7 +159,7 @@
|
|
|
131
159
|
|
|
132
160
|
if (!data) {
|
|
133
161
|
data = new Popover(this, _config);
|
|
134
|
-
|
|
162
|
+
Data__default['default'].setData(this, DATA_KEY, data);
|
|
135
163
|
}
|
|
136
164
|
|
|
137
165
|
if (typeof config === 'string') {
|
|
@@ -145,13 +173,8 @@
|
|
|
145
173
|
};
|
|
146
174
|
|
|
147
175
|
_createClass(Popover, null, [{
|
|
148
|
-
key: "VERSION",
|
|
149
|
-
// Getters
|
|
150
|
-
get: function get() {
|
|
151
|
-
return VERSION;
|
|
152
|
-
}
|
|
153
|
-
}, {
|
|
154
176
|
key: "Default",
|
|
177
|
+
// Getters
|
|
155
178
|
get: function get() {
|
|
156
179
|
return Default;
|
|
157
180
|
}
|
|
@@ -183,21 +206,30 @@
|
|
|
183
206
|
}]);
|
|
184
207
|
|
|
185
208
|
return Popover;
|
|
186
|
-
}(
|
|
209
|
+
}(Tooltip__default['default']);
|
|
187
210
|
/**
|
|
188
211
|
* ------------------------------------------------------------------------
|
|
189
212
|
* jQuery
|
|
190
213
|
* ------------------------------------------------------------------------
|
|
214
|
+
* add .Popover to jQuery only if jQuery is present
|
|
191
215
|
*/
|
|
192
216
|
|
|
193
217
|
|
|
194
|
-
|
|
195
|
-
|
|
218
|
+
onDOMContentLoaded(function () {
|
|
219
|
+
var $ = getjQuery();
|
|
220
|
+
/* istanbul ignore if */
|
|
196
221
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
222
|
+
if ($) {
|
|
223
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
224
|
+
$.fn[NAME] = Popover.jQueryInterface;
|
|
225
|
+
$.fn[NAME].Constructor = Popover;
|
|
226
|
+
|
|
227
|
+
$.fn[NAME].noConflict = function () {
|
|
228
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
229
|
+
return Popover.jQueryInterface;
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
});
|
|
201
233
|
|
|
202
234
|
return Popover;
|
|
203
235
|
|
|
@@ -1,18 +1,108 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap scrollspy.js
|
|
2
|
+
* Bootstrap scrollspy.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.ScrollSpy = 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.ScrollSpy = 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 MAX_UID = 1000000;
|
|
26
|
+
|
|
27
|
+
var toType = function toType(obj) {
|
|
28
|
+
if (obj === null || obj === undefined) {
|
|
29
|
+
return "" + obj;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* --------------------------------------------------------------------------
|
|
36
|
+
* Public Util Api
|
|
37
|
+
* --------------------------------------------------------------------------
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
var getUID = function getUID(prefix) {
|
|
42
|
+
do {
|
|
43
|
+
prefix += Math.floor(Math.random() * MAX_UID);
|
|
44
|
+
} while (document.getElementById(prefix));
|
|
45
|
+
|
|
46
|
+
return prefix;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
var getSelector = function getSelector(element) {
|
|
50
|
+
var selector = element.getAttribute('data-bs-target');
|
|
51
|
+
|
|
52
|
+
if (!selector || selector === '#') {
|
|
53
|
+
var hrefAttr = element.getAttribute('href');
|
|
54
|
+
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return selector;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
var getSelectorFromElement = function getSelectorFromElement(element) {
|
|
61
|
+
var selector = getSelector(element);
|
|
62
|
+
|
|
63
|
+
if (selector) {
|
|
64
|
+
return document.querySelector(selector) ? selector : null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return null;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
var isElement = function isElement(obj) {
|
|
71
|
+
return (obj[0] || obj).nodeType;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
|
|
75
|
+
Object.keys(configTypes).forEach(function (property) {
|
|
76
|
+
var expectedTypes = configTypes[property];
|
|
77
|
+
var value = config[property];
|
|
78
|
+
var valueType = value && isElement(value) ? 'element' : toType(value);
|
|
79
|
+
|
|
80
|
+
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
81
|
+
throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
var getjQuery = function getjQuery() {
|
|
87
|
+
var _window = window,
|
|
88
|
+
jQuery = _window.jQuery;
|
|
89
|
+
|
|
90
|
+
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
|
91
|
+
return jQuery;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return null;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
var onDOMContentLoaded = function onDOMContentLoaded(callback) {
|
|
98
|
+
if (document.readyState === 'loading') {
|
|
99
|
+
document.addEventListener('DOMContentLoaded', callback);
|
|
100
|
+
} else {
|
|
101
|
+
callback();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
var isRTL = document.documentElement.dir === 'rtl';
|
|
16
106
|
|
|
17
107
|
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
108
|
|
|
@@ -23,12 +113,58 @@
|
|
|
23
113
|
* ------------------------------------------------------------------------
|
|
24
114
|
*/
|
|
25
115
|
|
|
116
|
+
var VERSION = '5.0.0-beta1';
|
|
117
|
+
|
|
118
|
+
var BaseComponent = /*#__PURE__*/function () {
|
|
119
|
+
function BaseComponent(element) {
|
|
120
|
+
if (!element) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
this._element = element;
|
|
125
|
+
Data__default['default'].setData(element, this.constructor.DATA_KEY, this);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
var _proto = BaseComponent.prototype;
|
|
129
|
+
|
|
130
|
+
_proto.dispose = function dispose() {
|
|
131
|
+
Data__default['default'].removeData(this._element, this.constructor.DATA_KEY);
|
|
132
|
+
this._element = null;
|
|
133
|
+
}
|
|
134
|
+
/** Static */
|
|
135
|
+
;
|
|
136
|
+
|
|
137
|
+
BaseComponent.getInstance = function getInstance(element) {
|
|
138
|
+
return Data__default['default'].getData(element, this.DATA_KEY);
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
_createClass(BaseComponent, null, [{
|
|
142
|
+
key: "VERSION",
|
|
143
|
+
get: function get() {
|
|
144
|
+
return VERSION;
|
|
145
|
+
}
|
|
146
|
+
}]);
|
|
147
|
+
|
|
148
|
+
return BaseComponent;
|
|
149
|
+
}();
|
|
150
|
+
|
|
151
|
+
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); }
|
|
152
|
+
|
|
153
|
+
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); } }
|
|
154
|
+
|
|
155
|
+
function _createClass$1(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties$1(Constructor.prototype, protoProps); if (staticProps) _defineProperties$1(Constructor, staticProps); return Constructor; }
|
|
156
|
+
|
|
157
|
+
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
|
|
158
|
+
/**
|
|
159
|
+
* ------------------------------------------------------------------------
|
|
160
|
+
* Constants
|
|
161
|
+
* ------------------------------------------------------------------------
|
|
162
|
+
*/
|
|
163
|
+
|
|
26
164
|
var NAME = 'scrollspy';
|
|
27
|
-
var VERSION = '4.5.2';
|
|
28
165
|
var DATA_KEY = 'bs.scrollspy';
|
|
29
166
|
var EVENT_KEY = "." + DATA_KEY;
|
|
30
167
|
var DATA_API_KEY = '.data-api';
|
|
31
|
-
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
32
168
|
var Default = {
|
|
33
169
|
offset: 10,
|
|
34
170
|
method: 'auto',
|
|
@@ -44,13 +180,12 @@
|
|
|
44
180
|
var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
|
|
45
181
|
var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
|
|
46
182
|
var CLASS_NAME_ACTIVE = 'active';
|
|
47
|
-
var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
|
|
183
|
+
var SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
|
|
48
184
|
var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
|
49
185
|
var SELECTOR_NAV_LINKS = '.nav-link';
|
|
50
186
|
var SELECTOR_NAV_ITEMS = '.nav-item';
|
|
51
187
|
var SELECTOR_LIST_ITEMS = '.list-group-item';
|
|
52
188
|
var SELECTOR_DROPDOWN = '.dropdown';
|
|
53
|
-
var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
|
|
54
189
|
var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
|
|
55
190
|
var METHOD_OFFSET = 'offset';
|
|
56
191
|
var METHOD_POSITION = 'position';
|
|
@@ -60,24 +195,29 @@
|
|
|
60
195
|
* ------------------------------------------------------------------------
|
|
61
196
|
*/
|
|
62
197
|
|
|
63
|
-
var ScrollSpy = /*#__PURE__*/function () {
|
|
64
|
-
|
|
65
|
-
var _this = this;
|
|
198
|
+
var ScrollSpy = /*#__PURE__*/function (_BaseComponent) {
|
|
199
|
+
_inheritsLoose(ScrollSpy, _BaseComponent);
|
|
66
200
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
201
|
+
function ScrollSpy(element, config) {
|
|
202
|
+
var _this;
|
|
203
|
+
|
|
204
|
+
_this = _BaseComponent.call(this, element) || this;
|
|
205
|
+
_this._scrollElement = element.tagName === 'BODY' ? window : element;
|
|
206
|
+
_this._config = _this._getConfig(config);
|
|
207
|
+
_this._selector = _this._config.target + " " + SELECTOR_NAV_LINKS + ", " + _this._config.target + " " + SELECTOR_LIST_ITEMS + ", " + _this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM;
|
|
208
|
+
_this._offsets = [];
|
|
209
|
+
_this._targets = [];
|
|
210
|
+
_this._activeTarget = null;
|
|
211
|
+
_this._scrollHeight = 0;
|
|
212
|
+
EventHandler__default['default'].on(_this._scrollElement, EVENT_SCROLL, function (event) {
|
|
76
213
|
return _this._process(event);
|
|
77
214
|
});
|
|
78
|
-
this.refresh();
|
|
79
215
|
|
|
80
|
-
|
|
216
|
+
_this.refresh();
|
|
217
|
+
|
|
218
|
+
_this._process();
|
|
219
|
+
|
|
220
|
+
return _this;
|
|
81
221
|
} // Getters
|
|
82
222
|
|
|
83
223
|
|
|
@@ -93,21 +233,16 @@
|
|
|
93
233
|
this._offsets = [];
|
|
94
234
|
this._targets = [];
|
|
95
235
|
this._scrollHeight = this._getScrollHeight();
|
|
96
|
-
var targets = [].
|
|
236
|
+
var targets = SelectorEngine__default['default'].find(this._selector);
|
|
97
237
|
targets.map(function (element) {
|
|
98
|
-
var
|
|
99
|
-
var
|
|
100
|
-
|
|
101
|
-
if (targetSelector) {
|
|
102
|
-
target = document.querySelector(targetSelector);
|
|
103
|
-
}
|
|
238
|
+
var targetSelector = getSelectorFromElement(element);
|
|
239
|
+
var target = targetSelector ? SelectorEngine__default['default'].findOne(targetSelector) : null;
|
|
104
240
|
|
|
105
241
|
if (target) {
|
|
106
242
|
var targetBCR = target.getBoundingClientRect();
|
|
107
243
|
|
|
108
244
|
if (targetBCR.width || targetBCR.height) {
|
|
109
|
-
|
|
110
|
-
return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
|
|
245
|
+
return [Manipulator__default['default'][offsetMethod](target).top + offsetBase, targetSelector];
|
|
111
246
|
}
|
|
112
247
|
}
|
|
113
248
|
|
|
@@ -124,9 +259,9 @@
|
|
|
124
259
|
};
|
|
125
260
|
|
|
126
261
|
_proto.dispose = function dispose() {
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
this.
|
|
262
|
+
_BaseComponent.prototype.dispose.call(this);
|
|
263
|
+
|
|
264
|
+
EventHandler__default['default'].off(this._scrollElement, EVENT_KEY);
|
|
130
265
|
this._scrollElement = null;
|
|
131
266
|
this._config = null;
|
|
132
267
|
this._selector = null;
|
|
@@ -140,18 +275,18 @@
|
|
|
140
275
|
_proto._getConfig = function _getConfig(config) {
|
|
141
276
|
config = _extends({}, Default, typeof config === 'object' && config ? config : {});
|
|
142
277
|
|
|
143
|
-
if (typeof config.target !== 'string' &&
|
|
144
|
-
var id =
|
|
278
|
+
if (typeof config.target !== 'string' && isElement(config.target)) {
|
|
279
|
+
var id = config.target.id;
|
|
145
280
|
|
|
146
281
|
if (!id) {
|
|
147
|
-
id =
|
|
148
|
-
|
|
282
|
+
id = getUID(NAME);
|
|
283
|
+
config.target.id = id;
|
|
149
284
|
}
|
|
150
285
|
|
|
151
286
|
config.target = "#" + id;
|
|
152
287
|
}
|
|
153
288
|
|
|
154
|
-
|
|
289
|
+
typeCheckConfig(NAME, config, DefaultType);
|
|
155
290
|
return config;
|
|
156
291
|
};
|
|
157
292
|
|
|
@@ -211,31 +346,39 @@
|
|
|
211
346
|
this._clear();
|
|
212
347
|
|
|
213
348
|
var queries = this._selector.split(',').map(function (selector) {
|
|
214
|
-
return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
|
|
349
|
+
return selector + "[data-bs-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
|
|
215
350
|
});
|
|
216
351
|
|
|
217
|
-
var
|
|
352
|
+
var link = SelectorEngine__default['default'].findOne(queries.join(','));
|
|
218
353
|
|
|
219
|
-
if (
|
|
220
|
-
|
|
221
|
-
|
|
354
|
+
if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
|
355
|
+
SelectorEngine__default['default'].findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE);
|
|
356
|
+
link.classList.add(CLASS_NAME_ACTIVE);
|
|
222
357
|
} else {
|
|
223
358
|
// Set triggered link as active
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
359
|
+
link.classList.add(CLASS_NAME_ACTIVE);
|
|
360
|
+
SelectorEngine__default['default'].parents(link, SELECTOR_NAV_LIST_GROUP).forEach(function (listGroup) {
|
|
361
|
+
// Set triggered links parents as active
|
|
362
|
+
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
|
363
|
+
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).forEach(function (item) {
|
|
364
|
+
return item.classList.add(CLASS_NAME_ACTIVE);
|
|
365
|
+
}); // Handle special case when .nav-link is inside .nav-item
|
|
366
|
+
|
|
367
|
+
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
|
|
368
|
+
SelectorEngine__default['default'].children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
|
|
369
|
+
return item.classList.add(CLASS_NAME_ACTIVE);
|
|
370
|
+
});
|
|
371
|
+
});
|
|
372
|
+
});
|
|
230
373
|
}
|
|
231
374
|
|
|
232
|
-
|
|
375
|
+
EventHandler__default['default'].trigger(this._scrollElement, EVENT_ACTIVATE, {
|
|
233
376
|
relatedTarget: target
|
|
234
377
|
});
|
|
235
378
|
};
|
|
236
379
|
|
|
237
380
|
_proto._clear = function _clear() {
|
|
238
|
-
[].
|
|
381
|
+
SelectorEngine__default['default'].find(this._selector).filter(function (node) {
|
|
239
382
|
return node.classList.contains(CLASS_NAME_ACTIVE);
|
|
240
383
|
}).forEach(function (node) {
|
|
241
384
|
return node.classList.remove(CLASS_NAME_ACTIVE);
|
|
@@ -243,15 +386,14 @@
|
|
|
243
386
|
} // Static
|
|
244
387
|
;
|
|
245
388
|
|
|
246
|
-
ScrollSpy.
|
|
389
|
+
ScrollSpy.jQueryInterface = function jQueryInterface(config) {
|
|
247
390
|
return this.each(function () {
|
|
248
|
-
var data =
|
|
391
|
+
var data = Data__default['default'].getData(this, DATA_KEY);
|
|
249
392
|
|
|
250
393
|
var _config = typeof config === 'object' && config;
|
|
251
394
|
|
|
252
395
|
if (!data) {
|
|
253
396
|
data = new ScrollSpy(this, _config);
|
|
254
|
-
$(this).data(DATA_KEY, data);
|
|
255
397
|
}
|
|
256
398
|
|
|
257
399
|
if (typeof config === 'string') {
|
|
@@ -264,20 +406,20 @@
|
|
|
264
406
|
});
|
|
265
407
|
};
|
|
266
408
|
|
|
267
|
-
_createClass(ScrollSpy, null, [{
|
|
268
|
-
key: "
|
|
409
|
+
_createClass$1(ScrollSpy, null, [{
|
|
410
|
+
key: "Default",
|
|
269
411
|
get: function get() {
|
|
270
|
-
return
|
|
412
|
+
return Default;
|
|
271
413
|
}
|
|
272
414
|
}, {
|
|
273
|
-
key: "
|
|
415
|
+
key: "DATA_KEY",
|
|
274
416
|
get: function get() {
|
|
275
|
-
return
|
|
417
|
+
return DATA_KEY;
|
|
276
418
|
}
|
|
277
419
|
}]);
|
|
278
420
|
|
|
279
421
|
return ScrollSpy;
|
|
280
|
-
}();
|
|
422
|
+
}(BaseComponent);
|
|
281
423
|
/**
|
|
282
424
|
* ------------------------------------------------------------------------
|
|
283
425
|
* Data Api implementation
|
|
@@ -285,29 +427,33 @@
|
|
|
285
427
|
*/
|
|
286
428
|
|
|
287
429
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
for (var i = scrollSpysLength; i--;) {
|
|
293
|
-
var $spy = $(scrollSpys[i]);
|
|
294
|
-
|
|
295
|
-
ScrollSpy._jQueryInterface.call($spy, $spy.data());
|
|
296
|
-
}
|
|
430
|
+
EventHandler__default['default'].on(window, EVENT_LOAD_DATA_API, function () {
|
|
431
|
+
SelectorEngine__default['default'].find(SELECTOR_DATA_SPY).forEach(function (spy) {
|
|
432
|
+
return new ScrollSpy(spy, Manipulator__default['default'].getDataAttributes(spy));
|
|
433
|
+
});
|
|
297
434
|
});
|
|
298
435
|
/**
|
|
299
436
|
* ------------------------------------------------------------------------
|
|
300
437
|
* jQuery
|
|
301
438
|
* ------------------------------------------------------------------------
|
|
439
|
+
* add .ScrollSpy to jQuery only if jQuery is present
|
|
302
440
|
*/
|
|
303
441
|
|
|
304
|
-
|
|
305
|
-
|
|
442
|
+
onDOMContentLoaded(function () {
|
|
443
|
+
var $ = getjQuery();
|
|
444
|
+
/* istanbul ignore if */
|
|
306
445
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
446
|
+
if ($) {
|
|
447
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
448
|
+
$.fn[NAME] = ScrollSpy.jQueryInterface;
|
|
449
|
+
$.fn[NAME].Constructor = ScrollSpy;
|
|
450
|
+
|
|
451
|
+
$.fn[NAME].noConflict = function () {
|
|
452
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
453
|
+
return ScrollSpy.jQueryInterface;
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
});
|
|
311
457
|
|
|
312
458
|
return ScrollSpy;
|
|
313
459
|
|