bootstrap 5.0.0.beta2 → 5.0.2
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/README.md +3 -3
- data/assets/javascripts/bootstrap-sprockets.js +8 -7
- data/assets/javascripts/bootstrap.js +2525 -2460
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +77 -179
- data/assets/javascripts/bootstrap/base-component.js +140 -38
- data/assets/javascripts/bootstrap/button.js +54 -100
- data/assets/javascripts/bootstrap/carousel.js +335 -451
- data/assets/javascripts/bootstrap/collapse.js +195 -303
- data/assets/javascripts/bootstrap/dom/data.js +34 -47
- data/assets/javascripts/bootstrap/dom/event-handler.js +95 -90
- data/assets/javascripts/bootstrap/dom/manipulator.js +23 -21
- data/assets/javascripts/bootstrap/dom/selector-engine.js +20 -28
- data/assets/javascripts/bootstrap/dropdown.js +323 -358
- data/assets/javascripts/bootstrap/modal.js +537 -489
- data/assets/javascripts/bootstrap/offcanvas.js +720 -0
- data/assets/javascripts/bootstrap/popover.js +112 -180
- data/assets/javascripts/bootstrap/scrollspy.js +167 -235
- data/assets/javascripts/bootstrap/tab.js +121 -188
- data/assets/javascripts/bootstrap/toast.js +166 -243
- data/assets/javascripts/bootstrap/tooltip.js +333 -495
- data/assets/stylesheets/_bootstrap-grid.scss +1 -1
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +2 -1
- data/assets/stylesheets/bootstrap/_accordion.scss +24 -32
- data/assets/stylesheets/bootstrap/_buttons.scss +2 -0
- data/assets/stylesheets/bootstrap/_card.scss +6 -6
- data/assets/stylesheets/bootstrap/_carousel.scss +2 -2
- data/assets/stylesheets/bootstrap/_dropdown.scss +14 -23
- data/assets/stylesheets/bootstrap/_functions.scss +61 -3
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +16 -5
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +8 -24
- data/assets/stylesheets/bootstrap/_nav.scss +7 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +2 -0
- data/assets/stylesheets/bootstrap/_offcanvas.scss +79 -0
- data/assets/stylesheets/bootstrap/_popover.scss +10 -10
- data/assets/stylesheets/bootstrap/_progress.scss +3 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +7 -21
- data/assets/stylesheets/bootstrap/_spinners.scss +6 -2
- data/assets/stylesheets/bootstrap/_tables.scss +1 -0
- data/assets/stylesheets/bootstrap/_toasts.scss +1 -1
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_transitions.scss +2 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +65 -37
- data/assets/stylesheets/bootstrap/_variables.scss +162 -50
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +3 -1
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +0 -4
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +3 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +7 -2
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_color-scheme.scss +7 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +25 -5
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +23 -11
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +2 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +55 -13
- data/bootstrap.gemspec +1 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +1 -1
- data/tasks/updater/network.rb +7 -1
- metadata +9 -6
@@ -1,80 +1,23 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap popover.js v5.0.
|
2
|
+
* Bootstrap popover.js v5.0.2 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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('./dom/
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/
|
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/selector-engine.js'), require('./tooltip.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './tooltip'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.SelectorEngine, global.Tooltip));
|
10
|
+
}(this, (function (SelectorEngine, Tooltip) { 'use strict';
|
11
11
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
13
13
|
|
14
|
-
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
15
14
|
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
16
15
|
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
17
16
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
descriptor.configurable = true;
|
23
|
-
if ("value" in descriptor) descriptor.writable = true;
|
24
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
25
|
-
}
|
26
|
-
}
|
27
|
-
|
28
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
29
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
30
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
31
|
-
return Constructor;
|
32
|
-
}
|
33
|
-
|
34
|
-
function _extends() {
|
35
|
-
_extends = Object.assign || function (target) {
|
36
|
-
for (var i = 1; i < arguments.length; i++) {
|
37
|
-
var source = arguments[i];
|
38
|
-
|
39
|
-
for (var key in source) {
|
40
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
41
|
-
target[key] = source[key];
|
42
|
-
}
|
43
|
-
}
|
44
|
-
}
|
45
|
-
|
46
|
-
return target;
|
47
|
-
};
|
48
|
-
|
49
|
-
return _extends.apply(this, arguments);
|
50
|
-
}
|
51
|
-
|
52
|
-
function _inheritsLoose(subClass, superClass) {
|
53
|
-
subClass.prototype = Object.create(superClass.prototype);
|
54
|
-
subClass.prototype.constructor = subClass;
|
55
|
-
|
56
|
-
_setPrototypeOf(subClass, superClass);
|
57
|
-
}
|
58
|
-
|
59
|
-
function _setPrototypeOf(o, p) {
|
60
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
61
|
-
o.__proto__ = p;
|
62
|
-
return o;
|
63
|
-
};
|
64
|
-
|
65
|
-
return _setPrototypeOf(o, p);
|
66
|
-
}
|
67
|
-
|
68
|
-
/**
|
69
|
-
* --------------------------------------------------------------------------
|
70
|
-
* Bootstrap (v5.0.0-beta2): util/index.js
|
71
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
72
|
-
* --------------------------------------------------------------------------
|
73
|
-
*/
|
74
|
-
|
75
|
-
var getjQuery = function getjQuery() {
|
76
|
-
var _window = window,
|
77
|
-
jQuery = _window.jQuery;
|
17
|
+
const getjQuery = () => {
|
18
|
+
const {
|
19
|
+
jQuery
|
20
|
+
} = window;
|
78
21
|
|
79
22
|
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
80
23
|
return jQuery;
|
@@ -83,27 +26,35 @@
|
|
83
26
|
return null;
|
84
27
|
};
|
85
28
|
|
86
|
-
|
29
|
+
const DOMContentLoadedCallbacks = [];
|
30
|
+
|
31
|
+
const onDOMContentLoaded = callback => {
|
87
32
|
if (document.readyState === 'loading') {
|
88
|
-
document
|
33
|
+
// add listener on the first call when the document is in loading state
|
34
|
+
if (!DOMContentLoadedCallbacks.length) {
|
35
|
+
document.addEventListener('DOMContentLoaded', () => {
|
36
|
+
DOMContentLoadedCallbacks.forEach(callback => callback());
|
37
|
+
});
|
38
|
+
}
|
39
|
+
|
40
|
+
DOMContentLoadedCallbacks.push(callback);
|
89
41
|
} else {
|
90
42
|
callback();
|
91
43
|
}
|
92
44
|
};
|
93
45
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
onDOMContentLoaded(function () {
|
98
|
-
var $ = getjQuery();
|
46
|
+
const defineJQueryPlugin = plugin => {
|
47
|
+
onDOMContentLoaded(() => {
|
48
|
+
const $ = getjQuery();
|
99
49
|
/* istanbul ignore if */
|
100
50
|
|
101
51
|
if ($) {
|
102
|
-
|
52
|
+
const name = plugin.NAME;
|
53
|
+
const JQUERY_NO_CONFLICT = $.fn[name];
|
103
54
|
$.fn[name] = plugin.jQueryInterface;
|
104
55
|
$.fn[name].Constructor = plugin;
|
105
56
|
|
106
|
-
$.fn[name].noConflict =
|
57
|
+
$.fn[name].noConflict = () => {
|
107
58
|
$.fn[name] = JQUERY_NO_CONFLICT;
|
108
59
|
return plugin.jQueryInterface;
|
109
60
|
};
|
@@ -111,72 +62,102 @@
|
|
111
62
|
});
|
112
63
|
};
|
113
64
|
|
65
|
+
/**
|
66
|
+
* --------------------------------------------------------------------------
|
67
|
+
* Bootstrap (v5.0.2): popover.js
|
68
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
69
|
+
* --------------------------------------------------------------------------
|
70
|
+
*/
|
114
71
|
/**
|
115
72
|
* ------------------------------------------------------------------------
|
116
73
|
* Constants
|
117
74
|
* ------------------------------------------------------------------------
|
118
75
|
*/
|
119
76
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
var Default = _extends({}, Tooltip__default['default'].Default, {
|
77
|
+
const NAME = 'popover';
|
78
|
+
const DATA_KEY = 'bs.popover';
|
79
|
+
const EVENT_KEY = `.${DATA_KEY}`;
|
80
|
+
const CLASS_PREFIX = 'bs-popover';
|
81
|
+
const BSCLS_PREFIX_REGEX = new RegExp(`(^|\\s)${CLASS_PREFIX}\\S+`, 'g');
|
82
|
+
const Default = { ...Tooltip__default['default'].Default,
|
127
83
|
placement: 'right',
|
128
84
|
offset: [0, 8],
|
129
85
|
trigger: 'click',
|
130
86
|
content: '',
|
131
87
|
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>'
|
132
|
-
}
|
133
|
-
|
134
|
-
var DefaultType = _extends({}, Tooltip__default['default'].DefaultType, {
|
88
|
+
};
|
89
|
+
const DefaultType = { ...Tooltip__default['default'].DefaultType,
|
135
90
|
content: '(string|element|function)'
|
136
|
-
});
|
137
|
-
|
138
|
-
var Event = {
|
139
|
-
HIDE: "hide" + EVENT_KEY,
|
140
|
-
HIDDEN: "hidden" + EVENT_KEY,
|
141
|
-
SHOW: "show" + EVENT_KEY,
|
142
|
-
SHOWN: "shown" + EVENT_KEY,
|
143
|
-
INSERTED: "inserted" + EVENT_KEY,
|
144
|
-
CLICK: "click" + EVENT_KEY,
|
145
|
-
FOCUSIN: "focusin" + EVENT_KEY,
|
146
|
-
FOCUSOUT: "focusout" + EVENT_KEY,
|
147
|
-
MOUSEENTER: "mouseenter" + EVENT_KEY,
|
148
|
-
MOUSELEAVE: "mouseleave" + EVENT_KEY
|
149
91
|
};
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
92
|
+
const Event = {
|
93
|
+
HIDE: `hide${EVENT_KEY}`,
|
94
|
+
HIDDEN: `hidden${EVENT_KEY}`,
|
95
|
+
SHOW: `show${EVENT_KEY}`,
|
96
|
+
SHOWN: `shown${EVENT_KEY}`,
|
97
|
+
INSERTED: `inserted${EVENT_KEY}`,
|
98
|
+
CLICK: `click${EVENT_KEY}`,
|
99
|
+
FOCUSIN: `focusin${EVENT_KEY}`,
|
100
|
+
FOCUSOUT: `focusout${EVENT_KEY}`,
|
101
|
+
MOUSEENTER: `mouseenter${EVENT_KEY}`,
|
102
|
+
MOUSELEAVE: `mouseleave${EVENT_KEY}`
|
103
|
+
};
|
104
|
+
const CLASS_NAME_FADE = 'fade';
|
105
|
+
const CLASS_NAME_SHOW = 'show';
|
106
|
+
const SELECTOR_TITLE = '.popover-header';
|
107
|
+
const SELECTOR_CONTENT = '.popover-body';
|
154
108
|
/**
|
155
109
|
* ------------------------------------------------------------------------
|
156
110
|
* Class Definition
|
157
111
|
* ------------------------------------------------------------------------
|
158
112
|
*/
|
159
113
|
|
160
|
-
|
161
|
-
|
114
|
+
class Popover extends Tooltip__default['default'] {
|
115
|
+
// Getters
|
116
|
+
static get Default() {
|
117
|
+
return Default;
|
118
|
+
}
|
162
119
|
|
163
|
-
|
164
|
-
return
|
120
|
+
static get NAME() {
|
121
|
+
return NAME;
|
165
122
|
}
|
166
123
|
|
167
|
-
|
124
|
+
static get Event() {
|
125
|
+
return Event;
|
126
|
+
}
|
168
127
|
|
169
|
-
|
170
|
-
|
128
|
+
static get DefaultType() {
|
129
|
+
return DefaultType;
|
130
|
+
} // Overrides
|
131
|
+
|
132
|
+
|
133
|
+
isWithContent() {
|
171
134
|
return this.getTitle() || this._getContent();
|
172
|
-
}
|
135
|
+
}
|
136
|
+
|
137
|
+
getTipElement() {
|
138
|
+
if (this.tip) {
|
139
|
+
return this.tip;
|
140
|
+
}
|
141
|
+
|
142
|
+
this.tip = super.getTipElement();
|
173
143
|
|
174
|
-
|
175
|
-
|
144
|
+
if (!this.getTitle()) {
|
145
|
+
SelectorEngine__default['default'].findOne(SELECTOR_TITLE, this.tip).remove();
|
146
|
+
}
|
147
|
+
|
148
|
+
if (!this._getContent()) {
|
149
|
+
SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, this.tip).remove();
|
150
|
+
}
|
151
|
+
|
152
|
+
return this.tip;
|
153
|
+
}
|
154
|
+
|
155
|
+
setContent() {
|
156
|
+
const tip = this.getTipElement(); // we use append for html objects to maintain js events
|
176
157
|
|
177
158
|
this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_TITLE, tip), this.getTitle());
|
178
159
|
|
179
|
-
|
160
|
+
let content = this._getContent();
|
180
161
|
|
181
162
|
if (typeof content === 'function') {
|
182
163
|
content = content.call(this._element);
|
@@ -185,90 +166,41 @@
|
|
185
166
|
this.setElementContent(SelectorEngine__default['default'].findOne(SELECTOR_CONTENT, tip), content);
|
186
167
|
tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);
|
187
168
|
} // Private
|
188
|
-
;
|
189
169
|
|
190
|
-
_proto._addAttachmentClass = function _addAttachmentClass(attachment) {
|
191
|
-
this.getTipElement().classList.add(CLASS_PREFIX + "-" + this.updateAttachment(attachment));
|
192
|
-
};
|
193
170
|
|
194
|
-
|
195
|
-
|
196
|
-
}
|
171
|
+
_addAttachmentClass(attachment) {
|
172
|
+
this.getTipElement().classList.add(`${CLASS_PREFIX}-${this.updateAttachment(attachment)}`);
|
173
|
+
}
|
174
|
+
|
175
|
+
_getContent() {
|
176
|
+
return this._element.getAttribute('data-bs-content') || this._config.content;
|
177
|
+
}
|
197
178
|
|
198
|
-
|
199
|
-
|
200
|
-
|
179
|
+
_cleanTipClass() {
|
180
|
+
const tip = this.getTipElement();
|
181
|
+
const tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
|
201
182
|
|
202
183
|
if (tabClass !== null && tabClass.length > 0) {
|
203
|
-
tabClass.map(
|
204
|
-
return token.trim();
|
205
|
-
}).forEach(function (tClass) {
|
206
|
-
return tip.classList.remove(tClass);
|
207
|
-
});
|
184
|
+
tabClass.map(token => token.trim()).forEach(tClass => tip.classList.remove(tClass));
|
208
185
|
}
|
209
186
|
} // Static
|
210
|
-
;
|
211
|
-
|
212
|
-
Popover.jQueryInterface = function jQueryInterface(config) {
|
213
|
-
return this.each(function () {
|
214
|
-
var data = Data__default['default'].getData(this, DATA_KEY);
|
215
187
|
|
216
|
-
var _config = typeof config === 'object' ? config : null;
|
217
188
|
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
if (!data) {
|
223
|
-
data = new Popover(this, _config);
|
224
|
-
Data__default['default'].setData(this, DATA_KEY, data);
|
225
|
-
}
|
189
|
+
static jQueryInterface(config) {
|
190
|
+
return this.each(function () {
|
191
|
+
const data = Popover.getOrCreateInstance(this, config);
|
226
192
|
|
227
193
|
if (typeof config === 'string') {
|
228
194
|
if (typeof data[config] === 'undefined') {
|
229
|
-
throw new TypeError(
|
195
|
+
throw new TypeError(`No method named "${config}"`);
|
230
196
|
}
|
231
197
|
|
232
198
|
data[config]();
|
233
199
|
}
|
234
200
|
});
|
235
|
-
}
|
236
|
-
|
237
|
-
_createClass(Popover, null, [{
|
238
|
-
key: "Default",
|
239
|
-
get: // Getters
|
240
|
-
function get() {
|
241
|
-
return Default;
|
242
|
-
}
|
243
|
-
}, {
|
244
|
-
key: "NAME",
|
245
|
-
get: function get() {
|
246
|
-
return NAME;
|
247
|
-
}
|
248
|
-
}, {
|
249
|
-
key: "DATA_KEY",
|
250
|
-
get: function get() {
|
251
|
-
return DATA_KEY;
|
252
|
-
}
|
253
|
-
}, {
|
254
|
-
key: "Event",
|
255
|
-
get: function get() {
|
256
|
-
return Event;
|
257
|
-
}
|
258
|
-
}, {
|
259
|
-
key: "EVENT_KEY",
|
260
|
-
get: function get() {
|
261
|
-
return EVENT_KEY;
|
262
|
-
}
|
263
|
-
}, {
|
264
|
-
key: "DefaultType",
|
265
|
-
get: function get() {
|
266
|
-
return DefaultType;
|
267
|
-
}
|
268
|
-
}]);
|
201
|
+
}
|
269
202
|
|
270
|
-
|
271
|
-
}(Tooltip__default['default']);
|
203
|
+
}
|
272
204
|
/**
|
273
205
|
* ------------------------------------------------------------------------
|
274
206
|
* jQuery
|
@@ -277,7 +209,7 @@
|
|
277
209
|
*/
|
278
210
|
|
279
211
|
|
280
|
-
defineJQueryPlugin(
|
212
|
+
defineJQueryPlugin(Popover);
|
281
213
|
|
282
214
|
return Popover;
|
283
215
|
|
@@ -1,83 +1,33 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap scrollspy.js v5.0.
|
2
|
+
* Bootstrap scrollspy.js v5.0.2 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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('./dom/
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/
|
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/selector-engine.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./base-component.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/selector-engine', './dom/event-handler', './dom/manipulator', './base-component'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ScrollSpy = factory(global.SelectorEngine, global.EventHandler, global.Manipulator, global.Base));
|
10
|
+
}(this, (function (SelectorEngine, EventHandler, Manipulator, BaseComponent) { 'use strict';
|
11
11
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
13
13
|
|
14
|
-
var
|
14
|
+
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
15
15
|
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
16
16
|
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
17
|
-
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
18
17
|
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
19
18
|
|
20
|
-
function _defineProperties(target, props) {
|
21
|
-
for (var i = 0; i < props.length; i++) {
|
22
|
-
var descriptor = props[i];
|
23
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
24
|
-
descriptor.configurable = true;
|
25
|
-
if ("value" in descriptor) descriptor.writable = true;
|
26
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
27
|
-
}
|
28
|
-
}
|
29
|
-
|
30
|
-
function _createClass(Constructor, protoProps, staticProps) {
|
31
|
-
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
32
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
33
|
-
return Constructor;
|
34
|
-
}
|
35
|
-
|
36
|
-
function _extends() {
|
37
|
-
_extends = Object.assign || function (target) {
|
38
|
-
for (var i = 1; i < arguments.length; i++) {
|
39
|
-
var source = arguments[i];
|
40
|
-
|
41
|
-
for (var key in source) {
|
42
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
43
|
-
target[key] = source[key];
|
44
|
-
}
|
45
|
-
}
|
46
|
-
}
|
47
|
-
|
48
|
-
return target;
|
49
|
-
};
|
50
|
-
|
51
|
-
return _extends.apply(this, arguments);
|
52
|
-
}
|
53
|
-
|
54
|
-
function _inheritsLoose(subClass, superClass) {
|
55
|
-
subClass.prototype = Object.create(superClass.prototype);
|
56
|
-
subClass.prototype.constructor = subClass;
|
57
|
-
|
58
|
-
_setPrototypeOf(subClass, superClass);
|
59
|
-
}
|
60
|
-
|
61
|
-
function _setPrototypeOf(o, p) {
|
62
|
-
_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
|
63
|
-
o.__proto__ = p;
|
64
|
-
return o;
|
65
|
-
};
|
66
|
-
|
67
|
-
return _setPrototypeOf(o, p);
|
68
|
-
}
|
69
|
-
|
70
19
|
/**
|
71
20
|
* --------------------------------------------------------------------------
|
72
|
-
* Bootstrap (v5.0.
|
21
|
+
* Bootstrap (v5.0.2): util/index.js
|
73
22
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
74
23
|
* --------------------------------------------------------------------------
|
75
24
|
*/
|
76
|
-
var MAX_UID = 1000000;
|
77
25
|
|
78
|
-
|
26
|
+
const MAX_UID = 1000000;
|
27
|
+
|
28
|
+
const toType = obj => {
|
79
29
|
if (obj === null || obj === undefined) {
|
80
|
-
return
|
30
|
+
return `${obj}`;
|
81
31
|
}
|
82
32
|
|
83
33
|
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
@@ -89,7 +39,7 @@
|
|
89
39
|
*/
|
90
40
|
|
91
41
|
|
92
|
-
|
42
|
+
const getUID = prefix => {
|
93
43
|
do {
|
94
44
|
prefix += Math.floor(Math.random() * MAX_UID);
|
95
45
|
} while (document.getElementById(prefix));
|
@@ -97,11 +47,11 @@
|
|
97
47
|
return prefix;
|
98
48
|
};
|
99
49
|
|
100
|
-
|
101
|
-
|
50
|
+
const getSelector = element => {
|
51
|
+
let selector = element.getAttribute('data-bs-target');
|
102
52
|
|
103
53
|
if (!selector || selector === '#') {
|
104
|
-
|
54
|
+
let hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
|
105
55
|
// so everything starting with `#` or `.`. If a "real" URL is used as the selector,
|
106
56
|
// `document.querySelector` will rightfully complain it is invalid.
|
107
57
|
// See https://github.com/twbs/bootstrap/issues/32273
|
@@ -112,7 +62,7 @@
|
|
112
62
|
|
113
63
|
|
114
64
|
if (hrefAttr.includes('#') && !hrefAttr.startsWith('#')) {
|
115
|
-
hrefAttr =
|
65
|
+
hrefAttr = `#${hrefAttr.split('#')[1]}`;
|
116
66
|
}
|
117
67
|
|
118
68
|
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
@@ -121,8 +71,8 @@
|
|
121
71
|
return selector;
|
122
72
|
};
|
123
73
|
|
124
|
-
|
125
|
-
|
74
|
+
const getSelectorFromElement = element => {
|
75
|
+
const selector = getSelector(element);
|
126
76
|
|
127
77
|
if (selector) {
|
128
78
|
return document.querySelector(selector) ? selector : null;
|
@@ -131,25 +81,34 @@
|
|
131
81
|
return null;
|
132
82
|
};
|
133
83
|
|
134
|
-
|
135
|
-
|
84
|
+
const isElement = obj => {
|
85
|
+
if (!obj || typeof obj !== 'object') {
|
86
|
+
return false;
|
87
|
+
}
|
88
|
+
|
89
|
+
if (typeof obj.jquery !== 'undefined') {
|
90
|
+
obj = obj[0];
|
91
|
+
}
|
92
|
+
|
93
|
+
return typeof obj.nodeType !== 'undefined';
|
136
94
|
};
|
137
95
|
|
138
|
-
|
139
|
-
Object.keys(configTypes).forEach(
|
140
|
-
|
141
|
-
|
142
|
-
|
96
|
+
const typeCheckConfig = (componentName, config, configTypes) => {
|
97
|
+
Object.keys(configTypes).forEach(property => {
|
98
|
+
const expectedTypes = configTypes[property];
|
99
|
+
const value = config[property];
|
100
|
+
const valueType = value && isElement(value) ? 'element' : toType(value);
|
143
101
|
|
144
102
|
if (!new RegExp(expectedTypes).test(valueType)) {
|
145
|
-
throw new TypeError(componentName.toUpperCase()
|
103
|
+
throw new TypeError(`${componentName.toUpperCase()}: Option "${property}" provided type "${valueType}" but expected type "${expectedTypes}".`);
|
146
104
|
}
|
147
105
|
});
|
148
106
|
};
|
149
107
|
|
150
|
-
|
151
|
-
|
152
|
-
|
108
|
+
const getjQuery = () => {
|
109
|
+
const {
|
110
|
+
jQuery
|
111
|
+
} = window;
|
153
112
|
|
154
113
|
if (jQuery && !document.body.hasAttribute('data-bs-no-jquery')) {
|
155
114
|
return jQuery;
|
@@ -158,27 +117,35 @@
|
|
158
117
|
return null;
|
159
118
|
};
|
160
119
|
|
161
|
-
|
120
|
+
const DOMContentLoadedCallbacks = [];
|
121
|
+
|
122
|
+
const onDOMContentLoaded = callback => {
|
162
123
|
if (document.readyState === 'loading') {
|
163
|
-
document
|
124
|
+
// add listener on the first call when the document is in loading state
|
125
|
+
if (!DOMContentLoadedCallbacks.length) {
|
126
|
+
document.addEventListener('DOMContentLoaded', () => {
|
127
|
+
DOMContentLoadedCallbacks.forEach(callback => callback());
|
128
|
+
});
|
129
|
+
}
|
130
|
+
|
131
|
+
DOMContentLoadedCallbacks.push(callback);
|
164
132
|
} else {
|
165
133
|
callback();
|
166
134
|
}
|
167
135
|
};
|
168
136
|
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
onDOMContentLoaded(function () {
|
173
|
-
var $ = getjQuery();
|
137
|
+
const defineJQueryPlugin = plugin => {
|
138
|
+
onDOMContentLoaded(() => {
|
139
|
+
const $ = getjQuery();
|
174
140
|
/* istanbul ignore if */
|
175
141
|
|
176
142
|
if ($) {
|
177
|
-
|
143
|
+
const name = plugin.NAME;
|
144
|
+
const JQUERY_NO_CONFLICT = $.fn[name];
|
178
145
|
$.fn[name] = plugin.jQueryInterface;
|
179
146
|
$.fn[name].Constructor = plugin;
|
180
147
|
|
181
|
-
$.fn[name].noConflict =
|
148
|
+
$.fn[name].noConflict = () => {
|
182
149
|
$.fn[name] = JQUERY_NO_CONFLICT;
|
183
150
|
return plugin.jQueryInterface;
|
184
151
|
};
|
@@ -186,91 +153,92 @@
|
|
186
153
|
});
|
187
154
|
};
|
188
155
|
|
156
|
+
/**
|
157
|
+
* --------------------------------------------------------------------------
|
158
|
+
* Bootstrap (v5.0.2): scrollspy.js
|
159
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
160
|
+
* --------------------------------------------------------------------------
|
161
|
+
*/
|
189
162
|
/**
|
190
163
|
* ------------------------------------------------------------------------
|
191
164
|
* Constants
|
192
165
|
* ------------------------------------------------------------------------
|
193
166
|
*/
|
194
167
|
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
168
|
+
const NAME = 'scrollspy';
|
169
|
+
const DATA_KEY = 'bs.scrollspy';
|
170
|
+
const EVENT_KEY = `.${DATA_KEY}`;
|
171
|
+
const DATA_API_KEY = '.data-api';
|
172
|
+
const Default = {
|
200
173
|
offset: 10,
|
201
174
|
method: 'auto',
|
202
175
|
target: ''
|
203
176
|
};
|
204
|
-
|
177
|
+
const DefaultType = {
|
205
178
|
offset: 'number',
|
206
179
|
method: 'string',
|
207
180
|
target: '(string|element)'
|
208
181
|
};
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
182
|
+
const EVENT_ACTIVATE = `activate${EVENT_KEY}`;
|
183
|
+
const EVENT_SCROLL = `scroll${EVENT_KEY}`;
|
184
|
+
const EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`;
|
185
|
+
const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
|
186
|
+
const CLASS_NAME_ACTIVE = 'active';
|
187
|
+
const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
|
188
|
+
const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
189
|
+
const SELECTOR_NAV_LINKS = '.nav-link';
|
190
|
+
const SELECTOR_NAV_ITEMS = '.nav-item';
|
191
|
+
const SELECTOR_LIST_ITEMS = '.list-group-item';
|
192
|
+
const SELECTOR_DROPDOWN = '.dropdown';
|
193
|
+
const SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
|
194
|
+
const METHOD_OFFSET = 'offset';
|
195
|
+
const METHOD_POSITION = 'position';
|
223
196
|
/**
|
224
197
|
* ------------------------------------------------------------------------
|
225
198
|
* Class Definition
|
226
199
|
* ------------------------------------------------------------------------
|
227
200
|
*/
|
228
201
|
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
_this._activeTarget = null;
|
242
|
-
_this._scrollHeight = 0;
|
243
|
-
EventHandler__default['default'].on(_this._scrollElement, EVENT_SCROLL, function () {
|
244
|
-
return _this._process();
|
245
|
-
});
|
246
|
-
|
247
|
-
_this.refresh();
|
248
|
-
|
249
|
-
_this._process();
|
202
|
+
class ScrollSpy extends BaseComponent__default['default'] {
|
203
|
+
constructor(element, config) {
|
204
|
+
super(element);
|
205
|
+
this._scrollElement = this._element.tagName === 'BODY' ? window : this._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, () => this._process());
|
213
|
+
this.refresh();
|
250
214
|
|
251
|
-
|
215
|
+
this._process();
|
252
216
|
} // Getters
|
253
217
|
|
254
218
|
|
255
|
-
|
219
|
+
static get Default() {
|
220
|
+
return Default;
|
221
|
+
}
|
222
|
+
|
223
|
+
static get NAME() {
|
224
|
+
return NAME;
|
225
|
+
} // Public
|
256
226
|
|
257
|
-
// Public
|
258
|
-
_proto.refresh = function refresh() {
|
259
|
-
var _this2 = this;
|
260
227
|
|
261
|
-
|
262
|
-
|
263
|
-
|
228
|
+
refresh() {
|
229
|
+
const autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
|
230
|
+
const offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
|
231
|
+
const offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
|
264
232
|
this._offsets = [];
|
265
233
|
this._targets = [];
|
266
234
|
this._scrollHeight = this._getScrollHeight();
|
267
|
-
|
268
|
-
targets.map(
|
269
|
-
|
270
|
-
|
235
|
+
const targets = SelectorEngine__default['default'].find(this._selector);
|
236
|
+
targets.map(element => {
|
237
|
+
const targetSelector = getSelectorFromElement(element);
|
238
|
+
const target = targetSelector ? SelectorEngine__default['default'].findOne(targetSelector) : null;
|
271
239
|
|
272
240
|
if (target) {
|
273
|
-
|
241
|
+
const targetBCR = target.getBoundingClientRect();
|
274
242
|
|
275
243
|
if (targetBCR.width || targetBCR.height) {
|
276
244
|
return [Manipulator__default['default'][offsetMethod](target).top + offsetBase, targetSelector];
|
@@ -278,74 +246,67 @@
|
|
278
246
|
}
|
279
247
|
|
280
248
|
return null;
|
281
|
-
}).filter(
|
282
|
-
|
283
|
-
}).sort(function (a, b) {
|
284
|
-
return a[0] - b[0];
|
285
|
-
}).forEach(function (item) {
|
286
|
-
_this2._offsets.push(item[0]);
|
287
|
-
|
288
|
-
_this2._targets.push(item[1]);
|
289
|
-
});
|
290
|
-
};
|
249
|
+
}).filter(item => item).sort((a, b) => a[0] - b[0]).forEach(item => {
|
250
|
+
this._offsets.push(item[0]);
|
291
251
|
|
292
|
-
|
293
|
-
|
252
|
+
this._targets.push(item[1]);
|
253
|
+
});
|
254
|
+
}
|
294
255
|
|
256
|
+
dispose() {
|
295
257
|
EventHandler__default['default'].off(this._scrollElement, EVENT_KEY);
|
296
|
-
|
297
|
-
this._config = null;
|
298
|
-
this._selector = null;
|
299
|
-
this._offsets = null;
|
300
|
-
this._targets = null;
|
301
|
-
this._activeTarget = null;
|
302
|
-
this._scrollHeight = null;
|
258
|
+
super.dispose();
|
303
259
|
} // Private
|
304
|
-
;
|
305
260
|
|
306
|
-
|
307
|
-
|
261
|
+
|
262
|
+
_getConfig(config) {
|
263
|
+
config = { ...Default,
|
264
|
+
...Manipulator__default['default'].getDataAttributes(this._element),
|
265
|
+
...(typeof config === 'object' && config ? config : {})
|
266
|
+
};
|
308
267
|
|
309
268
|
if (typeof config.target !== 'string' && isElement(config.target)) {
|
310
|
-
|
269
|
+
let {
|
270
|
+
id
|
271
|
+
} = config.target;
|
311
272
|
|
312
273
|
if (!id) {
|
313
274
|
id = getUID(NAME);
|
314
275
|
config.target.id = id;
|
315
276
|
}
|
316
277
|
|
317
|
-
config.target =
|
278
|
+
config.target = `#${id}`;
|
318
279
|
}
|
319
280
|
|
320
281
|
typeCheckConfig(NAME, config, DefaultType);
|
321
282
|
return config;
|
322
|
-
}
|
283
|
+
}
|
323
284
|
|
324
|
-
|
285
|
+
_getScrollTop() {
|
325
286
|
return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
|
326
|
-
}
|
287
|
+
}
|
327
288
|
|
328
|
-
|
289
|
+
_getScrollHeight() {
|
329
290
|
return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
|
330
|
-
}
|
291
|
+
}
|
331
292
|
|
332
|
-
|
293
|
+
_getOffsetHeight() {
|
333
294
|
return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
|
334
|
-
}
|
295
|
+
}
|
335
296
|
|
336
|
-
|
337
|
-
|
297
|
+
_process() {
|
298
|
+
const scrollTop = this._getScrollTop() + this._config.offset;
|
338
299
|
|
339
|
-
|
300
|
+
const scrollHeight = this._getScrollHeight();
|
340
301
|
|
341
|
-
|
302
|
+
const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
|
342
303
|
|
343
304
|
if (this._scrollHeight !== scrollHeight) {
|
344
305
|
this.refresh();
|
345
306
|
}
|
346
307
|
|
347
308
|
if (scrollTop >= maxScroll) {
|
348
|
-
|
309
|
+
const target = this._targets[this._targets.length - 1];
|
349
310
|
|
350
311
|
if (this._activeTarget !== target) {
|
351
312
|
this._activate(target);
|
@@ -362,25 +323,23 @@
|
|
362
323
|
return;
|
363
324
|
}
|
364
325
|
|
365
|
-
for (
|
366
|
-
|
326
|
+
for (let i = this._offsets.length; i--;) {
|
327
|
+
const isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
|
367
328
|
|
368
329
|
if (isActiveTarget) {
|
369
330
|
this._activate(this._targets[i]);
|
370
331
|
}
|
371
332
|
}
|
372
|
-
}
|
333
|
+
}
|
373
334
|
|
374
|
-
|
335
|
+
_activate(target) {
|
375
336
|
this._activeTarget = target;
|
376
337
|
|
377
338
|
this._clear();
|
378
339
|
|
379
|
-
|
380
|
-
return selector + "[data-bs-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
|
381
|
-
});
|
340
|
+
const queries = this._selector.split(',').map(selector => `${selector}[data-bs-target="${target}"],${selector}[href="${target}"]`);
|
382
341
|
|
383
|
-
|
342
|
+
const link = SelectorEngine__default['default'].findOne(queries.join(','));
|
384
343
|
|
385
344
|
if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
386
345
|
SelectorEngine__default['default'].findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE);
|
@@ -388,17 +347,13 @@
|
|
388
347
|
} else {
|
389
348
|
// Set triggered link as active
|
390
349
|
link.classList.add(CLASS_NAME_ACTIVE);
|
391
|
-
SelectorEngine__default['default'].parents(link, SELECTOR_NAV_LIST_GROUP).forEach(
|
350
|
+
SelectorEngine__default['default'].parents(link, SELECTOR_NAV_LIST_GROUP).forEach(listGroup => {
|
392
351
|
// Set triggered links parents as active
|
393
352
|
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
394
|
-
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_LINKS
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
|
399
|
-
SelectorEngine__default['default'].children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
|
400
|
-
return item.classList.add(CLASS_NAME_ACTIVE);
|
401
|
-
});
|
353
|
+
SelectorEngine__default['default'].prev(listGroup, `${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`).forEach(item => item.classList.add(CLASS_NAME_ACTIVE)); // Handle special case when .nav-link is inside .nav-item
|
354
|
+
|
355
|
+
SelectorEngine__default['default'].prev(listGroup, SELECTOR_NAV_ITEMS).forEach(navItem => {
|
356
|
+
SelectorEngine__default['default'].children(navItem, SELECTOR_NAV_LINKS).forEach(item => item.classList.add(CLASS_NAME_ACTIVE));
|
402
357
|
});
|
403
358
|
});
|
404
359
|
}
|
@@ -406,51 +361,30 @@
|
|
406
361
|
EventHandler__default['default'].trigger(this._scrollElement, EVENT_ACTIVATE, {
|
407
362
|
relatedTarget: target
|
408
363
|
});
|
409
|
-
}
|
364
|
+
}
|
410
365
|
|
411
|
-
|
412
|
-
SelectorEngine__default['default'].find(this._selector).filter(
|
413
|
-
return node.classList.contains(CLASS_NAME_ACTIVE);
|
414
|
-
}).forEach(function (node) {
|
415
|
-
return node.classList.remove(CLASS_NAME_ACTIVE);
|
416
|
-
});
|
366
|
+
_clear() {
|
367
|
+
SelectorEngine__default['default'].find(this._selector).filter(node => node.classList.contains(CLASS_NAME_ACTIVE)).forEach(node => node.classList.remove(CLASS_NAME_ACTIVE));
|
417
368
|
} // Static
|
418
|
-
;
|
419
369
|
|
420
|
-
ScrollSpy.jQueryInterface = function jQueryInterface(config) {
|
421
|
-
return this.each(function () {
|
422
|
-
var data = Data__default['default'].getData(this, DATA_KEY);
|
423
370
|
|
424
|
-
|
371
|
+
static jQueryInterface(config) {
|
372
|
+
return this.each(function () {
|
373
|
+
const data = ScrollSpy.getOrCreateInstance(this, config);
|
425
374
|
|
426
|
-
if (
|
427
|
-
|
375
|
+
if (typeof config !== 'string') {
|
376
|
+
return;
|
428
377
|
}
|
429
378
|
|
430
|
-
if (typeof config === '
|
431
|
-
|
432
|
-
throw new TypeError("No method named \"" + config + "\"");
|
433
|
-
}
|
434
|
-
|
435
|
-
data[config]();
|
379
|
+
if (typeof data[config] === 'undefined') {
|
380
|
+
throw new TypeError(`No method named "${config}"`);
|
436
381
|
}
|
437
|
-
});
|
438
|
-
};
|
439
382
|
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
return Default;
|
444
|
-
}
|
445
|
-
}, {
|
446
|
-
key: "DATA_KEY",
|
447
|
-
get: function get() {
|
448
|
-
return DATA_KEY;
|
449
|
-
}
|
450
|
-
}]);
|
383
|
+
data[config]();
|
384
|
+
});
|
385
|
+
}
|
451
386
|
|
452
|
-
|
453
|
-
}(BaseComponent__default['default']);
|
387
|
+
}
|
454
388
|
/**
|
455
389
|
* ------------------------------------------------------------------------
|
456
390
|
* Data Api implementation
|
@@ -458,10 +392,8 @@
|
|
458
392
|
*/
|
459
393
|
|
460
394
|
|
461
|
-
EventHandler__default['default'].on(window, EVENT_LOAD_DATA_API,
|
462
|
-
SelectorEngine__default['default'].find(SELECTOR_DATA_SPY).forEach(
|
463
|
-
return new ScrollSpy(spy, Manipulator__default['default'].getDataAttributes(spy));
|
464
|
-
});
|
395
|
+
EventHandler__default['default'].on(window, EVENT_LOAD_DATA_API, () => {
|
396
|
+
SelectorEngine__default['default'].find(SELECTOR_DATA_SPY).forEach(spy => new ScrollSpy(spy));
|
465
397
|
});
|
466
398
|
/**
|
467
399
|
* ------------------------------------------------------------------------
|
@@ -470,7 +402,7 @@
|
|
470
402
|
* add .ScrollSpy to jQuery only if jQuery is present
|
471
403
|
*/
|
472
404
|
|
473
|
-
defineJQueryPlugin(
|
405
|
+
defineJQueryPlugin(ScrollSpy);
|
474
406
|
|
475
407
|
return ScrollSpy;
|
476
408
|
|