bootstrap 4.6.0 → 5.0.0.alpha1
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 +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +12 -8
- data/assets/javascripts/bootstrap.js +1889 -1255
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/javascripts/bootstrap/alert.js +136 -66
- data/assets/javascripts/bootstrap/button.js +59 -147
- data/assets/javascripts/bootstrap/carousel.js +276 -180
- data/assets/javascripts/bootstrap/collapse.js +284 -136
- data/assets/javascripts/bootstrap/dom/data.js +81 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +311 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +100 -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 +238 -195
- data/assets/javascripts/bootstrap/modal.js +321 -223
- data/assets/javascripts/bootstrap/popover.js +75 -79
- data/assets/javascripts/bootstrap/scrollspy.js +150 -86
- data/assets/javascripts/bootstrap/tab.js +154 -82
- data/assets/javascripts/bootstrap/toast.js +162 -95
- data/assets/javascripts/bootstrap/tooltip.js +337 -191
- data/assets/stylesheets/_bootstrap-grid.scss +53 -18
- data/assets/stylesheets/_bootstrap-reboot.scss +6 -3
- data/assets/stylesheets/_bootstrap.scss +16 -10
- data/assets/stylesheets/bootstrap/_alert.scss +3 -4
- 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 +27 -45
- data/assets/stylesheets/bootstrap/_card.scss +22 -68
- data/assets/stylesheets/bootstrap/_carousel.scss +13 -15
- data/assets/stylesheets/bootstrap/_close.scss +9 -13
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +12 -9
- data/assets/stylesheets/bootstrap/_forms.scss +9 -347
- data/assets/stylesheets/bootstrap/_functions.scss +82 -23
- data/assets/stylesheets/bootstrap/_grid.scss +3 -54
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +7 -4
- data/assets/stylesheets/bootstrap/_mixins.scss +6 -12
- data/assets/stylesheets/bootstrap/_modal.scss +34 -39
- data/assets/stylesheets/bootstrap/_nav.scss +7 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +42 -82
- data/assets/stylesheets/bootstrap/_pagination.scss +7 -20
- data/assets/stylesheets/bootstrap/_popover.scss +5 -5
- data/assets/stylesheets/bootstrap/_progress.scss +3 -5
- data/assets/stylesheets/bootstrap/_reboot.scss +304 -172
- data/assets/stylesheets/bootstrap/_root.scss +5 -8
- data/assets/stylesheets/bootstrap/_spinners.scss +4 -13
- data/assets/stylesheets/bootstrap/_tables.scss +80 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +2 -4
- 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 +503 -18
- data/assets/stylesheets/bootstrap/_variables.scss +546 -432
- 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/_embed.scss +31 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_screenreaders.scss +8 -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/mixins/_alert.scss +0 -4
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -8
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +62 -47
- 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 +9 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +22 -74
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +85 -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/_screen-reader.scss +17 -23
- 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 +49 -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
- metadata +32 -40
- data/assets/javascripts/bootstrap/util.js +0 -192
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -526
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -208
- 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/_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,59 +1,47 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap popover.js
|
|
3
|
-
* Copyright 2011-
|
|
2
|
+
* Bootstrap popover.js v5.0.0-alpha1 (https://getbootstrap.com/)
|
|
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 =
|
|
10
|
-
}(this, (function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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.js', './dom/selector-engine.js', './tooltip.js'], factory) :
|
|
9
|
+
(global = global || self, global.Popover = factory(global.Data, global.SelectorEngine, global.Tooltip));
|
|
10
|
+
}(this, (function (Data, SelectorEngine, Tooltip) { 'use strict';
|
|
11
|
+
|
|
12
|
+
Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
|
|
13
|
+
SelectorEngine = SelectorEngine && Object.prototype.hasOwnProperty.call(SelectorEngine, 'default') ? SelectorEngine['default'] : SelectorEngine;
|
|
14
|
+
Tooltip = Tooltip && Object.prototype.hasOwnProperty.call(Tooltip, 'default') ? Tooltip['default'] : Tooltip;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* --------------------------------------------------------------------------
|
|
18
|
+
* Bootstrap (v5.0.0-alpha1): util/index.js
|
|
19
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
20
|
+
* --------------------------------------------------------------------------
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
var getjQuery = function getjQuery() {
|
|
24
|
+
var _window = window,
|
|
25
|
+
jQuery = _window.jQuery;
|
|
26
|
+
|
|
27
|
+
if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
|
|
28
|
+
return jQuery;
|
|
24
29
|
}
|
|
25
|
-
}
|
|
26
30
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
-
return Constructor;
|
|
31
|
-
}
|
|
31
|
+
return null;
|
|
32
|
+
};
|
|
32
33
|
|
|
33
|
-
function
|
|
34
|
-
_extends = Object.assign || function (target) {
|
|
35
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
36
|
-
var source = arguments[i];
|
|
34
|
+
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); } }
|
|
37
35
|
|
|
38
|
-
|
|
39
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
40
|
-
target[key] = source[key];
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
36
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
44
37
|
|
|
45
|
-
|
|
46
|
-
};
|
|
38
|
+
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
|
|
47
39
|
|
|
48
|
-
|
|
49
|
-
}
|
|
40
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
50
41
|
|
|
51
|
-
function
|
|
52
|
-
subClass.prototype = Object.create(superClass.prototype);
|
|
53
|
-
subClass.prototype.constructor = subClass;
|
|
54
|
-
subClass.__proto__ = superClass;
|
|
55
|
-
}
|
|
42
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
56
43
|
|
|
44
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
57
45
|
/**
|
|
58
46
|
* ------------------------------------------------------------------------
|
|
59
47
|
* Constants
|
|
@@ -61,28 +49,23 @@
|
|
|
61
49
|
*/
|
|
62
50
|
|
|
63
51
|
var NAME = 'popover';
|
|
64
|
-
var VERSION = '
|
|
52
|
+
var VERSION = '5.0.0-alpha1';
|
|
65
53
|
var DATA_KEY = 'bs.popover';
|
|
66
54
|
var EVENT_KEY = "." + DATA_KEY;
|
|
67
|
-
var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
|
|
68
55
|
var CLASS_PREFIX = 'bs-popover';
|
|
69
56
|
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
|
70
57
|
|
|
71
|
-
var Default =
|
|
58
|
+
var Default = _objectSpread(_objectSpread({}, Tooltip.Default), {}, {
|
|
72
59
|
placement: 'right',
|
|
73
60
|
trigger: 'click',
|
|
74
61
|
content: '',
|
|
75
|
-
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
|
62
|
+
template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
|
76
63
|
});
|
|
77
64
|
|
|
78
|
-
var DefaultType =
|
|
65
|
+
var DefaultType = _objectSpread(_objectSpread({}, Tooltip.DefaultType), {}, {
|
|
79
66
|
content: '(string|element|function)'
|
|
80
67
|
});
|
|
81
68
|
|
|
82
|
-
var CLASS_NAME_FADE = 'fade';
|
|
83
|
-
var CLASS_NAME_SHOW = 'show';
|
|
84
|
-
var SELECTOR_TITLE = '.popover-header';
|
|
85
|
-
var SELECTOR_CONTENT = '.popover-body';
|
|
86
69
|
var Event = {
|
|
87
70
|
HIDE: "hide" + EVENT_KEY,
|
|
88
71
|
HIDDEN: "hidden" + EVENT_KEY,
|
|
@@ -95,6 +78,10 @@
|
|
|
95
78
|
MOUSEENTER: "mouseenter" + EVENT_KEY,
|
|
96
79
|
MOUSELEAVE: "mouseleave" + EVENT_KEY
|
|
97
80
|
};
|
|
81
|
+
var CLASS_NAME_FADE = 'fade';
|
|
82
|
+
var CLASS_NAME_SHOW = 'show';
|
|
83
|
+
var SELECTOR_TITLE = '.popover-header';
|
|
84
|
+
var SELECTOR_CONTENT = '.popover-body';
|
|
98
85
|
/**
|
|
99
86
|
* ------------------------------------------------------------------------
|
|
100
87
|
* Class Definition
|
|
@@ -115,19 +102,10 @@
|
|
|
115
102
|
return this.getTitle() || this._getContent();
|
|
116
103
|
};
|
|
117
104
|
|
|
118
|
-
_proto.addAttachmentClass = function addAttachmentClass(attachment) {
|
|
119
|
-
$__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
|
|
120
|
-
};
|
|
121
|
-
|
|
122
|
-
_proto.getTipElement = function getTipElement() {
|
|
123
|
-
this.tip = this.tip || $__default['default'](this.config.template)[0];
|
|
124
|
-
return this.tip;
|
|
125
|
-
};
|
|
126
|
-
|
|
127
105
|
_proto.setContent = function setContent() {
|
|
128
|
-
var
|
|
106
|
+
var tip = this.getTipElement(); // we use append for html objects to maintain js events
|
|
129
107
|
|
|
130
|
-
this.setElementContent(
|
|
108
|
+
this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());
|
|
131
109
|
|
|
132
110
|
var content = this._getContent();
|
|
133
111
|
|
|
@@ -135,8 +113,12 @@
|
|
|
135
113
|
content = content.call(this.element);
|
|
136
114
|
}
|
|
137
115
|
|
|
138
|
-
this.setElementContent(
|
|
139
|
-
|
|
116
|
+
this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);
|
|
117
|
+
tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW);
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
_proto._addAttachmentClass = function _addAttachmentClass(attachment) {
|
|
121
|
+
this.getTipElement().classList.add(CLASS_PREFIX + "-" + attachment);
|
|
140
122
|
} // Private
|
|
141
123
|
;
|
|
142
124
|
|
|
@@ -145,18 +127,22 @@
|
|
|
145
127
|
};
|
|
146
128
|
|
|
147
129
|
_proto._cleanTipClass = function _cleanTipClass() {
|
|
148
|
-
var
|
|
149
|
-
var tabClass =
|
|
130
|
+
var tip = this.getTipElement();
|
|
131
|
+
var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
|
|
150
132
|
|
|
151
133
|
if (tabClass !== null && tabClass.length > 0) {
|
|
152
|
-
|
|
134
|
+
tabClass.map(function (token) {
|
|
135
|
+
return token.trim();
|
|
136
|
+
}).forEach(function (tClass) {
|
|
137
|
+
return tip.classList.remove(tClass);
|
|
138
|
+
});
|
|
153
139
|
}
|
|
154
140
|
} // Static
|
|
155
141
|
;
|
|
156
142
|
|
|
157
|
-
Popover.
|
|
143
|
+
Popover.jQueryInterface = function jQueryInterface(config) {
|
|
158
144
|
return this.each(function () {
|
|
159
|
-
var data =
|
|
145
|
+
var data = Data.getData(this, DATA_KEY);
|
|
160
146
|
|
|
161
147
|
var _config = typeof config === 'object' ? config : null;
|
|
162
148
|
|
|
@@ -166,7 +152,7 @@
|
|
|
166
152
|
|
|
167
153
|
if (!data) {
|
|
168
154
|
data = new Popover(this, _config);
|
|
169
|
-
|
|
155
|
+
Data.setData(this, DATA_KEY, data);
|
|
170
156
|
}
|
|
171
157
|
|
|
172
158
|
if (typeof config === 'string') {
|
|
@@ -179,6 +165,10 @@
|
|
|
179
165
|
});
|
|
180
166
|
};
|
|
181
167
|
|
|
168
|
+
Popover.getInstance = function getInstance(element) {
|
|
169
|
+
return Data.getData(element, DATA_KEY);
|
|
170
|
+
};
|
|
171
|
+
|
|
182
172
|
_createClass(Popover, null, [{
|
|
183
173
|
key: "VERSION",
|
|
184
174
|
// Getters
|
|
@@ -218,21 +208,27 @@
|
|
|
218
208
|
}]);
|
|
219
209
|
|
|
220
210
|
return Popover;
|
|
221
|
-
}(
|
|
211
|
+
}(Tooltip);
|
|
212
|
+
|
|
213
|
+
var $ = getjQuery();
|
|
222
214
|
/**
|
|
223
215
|
* ------------------------------------------------------------------------
|
|
224
216
|
* jQuery
|
|
225
217
|
* ------------------------------------------------------------------------
|
|
226
218
|
*/
|
|
227
219
|
|
|
220
|
+
/* istanbul ignore if */
|
|
228
221
|
|
|
229
|
-
$
|
|
230
|
-
|
|
222
|
+
if ($) {
|
|
223
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
224
|
+
$.fn[NAME] = Popover.jQueryInterface;
|
|
225
|
+
$.fn[NAME].Constructor = Popover;
|
|
231
226
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
227
|
+
$.fn[NAME].noConflict = function () {
|
|
228
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
229
|
+
return Popover.jQueryInterface;
|
|
230
|
+
};
|
|
231
|
+
}
|
|
236
232
|
|
|
237
233
|
return Popover;
|
|
238
234
|
|
|
@@ -1,53 +1,106 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap scrollspy.js
|
|
3
|
-
* Copyright 2011-
|
|
2
|
+
* Bootstrap scrollspy.js v5.0.0-alpha1 (https://getbootstrap.com/)
|
|
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 =
|
|
10
|
-
}(this, (function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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 = global || self, global.ScrollSpy = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
|
|
10
|
+
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
|
|
11
|
+
|
|
12
|
+
Data = Data && Object.prototype.hasOwnProperty.call(Data, 'default') ? Data['default'] : Data;
|
|
13
|
+
EventHandler = EventHandler && Object.prototype.hasOwnProperty.call(EventHandler, 'default') ? EventHandler['default'] : EventHandler;
|
|
14
|
+
Manipulator = Manipulator && Object.prototype.hasOwnProperty.call(Manipulator, 'default') ? Manipulator['default'] : Manipulator;
|
|
15
|
+
SelectorEngine = SelectorEngine && Object.prototype.hasOwnProperty.call(SelectorEngine, 'default') ? SelectorEngine['default'] : SelectorEngine;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* --------------------------------------------------------------------------
|
|
19
|
+
* Bootstrap (v5.0.0-alpha1): util/index.js
|
|
20
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
21
|
+
* --------------------------------------------------------------------------
|
|
22
|
+
*/
|
|
23
|
+
var MAX_UID = 1000000;
|
|
24
|
+
|
|
25
|
+
var toType = function toType(obj) {
|
|
26
|
+
if (obj === null || obj === undefined) {
|
|
27
|
+
return "" + obj;
|
|
24
28
|
}
|
|
25
|
-
}
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* --------------------------------------------------------------------------
|
|
34
|
+
* Public Util Api
|
|
35
|
+
* --------------------------------------------------------------------------
|
|
36
|
+
*/
|
|
32
37
|
|
|
33
|
-
function _extends() {
|
|
34
|
-
_extends = Object.assign || function (target) {
|
|
35
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
36
|
-
var source = arguments[i];
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
var getUID = function getUID(prefix) {
|
|
40
|
+
do {
|
|
41
|
+
prefix += Math.floor(Math.random() * MAX_UID);
|
|
42
|
+
} while (document.getElementById(prefix));
|
|
43
|
+
|
|
44
|
+
return prefix;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var getSelector = function getSelector(element) {
|
|
48
|
+
var selector = element.getAttribute('data-target');
|
|
49
|
+
|
|
50
|
+
if (!selector || selector === '#') {
|
|
51
|
+
var hrefAttr = element.getAttribute('href');
|
|
52
|
+
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return selector;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
var getSelectorFromElement = function getSelectorFromElement(element) {
|
|
59
|
+
var selector = getSelector(element);
|
|
60
|
+
|
|
61
|
+
if (selector) {
|
|
62
|
+
return document.querySelector(selector) ? selector : null;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return null;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
var isElement = function isElement(obj) {
|
|
69
|
+
return (obj[0] || obj).nodeType;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
|
|
73
|
+
Object.keys(configTypes).forEach(function (property) {
|
|
74
|
+
var expectedTypes = configTypes[property];
|
|
75
|
+
var value = config[property];
|
|
76
|
+
var valueType = value && isElement(value) ? 'element' : toType(value);
|
|
77
|
+
|
|
78
|
+
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
79
|
+
throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
|
|
43
80
|
}
|
|
81
|
+
});
|
|
82
|
+
};
|
|
44
83
|
|
|
45
|
-
|
|
46
|
-
|
|
84
|
+
var getjQuery = function getjQuery() {
|
|
85
|
+
var _window = window,
|
|
86
|
+
jQuery = _window.jQuery;
|
|
47
87
|
|
|
48
|
-
|
|
49
|
-
|
|
88
|
+
if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
|
|
89
|
+
return jQuery;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return null;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
96
|
+
|
|
97
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
98
|
+
|
|
99
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
100
|
+
|
|
101
|
+
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); } }
|
|
50
102
|
|
|
103
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
51
104
|
/**
|
|
52
105
|
* ------------------------------------------------------------------------
|
|
53
106
|
* Constants
|
|
@@ -55,11 +108,10 @@
|
|
|
55
108
|
*/
|
|
56
109
|
|
|
57
110
|
var NAME = 'scrollspy';
|
|
58
|
-
var VERSION = '
|
|
111
|
+
var VERSION = '5.0.0-alpha1';
|
|
59
112
|
var DATA_KEY = 'bs.scrollspy';
|
|
60
113
|
var EVENT_KEY = "." + DATA_KEY;
|
|
61
114
|
var DATA_API_KEY = '.data-api';
|
|
62
|
-
var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
|
|
63
115
|
var Default = {
|
|
64
116
|
offset: 10,
|
|
65
117
|
method: 'auto',
|
|
@@ -81,7 +133,6 @@
|
|
|
81
133
|
var SELECTOR_NAV_ITEMS = '.nav-item';
|
|
82
134
|
var SELECTOR_LIST_ITEMS = '.list-group-item';
|
|
83
135
|
var SELECTOR_DROPDOWN = '.dropdown';
|
|
84
|
-
var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
|
|
85
136
|
var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
|
|
86
137
|
var METHOD_OFFSET = 'offset';
|
|
87
138
|
var METHOD_POSITION = 'position';
|
|
@@ -98,17 +149,19 @@
|
|
|
98
149
|
this._element = element;
|
|
99
150
|
this._scrollElement = element.tagName === 'BODY' ? window : element;
|
|
100
151
|
this._config = this._getConfig(config);
|
|
101
|
-
this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " +
|
|
152
|
+
this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " ." + CLASS_NAME_DROPDOWN_ITEM);
|
|
102
153
|
this._offsets = [];
|
|
103
154
|
this._targets = [];
|
|
104
155
|
this._activeTarget = null;
|
|
105
156
|
this._scrollHeight = 0;
|
|
106
|
-
|
|
157
|
+
EventHandler.on(this._scrollElement, EVENT_SCROLL, function (event) {
|
|
107
158
|
return _this._process(event);
|
|
108
159
|
});
|
|
109
160
|
this.refresh();
|
|
110
161
|
|
|
111
162
|
this._process();
|
|
163
|
+
|
|
164
|
+
Data.setData(element, DATA_KEY, this);
|
|
112
165
|
} // Getters
|
|
113
166
|
|
|
114
167
|
|
|
@@ -124,21 +177,20 @@
|
|
|
124
177
|
this._offsets = [];
|
|
125
178
|
this._targets = [];
|
|
126
179
|
this._scrollHeight = this._getScrollHeight();
|
|
127
|
-
var targets =
|
|
180
|
+
var targets = SelectorEngine.find(this._selector);
|
|
128
181
|
targets.map(function (element) {
|
|
129
182
|
var target;
|
|
130
|
-
var targetSelector =
|
|
183
|
+
var targetSelector = getSelectorFromElement(element);
|
|
131
184
|
|
|
132
185
|
if (targetSelector) {
|
|
133
|
-
target =
|
|
186
|
+
target = SelectorEngine.findOne(targetSelector);
|
|
134
187
|
}
|
|
135
188
|
|
|
136
189
|
if (target) {
|
|
137
190
|
var targetBCR = target.getBoundingClientRect();
|
|
138
191
|
|
|
139
192
|
if (targetBCR.width || targetBCR.height) {
|
|
140
|
-
|
|
141
|
-
return [$__default['default'](target)[offsetMethod]().top + offsetBase, targetSelector];
|
|
193
|
+
return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
|
|
142
194
|
}
|
|
143
195
|
}
|
|
144
196
|
|
|
@@ -155,8 +207,8 @@
|
|
|
155
207
|
};
|
|
156
208
|
|
|
157
209
|
_proto.dispose = function dispose() {
|
|
158
|
-
|
|
159
|
-
|
|
210
|
+
Data.removeData(this._element, DATA_KEY);
|
|
211
|
+
EventHandler.off(this._scrollElement, EVENT_KEY);
|
|
160
212
|
this._element = null;
|
|
161
213
|
this._scrollElement = null;
|
|
162
214
|
this._config = null;
|
|
@@ -169,20 +221,20 @@
|
|
|
169
221
|
;
|
|
170
222
|
|
|
171
223
|
_proto._getConfig = function _getConfig(config) {
|
|
172
|
-
config =
|
|
224
|
+
config = _objectSpread(_objectSpread({}, Default), typeof config === 'object' && config ? config : {});
|
|
173
225
|
|
|
174
|
-
if (typeof config.target !== 'string' &&
|
|
175
|
-
var id =
|
|
226
|
+
if (typeof config.target !== 'string' && isElement(config.target)) {
|
|
227
|
+
var id = config.target.id;
|
|
176
228
|
|
|
177
229
|
if (!id) {
|
|
178
|
-
id =
|
|
179
|
-
|
|
230
|
+
id = getUID(NAME);
|
|
231
|
+
config.target.id = id;
|
|
180
232
|
}
|
|
181
233
|
|
|
182
234
|
config.target = "#" + id;
|
|
183
235
|
}
|
|
184
236
|
|
|
185
|
-
|
|
237
|
+
typeCheckConfig(NAME, config, DefaultType);
|
|
186
238
|
return config;
|
|
187
239
|
};
|
|
188
240
|
|
|
@@ -245,28 +297,36 @@
|
|
|
245
297
|
return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
|
|
246
298
|
});
|
|
247
299
|
|
|
248
|
-
var
|
|
300
|
+
var link = SelectorEngine.findOne(queries.join(','));
|
|
249
301
|
|
|
250
|
-
if (
|
|
251
|
-
|
|
252
|
-
|
|
302
|
+
if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
|
|
303
|
+
SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, link.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE);
|
|
304
|
+
link.classList.add(CLASS_NAME_ACTIVE);
|
|
253
305
|
} else {
|
|
254
306
|
// Set triggered link as active
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
307
|
+
link.classList.add(CLASS_NAME_ACTIVE);
|
|
308
|
+
SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP).forEach(function (listGroup) {
|
|
309
|
+
// Set triggered links parents as active
|
|
310
|
+
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
|
311
|
+
SelectorEngine.prev(listGroup, SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).forEach(function (item) {
|
|
312
|
+
return item.classList.add(CLASS_NAME_ACTIVE);
|
|
313
|
+
}); // Handle special case when .nav-link is inside .nav-item
|
|
314
|
+
|
|
315
|
+
SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
|
|
316
|
+
SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
|
|
317
|
+
return item.classList.add(CLASS_NAME_ACTIVE);
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
});
|
|
261
321
|
}
|
|
262
322
|
|
|
263
|
-
|
|
323
|
+
EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
|
|
264
324
|
relatedTarget: target
|
|
265
325
|
});
|
|
266
326
|
};
|
|
267
327
|
|
|
268
328
|
_proto._clear = function _clear() {
|
|
269
|
-
|
|
329
|
+
SelectorEngine.find(this._selector).filter(function (node) {
|
|
270
330
|
return node.classList.contains(CLASS_NAME_ACTIVE);
|
|
271
331
|
}).forEach(function (node) {
|
|
272
332
|
return node.classList.remove(CLASS_NAME_ACTIVE);
|
|
@@ -274,15 +334,14 @@
|
|
|
274
334
|
} // Static
|
|
275
335
|
;
|
|
276
336
|
|
|
277
|
-
ScrollSpy.
|
|
337
|
+
ScrollSpy.jQueryInterface = function jQueryInterface(config) {
|
|
278
338
|
return this.each(function () {
|
|
279
|
-
var data =
|
|
339
|
+
var data = Data.getData(this, DATA_KEY);
|
|
280
340
|
|
|
281
341
|
var _config = typeof config === 'object' && config;
|
|
282
342
|
|
|
283
343
|
if (!data) {
|
|
284
344
|
data = new ScrollSpy(this, _config);
|
|
285
|
-
$__default['default'](this).data(DATA_KEY, data);
|
|
286
345
|
}
|
|
287
346
|
|
|
288
347
|
if (typeof config === 'string') {
|
|
@@ -295,6 +354,10 @@
|
|
|
295
354
|
});
|
|
296
355
|
};
|
|
297
356
|
|
|
357
|
+
ScrollSpy.getInstance = function getInstance(element) {
|
|
358
|
+
return Data.getData(element, DATA_KEY);
|
|
359
|
+
};
|
|
360
|
+
|
|
298
361
|
_createClass(ScrollSpy, null, [{
|
|
299
362
|
key: "VERSION",
|
|
300
363
|
get: function get() {
|
|
@@ -316,29 +379,30 @@
|
|
|
316
379
|
*/
|
|
317
380
|
|
|
318
381
|
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
for (var i = scrollSpysLength; i--;) {
|
|
324
|
-
var $spy = $__default['default'](scrollSpys[i]);
|
|
325
|
-
|
|
326
|
-
ScrollSpy._jQueryInterface.call($spy, $spy.data());
|
|
327
|
-
}
|
|
382
|
+
EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
|
|
383
|
+
SelectorEngine.find(SELECTOR_DATA_SPY).forEach(function (spy) {
|
|
384
|
+
return new ScrollSpy(spy, Manipulator.getDataAttributes(spy));
|
|
385
|
+
});
|
|
328
386
|
});
|
|
387
|
+
var $ = getjQuery();
|
|
329
388
|
/**
|
|
330
389
|
* ------------------------------------------------------------------------
|
|
331
390
|
* jQuery
|
|
332
391
|
* ------------------------------------------------------------------------
|
|
333
392
|
*/
|
|
334
393
|
|
|
335
|
-
|
|
336
|
-
$__default['default'].fn[NAME].Constructor = ScrollSpy;
|
|
394
|
+
/* istanbul ignore if */
|
|
337
395
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
396
|
+
if ($) {
|
|
397
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
398
|
+
$.fn[NAME] = ScrollSpy.jQueryInterface;
|
|
399
|
+
$.fn[NAME].Constructor = ScrollSpy;
|
|
400
|
+
|
|
401
|
+
$.fn[NAME].noConflict = function () {
|
|
402
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
403
|
+
return ScrollSpy.jQueryInterface;
|
|
404
|
+
};
|
|
405
|
+
}
|
|
342
406
|
|
|
343
407
|
return ScrollSpy;
|
|
344
408
|
|