bootstrap 4.3.1 → 4.4.1

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