bootstrap 4.4.1 → 4.5.0

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/.travis.yml +11 -1
  3. data/README.md +1 -1
  4. data/assets/javascripts/bootstrap-sprockets.js +7 -7
  5. data/assets/javascripts/bootstrap.js +516 -617
  6. data/assets/javascripts/bootstrap.min.js +3 -3
  7. data/assets/javascripts/bootstrap/alert.js +19 -27
  8. data/assets/javascripts/bootstrap/button.js +50 -56
  9. data/assets/javascripts/bootstrap/carousel.js +88 -99
  10. data/assets/javascripts/bootstrap/collapse.js +43 -53
  11. data/assets/javascripts/bootstrap/dropdown.js +75 -93
  12. data/assets/javascripts/bootstrap/modal.js +87 -91
  13. data/assets/javascripts/bootstrap/popover.js +15 -21
  14. data/assets/javascripts/bootstrap/scrollspy.js +39 -53
  15. data/assets/javascripts/bootstrap/tab.js +44 -52
  16. data/assets/javascripts/bootstrap/toast.js +33 -41
  17. data/assets/javascripts/bootstrap/tooltip.js +53 -65
  18. data/assets/javascripts/bootstrap/util.js +9 -5
  19. data/assets/stylesheets/_bootstrap-grid.scss +3 -3
  20. data/assets/stylesheets/_bootstrap-reboot.scss +3 -3
  21. data/assets/stylesheets/_bootstrap.scss +3 -3
  22. data/assets/stylesheets/bootstrap/_breadcrumb.scss +2 -0
  23. data/assets/stylesheets/bootstrap/_buttons.scss +10 -7
  24. data/assets/stylesheets/bootstrap/_card.scss +11 -7
  25. data/assets/stylesheets/bootstrap/_close.scss +0 -1
  26. data/assets/stylesheets/bootstrap/_custom-forms.scss +2 -1
  27. data/assets/stylesheets/bootstrap/_dropdown.scss +2 -1
  28. data/assets/stylesheets/bootstrap/_forms.scss +9 -0
  29. data/assets/stylesheets/bootstrap/_functions.scss +12 -5
  30. data/assets/stylesheets/bootstrap/_grid.scss +9 -1
  31. data/assets/stylesheets/bootstrap/_input-group.scss +2 -1
  32. data/assets/stylesheets/bootstrap/_list-group.scss +9 -13
  33. data/assets/stylesheets/bootstrap/_modal.scss +2 -0
  34. data/assets/stylesheets/bootstrap/_nav.scss +1 -0
  35. data/assets/stylesheets/bootstrap/_pagination.scss +1 -0
  36. data/assets/stylesheets/bootstrap/_progress.scss +1 -0
  37. data/assets/stylesheets/bootstrap/_reboot.scss +10 -12
  38. data/assets/stylesheets/bootstrap/_spinners.scss +1 -0
  39. data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
  40. data/assets/stylesheets/bootstrap/_variables.scss +4 -0
  41. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +2 -1
  42. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +26 -13
  43. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +6 -6
  44. data/assets/stylesheets/bootstrap/mixins/_forms.scss +2 -2
  45. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +25 -15
  46. data/assets/stylesheets/bootstrap/mixins/_transition.scss +17 -7
  47. data/assets/stylesheets/bootstrap/utilities/_background.scss +1 -1
  48. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  49. data/assets/stylesheets/bootstrap/utilities/_text.scss +1 -2
  50. data/lib/bootstrap/version.rb +2 -2
  51. data/tasks/updater/network.rb +2 -2
  52. data/test/gemfiles/rails_6_0.gemfile +7 -0
  53. metadata +6 -3
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Bootstrap modal.js v4.4.1 (https://getbootstrap.com/)
3
- * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
2
+ * Bootstrap modal.js v4.5.0 (https://getbootstrap.com/)
3
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -9,8 +9,8 @@
9
9
  (global = global || self, global.Modal = factory(global.jQuery, global.Util));
10
10
  }(this, (function ($, Util) { 'use strict';
11
11
 
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
12
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
13
+ Util = Util && Object.prototype.hasOwnProperty.call(Util, 'default') ? Util['default'] : Util;
14
14
 
15
15
  function _defineProperties(target, props) {
16
16
  for (var i = 0; i < props.length; i++) {
@@ -84,7 +84,7 @@
84
84
  */
85
85
 
86
86
  var NAME = 'modal';
87
- var VERSION = '4.4.1';
87
+ var VERSION = '4.5.0';
88
88
  var DATA_KEY = 'bs.modal';
89
89
  var EVENT_KEY = "." + DATA_KEY;
90
90
  var DATA_API_KEY = '.data-api';
@@ -103,50 +103,42 @@
103
103
  focus: 'boolean',
104
104
  show: 'boolean'
105
105
  };
106
- var Event = {
107
- HIDE: "hide" + EVENT_KEY,
108
- HIDE_PREVENTED: "hidePrevented" + EVENT_KEY,
109
- HIDDEN: "hidden" + EVENT_KEY,
110
- SHOW: "show" + EVENT_KEY,
111
- SHOWN: "shown" + EVENT_KEY,
112
- FOCUSIN: "focusin" + EVENT_KEY,
113
- RESIZE: "resize" + EVENT_KEY,
114
- CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
115
- KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
116
- MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
117
- MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
118
- CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
119
- };
120
- var ClassName = {
121
- SCROLLABLE: 'modal-dialog-scrollable',
122
- SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
123
- BACKDROP: 'modal-backdrop',
124
- OPEN: 'modal-open',
125
- FADE: 'fade',
126
- SHOW: 'show',
127
- STATIC: 'modal-static'
128
- };
129
- var Selector = {
130
- DIALOG: '.modal-dialog',
131
- MODAL_BODY: '.modal-body',
132
- DATA_TOGGLE: '[data-toggle="modal"]',
133
- DATA_DISMISS: '[data-dismiss="modal"]',
134
- FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
135
- STICKY_CONTENT: '.sticky-top'
136
- };
106
+ var EVENT_HIDE = "hide" + EVENT_KEY;
107
+ var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY;
108
+ var EVENT_HIDDEN = "hidden" + EVENT_KEY;
109
+ var EVENT_SHOW = "show" + EVENT_KEY;
110
+ var EVENT_SHOWN = "shown" + EVENT_KEY;
111
+ var EVENT_FOCUSIN = "focusin" + EVENT_KEY;
112
+ var EVENT_RESIZE = "resize" + EVENT_KEY;
113
+ var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
114
+ var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY;
115
+ var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY;
116
+ var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY;
117
+ var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
118
+ var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
119
+ var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
120
+ var CLASS_NAME_BACKDROP = 'modal-backdrop';
121
+ var CLASS_NAME_OPEN = 'modal-open';
122
+ var CLASS_NAME_FADE = 'fade';
123
+ var CLASS_NAME_SHOW = 'show';
124
+ var CLASS_NAME_STATIC = 'modal-static';
125
+ var SELECTOR_DIALOG = '.modal-dialog';
126
+ var SELECTOR_MODAL_BODY = '.modal-body';
127
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="modal"]';
128
+ var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
129
+ var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
130
+ var SELECTOR_STICKY_CONTENT = '.sticky-top';
137
131
  /**
138
132
  * ------------------------------------------------------------------------
139
133
  * Class Definition
140
134
  * ------------------------------------------------------------------------
141
135
  */
142
136
 
143
- var Modal =
144
- /*#__PURE__*/
145
- function () {
137
+ var Modal = /*#__PURE__*/function () {
146
138
  function Modal(element, config) {
147
139
  this._config = this._getConfig(config);
148
140
  this._element = element;
149
- this._dialog = element.querySelector(Selector.DIALOG);
141
+ this._dialog = element.querySelector(SELECTOR_DIALOG);
150
142
  this._backdrop = null;
151
143
  this._isShown = false;
152
144
  this._isBodyOverflowing = false;
@@ -170,11 +162,11 @@
170
162
  return;
171
163
  }
172
164
 
173
- if ($(this._element).hasClass(ClassName.FADE)) {
165
+ if ($(this._element).hasClass(CLASS_NAME_FADE)) {
174
166
  this._isTransitioning = true;
175
167
  }
176
168
 
177
- var showEvent = $.Event(Event.SHOW, {
169
+ var showEvent = $.Event(EVENT_SHOW, {
178
170
  relatedTarget: relatedTarget
179
171
  });
180
172
  $(this._element).trigger(showEvent);
@@ -195,11 +187,11 @@
195
187
 
196
188
  this._setResizeEvent();
197
189
 
198
- $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
190
+ $(this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
199
191
  return _this.hide(event);
200
192
  });
201
- $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
202
- $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
193
+ $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {
194
+ $(_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {
203
195
  if ($(event.target).is(_this._element)) {
204
196
  _this._ignoreBackdropClick = true;
205
197
  }
@@ -222,7 +214,7 @@
222
214
  return;
223
215
  }
224
216
 
225
- var hideEvent = $.Event(Event.HIDE);
217
+ var hideEvent = $.Event(EVENT_HIDE);
226
218
  $(this._element).trigger(hideEvent);
227
219
 
228
220
  if (!this._isShown || hideEvent.isDefaultPrevented()) {
@@ -230,7 +222,7 @@
230
222
  }
231
223
 
232
224
  this._isShown = false;
233
- var transition = $(this._element).hasClass(ClassName.FADE);
225
+ var transition = $(this._element).hasClass(CLASS_NAME_FADE);
234
226
 
235
227
  if (transition) {
236
228
  this._isTransitioning = true;
@@ -240,10 +232,10 @@
240
232
 
241
233
  this._setResizeEvent();
242
234
 
243
- $(document).off(Event.FOCUSIN);
244
- $(this._element).removeClass(ClassName.SHOW);
245
- $(this._element).off(Event.CLICK_DISMISS);
246
- $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
235
+ $(document).off(EVENT_FOCUSIN);
236
+ $(this._element).removeClass(CLASS_NAME_SHOW);
237
+ $(this._element).off(EVENT_CLICK_DISMISS);
238
+ $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
247
239
 
248
240
  if (transition) {
249
241
  var transitionDuration = Util.getTransitionDurationFromElement(this._element);
@@ -260,12 +252,12 @@
260
252
  return $(htmlElement).off(EVENT_KEY);
261
253
  });
262
254
  /**
263
- * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
255
+ * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
264
256
  * Do not move `document` in `htmlElements` array
265
- * It will remove `Event.CLICK_DATA_API` event that should remain
257
+ * It will remove `EVENT_CLICK_DATA_API` event that should remain
266
258
  */
267
259
 
268
- $(document).off(Event.FOCUSIN);
260
+ $(document).off(EVENT_FOCUSIN);
269
261
  $.removeData(this._element, DATA_KEY);
270
262
  this._config = null;
271
263
  this._element = null;
@@ -284,7 +276,7 @@
284
276
  ;
285
277
 
286
278
  _proto._getConfig = function _getConfig(config) {
287
- config = _objectSpread2({}, Default, {}, config);
279
+ config = _objectSpread2(_objectSpread2({}, Default), config);
288
280
  Util.typeCheckConfig(NAME, config, DefaultType);
289
281
  return config;
290
282
  };
@@ -293,18 +285,18 @@
293
285
  var _this3 = this;
294
286
 
295
287
  if (this._config.backdrop === 'static') {
296
- var hideEventPrevented = $.Event(Event.HIDE_PREVENTED);
288
+ var hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);
297
289
  $(this._element).trigger(hideEventPrevented);
298
290
 
299
291
  if (hideEventPrevented.defaultPrevented) {
300
292
  return;
301
293
  }
302
294
 
303
- this._element.classList.add(ClassName.STATIC);
295
+ this._element.classList.add(CLASS_NAME_STATIC);
304
296
 
305
297
  var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
306
298
  $(this._element).one(Util.TRANSITION_END, function () {
307
- _this3._element.classList.remove(ClassName.STATIC);
299
+ _this3._element.classList.remove(CLASS_NAME_STATIC);
308
300
  }).emulateTransitionEnd(modalTransitionDuration);
309
301
 
310
302
  this._element.focus();
@@ -316,8 +308,8 @@
316
308
  _proto._showElement = function _showElement(relatedTarget) {
317
309
  var _this4 = this;
318
310
 
319
- var transition = $(this._element).hasClass(ClassName.FADE);
320
- var modalBody = this._dialog ? this._dialog.querySelector(Selector.MODAL_BODY) : null;
311
+ var transition = $(this._element).hasClass(CLASS_NAME_FADE);
312
+ var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
321
313
 
322
314
  if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
323
315
  // Don't move modal's DOM position
@@ -330,7 +322,7 @@
330
322
 
331
323
  this._element.setAttribute('aria-modal', true);
332
324
 
333
- if ($(this._dialog).hasClass(ClassName.SCROLLABLE) && modalBody) {
325
+ if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
334
326
  modalBody.scrollTop = 0;
335
327
  } else {
336
328
  this._element.scrollTop = 0;
@@ -340,13 +332,13 @@
340
332
  Util.reflow(this._element);
341
333
  }
342
334
 
343
- $(this._element).addClass(ClassName.SHOW);
335
+ $(this._element).addClass(CLASS_NAME_SHOW);
344
336
 
345
337
  if (this._config.focus) {
346
338
  this._enforceFocus();
347
339
  }
348
340
 
349
- var shownEvent = $.Event(Event.SHOWN, {
341
+ var shownEvent = $.Event(EVENT_SHOWN, {
350
342
  relatedTarget: relatedTarget
351
343
  });
352
344
 
@@ -370,8 +362,8 @@
370
362
  _proto._enforceFocus = function _enforceFocus() {
371
363
  var _this5 = this;
372
364
 
373
- $(document).off(Event.FOCUSIN) // Guard against infinite focus loop
374
- .on(Event.FOCUSIN, function (event) {
365
+ $(document).off(EVENT_FOCUSIN) // Guard against infinite focus loop
366
+ .on(EVENT_FOCUSIN, function (event) {
375
367
  if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {
376
368
  _this5._element.focus();
377
369
  }
@@ -381,14 +373,18 @@
381
373
  _proto._setEscapeEvent = function _setEscapeEvent() {
382
374
  var _this6 = this;
383
375
 
384
- if (this._isShown && this._config.keyboard) {
385
- $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
386
- if (event.which === ESCAPE_KEYCODE) {
376
+ if (this._isShown) {
377
+ $(this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {
378
+ if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
379
+ event.preventDefault();
380
+
381
+ _this6.hide();
382
+ } else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
387
383
  _this6._triggerBackdropTransition();
388
384
  }
389
385
  });
390
386
  } else if (!this._isShown) {
391
- $(this._element).off(Event.KEYDOWN_DISMISS);
387
+ $(this._element).off(EVENT_KEYDOWN_DISMISS);
392
388
  }
393
389
  };
394
390
 
@@ -396,11 +392,11 @@
396
392
  var _this7 = this;
397
393
 
398
394
  if (this._isShown) {
399
- $(window).on(Event.RESIZE, function (event) {
395
+ $(window).on(EVENT_RESIZE, function (event) {
400
396
  return _this7.handleUpdate(event);
401
397
  });
402
398
  } else {
403
- $(window).off(Event.RESIZE);
399
+ $(window).off(EVENT_RESIZE);
404
400
  }
405
401
  };
406
402
 
@@ -416,13 +412,13 @@
416
412
  this._isTransitioning = false;
417
413
 
418
414
  this._showBackdrop(function () {
419
- $(document.body).removeClass(ClassName.OPEN);
415
+ $(document.body).removeClass(CLASS_NAME_OPEN);
420
416
 
421
417
  _this8._resetAdjustments();
422
418
 
423
419
  _this8._resetScrollbar();
424
420
 
425
- $(_this8._element).trigger(Event.HIDDEN);
421
+ $(_this8._element).trigger(EVENT_HIDDEN);
426
422
  });
427
423
  };
428
424
 
@@ -436,18 +432,18 @@
436
432
  _proto._showBackdrop = function _showBackdrop(callback) {
437
433
  var _this9 = this;
438
434
 
439
- var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
435
+ var animate = $(this._element).hasClass(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
440
436
 
441
437
  if (this._isShown && this._config.backdrop) {
442
438
  this._backdrop = document.createElement('div');
443
- this._backdrop.className = ClassName.BACKDROP;
439
+ this._backdrop.className = CLASS_NAME_BACKDROP;
444
440
 
445
441
  if (animate) {
446
442
  this._backdrop.classList.add(animate);
447
443
  }
448
444
 
449
445
  $(this._backdrop).appendTo(document.body);
450
- $(this._element).on(Event.CLICK_DISMISS, function (event) {
446
+ $(this._element).on(EVENT_CLICK_DISMISS, function (event) {
451
447
  if (_this9._ignoreBackdropClick) {
452
448
  _this9._ignoreBackdropClick = false;
453
449
  return;
@@ -464,7 +460,7 @@
464
460
  Util.reflow(this._backdrop);
465
461
  }
466
462
 
467
- $(this._backdrop).addClass(ClassName.SHOW);
463
+ $(this._backdrop).addClass(CLASS_NAME_SHOW);
468
464
 
469
465
  if (!callback) {
470
466
  return;
@@ -478,7 +474,7 @@
478
474
  var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
479
475
  $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
480
476
  } else if (!this._isShown && this._backdrop) {
481
- $(this._backdrop).removeClass(ClassName.SHOW);
477
+ $(this._backdrop).removeClass(CLASS_NAME_SHOW);
482
478
 
483
479
  var callbackRemove = function callbackRemove() {
484
480
  _this9._removeBackdrop();
@@ -488,7 +484,7 @@
488
484
  }
489
485
  };
490
486
 
491
- if ($(this._element).hasClass(ClassName.FADE)) {
487
+ if ($(this._element).hasClass(CLASS_NAME_FADE)) {
492
488
  var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
493
489
 
494
490
  $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
@@ -523,7 +519,7 @@
523
519
 
524
520
  _proto._checkScrollbar = function _checkScrollbar() {
525
521
  var rect = document.body.getBoundingClientRect();
526
- this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
522
+ this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
527
523
  this._scrollbarWidth = this._getScrollbarWidth();
528
524
  };
529
525
 
@@ -533,8 +529,8 @@
533
529
  if (this._isBodyOverflowing) {
534
530
  // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
535
531
  // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
536
- var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
537
- var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding
532
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
533
+ var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
538
534
 
539
535
  $(fixedContent).each(function (index, element) {
540
536
  var actualPadding = element.style.paddingRight;
@@ -553,19 +549,19 @@
553
549
  $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
554
550
  }
555
551
 
556
- $(document.body).addClass(ClassName.OPEN);
552
+ $(document.body).addClass(CLASS_NAME_OPEN);
557
553
  };
558
554
 
559
555
  _proto._resetScrollbar = function _resetScrollbar() {
560
556
  // Restore fixed content padding
561
- var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
557
+ var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
562
558
  $(fixedContent).each(function (index, element) {
563
559
  var padding = $(element).data('padding-right');
564
560
  $(element).removeData('padding-right');
565
561
  element.style.paddingRight = padding ? padding : '';
566
562
  }); // Restore sticky content
567
563
 
568
- var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT));
564
+ var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT));
569
565
  $(elements).each(function (index, element) {
570
566
  var margin = $(element).data('margin-right');
571
567
 
@@ -582,7 +578,7 @@
582
578
  _proto._getScrollbarWidth = function _getScrollbarWidth() {
583
579
  // thx d.walsh
584
580
  var scrollDiv = document.createElement('div');
585
- scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
581
+ scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
586
582
  document.body.appendChild(scrollDiv);
587
583
  var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
588
584
  document.body.removeChild(scrollDiv);
@@ -594,7 +590,7 @@
594
590
  return this.each(function () {
595
591
  var data = $(this).data(DATA_KEY);
596
592
 
597
- var _config = _objectSpread2({}, Default, {}, $(this).data(), {}, typeof config === 'object' && config ? config : {});
593
+ var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default), $(this).data()), typeof config === 'object' && config ? config : {});
598
594
 
599
595
  if (!data) {
600
596
  data = new Modal(this, _config);
@@ -634,7 +630,7 @@
634
630
  */
635
631
 
636
632
 
637
- $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
633
+ $(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
638
634
  var _this11 = this;
639
635
 
640
636
  var target;
@@ -644,19 +640,19 @@
644
640
  target = document.querySelector(selector);
645
641
  }
646
642
 
647
- var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread2({}, $(target).data(), {}, $(this).data());
643
+ var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
648
644
 
649
645
  if (this.tagName === 'A' || this.tagName === 'AREA') {
650
646
  event.preventDefault();
651
647
  }
652
648
 
653
- var $target = $(target).one(Event.SHOW, function (showEvent) {
649
+ var $target = $(target).one(EVENT_SHOW, function (showEvent) {
654
650
  if (showEvent.isDefaultPrevented()) {
655
651
  // Only register focus restorer if modal will actually get shown
656
652
  return;
657
653
  }
658
654
 
659
- $target.one(Event.HIDDEN, function () {
655
+ $target.one(EVENT_HIDDEN, function () {
660
656
  if ($(_this11).is(':visible')) {
661
657
  _this11.focus();
662
658
  }
@@ -1,6 +1,6 @@
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)
2
+ * Bootstrap popover.js v4.5.0 (https://getbootstrap.com/)
3
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
4
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
5
  */
6
6
  (function (global, factory) {
@@ -9,8 +9,8 @@
9
9
  (global = global || self, global.Popover = factory(global.jQuery, global.Tooltip));
10
10
  }(this, (function ($, Tooltip) { 'use strict';
11
11
 
12
- $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
- Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip;
12
+ $ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
13
+ Tooltip = Tooltip && Object.prototype.hasOwnProperty.call(Tooltip, 'default') ? Tooltip['default'] : Tooltip;
14
14
 
15
15
  function _defineProperties(target, props) {
16
16
  for (var i = 0; i < props.length; i++) {
@@ -90,32 +90,28 @@
90
90
  */
91
91
 
92
92
  var NAME = 'popover';
93
- var VERSION = '4.4.1';
93
+ var VERSION = '4.5.0';
94
94
  var DATA_KEY = 'bs.popover';
95
95
  var EVENT_KEY = "." + DATA_KEY;
96
96
  var JQUERY_NO_CONFLICT = $.fn[NAME];
97
97
  var CLASS_PREFIX = 'bs-popover';
98
98
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
99
99
 
100
- var Default = _objectSpread2({}, Tooltip.Default, {
100
+ var Default = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {
101
101
  placement: 'right',
102
102
  trigger: 'click',
103
103
  content: '',
104
104
  template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
105
105
  });
106
106
 
107
- var DefaultType = _objectSpread2({}, Tooltip.DefaultType, {
107
+ var DefaultType = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {
108
108
  content: '(string|element|function)'
109
109
  });
110
110
 
111
- var ClassName = {
112
- FADE: 'fade',
113
- SHOW: 'show'
114
- };
115
- var Selector = {
116
- TITLE: '.popover-header',
117
- CONTENT: '.popover-body'
118
- };
111
+ var CLASS_NAME_FADE = 'fade';
112
+ var CLASS_NAME_SHOW = 'show';
113
+ var SELECTOR_TITLE = '.popover-header';
114
+ var SELECTOR_CONTENT = '.popover-body';
119
115
  var Event = {
120
116
  HIDE: "hide" + EVENT_KEY,
121
117
  HIDDEN: "hidden" + EVENT_KEY,
@@ -134,9 +130,7 @@
134
130
  * ------------------------------------------------------------------------
135
131
  */
136
132
 
137
- var Popover =
138
- /*#__PURE__*/
139
- function (_Tooltip) {
133
+ var Popover = /*#__PURE__*/function (_Tooltip) {
140
134
  _inheritsLoose(Popover, _Tooltip);
141
135
 
142
136
  function Popover() {
@@ -162,7 +156,7 @@
162
156
  _proto.setContent = function setContent() {
163
157
  var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events
164
158
 
165
- this.setElementContent($tip.find(Selector.TITLE), this.getTitle());
159
+ this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle());
166
160
 
167
161
  var content = this._getContent();
168
162
 
@@ -170,8 +164,8 @@
170
164
  content = content.call(this.element);
171
165
  }
172
166
 
173
- this.setElementContent($tip.find(Selector.CONTENT), content);
174
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
167
+ this.setElementContent($tip.find(SELECTOR_CONTENT), content);
168
+ $tip.removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
175
169
  } // Private
176
170
  ;
177
171