bootstrap 4.5.3 → 4.6.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.

Potentially problematic release.


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

Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/assets/javascripts/bootstrap/alert.js +44 -39
  4. data/assets/javascripts/bootstrap/button.js +43 -38
  5. data/assets/javascripts/bootstrap/carousel.js +135 -107
  6. data/assets/javascripts/bootstrap/collapse.js +97 -76
  7. data/assets/javascripts/bootstrap/dropdown.js +103 -85
  8. data/assets/javascripts/bootstrap/modal.js +168 -147
  9. data/assets/javascripts/bootstrap/popover.js +74 -37
  10. data/assets/javascripts/bootstrap/scrollspy.js +75 -54
  11. data/assets/javascripts/bootstrap/tab.js +67 -56
  12. data/assets/javascripts/bootstrap/toast.js +71 -48
  13. data/assets/javascripts/bootstrap/tooltip.js +144 -117
  14. data/assets/javascripts/bootstrap/util.js +16 -19
  15. data/assets/javascripts/bootstrap-sprockets.js +6 -6
  16. data/assets/javascripts/bootstrap.js +834 -895
  17. data/assets/javascripts/bootstrap.min.js +3 -3
  18. data/assets/stylesheets/_bootstrap-grid.scss +4 -3
  19. data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
  20. data/assets/stylesheets/_bootstrap.scss +3 -3
  21. data/assets/stylesheets/bootstrap/_breadcrumb.scss +1 -3
  22. data/assets/stylesheets/bootstrap/_card.scss +5 -5
  23. data/assets/stylesheets/bootstrap/_carousel.scss +6 -3
  24. data/assets/stylesheets/bootstrap/_custom-forms.scss +10 -8
  25. data/assets/stylesheets/bootstrap/_dropdown.scss +1 -1
  26. data/assets/stylesheets/bootstrap/_forms.scss +10 -10
  27. data/assets/stylesheets/bootstrap/_functions.scss +47 -1
  28. data/assets/stylesheets/bootstrap/_images.scss +1 -1
  29. data/assets/stylesheets/bootstrap/_input-group.scss +22 -3
  30. data/assets/stylesheets/bootstrap/_jumbotron.scss +1 -1
  31. data/assets/stylesheets/bootstrap/_modal.scss +2 -2
  32. data/assets/stylesheets/bootstrap/_nav.scss +1 -4
  33. data/assets/stylesheets/bootstrap/_navbar.scss +10 -2
  34. data/assets/stylesheets/bootstrap/_pagination.scss +2 -2
  35. data/assets/stylesheets/bootstrap/_popover.scss +9 -9
  36. data/assets/stylesheets/bootstrap/_print.scss +0 -9
  37. data/assets/stylesheets/bootstrap/_progress.scss +1 -1
  38. data/assets/stylesheets/bootstrap/_reboot.scss +8 -8
  39. data/assets/stylesheets/bootstrap/_root.scss +0 -1
  40. data/assets/stylesheets/bootstrap/_spinners.scss +13 -4
  41. data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
  42. data/assets/stylesheets/bootstrap/_type.scss +1 -1
  43. data/assets/stylesheets/bootstrap/_variables.scss +20 -14
  44. data/assets/stylesheets/bootstrap/mixins/_forms.scss +20 -3
  45. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +2 -2
  46. data/assets/stylesheets/bootstrap/mixins/_grid.scss +11 -11
  47. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
  48. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +1 -1
  49. data/assets/stylesheets/bootstrap/utilities/_embed.scss +1 -1
  50. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +1 -1
  51. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +126 -102
  52. data/lib/bootstrap/version.rb +2 -2
  53. metadata +2 -2
@@ -1,61 +1,86 @@
1
1
  /*!
2
- * Bootstrap collapse.js v4.5.3 (https://getbootstrap.com/)
3
- * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap collapse.js v4.6.1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
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) :
8
+ typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
9
9
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.jQuery, global.Util));
10
- }(this, (function ($, Util) { 'use strict';
10
+ })(this, (function ($, Util) { 'use strict';
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
13
 
14
14
  var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
15
  var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
16
16
 
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); }
17
+ function _defineProperties(target, props) {
18
+ for (var i = 0; i < props.length; i++) {
19
+ var descriptor = props[i];
20
+ descriptor.enumerable = descriptor.enumerable || false;
21
+ descriptor.configurable = true;
22
+ if ("value" in descriptor) descriptor.writable = true;
23
+ Object.defineProperty(target, descriptor.key, descriptor);
24
+ }
25
+ }
26
+
27
+ function _createClass(Constructor, protoProps, staticProps) {
28
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
+ if (staticProps) _defineProperties(Constructor, staticProps);
30
+ return Constructor;
31
+ }
32
+
33
+ function _extends() {
34
+ _extends = Object.assign || function (target) {
35
+ for (var i = 1; i < arguments.length; i++) {
36
+ var source = arguments[i];
37
+
38
+ for (var key in source) {
39
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
40
+ target[key] = source[key];
41
+ }
42
+ }
43
+ }
18
44
 
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); } }
45
+ return target;
46
+ };
47
+
48
+ return _extends.apply(this, arguments);
49
+ }
20
50
 
21
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
22
51
  /**
23
- * ------------------------------------------------------------------------
24
52
  * Constants
25
- * ------------------------------------------------------------------------
26
53
  */
27
54
 
28
55
  var NAME = 'collapse';
29
- var VERSION = '4.5.3';
56
+ var VERSION = '4.6.1';
30
57
  var DATA_KEY = 'bs.collapse';
31
58
  var EVENT_KEY = "." + DATA_KEY;
32
59
  var DATA_API_KEY = '.data-api';
33
- var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
34
- var Default = {
35
- toggle: true,
36
- parent: ''
37
- };
38
- var DefaultType = {
39
- toggle: 'boolean',
40
- parent: '(string|element)'
41
- };
42
- var EVENT_SHOW = "show" + EVENT_KEY;
43
- var EVENT_SHOWN = "shown" + EVENT_KEY;
44
- var EVENT_HIDE = "hide" + EVENT_KEY;
45
- var EVENT_HIDDEN = "hidden" + EVENT_KEY;
46
- var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
60
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
47
61
  var CLASS_NAME_SHOW = 'show';
48
62
  var CLASS_NAME_COLLAPSE = 'collapse';
49
63
  var CLASS_NAME_COLLAPSING = 'collapsing';
50
64
  var CLASS_NAME_COLLAPSED = 'collapsed';
51
65
  var DIMENSION_WIDTH = 'width';
52
66
  var DIMENSION_HEIGHT = 'height';
67
+ var EVENT_SHOW = "show" + EVENT_KEY;
68
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
69
+ var EVENT_HIDE = "hide" + EVENT_KEY;
70
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
71
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
53
72
  var SELECTOR_ACTIVES = '.show, .collapsing';
54
73
  var SELECTOR_DATA_TOGGLE = '[data-toggle="collapse"]';
74
+ var Default = {
75
+ toggle: true,
76
+ parent: ''
77
+ };
78
+ var DefaultType = {
79
+ toggle: 'boolean',
80
+ parent: '(string|element)'
81
+ };
55
82
  /**
56
- * ------------------------------------------------------------------------
57
- * Class Definition
58
- * ------------------------------------------------------------------------
83
+ * Class definition
59
84
  */
60
85
 
61
86
  var Collapse = /*#__PURE__*/function () {
@@ -68,7 +93,7 @@
68
93
 
69
94
  for (var i = 0, len = toggleList.length; i < len; i++) {
70
95
  var elem = toggleList[i];
71
- var selector = Util__default['default'].getSelectorFromElement(elem);
96
+ var selector = Util__default["default"].getSelectorFromElement(elem);
72
97
  var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {
73
98
  return foundElem === element;
74
99
  });
@@ -96,7 +121,7 @@
96
121
 
97
122
  // Public
98
123
  _proto.toggle = function toggle() {
99
- if ($__default['default'](this._element).hasClass(CLASS_NAME_SHOW)) {
124
+ if ($__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
100
125
  this.hide();
101
126
  } else {
102
127
  this.show();
@@ -106,7 +131,7 @@
106
131
  _proto.show = function show() {
107
132
  var _this = this;
108
133
 
109
- if (this._isTransitioning || $__default['default'](this._element).hasClass(CLASS_NAME_SHOW)) {
134
+ if (this._isTransitioning || $__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
110
135
  return;
111
136
  }
112
137
 
@@ -128,64 +153,64 @@
128
153
  }
129
154
 
130
155
  if (actives) {
131
- activesData = $__default['default'](actives).not(this._selector).data(DATA_KEY);
156
+ activesData = $__default["default"](actives).not(this._selector).data(DATA_KEY);
132
157
 
133
158
  if (activesData && activesData._isTransitioning) {
134
159
  return;
135
160
  }
136
161
  }
137
162
 
138
- var startEvent = $__default['default'].Event(EVENT_SHOW);
139
- $__default['default'](this._element).trigger(startEvent);
163
+ var startEvent = $__default["default"].Event(EVENT_SHOW);
164
+ $__default["default"](this._element).trigger(startEvent);
140
165
 
141
166
  if (startEvent.isDefaultPrevented()) {
142
167
  return;
143
168
  }
144
169
 
145
170
  if (actives) {
146
- Collapse._jQueryInterface.call($__default['default'](actives).not(this._selector), 'hide');
171
+ Collapse._jQueryInterface.call($__default["default"](actives).not(this._selector), 'hide');
147
172
 
148
173
  if (!activesData) {
149
- $__default['default'](actives).data(DATA_KEY, null);
174
+ $__default["default"](actives).data(DATA_KEY, null);
150
175
  }
151
176
  }
152
177
 
153
178
  var dimension = this._getDimension();
154
179
 
155
- $__default['default'](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
180
+ $__default["default"](this._element).removeClass(CLASS_NAME_COLLAPSE).addClass(CLASS_NAME_COLLAPSING);
156
181
  this._element.style[dimension] = 0;
157
182
 
158
183
  if (this._triggerArray.length) {
159
- $__default['default'](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
184
+ $__default["default"](this._triggerArray).removeClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', true);
160
185
  }
161
186
 
162
187
  this.setTransitioning(true);
163
188
 
164
189
  var complete = function complete() {
165
- $__default['default'](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
190
+ $__default["default"](_this._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
166
191
  _this._element.style[dimension] = '';
167
192
 
168
193
  _this.setTransitioning(false);
169
194
 
170
- $__default['default'](_this._element).trigger(EVENT_SHOWN);
195
+ $__default["default"](_this._element).trigger(EVENT_SHOWN);
171
196
  };
172
197
 
173
198
  var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
174
199
  var scrollSize = "scroll" + capitalizedDimension;
175
- var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this._element);
176
- $__default['default'](this._element).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
200
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
201
+ $__default["default"](this._element).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
177
202
  this._element.style[dimension] = this._element[scrollSize] + "px";
178
203
  };
179
204
 
180
205
  _proto.hide = function hide() {
181
206
  var _this2 = this;
182
207
 
183
- if (this._isTransitioning || !$__default['default'](this._element).hasClass(CLASS_NAME_SHOW)) {
208
+ if (this._isTransitioning || !$__default["default"](this._element).hasClass(CLASS_NAME_SHOW)) {
184
209
  return;
185
210
  }
186
211
 
187
- var startEvent = $__default['default'].Event(EVENT_HIDE);
188
- $__default['default'](this._element).trigger(startEvent);
212
+ var startEvent = $__default["default"].Event(EVENT_HIDE);
213
+ $__default["default"](this._element).trigger(startEvent);
189
214
 
190
215
  if (startEvent.isDefaultPrevented()) {
191
216
  return;
@@ -194,20 +219,20 @@
194
219
  var dimension = this._getDimension();
195
220
 
196
221
  this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + "px";
197
- Util__default['default'].reflow(this._element);
198
- $__default['default'](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
222
+ Util__default["default"].reflow(this._element);
223
+ $__default["default"](this._element).addClass(CLASS_NAME_COLLAPSING).removeClass(CLASS_NAME_COLLAPSE + " " + CLASS_NAME_SHOW);
199
224
  var triggerArrayLength = this._triggerArray.length;
200
225
 
201
226
  if (triggerArrayLength > 0) {
202
227
  for (var i = 0; i < triggerArrayLength; i++) {
203
228
  var trigger = this._triggerArray[i];
204
- var selector = Util__default['default'].getSelectorFromElement(trigger);
229
+ var selector = Util__default["default"].getSelectorFromElement(trigger);
205
230
 
206
231
  if (selector !== null) {
207
- var $elem = $__default['default']([].slice.call(document.querySelectorAll(selector)));
232
+ var $elem = $__default["default"]([].slice.call(document.querySelectorAll(selector)));
208
233
 
209
234
  if (!$elem.hasClass(CLASS_NAME_SHOW)) {
210
- $__default['default'](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
235
+ $__default["default"](trigger).addClass(CLASS_NAME_COLLAPSED).attr('aria-expanded', false);
211
236
  }
212
237
  }
213
238
  }
@@ -218,12 +243,12 @@
218
243
  var complete = function complete() {
219
244
  _this2.setTransitioning(false);
220
245
 
221
- $__default['default'](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
246
+ $__default["default"](_this2._element).removeClass(CLASS_NAME_COLLAPSING).addClass(CLASS_NAME_COLLAPSE).trigger(EVENT_HIDDEN);
222
247
  };
223
248
 
224
249
  this._element.style[dimension] = '';
225
- var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this._element);
226
- $__default['default'](this._element).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
250
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
251
+ $__default["default"](this._element).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
227
252
  };
228
253
 
229
254
  _proto.setTransitioning = function setTransitioning(isTransitioning) {
@@ -231,7 +256,7 @@
231
256
  };
232
257
 
233
258
  _proto.dispose = function dispose() {
234
- $__default['default'].removeData(this._element, DATA_KEY);
259
+ $__default["default"].removeData(this._element, DATA_KEY);
235
260
  this._config = null;
236
261
  this._parent = null;
237
262
  this._element = null;
@@ -244,12 +269,12 @@
244
269
  config = _extends({}, Default, config);
245
270
  config.toggle = Boolean(config.toggle); // Coerce string values
246
271
 
247
- Util__default['default'].typeCheckConfig(NAME, config, DefaultType);
272
+ Util__default["default"].typeCheckConfig(NAME, config, DefaultType);
248
273
  return config;
249
274
  };
250
275
 
251
276
  _proto._getDimension = function _getDimension() {
252
- var hasWidth = $__default['default'](this._element).hasClass(DIMENSION_WIDTH);
277
+ var hasWidth = $__default["default"](this._element).hasClass(DIMENSION_WIDTH);
253
278
  return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT;
254
279
  };
255
280
 
@@ -258,7 +283,7 @@
258
283
 
259
284
  var parent;
260
285
 
261
- if (Util__default['default'].isElement(this._config.parent)) {
286
+ if (Util__default["default"].isElement(this._config.parent)) {
262
287
  parent = this._config.parent; // It's a jQuery object
263
288
 
264
289
  if (typeof this._config.parent.jquery !== 'undefined') {
@@ -270,29 +295,29 @@
270
295
 
271
296
  var selector = "[data-toggle=\"collapse\"][data-parent=\"" + this._config.parent + "\"]";
272
297
  var children = [].slice.call(parent.querySelectorAll(selector));
273
- $__default['default'](children).each(function (i, element) {
298
+ $__default["default"](children).each(function (i, element) {
274
299
  _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);
275
300
  });
276
301
  return parent;
277
302
  };
278
303
 
279
304
  _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {
280
- var isOpen = $__default['default'](element).hasClass(CLASS_NAME_SHOW);
305
+ var isOpen = $__default["default"](element).hasClass(CLASS_NAME_SHOW);
281
306
 
282
307
  if (triggerArray.length) {
283
- $__default['default'](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
308
+ $__default["default"](triggerArray).toggleClass(CLASS_NAME_COLLAPSED, !isOpen).attr('aria-expanded', isOpen);
284
309
  }
285
310
  } // Static
286
311
  ;
287
312
 
288
313
  Collapse._getTargetFromElement = function _getTargetFromElement(element) {
289
- var selector = Util__default['default'].getSelectorFromElement(element);
314
+ var selector = Util__default["default"].getSelectorFromElement(element);
290
315
  return selector ? document.querySelector(selector) : null;
291
316
  };
292
317
 
293
318
  Collapse._jQueryInterface = function _jQueryInterface(config) {
294
319
  return this.each(function () {
295
- var $element = $__default['default'](this);
320
+ var $element = $__default["default"](this);
296
321
  var data = $element.data(DATA_KEY);
297
322
 
298
323
  var _config = _extends({}, Default, $element.data(), typeof config === 'object' && config ? config : {});
@@ -331,23 +356,21 @@
331
356
  return Collapse;
332
357
  }();
333
358
  /**
334
- * ------------------------------------------------------------------------
335
- * Data Api implementation
336
- * ------------------------------------------------------------------------
359
+ * Data API implementation
337
360
  */
338
361
 
339
362
 
340
- $__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
363
+ $__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
341
364
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
342
365
  if (event.currentTarget.tagName === 'A') {
343
366
  event.preventDefault();
344
367
  }
345
368
 
346
- var $trigger = $__default['default'](this);
347
- var selector = Util__default['default'].getSelectorFromElement(this);
369
+ var $trigger = $__default["default"](this);
370
+ var selector = Util__default["default"].getSelectorFromElement(this);
348
371
  var selectors = [].slice.call(document.querySelectorAll(selector));
349
- $__default['default'](selectors).each(function () {
350
- var $target = $__default['default'](this);
372
+ $__default["default"](selectors).each(function () {
373
+ var $target = $__default["default"](this);
351
374
  var data = $target.data(DATA_KEY);
352
375
  var config = data ? 'toggle' : $trigger.data();
353
376
 
@@ -355,19 +378,17 @@
355
378
  });
356
379
  });
357
380
  /**
358
- * ------------------------------------------------------------------------
359
381
  * jQuery
360
- * ------------------------------------------------------------------------
361
382
  */
362
383
 
363
- $__default['default'].fn[NAME] = Collapse._jQueryInterface;
364
- $__default['default'].fn[NAME].Constructor = Collapse;
384
+ $__default["default"].fn[NAME] = Collapse._jQueryInterface;
385
+ $__default["default"].fn[NAME].Constructor = Collapse;
365
386
 
366
- $__default['default'].fn[NAME].noConflict = function () {
367
- $__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
387
+ $__default["default"].fn[NAME].noConflict = function () {
388
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
368
389
  return Collapse._jQueryInterface;
369
390
  };
370
391
 
371
392
  return Collapse;
372
393
 
373
- })));
394
+ }));