bootstrap 4.3.1 → 4.4.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 (77) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -0
  3. data/CHANGELOG.md +2 -14
  4. data/README.md +1 -1
  5. data/assets/javascripts/bootstrap-sprockets.js +7 -7
  6. data/assets/javascripts/bootstrap.js +376 -290
  7. data/assets/javascripts/bootstrap.min.js +2 -2
  8. data/assets/javascripts/bootstrap/alert.js +9 -10
  9. data/assets/javascripts/bootstrap/button.js +72 -25
  10. data/assets/javascripts/bootstrap/carousel.js +40 -27
  11. data/assets/javascripts/bootstrap/collapse.js +36 -22
  12. data/assets/javascripts/bootstrap/dropdown.js +75 -54
  13. data/assets/javascripts/bootstrap/modal.js +94 -59
  14. data/assets/javascripts/bootstrap/popover.js +36 -22
  15. data/assets/javascripts/bootstrap/scrollspy.js +35 -21
  16. data/assets/javascripts/bootstrap/tab.js +9 -10
  17. data/assets/javascripts/bootstrap/toast.js +58 -38
  18. data/assets/javascripts/bootstrap/tooltip.js +98 -76
  19. data/assets/javascripts/bootstrap/util.js +21 -4
  20. data/assets/stylesheets/_bootstrap-grid.scss +1 -1
  21. data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
  22. data/assets/stylesheets/_bootstrap.scss +1 -1
  23. data/assets/stylesheets/bootstrap/_badge.scss +1 -1
  24. data/assets/stylesheets/bootstrap/_breadcrumb.scss +2 -1
  25. data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
  26. data/assets/stylesheets/bootstrap/_buttons.scss +4 -2
  27. data/assets/stylesheets/bootstrap/_card.scss +17 -28
  28. data/assets/stylesheets/bootstrap/_carousel.scss +6 -6
  29. data/assets/stylesheets/bootstrap/_close.scss +2 -2
  30. data/assets/stylesheets/bootstrap/_code.scss +1 -1
  31. data/assets/stylesheets/bootstrap/_custom-forms.scss +22 -8
  32. data/assets/stylesheets/bootstrap/_dropdown.scss +3 -3
  33. data/assets/stylesheets/bootstrap/_forms.scss +17 -9
  34. data/assets/stylesheets/bootstrap/_functions.scss +49 -1
  35. data/assets/stylesheets/bootstrap/_grid.scss +25 -8
  36. data/assets/stylesheets/bootstrap/_images.scss +2 -2
  37. data/assets/stylesheets/bootstrap/_input-group.scss +2 -4
  38. data/assets/stylesheets/bootstrap/_list-group.scss +31 -22
  39. data/assets/stylesheets/bootstrap/_mixins.scss +3 -3
  40. data/assets/stylesheets/bootstrap/_modal.scss +26 -16
  41. data/assets/stylesheets/bootstrap/_nav.scss +3 -3
  42. data/assets/stylesheets/bootstrap/_navbar.scss +45 -15
  43. data/assets/stylesheets/bootstrap/_pagination.scss +2 -2
  44. data/assets/stylesheets/bootstrap/_popover.scss +8 -9
  45. data/assets/stylesheets/bootstrap/_print.scss +2 -2
  46. data/assets/stylesheets/bootstrap/_progress.scss +5 -2
  47. data/assets/stylesheets/bootstrap/_reboot.scss +14 -15
  48. data/assets/stylesheets/bootstrap/_root.scss +1 -0
  49. data/assets/stylesheets/bootstrap/_tables.scss +3 -3
  50. data/assets/stylesheets/bootstrap/_type.scss +2 -2
  51. data/assets/stylesheets/bootstrap/_variables.scss +42 -22
  52. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +3 -2
  53. data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -1
  54. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +5 -2
  55. data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
  56. data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -3
  57. data/assets/stylesheets/bootstrap/mixins/_forms.scss +32 -47
  58. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +8 -3
  59. data/assets/stylesheets/bootstrap/mixins/_grid.scss +18 -0
  60. data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
  61. data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
  62. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
  63. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  64. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
  65. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
  66. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +3 -2
  67. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
  68. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +3 -2
  69. data/assets/stylesheets/bootstrap/utilities/_background.scss +1 -1
  70. data/assets/stylesheets/bootstrap/utilities/_text.scss +2 -2
  71. data/bootstrap.gemspec +1 -1
  72. data/lib/bootstrap/version.rb +2 -2
  73. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  74. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  75. data/test/support/dummy_rails_integration.rb +3 -1
  76. data/test/test_helper.rb +18 -13
  77. metadata +8 -5
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap popover.js v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap popover.js v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 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
  */
@@ -7,7 +7,7 @@
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./tooltip.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery', './tooltip.js'], factory) :
9
9
  (global = global || self, global.Popover = factory(global.jQuery, global.Tooltip));
10
- }(this, function ($, Tooltip) { 'use strict';
10
+ }(this, (function ($, Tooltip) { 'use strict';
11
11
 
12
12
  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
13
  Tooltip = Tooltip && Tooltip.hasOwnProperty('default') ? Tooltip['default'] : Tooltip;
@@ -43,20 +43,35 @@
43
43
  return obj;
44
44
  }
45
45
 
46
- function _objectSpread(target) {
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) {
47
61
  for (var i = 1; i < arguments.length; i++) {
48
62
  var source = arguments[i] != null ? arguments[i] : {};
49
- var ownKeys = Object.keys(source);
50
63
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
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
+ });
55
74
  }
56
-
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
60
75
  }
61
76
 
62
77
  return target;
@@ -75,21 +90,21 @@
75
90
  */
76
91
 
77
92
  var NAME = 'popover';
78
- var VERSION = '4.3.1';
93
+ var VERSION = '4.4.1';
79
94
  var DATA_KEY = 'bs.popover';
80
95
  var EVENT_KEY = "." + DATA_KEY;
81
96
  var JQUERY_NO_CONFLICT = $.fn[NAME];
82
97
  var CLASS_PREFIX = 'bs-popover';
83
98
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
84
99
 
85
- var Default = _objectSpread({}, Tooltip.Default, {
100
+ var Default = _objectSpread2({}, Tooltip.Default, {
86
101
  placement: 'right',
87
102
  trigger: 'click',
88
103
  content: '',
89
104
  template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
90
105
  });
91
106
 
92
- var DefaultType = _objectSpread({}, Tooltip.DefaultType, {
107
+ var DefaultType = _objectSpread2({}, Tooltip.DefaultType, {
93
108
  content: '(string|element|function)'
94
109
  });
95
110
 
@@ -112,13 +127,12 @@
112
127
  FOCUSOUT: "focusout" + EVENT_KEY,
113
128
  MOUSEENTER: "mouseenter" + EVENT_KEY,
114
129
  MOUSELEAVE: "mouseleave" + EVENT_KEY
115
- /**
116
- * ------------------------------------------------------------------------
117
- * Class Definition
118
- * ------------------------------------------------------------------------
119
- */
120
-
121
130
  };
131
+ /**
132
+ * ------------------------------------------------------------------------
133
+ * Class Definition
134
+ * ------------------------------------------------------------------------
135
+ */
122
136
 
123
137
  var Popover =
124
138
  /*#__PURE__*/
@@ -257,4 +271,4 @@
257
271
 
258
272
  return Popover;
259
273
 
260
- }));
274
+ })));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap scrollspy.js v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap scrollspy.js v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 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
  */
@@ -7,7 +7,7 @@
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
9
  (global = global || self, global.ScrollSpy = factory(global.jQuery, global.Util));
10
- }(this, function ($, Util) { 'use strict';
10
+ }(this, (function ($, Util) { 'use strict';
11
11
 
12
12
  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
13
  Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
@@ -43,20 +43,35 @@
43
43
  return obj;
44
44
  }
45
45
 
46
- function _objectSpread(target) {
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) {
47
61
  for (var i = 1; i < arguments.length; i++) {
48
62
  var source = arguments[i] != null ? arguments[i] : {};
49
- var ownKeys = Object.keys(source);
50
63
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
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
+ });
55
74
  }
56
-
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
60
75
  }
61
76
 
62
77
  return target;
@@ -69,7 +84,7 @@
69
84
  */
70
85
 
71
86
  var NAME = 'scrollspy';
72
- var VERSION = '4.3.1';
87
+ var VERSION = '4.4.1';
73
88
  var DATA_KEY = 'bs.scrollspy';
74
89
  var EVENT_KEY = "." + DATA_KEY;
75
90
  var DATA_API_KEY = '.data-api';
@@ -108,13 +123,12 @@
108
123
  var OffsetMethod = {
109
124
  OFFSET: 'offset',
110
125
  POSITION: 'position'
111
- /**
112
- * ------------------------------------------------------------------------
113
- * Class Definition
114
- * ------------------------------------------------------------------------
115
- */
116
-
117
126
  };
127
+ /**
128
+ * ------------------------------------------------------------------------
129
+ * Class Definition
130
+ * ------------------------------------------------------------------------
131
+ */
118
132
 
119
133
  var ScrollSpy =
120
134
  /*#__PURE__*/
@@ -196,7 +210,7 @@
196
210
  ;
197
211
 
198
212
  _proto._getConfig = function _getConfig(config) {
199
- config = _objectSpread({}, Default, typeof config === 'object' && config ? config : {});
213
+ config = _objectSpread2({}, Default, {}, typeof config === 'object' && config ? config : {});
200
214
 
201
215
  if (typeof config.target !== 'string') {
202
216
  var id = $(config.target).attr('id');
@@ -371,4 +385,4 @@
371
385
 
372
386
  return ScrollSpy;
373
387
 
374
- }));
388
+ })));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap tab.js v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap tab.js v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 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
  */
@@ -7,7 +7,7 @@
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
9
  (global = global || self, global.Tab = factory(global.jQuery, global.Util));
10
- }(this, function ($, Util) { 'use strict';
10
+ }(this, (function ($, Util) { 'use strict';
11
11
 
12
12
  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
13
  Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
@@ -35,7 +35,7 @@
35
35
  */
36
36
 
37
37
  var NAME = 'tab';
38
- var VERSION = '4.3.1';
38
+ var VERSION = '4.4.1';
39
39
  var DATA_KEY = 'bs.tab';
40
40
  var EVENT_KEY = "." + DATA_KEY;
41
41
  var DATA_API_KEY = '.data-api';
@@ -62,13 +62,12 @@
62
62
  DATA_TOGGLE: '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',
63
63
  DROPDOWN_TOGGLE: '.dropdown-toggle',
64
64
  DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'
65
- /**
66
- * ------------------------------------------------------------------------
67
- * Class Definition
68
- * ------------------------------------------------------------------------
69
- */
70
-
71
65
  };
66
+ /**
67
+ * ------------------------------------------------------------------------
68
+ * Class Definition
69
+ * ------------------------------------------------------------------------
70
+ */
72
71
 
73
72
  var Tab =
74
73
  /*#__PURE__*/
@@ -265,4 +264,4 @@
265
264
 
266
265
  return Tab;
267
266
 
268
- }));
267
+ })));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap toast.js v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap toast.js v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 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
  */
@@ -7,7 +7,7 @@
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
9
  (global = global || self, global.Toast = factory(global.jQuery, global.Util));
10
- }(this, function ($, Util) { 'use strict';
10
+ }(this, (function ($, Util) { 'use strict';
11
11
 
12
12
  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
13
  Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
@@ -43,20 +43,35 @@
43
43
  return obj;
44
44
  }
45
45
 
46
- function _objectSpread(target) {
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) {
47
61
  for (var i = 1; i < arguments.length; i++) {
48
62
  var source = arguments[i] != null ? arguments[i] : {};
49
- var ownKeys = Object.keys(source);
50
63
 
51
- if (typeof Object.getOwnPropertySymbols === 'function') {
52
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
- }));
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
+ });
55
74
  }
56
-
57
- ownKeys.forEach(function (key) {
58
- _defineProperty(target, key, source[key]);
59
- });
60
75
  }
61
76
 
62
77
  return target;
@@ -69,7 +84,7 @@
69
84
  */
70
85
 
71
86
  var NAME = 'toast';
72
- var VERSION = '4.3.1';
87
+ var VERSION = '4.4.1';
73
88
  var DATA_KEY = 'bs.toast';
74
89
  var EVENT_KEY = "." + DATA_KEY;
75
90
  var JQUERY_NO_CONFLICT = $.fn[NAME];
@@ -98,13 +113,12 @@
98
113
  };
99
114
  var Selector = {
100
115
  DATA_DISMISS: '[data-dismiss="toast"]'
101
- /**
102
- * ------------------------------------------------------------------------
103
- * Class Definition
104
- * ------------------------------------------------------------------------
105
- */
106
-
107
116
  };
117
+ /**
118
+ * ------------------------------------------------------------------------
119
+ * Class Definition
120
+ * ------------------------------------------------------------------------
121
+ */
108
122
 
109
123
  var Toast =
110
124
  /*#__PURE__*/
@@ -124,7 +138,12 @@
124
138
  _proto.show = function show() {
125
139
  var _this = this;
126
140
 
127
- $(this._element).trigger(Event.SHOW);
141
+ var showEvent = $.Event(Event.SHOW);
142
+ $(this._element).trigger(showEvent);
143
+
144
+ if (showEvent.isDefaultPrevented()) {
145
+ return;
146
+ }
128
147
 
129
148
  if (this._config.animation) {
130
149
  this._element.classList.add(ClassName.FADE);
@@ -138,12 +157,16 @@
138
157
  $(_this._element).trigger(Event.SHOWN);
139
158
 
140
159
  if (_this._config.autohide) {
141
- _this.hide();
160
+ _this._timeout = setTimeout(function () {
161
+ _this.hide();
162
+ }, _this._config.delay);
142
163
  }
143
164
  };
144
165
 
145
166
  this._element.classList.remove(ClassName.HIDE);
146
167
 
168
+ Util.reflow(this._element);
169
+
147
170
  this._element.classList.add(ClassName.SHOWING);
148
171
 
149
172
  if (this._config.animation) {
@@ -154,22 +177,19 @@
154
177
  }
155
178
  };
156
179
 
157
- _proto.hide = function hide(withoutTimeout) {
158
- var _this2 = this;
159
-
180
+ _proto.hide = function hide() {
160
181
  if (!this._element.classList.contains(ClassName.SHOW)) {
161
182
  return;
162
183
  }
163
184
 
164
- $(this._element).trigger(Event.HIDE);
185
+ var hideEvent = $.Event(Event.HIDE);
186
+ $(this._element).trigger(hideEvent);
165
187
 
166
- if (withoutTimeout) {
167
- this._close();
168
- } else {
169
- this._timeout = setTimeout(function () {
170
- _this2._close();
171
- }, this._config.delay);
188
+ if (hideEvent.isDefaultPrevented()) {
189
+ return;
172
190
  }
191
+
192
+ this._close();
173
193
  };
174
194
 
175
195
  _proto.dispose = function dispose() {
@@ -188,26 +208,26 @@
188
208
  ;
189
209
 
190
210
  _proto._getConfig = function _getConfig(config) {
191
- config = _objectSpread({}, Default, $(this._element).data(), typeof config === 'object' && config ? config : {});
211
+ config = _objectSpread2({}, Default, {}, $(this._element).data(), {}, typeof config === 'object' && config ? config : {});
192
212
  Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
193
213
  return config;
194
214
  };
195
215
 
196
216
  _proto._setListeners = function _setListeners() {
197
- var _this3 = this;
217
+ var _this2 = this;
198
218
 
199
219
  $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function () {
200
- return _this3.hide(true);
220
+ return _this2.hide();
201
221
  });
202
222
  };
203
223
 
204
224
  _proto._close = function _close() {
205
- var _this4 = this;
225
+ var _this3 = this;
206
226
 
207
227
  var complete = function complete() {
208
- _this4._element.classList.add(ClassName.HIDE);
228
+ _this3._element.classList.add(ClassName.HIDE);
209
229
 
210
- $(_this4._element).trigger(Event.HIDDEN);
230
+ $(_this3._element).trigger(Event.HIDDEN);
211
231
  };
212
232
 
213
233
  this._element.classList.remove(ClassName.SHOW);
@@ -279,4 +299,4 @@
279
299
 
280
300
  return Toast;
281
301
 
282
- }));
302
+ })));
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Bootstrap tooltip.js v4.3.1 (https://getbootstrap.com/)
2
+ * Bootstrap tooltip.js v4.4.1 (https://getbootstrap.com/)
3
3
  * Copyright 2011-2019 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
  */
@@ -7,7 +7,7 @@
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) :
8
8
  typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util.js'], factory) :
9
9
  (global = global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util));
10
- }(this, function ($, Popper, Util) { 'use strict';
10
+ }(this, (function ($, Popper, Util) { 'use strict';
11
11
 
12
12
  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
13
  Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;
@@ -44,20 +44,35 @@
44
44
  return obj;
45
45
  }
46
46
 
47
- function _objectSpread(target) {
47
+ function ownKeys(object, enumerableOnly) {
48
+ var keys = Object.keys(object);
49
+
50
+ if (Object.getOwnPropertySymbols) {
51
+ var symbols = Object.getOwnPropertySymbols(object);
52
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
53
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
54
+ });
55
+ keys.push.apply(keys, symbols);
56
+ }
57
+
58
+ return keys;
59
+ }
60
+
61
+ function _objectSpread2(target) {
48
62
  for (var i = 1; i < arguments.length; i++) {
49
63
  var source = arguments[i] != null ? arguments[i] : {};
50
- var ownKeys = Object.keys(source);
51
64
 
52
- if (typeof Object.getOwnPropertySymbols === 'function') {
53
- ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
54
- return Object.getOwnPropertyDescriptor(source, sym).enumerable;
55
- }));
65
+ if (i % 2) {
66
+ ownKeys(Object(source), true).forEach(function (key) {
67
+ _defineProperty(target, key, source[key]);
68
+ });
69
+ } else if (Object.getOwnPropertyDescriptors) {
70
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
71
+ } else {
72
+ ownKeys(Object(source)).forEach(function (key) {
73
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
74
+ });
56
75
  }
57
-
58
- ownKeys.forEach(function (key) {
59
- _defineProperty(target, key, source[key]);
60
- });
61
76
  }
62
77
 
63
78
  return target;
@@ -65,7 +80,7 @@
65
80
 
66
81
  /**
67
82
  * --------------------------------------------------------------------------
68
- * Bootstrap (v4.3.1): tools/sanitizer.js
83
+ * Bootstrap (v4.4.1): tools/sanitizer.js
69
84
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
70
85
  * --------------------------------------------------------------------------
71
86
  */
@@ -103,13 +118,13 @@
103
118
  strong: [],
104
119
  u: [],
105
120
  ul: []
106
- /**
107
- * A pattern that recognizes a commonly useful subset of URLs that are safe.
108
- *
109
- * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
110
- */
111
-
112
121
  };
122
+ /**
123
+ * A pattern that recognizes a commonly useful subset of URLs that are safe.
124
+ *
125
+ * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
126
+ */
127
+
113
128
  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;
114
129
  /**
115
130
  * A pattern that matches safe data URLs. Only matches image, video and audio types.
@@ -176,7 +191,7 @@
176
191
  };
177
192
 
178
193
  for (var i = 0, len = elements.length; i < len; i++) {
179
- var _ret = _loop(i, len);
194
+ var _ret = _loop(i);
180
195
 
181
196
  if (_ret === "continue") continue;
182
197
  }
@@ -191,7 +206,7 @@
191
206
  */
192
207
 
193
208
  var NAME = 'tooltip';
194
- var VERSION = '4.3.1';
209
+ var VERSION = '4.4.1';
195
210
  var DATA_KEY = 'bs.tooltip';
196
211
  var EVENT_KEY = "." + DATA_KEY;
197
212
  var JQUERY_NO_CONFLICT = $.fn[NAME];
@@ -213,7 +228,8 @@
213
228
  boundary: '(string|element)',
214
229
  sanitize: 'boolean',
215
230
  sanitizeFn: '(null|function)',
216
- whiteList: 'object'
231
+ whiteList: 'object',
232
+ popperConfig: '(null|object)'
217
233
  };
218
234
  var AttachmentMap = {
219
235
  AUTO: 'auto',
@@ -237,7 +253,8 @@
237
253
  boundary: 'scrollParent',
238
254
  sanitize: true,
239
255
  sanitizeFn: null,
240
- whiteList: DefaultWhitelist
256
+ whiteList: DefaultWhitelist,
257
+ popperConfig: null
241
258
  };
242
259
  var HoverState = {
243
260
  SHOW: 'show',
@@ -269,22 +286,17 @@
269
286
  FOCUS: 'focus',
270
287
  CLICK: 'click',
271
288
  MANUAL: 'manual'
272
- /**
273
- * ------------------------------------------------------------------------
274
- * Class Definition
275
- * ------------------------------------------------------------------------
276
- */
277
-
278
289
  };
290
+ /**
291
+ * ------------------------------------------------------------------------
292
+ * Class Definition
293
+ * ------------------------------------------------------------------------
294
+ */
279
295
 
280
296
  var Tooltip =
281
297
  /*#__PURE__*/
282
298
  function () {
283
299
  function Tooltip(element, config) {
284
- /**
285
- * Check for Popper dependency
286
- * Popper - https://popper.js.org
287
- */
288
300
  if (typeof Popper === 'undefined') {
289
301
  throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
290
302
  } // private
@@ -355,7 +367,7 @@
355
367
  clearTimeout(this._timeout);
356
368
  $.removeData(this.element, this.constructor.DATA_KEY);
357
369
  $(this.element).off(this.constructor.EVENT_KEY);
358
- $(this.element).closest('.modal').off('hide.bs.modal');
370
+ $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
359
371
 
360
372
  if (this.tip) {
361
373
  $(this.tip).remove();
@@ -366,7 +378,7 @@
366
378
  this._hoverState = null;
367
379
  this._activeTrigger = null;
368
380
 
369
- if (this._popper !== null) {
381
+ if (this._popper) {
370
382
  this._popper.destroy();
371
383
  }
372
384
 
@@ -419,29 +431,7 @@
419
431
  }
420
432
 
421
433
  $(this.element).trigger(this.constructor.Event.INSERTED);
422
- this._popper = new Popper(this.element, tip, {
423
- placement: attachment,
424
- modifiers: {
425
- offset: this._getOffset(),
426
- flip: {
427
- behavior: this.config.fallbackPlacement
428
- },
429
- arrow: {
430
- element: Selector.ARROW
431
- },
432
- preventOverflow: {
433
- boundariesElement: this.config.boundary
434
- }
435
- },
436
- onCreate: function onCreate(data) {
437
- if (data.originalPlacement !== data.placement) {
438
- _this._handlePopperPlacementChange(data);
439
- }
440
- },
441
- onUpdate: function onUpdate(data) {
442
- return _this._handlePopperPlacementChange(data);
443
- }
444
- });
434
+ this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));
445
435
  $(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
446
436
  // empty mouseover listeners to the body's immediate children;
447
437
  // only needed because of broken event delegation on iOS
@@ -589,14 +579,43 @@
589
579
  } // Private
590
580
  ;
591
581
 
592
- _proto._getOffset = function _getOffset() {
582
+ _proto._getPopperConfig = function _getPopperConfig(attachment) {
593
583
  var _this3 = this;
594
584
 
585
+ var defaultBsConfig = {
586
+ placement: attachment,
587
+ modifiers: {
588
+ offset: this._getOffset(),
589
+ flip: {
590
+ behavior: this.config.fallbackPlacement
591
+ },
592
+ arrow: {
593
+ element: Selector.ARROW
594
+ },
595
+ preventOverflow: {
596
+ boundariesElement: this.config.boundary
597
+ }
598
+ },
599
+ onCreate: function onCreate(data) {
600
+ if (data.originalPlacement !== data.placement) {
601
+ _this3._handlePopperPlacementChange(data);
602
+ }
603
+ },
604
+ onUpdate: function onUpdate(data) {
605
+ return _this3._handlePopperPlacementChange(data);
606
+ }
607
+ };
608
+ return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig);
609
+ };
610
+
611
+ _proto._getOffset = function _getOffset() {
612
+ var _this4 = this;
613
+
595
614
  var offset = {};
596
615
 
597
616
  if (typeof this.config.offset === 'function') {
598
617
  offset.fn = function (data) {
599
- data.offsets = _objectSpread({}, data.offsets, _this3.config.offset(data.offsets, _this3.element) || {});
618
+ data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {});
600
619
  return data;
601
620
  };
602
621
  } else {
@@ -623,32 +642,35 @@
623
642
  };
624
643
 
625
644
  _proto._setListeners = function _setListeners() {
626
- var _this4 = this;
645
+ var _this5 = this;
627
646
 
628
647
  var triggers = this.config.trigger.split(' ');
629
648
  triggers.forEach(function (trigger) {
630
649
  if (trigger === 'click') {
631
- $(_this4.element).on(_this4.constructor.Event.CLICK, _this4.config.selector, function (event) {
632
- return _this4.toggle(event);
650
+ $(_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
651
+ return _this5.toggle(event);
633
652
  });
634
653
  } else if (trigger !== Trigger.MANUAL) {
635
- var eventIn = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSEENTER : _this4.constructor.Event.FOCUSIN;
636
- var eventOut = trigger === Trigger.HOVER ? _this4.constructor.Event.MOUSELEAVE : _this4.constructor.Event.FOCUSOUT;
637
- $(_this4.element).on(eventIn, _this4.config.selector, function (event) {
638
- return _this4._enter(event);
639
- }).on(eventOut, _this4.config.selector, function (event) {
640
- return _this4._leave(event);
654
+ var eventIn = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
655
+ var eventOut = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
656
+ $(_this5.element).on(eventIn, _this5.config.selector, function (event) {
657
+ return _this5._enter(event);
658
+ }).on(eventOut, _this5.config.selector, function (event) {
659
+ return _this5._leave(event);
641
660
  });
642
661
  }
643
662
  });
644
- $(this.element).closest('.modal').on('hide.bs.modal', function () {
645
- if (_this4.element) {
646
- _this4.hide();
663
+
664
+ this._hideModalHandler = function () {
665
+ if (_this5.element) {
666
+ _this5.hide();
647
667
  }
648
- });
668
+ };
669
+
670
+ $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
649
671
 
650
672
  if (this.config.selector) {
651
- this.config = _objectSpread({}, this.config, {
673
+ this.config = _objectSpread2({}, this.config, {
652
674
  trigger: 'manual',
653
675
  selector: ''
654
676
  });
@@ -748,7 +770,7 @@
748
770
  delete dataAttributes[dataAttr];
749
771
  }
750
772
  });
751
- config = _objectSpread({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
773
+ config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {});
752
774
 
753
775
  if (typeof config.delay === 'number') {
754
776
  config.delay = {
@@ -903,4 +925,4 @@
903
925
 
904
926
  return Tooltip;
905
927
 
906
- }));
928
+ })));