bootstrap 4.1.2 → 4.1.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bootstrap might be problematic. Click here for more details.

Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap-sprockets.js +5 -5
  4. data/assets/javascripts/bootstrap.js +23 -23
  5. data/assets/javascripts/bootstrap.min.js +2 -2
  6. data/assets/javascripts/bootstrap/alert.js +159 -133
  7. data/assets/javascripts/bootstrap/button.js +149 -124
  8. data/assets/javascripts/bootstrap/carousel.js +463 -407
  9. data/assets/javascripts/bootstrap/collapse.js +338 -282
  10. data/assets/javascripts/bootstrap/dropdown.js +439 -382
  11. data/assets/javascripts/bootstrap/modal.js +502 -446
  12. data/assets/javascripts/bootstrap/popover.js +223 -163
  13. data/assets/javascripts/bootstrap/scrollspy.js +307 -251
  14. data/assets/javascripts/bootstrap/tab.js +217 -191
  15. data/assets/javascripts/bootstrap/tooltip.js +582 -525
  16. data/assets/javascripts/bootstrap/util.js +129 -116
  17. data/assets/stylesheets/_bootstrap-grid.scss +1 -1
  18. data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
  19. data/assets/stylesheets/_bootstrap.scss +1 -1
  20. data/assets/stylesheets/bootstrap/_buttons.scss +0 -1
  21. data/assets/stylesheets/bootstrap/_custom-forms.scss +13 -19
  22. data/assets/stylesheets/bootstrap/_forms.scss +13 -15
  23. data/assets/stylesheets/bootstrap/_input-group.scss +15 -2
  24. data/assets/stylesheets/bootstrap/_modal.scss +18 -6
  25. data/assets/stylesheets/bootstrap/_reboot.scss +4 -2
  26. data/assets/stylesheets/bootstrap/_tables.scss +0 -1
  27. data/assets/stylesheets/bootstrap/_variables.scss +10 -9
  28. data/assets/stylesheets/bootstrap/mixins/_forms.scss +7 -7
  29. data/lib/bootstrap/version.rb +2 -2
  30. metadata +2 -2
@@ -1,205 +1,265 @@
1
- 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); } }
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) :
3
+ typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) :
4
+ (global.Popover = factory(global.jQuery,global.Tooltip));
5
+ }(this, (function ($,Tooltip) { 'use strict';
6
+
7
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
8
+ Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip;
9
+
10
+ function _defineProperties(target, props) {
11
+ for (var i = 0; i < props.length; i++) {
12
+ var descriptor = props[i];
13
+ descriptor.enumerable = descriptor.enumerable || false;
14
+ descriptor.configurable = true;
15
+ if ("value" in descriptor) descriptor.writable = true;
16
+ Object.defineProperty(target, descriptor.key, descriptor);
17
+ }
18
+ }
19
+
20
+ function _createClass(Constructor, protoProps, staticProps) {
21
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
22
+ if (staticProps) _defineProperties(Constructor, staticProps);
23
+ return Constructor;
24
+ }
25
+
26
+ function _defineProperty(obj, key, value) {
27
+ if (key in obj) {
28
+ Object.defineProperty(obj, key, {
29
+ value: value,
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true
33
+ });
34
+ } else {
35
+ obj[key] = value;
36
+ }
37
+
38
+ return obj;
39
+ }
2
40
 
3
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
41
+ function _objectSpread(target) {
42
+ for (var i = 1; i < arguments.length; i++) {
43
+ var source = arguments[i] != null ? arguments[i] : {};
44
+ var ownKeys = Object.keys(source);
4
45
 
5
- function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
46
+ if (typeof Object.getOwnPropertySymbols === 'function') {
47
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
48
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
49
+ }));
50
+ }
51
+
52
+ ownKeys.forEach(function (key) {
53
+ _defineProperty(target, key, source[key]);
54
+ });
55
+ }
6
56
 
7
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
57
+ return target;
58
+ }
8
59
 
9
- 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; }
60
+ function _inheritsLoose(subClass, superClass) {
61
+ subClass.prototype = Object.create(superClass.prototype);
62
+ subClass.prototype.constructor = subClass;
63
+ subClass.__proto__ = superClass;
64
+ }
10
65
 
11
- /**
12
- * --------------------------------------------------------------------------
13
- * Bootstrap (v4.1.2): popover.js
14
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
15
- * --------------------------------------------------------------------------
16
- */
17
- var Popover = function ($) {
18
66
  /**
19
- * ------------------------------------------------------------------------
20
- * Constants
21
- * ------------------------------------------------------------------------
67
+ * --------------------------------------------------------------------------
68
+ * Bootstrap (v4.1.3): popover.js
69
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
70
+ * --------------------------------------------------------------------------
22
71
  */
23
- var NAME = 'popover';
24
- var VERSION = '4.1.2';
25
- var DATA_KEY = 'bs.popover';
26
- var EVENT_KEY = "." + DATA_KEY;
27
- var JQUERY_NO_CONFLICT = $.fn[NAME];
28
- var CLASS_PREFIX = 'bs-popover';
29
- var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
30
-
31
- var Default = _objectSpread({}, Tooltip.Default, {
32
- placement: 'right',
33
- trigger: 'click',
34
- content: '',
35
- template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
36
- });
37
-
38
- var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
39
- content: '(string|element|function)'
40
- });
41
-
42
- var ClassName = {
43
- FADE: 'fade',
44
- SHOW: 'show'
45
- };
46
- var Selector = {
47
- TITLE: '.popover-header',
48
- CONTENT: '.popover-body'
49
- };
50
- var Event = {
51
- HIDE: "hide" + EVENT_KEY,
52
- HIDDEN: "hidden" + EVENT_KEY,
53
- SHOW: "show" + EVENT_KEY,
54
- SHOWN: "shown" + EVENT_KEY,
55
- INSERTED: "inserted" + EVENT_KEY,
56
- CLICK: "click" + EVENT_KEY,
57
- FOCUSIN: "focusin" + EVENT_KEY,
58
- FOCUSOUT: "focusout" + EVENT_KEY,
59
- MOUSEENTER: "mouseenter" + EVENT_KEY,
60
- MOUSELEAVE: "mouseleave" + EVENT_KEY
72
+
73
+ var Popover = function ($$$1) {
61
74
  /**
62
75
  * ------------------------------------------------------------------------
63
- * Class Definition
76
+ * Constants
64
77
  * ------------------------------------------------------------------------
65
78
  */
79
+ var NAME = 'popover';
80
+ var VERSION = '4.1.3';
81
+ var DATA_KEY = 'bs.popover';
82
+ var EVENT_KEY = "." + DATA_KEY;
83
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
84
+ var CLASS_PREFIX = 'bs-popover';
85
+ var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
86
+
87
+ var Default = _objectSpread({}, Tooltip.Default, {
88
+ placement: 'right',
89
+ trigger: 'click',
90
+ content: '',
91
+ template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
92
+ });
93
+
94
+ var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
95
+ content: '(string|element|function)'
96
+ });
97
+
98
+ var ClassName = {
99
+ FADE: 'fade',
100
+ SHOW: 'show'
101
+ };
102
+ var Selector = {
103
+ TITLE: '.popover-header',
104
+ CONTENT: '.popover-body'
105
+ };
106
+ var Event = {
107
+ HIDE: "hide" + EVENT_KEY,
108
+ HIDDEN: "hidden" + EVENT_KEY,
109
+ SHOW: "show" + EVENT_KEY,
110
+ SHOWN: "shown" + EVENT_KEY,
111
+ INSERTED: "inserted" + EVENT_KEY,
112
+ CLICK: "click" + EVENT_KEY,
113
+ FOCUSIN: "focusin" + EVENT_KEY,
114
+ FOCUSOUT: "focusout" + EVENT_KEY,
115
+ MOUSEENTER: "mouseenter" + EVENT_KEY,
116
+ MOUSELEAVE: "mouseleave" + EVENT_KEY
117
+ /**
118
+ * ------------------------------------------------------------------------
119
+ * Class Definition
120
+ * ------------------------------------------------------------------------
121
+ */
66
122
 
67
- };
68
-
69
- var Popover =
70
- /*#__PURE__*/
71
- function (_Tooltip) {
72
- _inheritsLoose(Popover, _Tooltip);
123
+ };
73
124
 
74
- function Popover() {
75
- return _Tooltip.apply(this, arguments) || this;
76
- }
125
+ var Popover =
126
+ /*#__PURE__*/
127
+ function (_Tooltip) {
128
+ _inheritsLoose(Popover, _Tooltip);
77
129
 
78
- var _proto = Popover.prototype;
130
+ function Popover() {
131
+ return _Tooltip.apply(this, arguments) || this;
132
+ }
79
133
 
80
- // Overrides
81
- _proto.isWithContent = function isWithContent() {
82
- return this.getTitle() || this._getContent();
83
- };
134
+ var _proto = Popover.prototype;
84
135
 
85
- _proto.addAttachmentClass = function addAttachmentClass(attachment) {
86
- $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
87
- };
136
+ // Overrides
137
+ _proto.isWithContent = function isWithContent() {
138
+ return this.getTitle() || this._getContent();
139
+ };
88
140
 
89
- _proto.getTipElement = function getTipElement() {
90
- this.tip = this.tip || $(this.config.template)[0];
91
- return this.tip;
92
- };
141
+ _proto.addAttachmentClass = function addAttachmentClass(attachment) {
142
+ $$$1(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
143
+ };
93
144
 
94
- _proto.setContent = function setContent() {
95
- var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
145
+ _proto.getTipElement = function getTipElement() {
146
+ this.tip = this.tip || $$$1(this.config.template)[0];
147
+ return this.tip;
148
+ };
96
149
 
97
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
150
+ _proto.setContent = function setContent() {
151
+ var $tip = $$$1(this.getTipElement()); // We use append for html objects to maintain js events
98
152
 
99
- var content = this._getContent();
153
+ this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
100
154
 
101
- if (typeof content === 'function') {
102
- content = content.call(this.element);
103
- }
155
+ var content = this._getContent();
104
156
 
105
- this.setElementContent($tip.find(Selector.CONTENT), content);
106
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
107
- }; // Private
157
+ if (typeof content === 'function') {
158
+ content = content.call(this.element);
159
+ }
108
160
 
161
+ this.setElementContent($tip.find(Selector.CONTENT), content);
162
+ $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
163
+ }; // Private
109
164
 
110
- _proto._getContent = function _getContent() {
111
- return this.element.getAttribute('data-content') || this.config.content;
112
- };
113
165
 
114
- _proto._cleanTipClass = function _cleanTipClass() {
115
- var $tip = $(this.getTipElement());
116
- var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
166
+ _proto._getContent = function _getContent() {
167
+ return this.element.getAttribute('data-content') || this.config.content;
168
+ };
117
169
 
118
- if (tabClass !== null && tabClass.length > 0) {
119
- $tip.removeClass(tabClass.join(''));
120
- }
121
- }; // Static
170
+ _proto._cleanTipClass = function _cleanTipClass() {
171
+ var $tip = $$$1(this.getTipElement());
172
+ var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
122
173
 
174
+ if (tabClass !== null && tabClass.length > 0) {
175
+ $tip.removeClass(tabClass.join(''));
176
+ }
177
+ }; // Static
123
178
 
124
- Popover._jQueryInterface = function _jQueryInterface(config) {
125
- return this.each(function () {
126
- var data = $(this).data(DATA_KEY);
127
179
 
128
- var _config = typeof config === 'object' ? config : null;
180
+ Popover._jQueryInterface = function _jQueryInterface(config) {
181
+ return this.each(function () {
182
+ var data = $$$1(this).data(DATA_KEY);
129
183
 
130
- if (!data && /destroy|hide/.test(config)) {
131
- return;
132
- }
184
+ var _config = typeof config === 'object' ? config : null;
133
185
 
134
- if (!data) {
135
- data = new Popover(this, _config);
136
- $(this).data(DATA_KEY, data);
137
- }
186
+ if (!data && /destroy|hide/.test(config)) {
187
+ return;
188
+ }
138
189
 
139
- if (typeof config === 'string') {
140
- if (typeof data[config] === 'undefined') {
141
- throw new TypeError("No method named \"" + config + "\"");
190
+ if (!data) {
191
+ data = new Popover(this, _config);
192
+ $$$1(this).data(DATA_KEY, data);
142
193
  }
143
194
 
144
- data[config]();
195
+ if (typeof config === 'string') {
196
+ if (typeof data[config] === 'undefined') {
197
+ throw new TypeError("No method named \"" + config + "\"");
198
+ }
199
+
200
+ data[config]();
201
+ }
202
+ });
203
+ };
204
+
205
+ _createClass(Popover, null, [{
206
+ key: "VERSION",
207
+ // Getters
208
+ get: function get() {
209
+ return VERSION;
145
210
  }
146
- });
147
- };
211
+ }, {
212
+ key: "Default",
213
+ get: function get() {
214
+ return Default;
215
+ }
216
+ }, {
217
+ key: "NAME",
218
+ get: function get() {
219
+ return NAME;
220
+ }
221
+ }, {
222
+ key: "DATA_KEY",
223
+ get: function get() {
224
+ return DATA_KEY;
225
+ }
226
+ }, {
227
+ key: "Event",
228
+ get: function get() {
229
+ return Event;
230
+ }
231
+ }, {
232
+ key: "EVENT_KEY",
233
+ get: function get() {
234
+ return EVENT_KEY;
235
+ }
236
+ }, {
237
+ key: "DefaultType",
238
+ get: function get() {
239
+ return DefaultType;
240
+ }
241
+ }]);
148
242
 
149
- _createClass(Popover, null, [{
150
- key: "VERSION",
151
- // Getters
152
- get: function get() {
153
- return VERSION;
154
- }
155
- }, {
156
- key: "Default",
157
- get: function get() {
158
- return Default;
159
- }
160
- }, {
161
- key: "NAME",
162
- get: function get() {
163
- return NAME;
164
- }
165
- }, {
166
- key: "DATA_KEY",
167
- get: function get() {
168
- return DATA_KEY;
169
- }
170
- }, {
171
- key: "Event",
172
- get: function get() {
173
- return Event;
174
- }
175
- }, {
176
- key: "EVENT_KEY",
177
- get: function get() {
178
- return EVENT_KEY;
179
- }
180
- }, {
181
- key: "DefaultType",
182
- get: function get() {
183
- return DefaultType;
184
- }
185
- }]);
243
+ return Popover;
244
+ }(Tooltip);
245
+ /**
246
+ * ------------------------------------------------------------------------
247
+ * jQuery
248
+ * ------------------------------------------------------------------------
249
+ */
186
250
 
187
- return Popover;
188
- }(Tooltip);
189
- /**
190
- * ------------------------------------------------------------------------
191
- * jQuery
192
- * ------------------------------------------------------------------------
193
- */
194
251
 
252
+ $$$1.fn[NAME] = Popover._jQueryInterface;
253
+ $$$1.fn[NAME].Constructor = Popover;
195
254
 
196
- $.fn[NAME] = Popover._jQueryInterface;
197
- $.fn[NAME].Constructor = Popover;
255
+ $$$1.fn[NAME].noConflict = function () {
256
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
257
+ return Popover._jQueryInterface;
258
+ };
198
259
 
199
- $.fn[NAME].noConflict = function () {
200
- $.fn[NAME] = JQUERY_NO_CONFLICT;
201
- return Popover._jQueryInterface;
202
- };
260
+ return Popover;
261
+ }($);
203
262
 
204
263
  return Popover;
205
- }($);
264
+
265
+ })));
@@ -1,322 +1,378 @@
1
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
3
+ typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
4
+ (global.ScrollSpy = factory(global.jQuery,global.Util));
5
+ }(this, (function ($,Util) { 'use strict';
6
+
7
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
8
+ Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
9
+
10
+ function _defineProperties(target, props) {
11
+ for (var i = 0; i < props.length; i++) {
12
+ var descriptor = props[i];
13
+ descriptor.enumerable = descriptor.enumerable || false;
14
+ descriptor.configurable = true;
15
+ if ("value" in descriptor) descriptor.writable = true;
16
+ Object.defineProperty(target, descriptor.key, descriptor);
17
+ }
18
+ }
19
+
20
+ function _createClass(Constructor, protoProps, staticProps) {
21
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
22
+ if (staticProps) _defineProperties(Constructor, staticProps);
23
+ return Constructor;
24
+ }
25
+
26
+ function _defineProperty(obj, key, value) {
27
+ if (key in obj) {
28
+ Object.defineProperty(obj, key, {
29
+ value: value,
30
+ enumerable: true,
31
+ configurable: true,
32
+ writable: true
33
+ });
34
+ } else {
35
+ obj[key] = value;
36
+ }
37
+
38
+ return obj;
39
+ }
40
+
41
+ function _objectSpread(target) {
42
+ for (var i = 1; i < arguments.length; i++) {
43
+ var source = arguments[i] != null ? arguments[i] : {};
44
+ var ownKeys = Object.keys(source);
2
45
 
3
- 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; }
46
+ if (typeof Object.getOwnPropertySymbols === 'function') {
47
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
48
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
49
+ }));
50
+ }
4
51
 
5
- 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); } }
52
+ ownKeys.forEach(function (key) {
53
+ _defineProperty(target, key, source[key]);
54
+ });
55
+ }
6
56
 
7
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
57
+ return target;
58
+ }
8
59
 
9
- /**
10
- * --------------------------------------------------------------------------
11
- * Bootstrap (v4.1.2): scrollspy.js
12
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
13
- * --------------------------------------------------------------------------
14
- */
15
- var ScrollSpy = function ($) {
16
60
  /**
17
- * ------------------------------------------------------------------------
18
- * Constants
19
- * ------------------------------------------------------------------------
61
+ * --------------------------------------------------------------------------
62
+ * Bootstrap (v4.1.3): scrollspy.js
63
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
64
+ * --------------------------------------------------------------------------
20
65
  */
21
- var NAME = 'scrollspy';
22
- var VERSION = '4.1.2';
23
- var DATA_KEY = 'bs.scrollspy';
24
- var EVENT_KEY = "." + DATA_KEY;
25
- var DATA_API_KEY = '.data-api';
26
- var JQUERY_NO_CONFLICT = $.fn[NAME];
27
- var Default = {
28
- offset: 10,
29
- method: 'auto',
30
- target: ''
31
- };
32
- var DefaultType = {
33
- offset: 'number',
34
- method: 'string',
35
- target: '(string|element)'
36
- };
37
- var Event = {
38
- ACTIVATE: "activate" + EVENT_KEY,
39
- SCROLL: "scroll" + EVENT_KEY,
40
- LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
41
- };
42
- var ClassName = {
43
- DROPDOWN_ITEM: 'dropdown-item',
44
- DROPDOWN_MENU: 'dropdown-menu',
45
- ACTIVE: 'active'
46
- };
47
- var Selector = {
48
- DATA_SPY: '[data-spy="scroll"]',
49
- ACTIVE: '.active',
50
- NAV_LIST_GROUP: '.nav, .list-group',
51
- NAV_LINKS: '.nav-link',
52
- NAV_ITEMS: '.nav-item',
53
- LIST_ITEMS: '.list-group-item',
54
- DROPDOWN: '.dropdown',
55
- DROPDOWN_ITEMS: '.dropdown-item',
56
- DROPDOWN_TOGGLE: '.dropdown-toggle'
57
- };
58
- var OffsetMethod = {
59
- OFFSET: 'offset',
60
- POSITION: 'position'
66
+
67
+ var ScrollSpy = function ($$$1) {
61
68
  /**
62
69
  * ------------------------------------------------------------------------
63
- * Class Definition
70
+ * Constants
64
71
  * ------------------------------------------------------------------------
65
72
  */
73
+ var NAME = 'scrollspy';
74
+ var VERSION = '4.1.3';
75
+ var DATA_KEY = 'bs.scrollspy';
76
+ var EVENT_KEY = "." + DATA_KEY;
77
+ var DATA_API_KEY = '.data-api';
78
+ var JQUERY_NO_CONFLICT = $$$1.fn[NAME];
79
+ var Default = {
80
+ offset: 10,
81
+ method: 'auto',
82
+ target: ''
83
+ };
84
+ var DefaultType = {
85
+ offset: 'number',
86
+ method: 'string',
87
+ target: '(string|element)'
88
+ };
89
+ var Event = {
90
+ ACTIVATE: "activate" + EVENT_KEY,
91
+ SCROLL: "scroll" + EVENT_KEY,
92
+ LOAD_DATA_API: "load" + EVENT_KEY + DATA_API_KEY
93
+ };
94
+ var ClassName = {
95
+ DROPDOWN_ITEM: 'dropdown-item',
96
+ DROPDOWN_MENU: 'dropdown-menu',
97
+ ACTIVE: 'active'
98
+ };
99
+ var Selector = {
100
+ DATA_SPY: '[data-spy="scroll"]',
101
+ ACTIVE: '.active',
102
+ NAV_LIST_GROUP: '.nav, .list-group',
103
+ NAV_LINKS: '.nav-link',
104
+ NAV_ITEMS: '.nav-item',
105
+ LIST_ITEMS: '.list-group-item',
106
+ DROPDOWN: '.dropdown',
107
+ DROPDOWN_ITEMS: '.dropdown-item',
108
+ DROPDOWN_TOGGLE: '.dropdown-toggle'
109
+ };
110
+ var OffsetMethod = {
111
+ OFFSET: 'offset',
112
+ POSITION: 'position'
113
+ /**
114
+ * ------------------------------------------------------------------------
115
+ * Class Definition
116
+ * ------------------------------------------------------------------------
117
+ */
66
118
 
67
- };
68
-
69
- var ScrollSpy =
70
- /*#__PURE__*/
71
- function () {
72
- function ScrollSpy(element, config) {
73
- var _this = this;
74
-
75
- this._element = element;
76
- this._scrollElement = element.tagName === 'BODY' ? window : element;
77
- this._config = this._getConfig(config);
78
- this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
79
- this._offsets = [];
80
- this._targets = [];
81
- this._activeTarget = null;
82
- this._scrollHeight = 0;
83
- $(this._scrollElement).on(Event.SCROLL, function (event) {
84
- return _this._process(event);
85
- });
86
- this.refresh();
119
+ };
87
120
 
88
- this._process();
89
- } // Getters
121
+ var ScrollSpy =
122
+ /*#__PURE__*/
123
+ function () {
124
+ function ScrollSpy(element, config) {
125
+ var _this = this;
126
+
127
+ this._element = element;
128
+ this._scrollElement = element.tagName === 'BODY' ? window : element;
129
+ this._config = this._getConfig(config);
130
+ this._selector = this._config.target + " " + Selector.NAV_LINKS + "," + (this._config.target + " " + Selector.LIST_ITEMS + ",") + (this._config.target + " " + Selector.DROPDOWN_ITEMS);
131
+ this._offsets = [];
132
+ this._targets = [];
133
+ this._activeTarget = null;
134
+ this._scrollHeight = 0;
135
+ $$$1(this._scrollElement).on(Event.SCROLL, function (event) {
136
+ return _this._process(event);
137
+ });
138
+ this.refresh();
90
139
 
140
+ this._process();
141
+ } // Getters
91
142
 
92
- var _proto = ScrollSpy.prototype;
93
143
 
94
- // Public
95
- _proto.refresh = function refresh() {
96
- var _this2 = this;
144
+ var _proto = ScrollSpy.prototype;
97
145
 
98
- var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
99
- var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
100
- var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
101
- this._offsets = [];
102
- this._targets = [];
103
- this._scrollHeight = this._getScrollHeight();
104
- var targets = [].slice.call(document.querySelectorAll(this._selector));
105
- targets.map(function (element) {
106
- var target;
107
- var targetSelector = Util.getSelectorFromElement(element);
146
+ // Public
147
+ _proto.refresh = function refresh() {
148
+ var _this2 = this;
108
149
 
109
- if (targetSelector) {
110
- target = document.querySelector(targetSelector);
111
- }
150
+ var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;
151
+ var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
152
+ var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;
153
+ this._offsets = [];
154
+ this._targets = [];
155
+ this._scrollHeight = this._getScrollHeight();
156
+ var targets = [].slice.call(document.querySelectorAll(this._selector));
157
+ targets.map(function (element) {
158
+ var target;
159
+ var targetSelector = Util.getSelectorFromElement(element);
160
+
161
+ if (targetSelector) {
162
+ target = document.querySelector(targetSelector);
163
+ }
112
164
 
113
- if (target) {
114
- var targetBCR = target.getBoundingClientRect();
165
+ if (target) {
166
+ var targetBCR = target.getBoundingClientRect();
115
167
 
116
- if (targetBCR.width || targetBCR.height) {
117
- // TODO (fat): remove sketch reliance on jQuery position/offset
118
- return [$(target)[offsetMethod]().top + offsetBase, targetSelector];
168
+ if (targetBCR.width || targetBCR.height) {
169
+ // TODO (fat): remove sketch reliance on jQuery position/offset
170
+ return [$$$1(target)[offsetMethod]().top + offsetBase, targetSelector];
171
+ }
119
172
  }
120
- }
121
173
 
122
- return null;
123
- }).filter(function (item) {
124
- return item;
125
- }).sort(function (a, b) {
126
- return a[0] - b[0];
127
- }).forEach(function (item) {
128
- _this2._offsets.push(item[0]);
174
+ return null;
175
+ }).filter(function (item) {
176
+ return item;
177
+ }).sort(function (a, b) {
178
+ return a[0] - b[0];
179
+ }).forEach(function (item) {
180
+ _this2._offsets.push(item[0]);
181
+
182
+ _this2._targets.push(item[1]);
183
+ });
184
+ };
185
+
186
+ _proto.dispose = function dispose() {
187
+ $$$1.removeData(this._element, DATA_KEY);
188
+ $$$1(this._scrollElement).off(EVENT_KEY);
189
+ this._element = null;
190
+ this._scrollElement = null;
191
+ this._config = null;
192
+ this._selector = null;
193
+ this._offsets = null;
194
+ this._targets = null;
195
+ this._activeTarget = null;
196
+ this._scrollHeight = null;
197
+ }; // Private
129
198
 
130
- _this2._targets.push(item[1]);
131
- });
132
- };
133
199
 
134
- _proto.dispose = function dispose() {
135
- $.removeData(this._element, DATA_KEY);
136
- $(this._scrollElement).off(EVENT_KEY);
137
- this._element = null;
138
- this._scrollElement = null;
139
- this._config = null;
140
- this._selector = null;
141
- this._offsets = null;
142
- this._targets = null;
143
- this._activeTarget = null;
144
- this._scrollHeight = null;
145
- }; // Private
146
-
147
-
148
- _proto._getConfig = function _getConfig(config) {
149
- config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
150
-
151
- if (typeof config.target !== 'string') {
152
- var id = $(config.target).attr('id');
153
-
154
- if (!id) {
155
- id = Util.getUID(NAME);
156
- $(config.target).attr('id', id);
157
- }
200
+ _proto._getConfig = function _getConfig(config) {
201
+ config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
158
202
 
159
- config.target = "#" + id;
160
- }
203
+ if (typeof config.target !== 'string') {
204
+ var id = $$$1(config.target).attr('id');
161
205
 
162
- Util.typeCheckConfig(NAME, config, DefaultType);
163
- return config;
164
- };
206
+ if (!id) {
207
+ id = Util.getUID(NAME);
208
+ $$$1(config.target).attr('id', id);
209
+ }
165
210
 
166
- _proto._getScrollTop = function _getScrollTop() {
167
- return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
168
- };
211
+ config.target = "#" + id;
212
+ }
169
213
 
170
- _proto._getScrollHeight = function _getScrollHeight() {
171
- return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
172
- };
214
+ Util.typeCheckConfig(NAME, config, DefaultType);
215
+ return config;
216
+ };
173
217
 
174
- _proto._getOffsetHeight = function _getOffsetHeight() {
175
- return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
176
- };
218
+ _proto._getScrollTop = function _getScrollTop() {
219
+ return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
220
+ };
177
221
 
178
- _proto._process = function _process() {
179
- var scrollTop = this._getScrollTop() + this._config.offset;
222
+ _proto._getScrollHeight = function _getScrollHeight() {
223
+ return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
224
+ };
180
225
 
181
- var scrollHeight = this._getScrollHeight();
226
+ _proto._getOffsetHeight = function _getOffsetHeight() {
227
+ return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
228
+ };
182
229
 
183
- var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
230
+ _proto._process = function _process() {
231
+ var scrollTop = this._getScrollTop() + this._config.offset;
184
232
 
185
- if (this._scrollHeight !== scrollHeight) {
186
- this.refresh();
187
- }
233
+ var scrollHeight = this._getScrollHeight();
188
234
 
189
- if (scrollTop >= maxScroll) {
190
- var target = this._targets[this._targets.length - 1];
235
+ var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
191
236
 
192
- if (this._activeTarget !== target) {
193
- this._activate(target);
237
+ if (this._scrollHeight !== scrollHeight) {
238
+ this.refresh();
194
239
  }
195
240
 
196
- return;
197
- }
241
+ if (scrollTop >= maxScroll) {
242
+ var target = this._targets[this._targets.length - 1];
198
243
 
199
- if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
200
- this._activeTarget = null;
244
+ if (this._activeTarget !== target) {
245
+ this._activate(target);
246
+ }
201
247
 
202
- this._clear();
248
+ return;
249
+ }
203
250
 
204
- return;
205
- }
251
+ if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {
252
+ this._activeTarget = null;
253
+
254
+ this._clear();
206
255
 
207
- var offsetLength = this._offsets.length;
256
+ return;
257
+ }
208
258
 
209
- for (var i = offsetLength; i--;) {
210
- var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
259
+ var offsetLength = this._offsets.length;
211
260
 
212
- if (isActiveTarget) {
213
- this._activate(this._targets[i]);
261
+ for (var i = offsetLength; i--;) {
262
+ var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);
263
+
264
+ if (isActiveTarget) {
265
+ this._activate(this._targets[i]);
266
+ }
214
267
  }
215
- }
216
- };
268
+ };
217
269
 
218
- _proto._activate = function _activate(target) {
219
- this._activeTarget = target;
270
+ _proto._activate = function _activate(target) {
271
+ this._activeTarget = target;
220
272
 
221
- this._clear();
273
+ this._clear();
222
274
 
223
- var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
275
+ var queries = this._selector.split(','); // eslint-disable-next-line arrow-body-style
224
276
 
225
277
 
226
- queries = queries.map(function (selector) {
227
- return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
228
- });
229
- var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));
278
+ queries = queries.map(function (selector) {
279
+ return selector + "[data-target=\"" + target + "\"]," + (selector + "[href=\"" + target + "\"]");
280
+ });
281
+ var $link = $$$1([].slice.call(document.querySelectorAll(queries.join(','))));
230
282
 
231
- if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
232
- $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
233
- $link.addClass(ClassName.ACTIVE);
234
- } else {
235
- // Set triggered link as active
236
- $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
237
- // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
283
+ if ($link.hasClass(ClassName.DROPDOWN_ITEM)) {
284
+ $link.closest(Selector.DROPDOWN).find(Selector.DROPDOWN_TOGGLE).addClass(ClassName.ACTIVE);
285
+ $link.addClass(ClassName.ACTIVE);
286
+ } else {
287
+ // Set triggered link as active
288
+ $link.addClass(ClassName.ACTIVE); // Set triggered links parents as active
289
+ // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
238
290
 
239
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
291
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_LINKS + ", " + Selector.LIST_ITEMS).addClass(ClassName.ACTIVE); // Handle special case when .nav-link is inside .nav-item
240
292
 
241
- $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
242
- }
293
+ $link.parents(Selector.NAV_LIST_GROUP).prev(Selector.NAV_ITEMS).children(Selector.NAV_LINKS).addClass(ClassName.ACTIVE);
294
+ }
243
295
 
244
- $(this._scrollElement).trigger(Event.ACTIVATE, {
245
- relatedTarget: target
246
- });
247
- };
296
+ $$$1(this._scrollElement).trigger(Event.ACTIVATE, {
297
+ relatedTarget: target
298
+ });
299
+ };
248
300
 
249
- _proto._clear = function _clear() {
250
- var nodes = [].slice.call(document.querySelectorAll(this._selector));
251
- $(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
252
- }; // Static
301
+ _proto._clear = function _clear() {
302
+ var nodes = [].slice.call(document.querySelectorAll(this._selector));
303
+ $$$1(nodes).filter(Selector.ACTIVE).removeClass(ClassName.ACTIVE);
304
+ }; // Static
253
305
 
254
306
 
255
- ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
256
- return this.each(function () {
257
- var data = $(this).data(DATA_KEY);
307
+ ScrollSpy._jQueryInterface = function _jQueryInterface(config) {
308
+ return this.each(function () {
309
+ var data = $$$1(this).data(DATA_KEY);
258
310
 
259
- var _config = typeof config === 'object' && config;
311
+ var _config = typeof config === 'object' && config;
260
312
 
261
- if (!data) {
262
- data = new ScrollSpy(this, _config);
263
- $(this).data(DATA_KEY, data);
264
- }
313
+ if (!data) {
314
+ data = new ScrollSpy(this, _config);
315
+ $$$1(this).data(DATA_KEY, data);
316
+ }
265
317
 
266
- if (typeof config === 'string') {
267
- if (typeof data[config] === 'undefined') {
268
- throw new TypeError("No method named \"" + config + "\"");
318
+ if (typeof config === 'string') {
319
+ if (typeof data[config] === 'undefined') {
320
+ throw new TypeError("No method named \"" + config + "\"");
321
+ }
322
+
323
+ data[config]();
269
324
  }
325
+ });
326
+ };
270
327
 
271
- data[config]();
328
+ _createClass(ScrollSpy, null, [{
329
+ key: "VERSION",
330
+ get: function get() {
331
+ return VERSION;
272
332
  }
273
- });
274
- };
333
+ }, {
334
+ key: "Default",
335
+ get: function get() {
336
+ return Default;
337
+ }
338
+ }]);
275
339
 
276
- _createClass(ScrollSpy, null, [{
277
- key: "VERSION",
278
- get: function get() {
279
- return VERSION;
280
- }
281
- }, {
282
- key: "Default",
283
- get: function get() {
284
- return Default;
285
- }
286
- }]);
340
+ return ScrollSpy;
341
+ }();
342
+ /**
343
+ * ------------------------------------------------------------------------
344
+ * Data Api implementation
345
+ * ------------------------------------------------------------------------
346
+ */
287
347
 
288
- return ScrollSpy;
289
- }();
290
- /**
291
- * ------------------------------------------------------------------------
292
- * Data Api implementation
293
- * ------------------------------------------------------------------------
294
- */
295
348
 
349
+ $$$1(window).on(Event.LOAD_DATA_API, function () {
350
+ var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY));
351
+ var scrollSpysLength = scrollSpys.length;
296
352
 
297
- $(window).on(Event.LOAD_DATA_API, function () {
298
- var scrollSpys = [].slice.call(document.querySelectorAll(Selector.DATA_SPY));
299
- var scrollSpysLength = scrollSpys.length;
353
+ for (var i = scrollSpysLength; i--;) {
354
+ var $spy = $$$1(scrollSpys[i]);
300
355
 
301
- for (var i = scrollSpysLength; i--;) {
302
- var $spy = $(scrollSpys[i]);
356
+ ScrollSpy._jQueryInterface.call($spy, $spy.data());
357
+ }
358
+ });
359
+ /**
360
+ * ------------------------------------------------------------------------
361
+ * jQuery
362
+ * ------------------------------------------------------------------------
363
+ */
303
364
 
304
- ScrollSpy._jQueryInterface.call($spy, $spy.data());
305
- }
306
- });
307
- /**
308
- * ------------------------------------------------------------------------
309
- * jQuery
310
- * ------------------------------------------------------------------------
311
- */
365
+ $$$1.fn[NAME] = ScrollSpy._jQueryInterface;
366
+ $$$1.fn[NAME].Constructor = ScrollSpy;
312
367
 
313
- $.fn[NAME] = ScrollSpy._jQueryInterface;
314
- $.fn[NAME].Constructor = ScrollSpy;
368
+ $$$1.fn[NAME].noConflict = function () {
369
+ $$$1.fn[NAME] = JQUERY_NO_CONFLICT;
370
+ return ScrollSpy._jQueryInterface;
371
+ };
315
372
 
316
- $.fn[NAME].noConflict = function () {
317
- $.fn[NAME] = JQUERY_NO_CONFLICT;
318
- return ScrollSpy._jQueryInterface;
319
- };
373
+ return ScrollSpy;
374
+ }($);
320
375
 
321
376
  return ScrollSpy;
322
- }($);
377
+
378
+ })));