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