bootstrap 4.0.0.beta3 → 4.6.2

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.
Files changed (114) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +15 -1
  3. data/CHANGELOG.md +2 -2
  4. data/README.md +2 -2
  5. data/Rakefile +4 -2
  6. data/assets/javascripts/bootstrap/alert.js +79 -68
  7. data/assets/javascripts/bootstrap/button.js +140 -78
  8. data/assets/javascripts/bootstrap/carousel.js +294 -158
  9. data/assets/javascripts/bootstrap/collapse.js +157 -133
  10. data/assets/javascripts/bootstrap/dropdown.js +257 -167
  11. data/assets/javascripts/bootstrap/modal.js +285 -204
  12. data/assets/javascripts/bootstrap/popover.js +101 -60
  13. data/assets/javascripts/bootstrap/scrollspy.js +127 -106
  14. data/assets/javascripts/bootstrap/tab.js +113 -101
  15. data/assets/javascripts/bootstrap/toast.js +267 -0
  16. data/assets/javascripts/bootstrap/tooltip.js +406 -188
  17. data/assets/javascripts/bootstrap/util.js +106 -55
  18. data/assets/javascripts/bootstrap-sprockets.js +1 -0
  19. data/assets/javascripts/bootstrap.js +1946 -1482
  20. data/assets/javascripts/bootstrap.min.js +4 -4
  21. data/assets/stylesheets/_bootstrap-grid.scss +7 -12
  22. data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
  23. data/assets/stylesheets/_bootstrap.scss +6 -4
  24. data/assets/stylesheets/bootstrap/_alert.scss +3 -2
  25. data/assets/stylesheets/bootstrap/_badge.scss +8 -1
  26. data/assets/stylesheets/bootstrap/_breadcrumb.scss +10 -6
  27. data/assets/stylesheets/bootstrap/_button-group.scss +17 -20
  28. data/assets/stylesheets/bootstrap/_buttons.scss +23 -28
  29. data/assets/stylesheets/bootstrap/_card.scss +77 -61
  30. data/assets/stylesheets/bootstrap/_carousel.scss +72 -63
  31. data/assets/stylesheets/bootstrap/_close.scss +15 -9
  32. data/assets/stylesheets/bootstrap/_code.scss +6 -14
  33. data/assets/stylesheets/bootstrap/_custom-forms.scss +287 -43
  34. data/assets/stylesheets/bootstrap/_dropdown.scss +70 -9
  35. data/assets/stylesheets/bootstrap/_forms.scss +56 -42
  36. data/assets/stylesheets/bootstrap/_functions.scss +117 -13
  37. data/assets/stylesheets/bootstrap/_grid.scss +32 -11
  38. data/assets/stylesheets/bootstrap/_images.scss +4 -4
  39. data/assets/stylesheets/bootstrap/_input-group.scss +80 -25
  40. data/assets/stylesheets/bootstrap/_jumbotron.scss +2 -1
  41. data/assets/stylesheets/bootstrap/_list-group.scss +63 -24
  42. data/assets/stylesheets/bootstrap/_mixins.scss +9 -4
  43. data/assets/stylesheets/bootstrap/_modal.scss +96 -24
  44. data/assets/stylesheets/bootstrap/_nav.scss +14 -7
  45. data/assets/stylesheets/bootstrap/_navbar.scss +66 -45
  46. data/assets/stylesheets/bootstrap/_pagination.scss +10 -8
  47. data/assets/stylesheets/bootstrap/_popover.scss +56 -69
  48. data/assets/stylesheets/bootstrap/_print.scss +41 -19
  49. data/assets/stylesheets/bootstrap/_progress.scss +20 -6
  50. data/assets/stylesheets/bootstrap/_reboot.scss +88 -109
  51. data/assets/stylesheets/bootstrap/_spinners.scss +65 -0
  52. data/assets/stylesheets/bootstrap/_tables.scss +19 -14
  53. data/assets/stylesheets/bootstrap/_toasts.scss +46 -0
  54. data/assets/stylesheets/bootstrap/_tooltip.scss +6 -6
  55. data/assets/stylesheets/bootstrap/_transitions.scss +10 -20
  56. data/assets/stylesheets/bootstrap/_type.scss +19 -19
  57. data/assets/stylesheets/bootstrap/_utilities.scss +4 -0
  58. data/assets/stylesheets/bootstrap/_variables.scss +492 -215
  59. data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
  60. data/assets/stylesheets/bootstrap/mixins/_badge.scss +8 -3
  61. data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
  62. data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
  63. data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -9
  64. data/assets/stylesheets/bootstrap/mixins/_buttons.scss +35 -26
  65. data/assets/stylesheets/bootstrap/mixins/_caret.scss +13 -16
  66. data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
  67. data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
  68. data/assets/stylesheets/bootstrap/mixins/_forms.scss +102 -40
  69. data/assets/stylesheets/bootstrap/mixins/_gradients.scss +7 -7
  70. data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +36 -25
  71. data/assets/stylesheets/bootstrap/mixins/_grid.scss +34 -17
  72. data/assets/stylesheets/bootstrap/mixins/_hover.scss +27 -51
  73. data/assets/stylesheets/bootstrap/mixins/_image.scss +4 -4
  74. data/assets/stylesheets/bootstrap/mixins/_list-group.scss +10 -13
  75. data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
  76. data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -2
  77. data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
  78. data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
  79. data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -6
  80. data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
  81. data/assets/stylesheets/bootstrap/mixins/_table-row.scss +11 -2
  82. data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
  83. data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +3 -1
  84. data/assets/stylesheets/bootstrap/mixins/_transition.scss +20 -3
  85. data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
  86. data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
  87. data/assets/stylesheets/bootstrap/utilities/_borders.scss +23 -2
  88. data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -36
  89. data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
  90. data/assets/stylesheets/bootstrap/utilities/_flex.scss +5 -0
  91. data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
  92. data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
  93. data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
  94. data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -4
  95. data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
  96. data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
  97. data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
  98. data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
  99. data/assets/stylesheets/bootstrap/utilities/_text.scss +28 -8
  100. data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
  101. data/assets/stylesheets/bootstrap/vendor/_rfs.scss +228 -0
  102. data/bootstrap.gemspec +7 -4
  103. data/lib/bootstrap/engine.rb +3 -0
  104. data/lib/bootstrap/version.rb +4 -2
  105. data/lib/bootstrap.rb +10 -7
  106. data/tasks/updater/js.rb +18 -6
  107. data/tasks/updater/network.rb +8 -2
  108. data/test/dummy_rails/app/assets/config/manifest.js +3 -0
  109. data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
  110. data/test/gemfiles/rails_6_0.gemfile +7 -0
  111. data/test/support/dummy_rails_integration.rb +3 -1
  112. data/test/test_helper.rb +21 -15
  113. metadata +29 -16
  114. data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
@@ -1,43 +1,200 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ /*!
2
+ * Bootstrap tooltip.js v4.6.2 (https://getbootstrap.com/)
3
+ * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('popper.js'), require('./util.js')) :
8
+ typeof define === 'function' && define.amd ? define(['jquery', 'popper.js', './util'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util));
10
+ })(this, (function ($, Popper, Util) { 'use strict';
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var $__default = /*#__PURE__*/_interopDefaultLegacy($);
15
+ var Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
16
+ var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
17
+
18
+ function _defineProperties(target, props) {
19
+ for (var i = 0; i < props.length; i++) {
20
+ var descriptor = props[i];
21
+ descriptor.enumerable = descriptor.enumerable || false;
22
+ descriptor.configurable = true;
23
+ if ("value" in descriptor) descriptor.writable = true;
24
+ Object.defineProperty(target, descriptor.key, descriptor);
25
+ }
26
+ }
27
+
28
+ function _createClass(Constructor, protoProps, staticProps) {
29
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30
+ if (staticProps) _defineProperties(Constructor, staticProps);
31
+ Object.defineProperty(Constructor, "prototype", {
32
+ writable: false
33
+ });
34
+ return Constructor;
35
+ }
36
+
37
+ function _extends() {
38
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
39
+ for (var i = 1; i < arguments.length; i++) {
40
+ var source = arguments[i];
41
+
42
+ for (var key in source) {
43
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
44
+ target[key] = source[key];
45
+ }
46
+ }
47
+ }
48
+
49
+ return target;
50
+ };
51
+ return _extends.apply(this, arguments);
52
+ }
53
+
54
+ /**
55
+ * --------------------------------------------------------------------------
56
+ * Bootstrap (v4.6.2): tools/sanitizer.js
57
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
58
+ * --------------------------------------------------------------------------
59
+ */
60
+ var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
61
+ var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
62
+ var DefaultWhitelist = {
63
+ // Global attributes allowed on any supplied element below.
64
+ '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
65
+ a: ['target', 'href', 'title', 'rel'],
66
+ area: [],
67
+ b: [],
68
+ br: [],
69
+ col: [],
70
+ code: [],
71
+ div: [],
72
+ em: [],
73
+ hr: [],
74
+ h1: [],
75
+ h2: [],
76
+ h3: [],
77
+ h4: [],
78
+ h5: [],
79
+ h6: [],
80
+ i: [],
81
+ img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
82
+ li: [],
83
+ ol: [],
84
+ p: [],
85
+ pre: [],
86
+ s: [],
87
+ small: [],
88
+ span: [],
89
+ sub: [],
90
+ sup: [],
91
+ strong: [],
92
+ u: [],
93
+ ul: []
94
+ };
95
+ /**
96
+ * A pattern that recognizes a commonly useful subset of URLs that are safe.
97
+ *
98
+ * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
99
+ */
100
+
101
+ var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i;
102
+ /**
103
+ * A pattern that matches safe data URLs. Only matches image, video and audio types.
104
+ *
105
+ * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts
106
+ */
107
+
108
+ var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
109
+
110
+ function allowedAttribute(attr, allowedAttributeList) {
111
+ var attrName = attr.nodeName.toLowerCase();
112
+
113
+ if (allowedAttributeList.indexOf(attrName) !== -1) {
114
+ if (uriAttrs.indexOf(attrName) !== -1) {
115
+ return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue));
116
+ }
117
+
118
+ return true;
119
+ }
120
+
121
+ var regExp = allowedAttributeList.filter(function (attrRegex) {
122
+ return attrRegex instanceof RegExp;
123
+ }); // Check if a regular expression validates the attribute.
124
+
125
+ for (var i = 0, len = regExp.length; i < len; i++) {
126
+ if (regExp[i].test(attrName)) {
127
+ return true;
128
+ }
129
+ }
130
+
131
+ return false;
132
+ }
133
+
134
+ function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {
135
+ if (unsafeHtml.length === 0) {
136
+ return unsafeHtml;
137
+ }
138
+
139
+ if (sanitizeFn && typeof sanitizeFn === 'function') {
140
+ return sanitizeFn(unsafeHtml);
141
+ }
142
+
143
+ var domParser = new window.DOMParser();
144
+ var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
145
+ var whitelistKeys = Object.keys(whiteList);
146
+ var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));
147
+
148
+ var _loop = function _loop(i, len) {
149
+ var el = elements[i];
150
+ var elName = el.nodeName.toLowerCase();
151
+
152
+ if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {
153
+ el.parentNode.removeChild(el);
154
+ return "continue";
155
+ }
156
+
157
+ var attributeList = [].slice.call(el.attributes); // eslint-disable-next-line unicorn/prefer-spread
2
158
 
3
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
159
+ var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);
160
+ attributeList.forEach(function (attr) {
161
+ if (!allowedAttribute(attr, whitelistedAttributes)) {
162
+ el.removeAttribute(attr.nodeName);
163
+ }
164
+ });
165
+ };
166
+
167
+ for (var i = 0, len = elements.length; i < len; i++) {
168
+ var _ret = _loop(i);
4
169
 
5
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
170
+ if (_ret === "continue") continue;
171
+ }
172
+
173
+ return createdDocument.body.innerHTML;
174
+ }
6
175
 
7
- /**
8
- * --------------------------------------------------------------------------
9
- * Bootstrap (v4.0.0-beta.3): tooltip.js
10
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
11
- * --------------------------------------------------------------------------
12
- */
13
- var Tooltip = function ($) {
14
176
  /**
15
- * ------------------------------------------------------------------------
16
177
  * Constants
17
- * ------------------------------------------------------------------------
18
178
  */
179
+
19
180
  var NAME = 'tooltip';
20
- var VERSION = '4.0.0-beta.3';
181
+ var VERSION = '4.6.2';
21
182
  var DATA_KEY = 'bs.tooltip';
22
183
  var EVENT_KEY = "." + DATA_KEY;
23
- var JQUERY_NO_CONFLICT = $.fn[NAME];
24
- var TRANSITION_DURATION = 150;
184
+ var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
25
185
  var CLASS_PREFIX = 'bs-tooltip';
26
186
  var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
27
- var DefaultType = {
28
- animation: 'boolean',
29
- template: 'string',
30
- title: '(string|element|function)',
31
- trigger: 'string',
32
- delay: '(number|object)',
33
- html: 'boolean',
34
- selector: '(string|boolean)',
35
- placement: '(string|function)',
36
- offset: '(number|string)',
37
- container: '(string|element|boolean)',
38
- fallbackPlacement: '(string|array)',
39
- boundary: '(string|element)'
40
- };
187
+ var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
188
+ var CLASS_NAME_FADE = 'fade';
189
+ var CLASS_NAME_SHOW = 'show';
190
+ var HOVER_STATE_SHOW = 'show';
191
+ var HOVER_STATE_OUT = 'out';
192
+ var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
193
+ var SELECTOR_ARROW = '.arrow';
194
+ var TRIGGER_HOVER = 'hover';
195
+ var TRIGGER_FOCUS = 'focus';
196
+ var TRIGGER_CLICK = 'click';
197
+ var TRIGGER_MANUAL = 'manual';
41
198
  var AttachmentMap = {
42
199
  AUTO: 'auto',
43
200
  TOP: 'top',
@@ -57,11 +214,31 @@ var Tooltip = function ($) {
57
214
  offset: 0,
58
215
  container: false,
59
216
  fallbackPlacement: 'flip',
60
- boundary: 'scrollParent'
217
+ boundary: 'scrollParent',
218
+ customClass: '',
219
+ sanitize: true,
220
+ sanitizeFn: null,
221
+ whiteList: DefaultWhitelist,
222
+ popperConfig: null
61
223
  };
62
- var HoverState = {
63
- SHOW: 'show',
64
- OUT: 'out'
224
+ var DefaultType = {
225
+ animation: 'boolean',
226
+ template: 'string',
227
+ title: '(string|element|function)',
228
+ trigger: 'string',
229
+ delay: '(number|object)',
230
+ html: 'boolean',
231
+ selector: '(string|boolean)',
232
+ placement: '(string|function)',
233
+ offset: '(number|string|function)',
234
+ container: '(string|element|boolean)',
235
+ fallbackPlacement: '(string|array)',
236
+ boundary: '(string|element)',
237
+ customClass: '(string|function)',
238
+ sanitize: 'boolean',
239
+ sanitizeFn: '(null|function)',
240
+ whiteList: 'object',
241
+ popperConfig: '(null|object)'
65
242
  };
66
243
  var Event = {
67
244
  HIDE: "hide" + EVENT_KEY,
@@ -75,58 +252,34 @@ var Tooltip = function ($) {
75
252
  MOUSEENTER: "mouseenter" + EVENT_KEY,
76
253
  MOUSELEAVE: "mouseleave" + EVENT_KEY
77
254
  };
78
- var ClassName = {
79
- FADE: 'fade',
80
- SHOW: 'show'
81
- };
82
- var Selector = {
83
- TOOLTIP: '.tooltip',
84
- TOOLTIP_INNER: '.tooltip-inner',
85
- ARROW: '.arrow'
86
- };
87
- var Trigger = {
88
- HOVER: 'hover',
89
- FOCUS: 'focus',
90
- CLICK: 'click',
91
- MANUAL: 'manual'
92
- /**
93
- * ------------------------------------------------------------------------
94
- * Class Definition
95
- * ------------------------------------------------------------------------
96
- */
97
-
98
- };
255
+ /**
256
+ * Class definition
257
+ */
99
258
 
100
- var Tooltip =
101
- /*#__PURE__*/
102
- function () {
259
+ var Tooltip = /*#__PURE__*/function () {
103
260
  function Tooltip(element, config) {
104
- /**
105
- * Check for Popper dependency
106
- * Popper - https://popper.js.org
107
- */
108
- if (typeof Popper === 'undefined') {
109
- throw new Error('Bootstrap tooltips require Popper.js (https://popper.js.org)');
110
- } // private
261
+ if (typeof Popper__default["default"] === 'undefined') {
262
+ throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
263
+ } // Private
111
264
 
112
265
 
113
266
  this._isEnabled = true;
114
267
  this._timeout = 0;
115
268
  this._hoverState = '';
116
269
  this._activeTrigger = {};
117
- this._popper = null; // protected
270
+ this._popper = null; // Protected
118
271
 
119
272
  this.element = element;
120
273
  this.config = this._getConfig(config);
121
274
  this.tip = null;
122
275
 
123
276
  this._setListeners();
124
- } // getters
277
+ } // Getters
125
278
 
126
279
 
127
280
  var _proto = Tooltip.prototype;
128
281
 
129
- // public
282
+ // Public
130
283
  _proto.enable = function enable() {
131
284
  this._isEnabled = true;
132
285
  };
@@ -146,11 +299,11 @@ var Tooltip = function ($) {
146
299
 
147
300
  if (event) {
148
301
  var dataKey = this.constructor.DATA_KEY;
149
- var context = $(event.currentTarget).data(dataKey);
302
+ var context = $__default["default"](event.currentTarget).data(dataKey);
150
303
 
151
304
  if (!context) {
152
305
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
153
- $(event.currentTarget).data(dataKey, context);
306
+ $__default["default"](event.currentTarget).data(dataKey, context);
154
307
  }
155
308
 
156
309
  context._activeTrigger.click = !context._activeTrigger.click;
@@ -161,7 +314,7 @@ var Tooltip = function ($) {
161
314
  context._leave(null, context);
162
315
  }
163
316
  } else {
164
- if ($(this.getTipElement()).hasClass(ClassName.SHOW)) {
317
+ if ($__default["default"](this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {
165
318
  this._leave(null, this);
166
319
 
167
320
  return;
@@ -173,12 +326,12 @@ var Tooltip = function ($) {
173
326
 
174
327
  _proto.dispose = function dispose() {
175
328
  clearTimeout(this._timeout);
176
- $.removeData(this.element, this.constructor.DATA_KEY);
177
- $(this.element).off(this.constructor.EVENT_KEY);
178
- $(this.element).closest('.modal').off('hide.bs.modal');
329
+ $__default["default"].removeData(this.element, this.constructor.DATA_KEY);
330
+ $__default["default"](this.element).off(this.constructor.EVENT_KEY);
331
+ $__default["default"](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
179
332
 
180
333
  if (this.tip) {
181
- $(this.tip).remove();
334
+ $__default["default"](this.tip).remove();
182
335
  }
183
336
 
184
337
  this._isEnabled = null;
@@ -186,7 +339,7 @@ var Tooltip = function ($) {
186
339
  this._hoverState = null;
187
340
  this._activeTrigger = null;
188
341
 
189
- if (this._popper !== null) {
342
+ if (this._popper) {
190
343
  this._popper.destroy();
191
344
  }
192
345
 
@@ -199,28 +352,29 @@ var Tooltip = function ($) {
199
352
  _proto.show = function show() {
200
353
  var _this = this;
201
354
 
202
- if ($(this.element).css('display') === 'none') {
355
+ if ($__default["default"](this.element).css('display') === 'none') {
203
356
  throw new Error('Please use show on visible elements');
204
357
  }
205
358
 
206
- var showEvent = $.Event(this.constructor.Event.SHOW);
359
+ var showEvent = $__default["default"].Event(this.constructor.Event.SHOW);
207
360
 
208
361
  if (this.isWithContent() && this._isEnabled) {
209
- $(this.element).trigger(showEvent);
210
- var isInTheDom = $.contains(this.element.ownerDocument.documentElement, this.element);
362
+ $__default["default"](this.element).trigger(showEvent);
363
+ var shadowRoot = Util__default["default"].findShadowRoot(this.element);
364
+ var isInTheDom = $__default["default"].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
211
365
 
212
366
  if (showEvent.isDefaultPrevented() || !isInTheDom) {
213
367
  return;
214
368
  }
215
369
 
216
370
  var tip = this.getTipElement();
217
- var tipId = Util.getUID(this.constructor.NAME);
371
+ var tipId = Util__default["default"].getUID(this.constructor.NAME);
218
372
  tip.setAttribute('id', tipId);
219
373
  this.element.setAttribute('aria-describedby', tipId);
220
374
  this.setContent();
221
375
 
222
376
  if (this.config.animation) {
223
- $(tip).addClass(ClassName.FADE);
377
+ $__default["default"](tip).addClass(CLASS_NAME_FADE);
224
378
  }
225
379
 
226
380
  var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
@@ -228,46 +382,25 @@ var Tooltip = function ($) {
228
382
  var attachment = this._getAttachment(placement);
229
383
 
230
384
  this.addAttachmentClass(attachment);
231
- var container = this.config.container === false ? document.body : $(this.config.container);
232
- $(tip).data(this.constructor.DATA_KEY, this);
233
385
 
234
- if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {
235
- $(tip).appendTo(container);
386
+ var container = this._getContainer();
387
+
388
+ $__default["default"](tip).data(this.constructor.DATA_KEY, this);
389
+
390
+ if (!$__default["default"].contains(this.element.ownerDocument.documentElement, this.tip)) {
391
+ $__default["default"](tip).appendTo(container);
236
392
  }
237
393
 
238
- $(this.element).trigger(this.constructor.Event.INSERTED);
239
- this._popper = new Popper(this.element, tip, {
240
- placement: attachment,
241
- modifiers: {
242
- offset: {
243
- offset: this.config.offset
244
- },
245
- flip: {
246
- behavior: this.config.fallbackPlacement
247
- },
248
- arrow: {
249
- element: Selector.ARROW
250
- },
251
- preventOverflow: {
252
- boundariesElement: this.config.boundary
253
- }
254
- },
255
- onCreate: function onCreate(data) {
256
- if (data.originalPlacement !== data.placement) {
257
- _this._handlePopperPlacementChange(data);
258
- }
259
- },
260
- onUpdate: function onUpdate(data) {
261
- _this._handlePopperPlacementChange(data);
262
- }
263
- });
264
- $(tip).addClass(ClassName.SHOW); // if this is a touch-enabled device we add extra
394
+ $__default["default"](this.element).trigger(this.constructor.Event.INSERTED);
395
+ this._popper = new Popper__default["default"](this.element, tip, this._getPopperConfig(attachment));
396
+ $__default["default"](tip).addClass(CLASS_NAME_SHOW);
397
+ $__default["default"](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra
265
398
  // empty mouseover listeners to the body's immediate children;
266
399
  // only needed because of broken event delegation on iOS
267
400
  // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
268
401
 
269
402
  if ('ontouchstart' in document.documentElement) {
270
- $('body').children().on('mouseover', null, $.noop);
403
+ $__default["default"](document.body).children().on('mouseover', null, $__default["default"].noop);
271
404
  }
272
405
 
273
406
  var complete = function complete() {
@@ -277,15 +410,16 @@ var Tooltip = function ($) {
277
410
 
278
411
  var prevHoverState = _this._hoverState;
279
412
  _this._hoverState = null;
280
- $(_this.element).trigger(_this.constructor.Event.SHOWN);
413
+ $__default["default"](_this.element).trigger(_this.constructor.Event.SHOWN);
281
414
 
282
- if (prevHoverState === HoverState.OUT) {
415
+ if (prevHoverState === HOVER_STATE_OUT) {
283
416
  _this._leave(null, _this);
284
417
  }
285
418
  };
286
419
 
287
- if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
288
- $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(Tooltip._TRANSITION_DURATION);
420
+ if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE)) {
421
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this.tip);
422
+ $__default["default"](this.tip).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
289
423
  } else {
290
424
  complete();
291
425
  }
@@ -296,10 +430,10 @@ var Tooltip = function ($) {
296
430
  var _this2 = this;
297
431
 
298
432
  var tip = this.getTipElement();
299
- var hideEvent = $.Event(this.constructor.Event.HIDE);
433
+ var hideEvent = $__default["default"].Event(this.constructor.Event.HIDE);
300
434
 
301
435
  var complete = function complete() {
302
- if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {
436
+ if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
303
437
  tip.parentNode.removeChild(tip);
304
438
  }
305
439
 
@@ -307,7 +441,7 @@ var Tooltip = function ($) {
307
441
 
308
442
  _this2.element.removeAttribute('aria-describedby');
309
443
 
310
- $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
444
+ $__default["default"](_this2.element).trigger(_this2.constructor.Event.HIDDEN);
311
445
 
312
446
  if (_this2._popper !== null) {
313
447
  _this2._popper.destroy();
@@ -318,25 +452,26 @@ var Tooltip = function ($) {
318
452
  }
319
453
  };
320
454
 
321
- $(this.element).trigger(hideEvent);
455
+ $__default["default"](this.element).trigger(hideEvent);
322
456
 
323
457
  if (hideEvent.isDefaultPrevented()) {
324
458
  return;
325
459
  }
326
460
 
327
- $(tip).removeClass(ClassName.SHOW); // if this is a touch-enabled device we remove the extra
461
+ $__default["default"](tip).removeClass(CLASS_NAME_SHOW); // If this is a touch-enabled device we remove the extra
328
462
  // empty mouseover listeners we added for iOS support
329
463
 
330
464
  if ('ontouchstart' in document.documentElement) {
331
- $('body').children().off('mouseover', null, $.noop);
465
+ $__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop);
332
466
  }
333
467
 
334
- this._activeTrigger[Trigger.CLICK] = false;
335
- this._activeTrigger[Trigger.FOCUS] = false;
336
- this._activeTrigger[Trigger.HOVER] = false;
468
+ this._activeTrigger[TRIGGER_CLICK] = false;
469
+ this._activeTrigger[TRIGGER_FOCUS] = false;
470
+ this._activeTrigger[TRIGGER_HOVER] = false;
337
471
 
338
- if (Util.supportsTransitionEnd() && $(this.tip).hasClass(ClassName.FADE)) {
339
- $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(TRANSITION_DURATION);
472
+ if ($__default["default"](this.tip).hasClass(CLASS_NAME_FADE)) {
473
+ var transitionDuration = Util__default["default"].getTransitionDurationFromElement(tip);
474
+ $__default["default"](tip).one(Util__default["default"].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
340
475
  } else {
341
476
  complete();
342
477
  }
@@ -348,42 +483,50 @@ var Tooltip = function ($) {
348
483
  if (this._popper !== null) {
349
484
  this._popper.scheduleUpdate();
350
485
  }
351
- }; // protected
352
-
486
+ } // Protected
487
+ ;
353
488
 
354
489
  _proto.isWithContent = function isWithContent() {
355
490
  return Boolean(this.getTitle());
356
491
  };
357
492
 
358
493
  _proto.addAttachmentClass = function addAttachmentClass(attachment) {
359
- $(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
494
+ $__default["default"](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
360
495
  };
361
496
 
362
497
  _proto.getTipElement = function getTipElement() {
363
- this.tip = this.tip || $(this.config.template)[0];
498
+ this.tip = this.tip || $__default["default"](this.config.template)[0];
364
499
  return this.tip;
365
500
  };
366
501
 
367
502
  _proto.setContent = function setContent() {
368
- var $tip = $(this.getTipElement());
369
- this.setElementContent($tip.find(Selector.TOOLTIP_INNER), this.getTitle());
370
- $tip.removeClass(ClassName.FADE + " " + ClassName.SHOW);
503
+ var tip = this.getTipElement();
504
+ this.setElementContent($__default["default"](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
505
+ $__default["default"](tip).removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
371
506
  };
372
507
 
373
508
  _proto.setElementContent = function setElementContent($element, content) {
374
- var html = this.config.html;
375
-
376
509
  if (typeof content === 'object' && (content.nodeType || content.jquery)) {
377
- // content is a DOM node or a jQuery
378
- if (html) {
379
- if (!$(content).parent().is($element)) {
510
+ // Content is a DOM node or a jQuery
511
+ if (this.config.html) {
512
+ if (!$__default["default"](content).parent().is($element)) {
380
513
  $element.empty().append(content);
381
514
  }
382
515
  } else {
383
- $element.text($(content).text());
516
+ $element.text($__default["default"](content).text());
384
517
  }
518
+
519
+ return;
520
+ }
521
+
522
+ if (this.config.html) {
523
+ if (this.config.sanitize) {
524
+ content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);
525
+ }
526
+
527
+ $element.html(content);
385
528
  } else {
386
- $element[html ? 'html' : 'text'](content);
529
+ $element.text(content);
387
530
  }
388
531
  };
389
532
 
@@ -395,37 +538,99 @@ var Tooltip = function ($) {
395
538
  }
396
539
 
397
540
  return title;
398
- }; // private
541
+ } // Private
542
+ ;
543
+
544
+ _proto._getPopperConfig = function _getPopperConfig(attachment) {
545
+ var _this3 = this;
399
546
 
547
+ var defaultBsConfig = {
548
+ placement: attachment,
549
+ modifiers: {
550
+ offset: this._getOffset(),
551
+ flip: {
552
+ behavior: this.config.fallbackPlacement
553
+ },
554
+ arrow: {
555
+ element: SELECTOR_ARROW
556
+ },
557
+ preventOverflow: {
558
+ boundariesElement: this.config.boundary
559
+ }
560
+ },
561
+ onCreate: function onCreate(data) {
562
+ if (data.originalPlacement !== data.placement) {
563
+ _this3._handlePopperPlacementChange(data);
564
+ }
565
+ },
566
+ onUpdate: function onUpdate(data) {
567
+ return _this3._handlePopperPlacementChange(data);
568
+ }
569
+ };
570
+ return _extends({}, defaultBsConfig, this.config.popperConfig);
571
+ };
572
+
573
+ _proto._getOffset = function _getOffset() {
574
+ var _this4 = this;
575
+
576
+ var offset = {};
577
+
578
+ if (typeof this.config.offset === 'function') {
579
+ offset.fn = function (data) {
580
+ data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element));
581
+ return data;
582
+ };
583
+ } else {
584
+ offset.offset = this.config.offset;
585
+ }
586
+
587
+ return offset;
588
+ };
589
+
590
+ _proto._getContainer = function _getContainer() {
591
+ if (this.config.container === false) {
592
+ return document.body;
593
+ }
594
+
595
+ if (Util__default["default"].isElement(this.config.container)) {
596
+ return $__default["default"](this.config.container);
597
+ }
598
+
599
+ return $__default["default"](document).find(this.config.container);
600
+ };
400
601
 
401
602
  _proto._getAttachment = function _getAttachment(placement) {
402
603
  return AttachmentMap[placement.toUpperCase()];
403
604
  };
404
605
 
405
606
  _proto._setListeners = function _setListeners() {
406
- var _this3 = this;
607
+ var _this5 = this;
407
608
 
408
609
  var triggers = this.config.trigger.split(' ');
409
610
  triggers.forEach(function (trigger) {
410
611
  if (trigger === 'click') {
411
- $(_this3.element).on(_this3.constructor.Event.CLICK, _this3.config.selector, function (event) {
412
- return _this3.toggle(event);
612
+ $__default["default"](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
613
+ return _this5.toggle(event);
413
614
  });
414
- } else if (trigger !== Trigger.MANUAL) {
415
- var eventIn = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSEENTER : _this3.constructor.Event.FOCUSIN;
416
- var eventOut = trigger === Trigger.HOVER ? _this3.constructor.Event.MOUSELEAVE : _this3.constructor.Event.FOCUSOUT;
417
- $(_this3.element).on(eventIn, _this3.config.selector, function (event) {
418
- return _this3._enter(event);
419
- }).on(eventOut, _this3.config.selector, function (event) {
420
- return _this3._leave(event);
615
+ } else if (trigger !== TRIGGER_MANUAL) {
616
+ var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
617
+ var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
618
+ $__default["default"](_this5.element).on(eventIn, _this5.config.selector, function (event) {
619
+ return _this5._enter(event);
620
+ }).on(eventOut, _this5.config.selector, function (event) {
621
+ return _this5._leave(event);
421
622
  });
422
623
  }
423
-
424
- $(_this3.element).closest('.modal').on('hide.bs.modal', function () {
425
- return _this3.hide();
426
- });
427
624
  });
428
625
 
626
+ this._hideModalHandler = function () {
627
+ if (_this5.element) {
628
+ _this5.hide();
629
+ }
630
+ };
631
+
632
+ $__default["default"](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
633
+
429
634
  if (this.config.selector) {
430
635
  this.config = _extends({}, this.config, {
431
636
  trigger: 'manual',
@@ -447,24 +652,24 @@ var Tooltip = function ($) {
447
652
 
448
653
  _proto._enter = function _enter(event, context) {
449
654
  var dataKey = this.constructor.DATA_KEY;
450
- context = context || $(event.currentTarget).data(dataKey);
655
+ context = context || $__default["default"](event.currentTarget).data(dataKey);
451
656
 
452
657
  if (!context) {
453
658
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
454
- $(event.currentTarget).data(dataKey, context);
659
+ $__default["default"](event.currentTarget).data(dataKey, context);
455
660
  }
456
661
 
457
662
  if (event) {
458
- context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;
663
+ context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
459
664
  }
460
665
 
461
- if ($(context.getTipElement()).hasClass(ClassName.SHOW) || context._hoverState === HoverState.SHOW) {
462
- context._hoverState = HoverState.SHOW;
666
+ if ($__default["default"](context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {
667
+ context._hoverState = HOVER_STATE_SHOW;
463
668
  return;
464
669
  }
465
670
 
466
671
  clearTimeout(context._timeout);
467
- context._hoverState = HoverState.SHOW;
672
+ context._hoverState = HOVER_STATE_SHOW;
468
673
 
469
674
  if (!context.config.delay || !context.config.delay.show) {
470
675
  context.show();
@@ -472,7 +677,7 @@ var Tooltip = function ($) {
472
677
  }
473
678
 
474
679
  context._timeout = setTimeout(function () {
475
- if (context._hoverState === HoverState.SHOW) {
680
+ if (context._hoverState === HOVER_STATE_SHOW) {
476
681
  context.show();
477
682
  }
478
683
  }, context.config.delay.show);
@@ -480,15 +685,15 @@ var Tooltip = function ($) {
480
685
 
481
686
  _proto._leave = function _leave(event, context) {
482
687
  var dataKey = this.constructor.DATA_KEY;
483
- context = context || $(event.currentTarget).data(dataKey);
688
+ context = context || $__default["default"](event.currentTarget).data(dataKey);
484
689
 
485
690
  if (!context) {
486
691
  context = new this.constructor(event.currentTarget, this._getDelegateConfig());
487
- $(event.currentTarget).data(dataKey, context);
692
+ $__default["default"](event.currentTarget).data(dataKey, context);
488
693
  }
489
694
 
490
695
  if (event) {
491
- context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;
696
+ context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
492
697
  }
493
698
 
494
699
  if (context._isWithActiveTrigger()) {
@@ -496,7 +701,7 @@ var Tooltip = function ($) {
496
701
  }
497
702
 
498
703
  clearTimeout(context._timeout);
499
- context._hoverState = HoverState.OUT;
704
+ context._hoverState = HOVER_STATE_OUT;
500
705
 
501
706
  if (!context.config.delay || !context.config.delay.hide) {
502
707
  context.hide();
@@ -504,7 +709,7 @@ var Tooltip = function ($) {
504
709
  }
505
710
 
506
711
  context._timeout = setTimeout(function () {
507
- if (context._hoverState === HoverState.OUT) {
712
+ if (context._hoverState === HOVER_STATE_OUT) {
508
713
  context.hide();
509
714
  }
510
715
  }, context.config.delay.hide);
@@ -521,7 +726,13 @@ var Tooltip = function ($) {
521
726
  };
522
727
 
523
728
  _proto._getConfig = function _getConfig(config) {
524
- config = _extends({}, this.constructor.Default, $(this.element).data(), config);
729
+ var dataAttributes = $__default["default"](this.element).data();
730
+ Object.keys(dataAttributes).forEach(function (dataAttr) {
731
+ if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
732
+ delete dataAttributes[dataAttr];
733
+ }
734
+ });
735
+ config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
525
736
 
526
737
  if (typeof config.delay === 'number') {
527
738
  config.delay = {
@@ -538,7 +749,12 @@ var Tooltip = function ($) {
538
749
  config.content = config.content.toString();
539
750
  }
540
751
 
541
- Util.typeCheckConfig(NAME, config, this.constructor.DefaultType);
752
+ Util__default["default"].typeCheckConfig(NAME, config, this.constructor.DefaultType);
753
+
754
+ if (config.sanitize) {
755
+ config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
756
+ }
757
+
542
758
  return config;
543
759
  };
544
760
 
@@ -557,18 +773,20 @@ var Tooltip = function ($) {
557
773
  };
558
774
 
559
775
  _proto._cleanTipClass = function _cleanTipClass() {
560
- var $tip = $(this.getTipElement());
776
+ var $tip = $__default["default"](this.getTipElement());
561
777
  var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
562
778
 
563
- if (tabClass !== null && tabClass.length > 0) {
779
+ if (tabClass !== null && tabClass.length) {
564
780
  $tip.removeClass(tabClass.join(''));
565
781
  }
566
782
  };
567
783
 
568
- _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(data) {
784
+ _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
785
+ this.tip = popperData.instance.popper;
786
+
569
787
  this._cleanTipClass();
570
788
 
571
- this.addAttachmentClass(this._getAttachment(data.placement));
789
+ this.addAttachmentClass(this._getAttachment(popperData.placement));
572
790
  };
573
791
 
574
792
  _proto._fixTransition = function _fixTransition() {
@@ -579,17 +797,18 @@ var Tooltip = function ($) {
579
797
  return;
580
798
  }
581
799
 
582
- $(tip).removeClass(ClassName.FADE);
800
+ $__default["default"](tip).removeClass(CLASS_NAME_FADE);
583
801
  this.config.animation = false;
584
802
  this.hide();
585
803
  this.show();
586
804
  this.config.animation = initConfigAnimation;
587
- }; // static
588
-
805
+ } // Static
806
+ ;
589
807
 
590
808
  Tooltip._jQueryInterface = function _jQueryInterface(config) {
591
809
  return this.each(function () {
592
- var data = $(this).data(DATA_KEY);
810
+ var $element = $__default["default"](this);
811
+ var data = $element.data(DATA_KEY);
593
812
 
594
813
  var _config = typeof config === 'object' && config;
595
814
 
@@ -599,12 +818,12 @@ var Tooltip = function ($) {
599
818
 
600
819
  if (!data) {
601
820
  data = new Tooltip(this, _config);
602
- $(this).data(DATA_KEY, data);
821
+ $element.data(DATA_KEY, data);
603
822
  }
604
823
 
605
824
  if (typeof config === 'string') {
606
825
  if (typeof data[config] === 'undefined') {
607
- throw new Error("No method named \"" + config + "\"");
826
+ throw new TypeError("No method named \"" + config + "\"");
608
827
  }
609
828
 
610
829
  data[config]();
@@ -652,19 +871,18 @@ var Tooltip = function ($) {
652
871
  return Tooltip;
653
872
  }();
654
873
  /**
655
- * ------------------------------------------------------------------------
656
874
  * jQuery
657
- * ------------------------------------------------------------------------
658
875
  */
659
876
 
660
877
 
661
- $.fn[NAME] = Tooltip._jQueryInterface;
662
- $.fn[NAME].Constructor = Tooltip;
878
+ $__default["default"].fn[NAME] = Tooltip._jQueryInterface;
879
+ $__default["default"].fn[NAME].Constructor = Tooltip;
663
880
 
664
- $.fn[NAME].noConflict = function () {
665
- $.fn[NAME] = JQUERY_NO_CONFLICT;
881
+ $__default["default"].fn[NAME].noConflict = function () {
882
+ $__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
666
883
  return Tooltip._jQueryInterface;
667
884
  };
668
885
 
669
886
  return Tooltip;
670
- }($, Popper);
887
+
888
+ }));