bootstrap 4.4.1 → 4.5.0

Sign up to get free protection for your applications and to get access to all the features.
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