bootstrap 4.0.0.beta3 → 4.6.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 +5 -5
- data/.travis.yml +15 -1
- data/CHANGELOG.md +2 -2
- data/README.md +2 -2
- data/Rakefile +4 -2
- data/assets/javascripts/bootstrap/alert.js +79 -68
- data/assets/javascripts/bootstrap/button.js +140 -78
- data/assets/javascripts/bootstrap/carousel.js +294 -158
- data/assets/javascripts/bootstrap/collapse.js +157 -133
- data/assets/javascripts/bootstrap/dropdown.js +257 -167
- data/assets/javascripts/bootstrap/modal.js +285 -204
- data/assets/javascripts/bootstrap/popover.js +101 -60
- data/assets/javascripts/bootstrap/scrollspy.js +127 -106
- data/assets/javascripts/bootstrap/tab.js +113 -101
- data/assets/javascripts/bootstrap/toast.js +267 -0
- data/assets/javascripts/bootstrap/tooltip.js +406 -188
- data/assets/javascripts/bootstrap/util.js +106 -55
- data/assets/javascripts/bootstrap-sprockets.js +1 -0
- data/assets/javascripts/bootstrap.js +1946 -1482
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/stylesheets/_bootstrap-grid.scss +7 -12
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
- data/assets/stylesheets/_bootstrap.scss +6 -4
- data/assets/stylesheets/bootstrap/_alert.scss +3 -2
- data/assets/stylesheets/bootstrap/_badge.scss +8 -1
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +10 -6
- data/assets/stylesheets/bootstrap/_button-group.scss +17 -20
- data/assets/stylesheets/bootstrap/_buttons.scss +23 -28
- data/assets/stylesheets/bootstrap/_card.scss +77 -61
- data/assets/stylesheets/bootstrap/_carousel.scss +72 -63
- data/assets/stylesheets/bootstrap/_close.scss +15 -9
- data/assets/stylesheets/bootstrap/_code.scss +6 -14
- data/assets/stylesheets/bootstrap/_custom-forms.scss +287 -43
- data/assets/stylesheets/bootstrap/_dropdown.scss +70 -9
- data/assets/stylesheets/bootstrap/_forms.scss +56 -42
- data/assets/stylesheets/bootstrap/_functions.scss +117 -13
- data/assets/stylesheets/bootstrap/_grid.scss +32 -11
- data/assets/stylesheets/bootstrap/_images.scss +4 -4
- data/assets/stylesheets/bootstrap/_input-group.scss +80 -25
- data/assets/stylesheets/bootstrap/_jumbotron.scss +2 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +63 -24
- data/assets/stylesheets/bootstrap/_mixins.scss +9 -4
- data/assets/stylesheets/bootstrap/_modal.scss +96 -24
- data/assets/stylesheets/bootstrap/_nav.scss +14 -7
- data/assets/stylesheets/bootstrap/_navbar.scss +66 -45
- data/assets/stylesheets/bootstrap/_pagination.scss +10 -8
- data/assets/stylesheets/bootstrap/_popover.scss +56 -69
- data/assets/stylesheets/bootstrap/_print.scss +41 -19
- data/assets/stylesheets/bootstrap/_progress.scss +20 -6
- data/assets/stylesheets/bootstrap/_reboot.scss +88 -109
- data/assets/stylesheets/bootstrap/_spinners.scss +65 -0
- data/assets/stylesheets/bootstrap/_tables.scss +19 -14
- data/assets/stylesheets/bootstrap/_toasts.scss +46 -0
- data/assets/stylesheets/bootstrap/_tooltip.scss +6 -6
- data/assets/stylesheets/bootstrap/_transitions.scss +10 -20
- data/assets/stylesheets/bootstrap/_type.scss +19 -19
- data/assets/stylesheets/bootstrap/_utilities.scss +4 -0
- data/assets/stylesheets/bootstrap/_variables.scss +492 -215
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +8 -3
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -9
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +35 -26
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +13 -16
- data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
- data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +102 -40
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +7 -7
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +36 -25
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +34 -17
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +27 -51
- data/assets/stylesheets/bootstrap/mixins/_image.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +10 -13
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -6
- data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +11 -2
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +3 -1
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +20 -3
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
- data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +23 -2
- data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -36
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -4
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
- data/assets/stylesheets/bootstrap/utilities/_text.scss +28 -8
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +228 -0
- data/bootstrap.gemspec +7 -4
- data/lib/bootstrap/engine.rb +3 -0
- data/lib/bootstrap/version.rb +4 -2
- data/lib/bootstrap.rb +10 -7
- data/tasks/updater/js.rb +18 -6
- data/tasks/updater/network.rb +8 -2
- data/test/dummy_rails/app/assets/config/manifest.js +3 -0
- data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/support/dummy_rails_integration.rb +3 -1
- data/test/test_helper.rb +21 -15
- metadata +29 -16
- data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
|
@@ -1,50 +1,97 @@
|
|
|
1
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Bootstrap popover.js v4.6.2 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
|
+
*/
|
|
6
|
+
(function (global, factory) {
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['jquery', './tooltip'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Popover = factory(global.jQuery, global.Tooltip));
|
|
10
|
+
})(this, (function ($, Tooltip) { 'use strict';
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var $__default = /*#__PURE__*/_interopDefaultLegacy($);
|
|
15
|
+
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
|
16
|
+
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for (var i = 0; i < props.length; i++) {
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
28
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
31
|
+
writable: false
|
|
32
|
+
});
|
|
33
|
+
return Constructor;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function _extends() {
|
|
37
|
+
_extends = Object.assign ? Object.assign.bind() : 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
|
+
}
|
|
2
47
|
|
|
3
|
-
|
|
48
|
+
return target;
|
|
49
|
+
};
|
|
50
|
+
return _extends.apply(this, arguments);
|
|
51
|
+
}
|
|
4
52
|
|
|
5
|
-
function _inheritsLoose(subClass, superClass) {
|
|
53
|
+
function _inheritsLoose(subClass, superClass) {
|
|
54
|
+
subClass.prototype = Object.create(superClass.prototype);
|
|
55
|
+
subClass.prototype.constructor = subClass;
|
|
6
56
|
|
|
7
|
-
|
|
57
|
+
_setPrototypeOf(subClass, superClass);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function _setPrototypeOf(o, p) {
|
|
61
|
+
_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
|
|
62
|
+
o.__proto__ = p;
|
|
63
|
+
return o;
|
|
64
|
+
};
|
|
65
|
+
return _setPrototypeOf(o, p);
|
|
66
|
+
}
|
|
8
67
|
|
|
9
|
-
/**
|
|
10
|
-
* --------------------------------------------------------------------------
|
|
11
|
-
* Bootstrap (v4.0.0-beta.3): popover.js
|
|
12
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
13
|
-
* --------------------------------------------------------------------------
|
|
14
|
-
*/
|
|
15
|
-
var Popover = function ($) {
|
|
16
68
|
/**
|
|
17
|
-
* ------------------------------------------------------------------------
|
|
18
69
|
* Constants
|
|
19
|
-
* ------------------------------------------------------------------------
|
|
20
70
|
*/
|
|
71
|
+
|
|
21
72
|
var NAME = 'popover';
|
|
22
|
-
var VERSION = '4.
|
|
73
|
+
var VERSION = '4.6.2';
|
|
23
74
|
var DATA_KEY = 'bs.popover';
|
|
24
75
|
var EVENT_KEY = "." + DATA_KEY;
|
|
25
|
-
var JQUERY_NO_CONFLICT =
|
|
76
|
+
var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
|
|
26
77
|
var CLASS_PREFIX = 'bs-popover';
|
|
27
78
|
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
|
79
|
+
var CLASS_NAME_FADE = 'fade';
|
|
80
|
+
var CLASS_NAME_SHOW = 'show';
|
|
81
|
+
var SELECTOR_TITLE = '.popover-header';
|
|
82
|
+
var SELECTOR_CONTENT = '.popover-body';
|
|
28
83
|
|
|
29
|
-
var Default = _extends({},
|
|
84
|
+
var Default = _extends({}, Tooltip__default["default"].Default, {
|
|
30
85
|
placement: 'right',
|
|
31
86
|
trigger: 'click',
|
|
32
87
|
content: '',
|
|
33
88
|
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
|
|
34
89
|
});
|
|
35
90
|
|
|
36
|
-
var DefaultType = _extends({},
|
|
91
|
+
var DefaultType = _extends({}, Tooltip__default["default"].DefaultType, {
|
|
37
92
|
content: '(string|element|function)'
|
|
38
93
|
});
|
|
39
94
|
|
|
40
|
-
var ClassName = {
|
|
41
|
-
FADE: 'fade',
|
|
42
|
-
SHOW: 'show'
|
|
43
|
-
};
|
|
44
|
-
var Selector = {
|
|
45
|
-
TITLE: '.popover-header',
|
|
46
|
-
CONTENT: '.popover-body'
|
|
47
|
-
};
|
|
48
95
|
var Event = {
|
|
49
96
|
HIDE: "hide" + EVENT_KEY,
|
|
50
97
|
HIDDEN: "hidden" + EVENT_KEY,
|
|
@@ -56,17 +103,12 @@ var Popover = function ($) {
|
|
|
56
103
|
FOCUSOUT: "focusout" + EVENT_KEY,
|
|
57
104
|
MOUSEENTER: "mouseenter" + EVENT_KEY,
|
|
58
105
|
MOUSELEAVE: "mouseleave" + EVENT_KEY
|
|
59
|
-
/**
|
|
60
|
-
* ------------------------------------------------------------------------
|
|
61
|
-
* Class Definition
|
|
62
|
-
* ------------------------------------------------------------------------
|
|
63
|
-
*/
|
|
64
|
-
|
|
65
106
|
};
|
|
107
|
+
/**
|
|
108
|
+
* Class definition
|
|
109
|
+
*/
|
|
66
110
|
|
|
67
|
-
var Popover =
|
|
68
|
-
/*#__PURE__*/
|
|
69
|
-
function (_Tooltip) {
|
|
111
|
+
var Popover = /*#__PURE__*/function (_Tooltip) {
|
|
70
112
|
_inheritsLoose(Popover, _Tooltip);
|
|
71
113
|
|
|
72
114
|
function Popover() {
|
|
@@ -75,24 +117,24 @@ var Popover = function ($) {
|
|
|
75
117
|
|
|
76
118
|
var _proto = Popover.prototype;
|
|
77
119
|
|
|
78
|
-
//
|
|
120
|
+
// Overrides
|
|
79
121
|
_proto.isWithContent = function isWithContent() {
|
|
80
122
|
return this.getTitle() || this._getContent();
|
|
81
123
|
};
|
|
82
124
|
|
|
83
125
|
_proto.addAttachmentClass = function addAttachmentClass(attachment) {
|
|
84
|
-
$(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
|
|
126
|
+
$__default["default"](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
|
|
85
127
|
};
|
|
86
128
|
|
|
87
129
|
_proto.getTipElement = function getTipElement() {
|
|
88
|
-
this.tip = this.tip || $(this.config.template)[0];
|
|
130
|
+
this.tip = this.tip || $__default["default"](this.config.template)[0];
|
|
89
131
|
return this.tip;
|
|
90
132
|
};
|
|
91
133
|
|
|
92
134
|
_proto.setContent = function setContent() {
|
|
93
|
-
var $tip = $(this.getTipElement()); //
|
|
135
|
+
var $tip = $__default["default"](this.getTipElement()); // We use append for html objects to maintain js events
|
|
94
136
|
|
|
95
|
-
this.setElementContent($tip.find(
|
|
137
|
+
this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
|
|
96
138
|
|
|
97
139
|
var content = this._getContent();
|
|
98
140
|
|
|
@@ -100,43 +142,43 @@ var Popover = function ($) {
|
|
|
100
142
|
content = content.call(this.element);
|
|
101
143
|
}
|
|
102
144
|
|
|
103
|
-
this.setElementContent($tip.find(
|
|
104
|
-
$tip.removeClass(
|
|
105
|
-
}
|
|
106
|
-
|
|
145
|
+
this.setElementContent($tip.find(SELECTOR_CONTENT), content);
|
|
146
|
+
$tip.removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
|
|
147
|
+
} // Private
|
|
148
|
+
;
|
|
107
149
|
|
|
108
150
|
_proto._getContent = function _getContent() {
|
|
109
151
|
return this.element.getAttribute('data-content') || this.config.content;
|
|
110
152
|
};
|
|
111
153
|
|
|
112
154
|
_proto._cleanTipClass = function _cleanTipClass() {
|
|
113
|
-
var $tip = $(this.getTipElement());
|
|
155
|
+
var $tip = $__default["default"](this.getTipElement());
|
|
114
156
|
var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
|
|
115
157
|
|
|
116
158
|
if (tabClass !== null && tabClass.length > 0) {
|
|
117
159
|
$tip.removeClass(tabClass.join(''));
|
|
118
160
|
}
|
|
119
|
-
}
|
|
120
|
-
|
|
161
|
+
} // Static
|
|
162
|
+
;
|
|
121
163
|
|
|
122
164
|
Popover._jQueryInterface = function _jQueryInterface(config) {
|
|
123
165
|
return this.each(function () {
|
|
124
|
-
var data = $(this).data(DATA_KEY);
|
|
166
|
+
var data = $__default["default"](this).data(DATA_KEY);
|
|
125
167
|
|
|
126
168
|
var _config = typeof config === 'object' ? config : null;
|
|
127
169
|
|
|
128
|
-
if (!data && /
|
|
170
|
+
if (!data && /dispose|hide/.test(config)) {
|
|
129
171
|
return;
|
|
130
172
|
}
|
|
131
173
|
|
|
132
174
|
if (!data) {
|
|
133
175
|
data = new Popover(this, _config);
|
|
134
|
-
$(this).data(DATA_KEY, data);
|
|
176
|
+
$__default["default"](this).data(DATA_KEY, data);
|
|
135
177
|
}
|
|
136
178
|
|
|
137
179
|
if (typeof config === 'string') {
|
|
138
180
|
if (typeof data[config] === 'undefined') {
|
|
139
|
-
throw new
|
|
181
|
+
throw new TypeError("No method named \"" + config + "\"");
|
|
140
182
|
}
|
|
141
183
|
|
|
142
184
|
data[config]();
|
|
@@ -146,8 +188,8 @@ var Popover = function ($) {
|
|
|
146
188
|
|
|
147
189
|
_createClass(Popover, null, [{
|
|
148
190
|
key: "VERSION",
|
|
149
|
-
//
|
|
150
|
-
|
|
191
|
+
get: // Getters
|
|
192
|
+
function get() {
|
|
151
193
|
return VERSION;
|
|
152
194
|
}
|
|
153
195
|
}, {
|
|
@@ -183,21 +225,20 @@ var Popover = function ($) {
|
|
|
183
225
|
}]);
|
|
184
226
|
|
|
185
227
|
return Popover;
|
|
186
|
-
}(
|
|
228
|
+
}(Tooltip__default["default"]);
|
|
187
229
|
/**
|
|
188
|
-
* ------------------------------------------------------------------------
|
|
189
230
|
* jQuery
|
|
190
|
-
* ------------------------------------------------------------------------
|
|
191
231
|
*/
|
|
192
232
|
|
|
193
233
|
|
|
194
|
-
|
|
195
|
-
|
|
234
|
+
$__default["default"].fn[NAME] = Popover._jQueryInterface;
|
|
235
|
+
$__default["default"].fn[NAME].Constructor = Popover;
|
|
196
236
|
|
|
197
|
-
|
|
198
|
-
|
|
237
|
+
$__default["default"].fn[NAME].noConflict = function () {
|
|
238
|
+
$__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
|
|
199
239
|
return Popover._jQueryInterface;
|
|
200
240
|
};
|
|
201
241
|
|
|
202
242
|
return Popover;
|
|
203
|
-
|
|
243
|
+
|
|
244
|
+
}));
|
|
@@ -1,27 +1,80 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* Bootstrap scrollspy.js v4.6.2 (https://getbootstrap.com/)
|
|
3
|
+
* Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
|
+
*/
|
|
6
|
+
(function (global, factory) {
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.ScrollSpy = factory(global.jQuery, global.Util));
|
|
10
|
+
})(this, (function ($, Util) { 'use strict';
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var $__default = /*#__PURE__*/_interopDefaultLegacy($);
|
|
15
|
+
var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
|
|
16
|
+
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for (var i = 0; i < props.length; i++) {
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
28
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
31
|
+
writable: false
|
|
32
|
+
});
|
|
33
|
+
return Constructor;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function _extends() {
|
|
37
|
+
_extends = Object.assign ? Object.assign.bind() : 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
|
+
}
|
|
4
47
|
|
|
5
|
-
|
|
48
|
+
return target;
|
|
49
|
+
};
|
|
50
|
+
return _extends.apply(this, arguments);
|
|
51
|
+
}
|
|
6
52
|
|
|
7
|
-
/**
|
|
8
|
-
* --------------------------------------------------------------------------
|
|
9
|
-
* Bootstrap (v4.0.0-beta.3): scrollspy.js
|
|
10
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
11
|
-
* --------------------------------------------------------------------------
|
|
12
|
-
*/
|
|
13
|
-
var ScrollSpy = function ($) {
|
|
14
53
|
/**
|
|
15
|
-
* ------------------------------------------------------------------------
|
|
16
54
|
* Constants
|
|
17
|
-
* ------------------------------------------------------------------------
|
|
18
55
|
*/
|
|
56
|
+
|
|
19
57
|
var NAME = 'scrollspy';
|
|
20
|
-
var VERSION = '4.
|
|
58
|
+
var VERSION = '4.6.2';
|
|
21
59
|
var DATA_KEY = 'bs.scrollspy';
|
|
22
60
|
var EVENT_KEY = "." + DATA_KEY;
|
|
23
61
|
var DATA_API_KEY = '.data-api';
|
|
24
|
-
var JQUERY_NO_CONFLICT =
|
|
62
|
+
var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
|
|
63
|
+
var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
|
|
64
|
+
var CLASS_NAME_ACTIVE = 'active';
|
|
65
|
+
var EVENT_ACTIVATE = "activate" + EVENT_KEY;
|
|
66
|
+
var EVENT_SCROLL = "scroll" + EVENT_KEY;
|
|
67
|
+
var EVENT_LOAD_DATA_API = "load" + EVENT_KEY + DATA_API_KEY;
|
|
68
|
+
var METHOD_OFFSET = 'offset';
|
|
69
|
+
var METHOD_POSITION = 'position';
|
|
70
|
+
var SELECTOR_DATA_SPY = '[data-spy="scroll"]';
|
|
71
|
+
var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
|
|
72
|
+
var SELECTOR_NAV_LINKS = '.nav-link';
|
|
73
|
+
var SELECTOR_NAV_ITEMS = '.nav-item';
|
|
74
|
+
var SELECTOR_LIST_ITEMS = '.list-group-item';
|
|
75
|
+
var SELECTOR_DROPDOWN = '.dropdown';
|
|
76
|
+
var SELECTOR_DROPDOWN_ITEMS = '.dropdown-item';
|
|
77
|
+
var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
|
|
25
78
|
var Default = {
|
|
26
79
|
offset: 10,
|
|
27
80
|
method: 'auto',
|
|
@@ -32,95 +85,63 @@ var ScrollSpy = function ($) {
|
|
|
32
85
|
method: 'string',
|
|
33
86
|
target: '(string|element)'
|
|
34
87
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
|
|
39
|
-
};
|
|
40
|
-
var ClassName = {
|
|
41
|
-
DROPDOWN_ITEM: 'dropdown-item',
|
|
42
|
-
DROPDOWN_MENU: 'dropdown-menu',
|
|
43
|
-
ACTIVE: 'active'
|
|
44
|
-
};
|
|
45
|
-
var Selector = {
|
|
46
|
-
DATA_SPY: '[data-spy="scroll"]',
|
|
47
|
-
ACTIVE: '.active',
|
|
48
|
-
NAV_LIST_GROUP: '.nav, .list-group',
|
|
49
|
-
NAV_LINKS: '.nav-link',
|
|
50
|
-
NAV_ITEMS: '.nav-item',
|
|
51
|
-
LIST_ITEMS: '.list-group-item',
|
|
52
|
-
DROPDOWN: '.dropdown',
|
|
53
|
-
DROPDOWN_ITEMS: '.dropdown-item',
|
|
54
|
-
DROPDOWN_TOGGLE: '.dropdown-toggle'
|
|
55
|
-
};
|
|
56
|
-
var OffsetMethod = {
|
|
57
|
-
OFFSET: 'offset',
|
|
58
|
-
POSITION: 'position'
|
|
59
|
-
/**
|
|
60
|
-
* ------------------------------------------------------------------------
|
|
61
|
-
* Class Definition
|
|
62
|
-
* ------------------------------------------------------------------------
|
|
63
|
-
*/
|
|
64
|
-
|
|
65
|
-
};
|
|
88
|
+
/**
|
|
89
|
+
* Class definition
|
|
90
|
+
*/
|
|
66
91
|
|
|
67
|
-
var ScrollSpy =
|
|
68
|
-
/*#__PURE__*/
|
|
69
|
-
function () {
|
|
92
|
+
var ScrollSpy = /*#__PURE__*/function () {
|
|
70
93
|
function ScrollSpy(element, config) {
|
|
71
94
|
var _this = this;
|
|
72
95
|
|
|
73
96
|
this._element = element;
|
|
74
97
|
this._scrollElement = element.tagName === 'BODY' ? window : element;
|
|
75
98
|
this._config = this._getConfig(config);
|
|
76
|
-
this._selector = this._config.target + " " +
|
|
99
|
+
this._selector = this._config.target + " " + SELECTOR_NAV_LINKS + "," + (this._config.target + " " + SELECTOR_LIST_ITEMS + ",") + (this._config.target + " " + SELECTOR_DROPDOWN_ITEMS);
|
|
77
100
|
this._offsets = [];
|
|
78
101
|
this._targets = [];
|
|
79
102
|
this._activeTarget = null;
|
|
80
103
|
this._scrollHeight = 0;
|
|
81
|
-
$(this._scrollElement).on(
|
|
104
|
+
$__default["default"](this._scrollElement).on(EVENT_SCROLL, function (event) {
|
|
82
105
|
return _this._process(event);
|
|
83
106
|
});
|
|
84
107
|
this.refresh();
|
|
85
108
|
|
|
86
109
|
this._process();
|
|
87
|
-
} //
|
|
110
|
+
} // Getters
|
|
88
111
|
|
|
89
112
|
|
|
90
113
|
var _proto = ScrollSpy.prototype;
|
|
91
114
|
|
|
92
|
-
//
|
|
115
|
+
// Public
|
|
93
116
|
_proto.refresh = function refresh() {
|
|
94
117
|
var _this2 = this;
|
|
95
118
|
|
|
96
|
-
var autoMethod = this._scrollElement
|
|
119
|
+
var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
|
|
97
120
|
var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
|
|
98
|
-
var offsetBase = offsetMethod ===
|
|
121
|
+
var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
|
|
99
122
|
this._offsets = [];
|
|
100
123
|
this._targets = [];
|
|
101
124
|
this._scrollHeight = this._getScrollHeight();
|
|
102
|
-
var targets =
|
|
125
|
+
var targets = [].slice.call(document.querySelectorAll(this._selector));
|
|
103
126
|
targets.map(function (element) {
|
|
104
127
|
var target;
|
|
105
|
-
var targetSelector =
|
|
128
|
+
var targetSelector = Util__default["default"].getSelectorFromElement(element);
|
|
106
129
|
|
|
107
130
|
if (targetSelector) {
|
|
108
|
-
target =
|
|
131
|
+
target = document.querySelector(targetSelector);
|
|
109
132
|
}
|
|
110
133
|
|
|
111
134
|
if (target) {
|
|
112
135
|
var targetBCR = target.getBoundingClientRect();
|
|
113
136
|
|
|
114
137
|
if (targetBCR.width || targetBCR.height) {
|
|
115
|
-
//
|
|
116
|
-
return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
|
|
138
|
+
// TODO (fat): remove sketch reliance on jQuery position/offset
|
|
139
|
+
return [$__default["default"](target)[offsetMethod]().top + offsetBase, targetSelector];
|
|
117
140
|
}
|
|
118
141
|
}
|
|
119
142
|
|
|
120
143
|
return null;
|
|
121
|
-
}).filter(function (
|
|
122
|
-
return item;
|
|
123
|
-
}).sort(function (a, b) {
|
|
144
|
+
}).filter(Boolean).sort(function (a, b) {
|
|
124
145
|
return a[0] - b[0];
|
|
125
146
|
}).forEach(function (item) {
|
|
126
147
|
_this2._offsets.push(item[0]);
|
|
@@ -130,8 +151,8 @@ var ScrollSpy = function ($) {
|
|
|
130
151
|
};
|
|
131
152
|
|
|
132
153
|
_proto.dispose = function dispose() {
|
|
133
|
-
|
|
134
|
-
$(this._scrollElement).off(EVENT_KEY);
|
|
154
|
+
$__default["default"].removeData(this._element, DATA_KEY);
|
|
155
|
+
$__default["default"](this._scrollElement).off(EVENT_KEY);
|
|
135
156
|
this._element = null;
|
|
136
157
|
this._scrollElement = null;
|
|
137
158
|
this._config = null;
|
|
@@ -140,24 +161,24 @@ var ScrollSpy = function ($) {
|
|
|
140
161
|
this._targets = null;
|
|
141
162
|
this._activeTarget = null;
|
|
142
163
|
this._scrollHeight = null;
|
|
143
|
-
}
|
|
144
|
-
|
|
164
|
+
} // Private
|
|
165
|
+
;
|
|
145
166
|
|
|
146
167
|
_proto._getConfig = function _getConfig(config) {
|
|
147
|
-
config = _extends({}, Default, config);
|
|
168
|
+
config = _extends({}, Default, typeof config === 'object' && config ? config : {});
|
|
148
169
|
|
|
149
|
-
if (typeof config.target !== 'string') {
|
|
150
|
-
var id = $(config.target).attr('id');
|
|
170
|
+
if (typeof config.target !== 'string' && Util__default["default"].isElement(config.target)) {
|
|
171
|
+
var id = $__default["default"](config.target).attr('id');
|
|
151
172
|
|
|
152
173
|
if (!id) {
|
|
153
|
-
id =
|
|
154
|
-
$(config.target).attr('id', id);
|
|
174
|
+
id = Util__default["default"].getUID(NAME);
|
|
175
|
+
$__default["default"](config.target).attr('id', id);
|
|
155
176
|
}
|
|
156
177
|
|
|
157
178
|
config.target = "#" + id;
|
|
158
179
|
}
|
|
159
180
|
|
|
160
|
-
|
|
181
|
+
Util__default["default"].typeCheckConfig(NAME, config, DefaultType);
|
|
161
182
|
return config;
|
|
162
183
|
};
|
|
163
184
|
|
|
@@ -216,51 +237,53 @@ var ScrollSpy = function ($) {
|
|
|
216
237
|
|
|
217
238
|
this._clear();
|
|
218
239
|
|
|
219
|
-
var queries = this._selector.split(',')
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
queries = queries.map(function (selector) {
|
|
223
|
-
return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
|
|
240
|
+
var queries = this._selector.split(',').map(function (selector) {
|
|
241
|
+
return selector + "[data-target=\"" + target + "\"]," + selector + "[href=\"" + target + "\"]";
|
|
224
242
|
});
|
|
225
|
-
var $link = $(queries.join(','));
|
|
226
243
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
244
|
+
var $link = $__default["default"]([].slice.call(document.querySelectorAll(queries.join(','))));
|
|
245
|
+
|
|
246
|
+
if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {
|
|
247
|
+
$link.closest(SELECTOR_DROPDOWN).find(SELECTOR_DROPDOWN_TOGGLE).addClass(CLASS_NAME_ACTIVE);
|
|
248
|
+
$link.addClass(CLASS_NAME_ACTIVE);
|
|
230
249
|
} else {
|
|
231
250
|
// Set triggered link as active
|
|
232
|
-
$link.addClass(
|
|
251
|
+
$link.addClass(CLASS_NAME_ACTIVE); // Set triggered links parents as active
|
|
233
252
|
// With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
|
|
234
253
|
|
|
235
|
-
$link.parents(
|
|
254
|
+
$link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_LINKS + ", " + SELECTOR_LIST_ITEMS).addClass(CLASS_NAME_ACTIVE); // Handle special case when .nav-link is inside .nav-item
|
|
236
255
|
|
|
237
|
-
$link.parents(
|
|
256
|
+
$link.parents(SELECTOR_NAV_LIST_GROUP).prev(SELECTOR_NAV_ITEMS).children(SELECTOR_NAV_LINKS).addClass(CLASS_NAME_ACTIVE);
|
|
238
257
|
}
|
|
239
258
|
|
|
240
|
-
$(this._scrollElement).trigger(
|
|
259
|
+
$__default["default"](this._scrollElement).trigger(EVENT_ACTIVATE, {
|
|
241
260
|
relatedTarget: target
|
|
242
261
|
});
|
|
243
262
|
};
|
|
244
263
|
|
|
245
264
|
_proto._clear = function _clear() {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
265
|
+
[].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {
|
|
266
|
+
return node.classList.contains(CLASS_NAME_ACTIVE);
|
|
267
|
+
}).forEach(function (node) {
|
|
268
|
+
return node.classList.remove(CLASS_NAME_ACTIVE);
|
|
269
|
+
});
|
|
270
|
+
} // Static
|
|
271
|
+
;
|
|
249
272
|
|
|
250
273
|
ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
|
|
251
274
|
return this.each(function () {
|
|
252
|
-
var data = $(this).data(DATA_KEY);
|
|
275
|
+
var data = $__default["default"](this).data(DATA_KEY);
|
|
253
276
|
|
|
254
277
|
var _config = typeof config === 'object' && config;
|
|
255
278
|
|
|
256
279
|
if (!data) {
|
|
257
280
|
data = new ScrollSpy(this, _config);
|
|
258
|
-
$(this).data(DATA_KEY, data);
|
|
281
|
+
$__default["default"](this).data(DATA_KEY, data);
|
|
259
282
|
}
|
|
260
283
|
|
|
261
284
|
if (typeof config === 'string') {
|
|
262
285
|
if (typeof data[config] === 'undefined') {
|
|
263
|
-
throw new
|
|
286
|
+
throw new TypeError("No method named \"" + config + "\"");
|
|
264
287
|
}
|
|
265
288
|
|
|
266
289
|
data[config]();
|
|
@@ -283,34 +306,32 @@ var ScrollSpy = function ($) {
|
|
|
283
306
|
return ScrollSpy;
|
|
284
307
|
}();
|
|
285
308
|
/**
|
|
286
|
-
*
|
|
287
|
-
* Data Api implementation
|
|
288
|
-
* ------------------------------------------------------------------------
|
|
309
|
+
* Data API implementation
|
|
289
310
|
*/
|
|
290
311
|
|
|
291
312
|
|
|
292
|
-
$(window).on(
|
|
293
|
-
var scrollSpys =
|
|
313
|
+
$__default["default"](window).on(EVENT_LOAD_DATA_API, function () {
|
|
314
|
+
var scrollSpys = [].slice.call(document.querySelectorAll(SELECTOR_DATA_SPY));
|
|
315
|
+
var scrollSpysLength = scrollSpys.length;
|
|
294
316
|
|
|
295
|
-
for (var i =
|
|
296
|
-
var $spy = $(scrollSpys[i]);
|
|
317
|
+
for (var i = scrollSpysLength; i--;) {
|
|
318
|
+
var $spy = $__default["default"](scrollSpys[i]);
|
|
297
319
|
|
|
298
320
|
ScrollSpy._jQueryInterface.call($spy, $spy.data());
|
|
299
321
|
}
|
|
300
322
|
});
|
|
301
323
|
/**
|
|
302
|
-
* ------------------------------------------------------------------------
|
|
303
324
|
* jQuery
|
|
304
|
-
* ------------------------------------------------------------------------
|
|
305
325
|
*/
|
|
306
326
|
|
|
307
|
-
|
|
308
|
-
|
|
327
|
+
$__default["default"].fn[NAME] = ScrollSpy._jQueryInterface;
|
|
328
|
+
$__default["default"].fn[NAME].Constructor = ScrollSpy;
|
|
309
329
|
|
|
310
|
-
|
|
311
|
-
|
|
330
|
+
$__default["default"].fn[NAME].noConflict = function () {
|
|
331
|
+
$__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
|
|
312
332
|
return ScrollSpy._jQueryInterface;
|
|
313
333
|
};
|
|
314
334
|
|
|
315
335
|
return ScrollSpy;
|
|
316
|
-
|
|
336
|
+
|
|
337
|
+
}));
|