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