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