bootstrap 4.3.1 → 4.6.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +15 -1
- data/CHANGELOG.md +2 -14
- data/README.md +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +7 -7
- data/assets/javascripts/bootstrap.js +1073 -1076
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/javascripts/bootstrap/alert.js +42 -49
- data/assets/javascripts/bootstrap/button.js +111 -64
- data/assets/javascripts/bootstrap/carousel.js +162 -177
- data/assets/javascripts/bootstrap/collapse.js +97 -122
- data/assets/javascripts/bootstrap/dropdown.js +163 -189
- data/assets/javascripts/bootstrap/modal.js +213 -194
- data/assets/javascripts/bootstrap/popover.js +51 -72
- data/assets/javascripts/bootstrap/scrollspy.js +80 -109
- data/assets/javascripts/bootstrap/tab.js +72 -79
- data/assets/javascripts/bootstrap/toast.js +96 -107
- data/assets/javascripts/bootstrap/tooltip.js +186 -201
- data/assets/javascripts/bootstrap/util.js +41 -20
- data/assets/stylesheets/_bootstrap-grid.scss +5 -4
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
- data/assets/stylesheets/_bootstrap.scss +4 -4
- data/assets/stylesheets/bootstrap/_alert.scss +1 -0
- data/assets/stylesheets/bootstrap/_badge.scss +1 -1
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -2
- data/assets/stylesheets/bootstrap/_button-group.scss +1 -1
- data/assets/stylesheets/bootstrap/_buttons.scss +13 -8
- data/assets/stylesheets/bootstrap/_card.scss +42 -45
- data/assets/stylesheets/bootstrap/_carousel.scss +7 -7
- data/assets/stylesheets/bootstrap/_close.scss +2 -3
- data/assets/stylesheets/bootstrap/_code.scss +1 -1
- data/assets/stylesheets/bootstrap/_custom-forms.scss +38 -19
- data/assets/stylesheets/bootstrap/_dropdown.scss +7 -6
- data/assets/stylesheets/bootstrap/_forms.scss +26 -9
- data/assets/stylesheets/bootstrap/_functions.scss +63 -5
- data/assets/stylesheets/bootstrap/_grid.scss +32 -11
- data/assets/stylesheets/bootstrap/_images.scss +2 -2
- data/assets/stylesheets/bootstrap/_input-group.scss +21 -6
- data/assets/stylesheets/bootstrap/_list-group.scss +36 -31
- data/assets/stylesheets/bootstrap/_mixins.scss +3 -3
- data/assets/stylesheets/bootstrap/_modal.scss +26 -15
- data/assets/stylesheets/bootstrap/_nav.scss +7 -7
- data/assets/stylesheets/bootstrap/_navbar.scss +55 -17
- data/assets/stylesheets/bootstrap/_pagination.scss +5 -4
- data/assets/stylesheets/bootstrap/_popover.scss +8 -9
- data/assets/stylesheets/bootstrap/_print.scss +2 -2
- data/assets/stylesheets/bootstrap/_progress.scss +7 -3
- data/assets/stylesheets/bootstrap/_reboot.scss +39 -38
- data/assets/stylesheets/bootstrap/_spinners.scss +14 -4
- data/assets/stylesheets/bootstrap/_tables.scss +3 -3
- data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
- data/assets/stylesheets/bootstrap/_type.scss +3 -3
- data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
- data/assets/stylesheets/bootstrap/_variables.scss +58 -35
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +11 -8
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +8 -8
- data/assets/stylesheets/bootstrap/mixins/_float.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +42 -49
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +29 -15
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +25 -7
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_image.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +4 -3
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +1 -1
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_text.scss +4 -4
- data/bootstrap.gemspec +1 -1
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/network.rb +2 -2
- data/test/dummy_rails/app/assets/config/manifest.js +3 -0
- data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/support/dummy_rails_integration.rb +3 -1
- data/test/test_helper.rb +18 -13
- metadata +11 -5
@@ -1,17 +1,19 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap tooltip.js v4.
|
3
|
-
* Copyright 2011-
|
4
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
2
|
+
* Bootstrap tooltip.js v4.6.0 (https://getbootstrap.com/)
|
3
|
+
* Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5
5
|
*/
|
6
6
|
(function (global, factory) {
|
7
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
|
9
|
-
(global = global || self, global.Tooltip = factory(global.jQuery, global.Popper, global.Util));
|
10
|
-
}(this, function ($, Popper, Util) { 'use strict';
|
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
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
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);
|
15
17
|
|
16
18
|
function _defineProperties(target, props) {
|
17
19
|
for (var i = 0; i < props.length; i++) {
|
@@ -29,44 +31,28 @@
|
|
29
31
|
return Constructor;
|
30
32
|
}
|
31
33
|
|
32
|
-
function
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
enumerable: true,
|
37
|
-
configurable: true,
|
38
|
-
writable: true
|
39
|
-
});
|
40
|
-
} else {
|
41
|
-
obj[key] = value;
|
42
|
-
}
|
43
|
-
|
44
|
-
return obj;
|
45
|
-
}
|
46
|
-
|
47
|
-
function _objectSpread(target) {
|
48
|
-
for (var i = 1; i < arguments.length; i++) {
|
49
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
50
|
-
var ownKeys = Object.keys(source);
|
34
|
+
function _extends() {
|
35
|
+
_extends = Object.assign || function (target) {
|
36
|
+
for (var i = 1; i < arguments.length; i++) {
|
37
|
+
var source = arguments[i];
|
51
38
|
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
39
|
+
for (var key in source) {
|
40
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
41
|
+
target[key] = source[key];
|
42
|
+
}
|
43
|
+
}
|
56
44
|
}
|
57
45
|
|
58
|
-
|
59
|
-
|
60
|
-
});
|
61
|
-
}
|
46
|
+
return target;
|
47
|
+
};
|
62
48
|
|
63
|
-
return
|
49
|
+
return _extends.apply(this, arguments);
|
64
50
|
}
|
65
51
|
|
66
52
|
/**
|
67
53
|
* --------------------------------------------------------------------------
|
68
|
-
* Bootstrap (v4.
|
69
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
54
|
+
* Bootstrap (v4.6.0): tools/sanitizer.js
|
55
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
70
56
|
* --------------------------------------------------------------------------
|
71
57
|
*/
|
72
58
|
var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
|
@@ -90,7 +76,7 @@
|
|
90
76
|
h5: [],
|
91
77
|
h6: [],
|
92
78
|
i: [],
|
93
|
-
img: ['src', 'alt', 'title', 'width', 'height'],
|
79
|
+
img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
|
94
80
|
li: [],
|
95
81
|
ol: [],
|
96
82
|
p: [],
|
@@ -103,21 +89,21 @@
|
|
103
89
|
strong: [],
|
104
90
|
u: [],
|
105
91
|
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
92
|
};
|
113
|
-
|
93
|
+
/**
|
94
|
+
* A pattern that recognizes a commonly useful subset of URLs that are safe.
|
95
|
+
*
|
96
|
+
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
|
97
|
+
*/
|
98
|
+
|
99
|
+
var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi;
|
114
100
|
/**
|
115
101
|
* A pattern that matches safe data URLs. Only matches image, video and audio types.
|
116
102
|
*
|
117
103
|
* Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
|
118
104
|
*/
|
119
105
|
|
120
|
-
var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-
|
106
|
+
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;
|
121
107
|
|
122
108
|
function allowedAttribute(attr, allowedAttributeList) {
|
123
109
|
var attrName = attr.nodeName.toLowerCase();
|
@@ -134,7 +120,7 @@
|
|
134
120
|
return attrRegex instanceof RegExp;
|
135
121
|
}); // Check if a regular expression validates the attribute.
|
136
122
|
|
137
|
-
for (var i = 0,
|
123
|
+
for (var i = 0, len = regExp.length; i < len; i++) {
|
138
124
|
if (attrName.match(regExp[i])) {
|
139
125
|
return true;
|
140
126
|
}
|
@@ -176,7 +162,7 @@
|
|
176
162
|
};
|
177
163
|
|
178
164
|
for (var i = 0, len = elements.length; i < len; i++) {
|
179
|
-
var _ret = _loop(i
|
165
|
+
var _ret = _loop(i);
|
180
166
|
|
181
167
|
if (_ret === "continue") continue;
|
182
168
|
}
|
@@ -191,10 +177,10 @@
|
|
191
177
|
*/
|
192
178
|
|
193
179
|
var NAME = 'tooltip';
|
194
|
-
var VERSION = '4.
|
180
|
+
var VERSION = '4.6.0';
|
195
181
|
var DATA_KEY = 'bs.tooltip';
|
196
182
|
var EVENT_KEY = "." + DATA_KEY;
|
197
|
-
var JQUERY_NO_CONFLICT =
|
183
|
+
var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
|
198
184
|
var CLASS_PREFIX = 'bs-tooltip';
|
199
185
|
var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)" + CLASS_PREFIX + "\\S+", 'g');
|
200
186
|
var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];
|
@@ -211,9 +197,11 @@
|
|
211
197
|
container: '(string|element|boolean)',
|
212
198
|
fallbackPlacement: '(string|array)',
|
213
199
|
boundary: '(string|element)',
|
200
|
+
customClass: '(string|function)',
|
214
201
|
sanitize: 'boolean',
|
215
202
|
sanitizeFn: '(null|function)',
|
216
|
-
whiteList: 'object'
|
203
|
+
whiteList: 'object',
|
204
|
+
popperConfig: '(null|object)'
|
217
205
|
};
|
218
206
|
var AttachmentMap = {
|
219
207
|
AUTO: 'auto',
|
@@ -235,14 +223,14 @@
|
|
235
223
|
container: false,
|
236
224
|
fallbackPlacement: 'flip',
|
237
225
|
boundary: 'scrollParent',
|
226
|
+
customClass: '',
|
238
227
|
sanitize: true,
|
239
228
|
sanitizeFn: null,
|
240
|
-
whiteList: DefaultWhitelist
|
241
|
-
|
242
|
-
var HoverState = {
|
243
|
-
SHOW: 'show',
|
244
|
-
OUT: 'out'
|
229
|
+
whiteList: DefaultWhitelist,
|
230
|
+
popperConfig: null
|
245
231
|
};
|
232
|
+
var HOVER_STATE_SHOW = 'show';
|
233
|
+
var HOVER_STATE_OUT = 'out';
|
246
234
|
var Event = {
|
247
235
|
HIDE: "hide" + EVENT_KEY,
|
248
236
|
HIDDEN: "hidden" + EVENT_KEY,
|
@@ -255,38 +243,24 @@
|
|
255
243
|
MOUSEENTER: "mouseenter" + EVENT_KEY,
|
256
244
|
MOUSELEAVE: "mouseleave" + EVENT_KEY
|
257
245
|
};
|
258
|
-
var
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
var
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
MANUAL: 'manual'
|
272
|
-
/**
|
273
|
-
* ------------------------------------------------------------------------
|
274
|
-
* Class Definition
|
275
|
-
* ------------------------------------------------------------------------
|
276
|
-
*/
|
277
|
-
|
278
|
-
};
|
246
|
+
var CLASS_NAME_FADE = 'fade';
|
247
|
+
var CLASS_NAME_SHOW = 'show';
|
248
|
+
var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
|
249
|
+
var SELECTOR_ARROW = '.arrow';
|
250
|
+
var TRIGGER_HOVER = 'hover';
|
251
|
+
var TRIGGER_FOCUS = 'focus';
|
252
|
+
var TRIGGER_CLICK = 'click';
|
253
|
+
var TRIGGER_MANUAL = 'manual';
|
254
|
+
/**
|
255
|
+
* ------------------------------------------------------------------------
|
256
|
+
* Class Definition
|
257
|
+
* ------------------------------------------------------------------------
|
258
|
+
*/
|
279
259
|
|
280
|
-
var Tooltip =
|
281
|
-
/*#__PURE__*/
|
282
|
-
function () {
|
260
|
+
var Tooltip = /*#__PURE__*/function () {
|
283
261
|
function Tooltip(element, config) {
|
284
|
-
|
285
|
-
|
286
|
-
* Popper - https://popper.js.org
|
287
|
-
*/
|
288
|
-
if (typeof Popper === 'undefined') {
|
289
|
-
throw new TypeError('Bootstrap\'s tooltips require Popper.js (https://popper.js.org/)');
|
262
|
+
if (typeof Popper__default['default'] === 'undefined') {
|
263
|
+
throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
|
290
264
|
} // private
|
291
265
|
|
292
266
|
|
@@ -326,11 +300,11 @@
|
|
326
300
|
|
327
301
|
if (event) {
|
328
302
|
var dataKey = this.constructor.DATA_KEY;
|
329
|
-
var context = $(event.currentTarget).data(dataKey);
|
303
|
+
var context = $__default['default'](event.currentTarget).data(dataKey);
|
330
304
|
|
331
305
|
if (!context) {
|
332
306
|
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
|
333
|
-
$(event.currentTarget).data(dataKey, context);
|
307
|
+
$__default['default'](event.currentTarget).data(dataKey, context);
|
334
308
|
}
|
335
309
|
|
336
310
|
context._activeTrigger.click = !context._activeTrigger.click;
|
@@ -341,7 +315,7 @@
|
|
341
315
|
context._leave(null, context);
|
342
316
|
}
|
343
317
|
} else {
|
344
|
-
if ($(this.getTipElement()).hasClass(
|
318
|
+
if ($__default['default'](this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {
|
345
319
|
this._leave(null, this);
|
346
320
|
|
347
321
|
return;
|
@@ -353,12 +327,12 @@
|
|
353
327
|
|
354
328
|
_proto.dispose = function dispose() {
|
355
329
|
clearTimeout(this._timeout);
|
356
|
-
|
357
|
-
$(this.element).off(this.constructor.EVENT_KEY);
|
358
|
-
$(this.element).closest('.modal').off('hide.bs.modal');
|
330
|
+
$__default['default'].removeData(this.element, this.constructor.DATA_KEY);
|
331
|
+
$__default['default'](this.element).off(this.constructor.EVENT_KEY);
|
332
|
+
$__default['default'](this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);
|
359
333
|
|
360
334
|
if (this.tip) {
|
361
|
-
$(this.tip).remove();
|
335
|
+
$__default['default'](this.tip).remove();
|
362
336
|
}
|
363
337
|
|
364
338
|
this._isEnabled = null;
|
@@ -366,7 +340,7 @@
|
|
366
340
|
this._hoverState = null;
|
367
341
|
this._activeTrigger = null;
|
368
342
|
|
369
|
-
if (this._popper
|
343
|
+
if (this._popper) {
|
370
344
|
this._popper.destroy();
|
371
345
|
}
|
372
346
|
|
@@ -379,29 +353,29 @@
|
|
379
353
|
_proto.show = function show() {
|
380
354
|
var _this = this;
|
381
355
|
|
382
|
-
if ($(this.element).css('display') === 'none') {
|
356
|
+
if ($__default['default'](this.element).css('display') === 'none') {
|
383
357
|
throw new Error('Please use show on visible elements');
|
384
358
|
}
|
385
359
|
|
386
|
-
var showEvent =
|
360
|
+
var showEvent = $__default['default'].Event(this.constructor.Event.SHOW);
|
387
361
|
|
388
362
|
if (this.isWithContent() && this._isEnabled) {
|
389
|
-
$(this.element).trigger(showEvent);
|
390
|
-
var shadowRoot =
|
391
|
-
var isInTheDom =
|
363
|
+
$__default['default'](this.element).trigger(showEvent);
|
364
|
+
var shadowRoot = Util__default['default'].findShadowRoot(this.element);
|
365
|
+
var isInTheDom = $__default['default'].contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);
|
392
366
|
|
393
367
|
if (showEvent.isDefaultPrevented() || !isInTheDom) {
|
394
368
|
return;
|
395
369
|
}
|
396
370
|
|
397
371
|
var tip = this.getTipElement();
|
398
|
-
var tipId =
|
372
|
+
var tipId = Util__default['default'].getUID(this.constructor.NAME);
|
399
373
|
tip.setAttribute('id', tipId);
|
400
374
|
this.element.setAttribute('aria-describedby', tipId);
|
401
375
|
this.setContent();
|
402
376
|
|
403
377
|
if (this.config.animation) {
|
404
|
-
$(tip).addClass(
|
378
|
+
$__default['default'](tip).addClass(CLASS_NAME_FADE);
|
405
379
|
}
|
406
380
|
|
407
381
|
var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;
|
@@ -412,43 +386,22 @@
|
|
412
386
|
|
413
387
|
var container = this._getContainer();
|
414
388
|
|
415
|
-
$(tip).data(this.constructor.DATA_KEY, this);
|
389
|
+
$__default['default'](tip).data(this.constructor.DATA_KEY, this);
|
416
390
|
|
417
|
-
if (
|
418
|
-
$(tip).appendTo(container);
|
391
|
+
if (!$__default['default'].contains(this.element.ownerDocument.documentElement, this.tip)) {
|
392
|
+
$__default['default'](tip).appendTo(container);
|
419
393
|
}
|
420
394
|
|
421
|
-
$(this.element).trigger(this.constructor.Event.INSERTED);
|
422
|
-
this._popper = new
|
423
|
-
|
424
|
-
|
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
|
-
});
|
445
|
-
$(tip).addClass(ClassName.SHOW); // If this is a touch-enabled device we add extra
|
395
|
+
$__default['default'](this.element).trigger(this.constructor.Event.INSERTED);
|
396
|
+
this._popper = new Popper__default['default'](this.element, tip, this._getPopperConfig(attachment));
|
397
|
+
$__default['default'](tip).addClass(CLASS_NAME_SHOW);
|
398
|
+
$__default['default'](tip).addClass(this.config.customClass); // If this is a touch-enabled device we add extra
|
446
399
|
// empty mouseover listeners to the body's immediate children;
|
447
400
|
// only needed because of broken event delegation on iOS
|
448
401
|
// https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
|
449
402
|
|
450
403
|
if ('ontouchstart' in document.documentElement) {
|
451
|
-
$(document.body).children().on('mouseover', null,
|
404
|
+
$__default['default'](document.body).children().on('mouseover', null, $__default['default'].noop);
|
452
405
|
}
|
453
406
|
|
454
407
|
var complete = function complete() {
|
@@ -458,16 +411,16 @@
|
|
458
411
|
|
459
412
|
var prevHoverState = _this._hoverState;
|
460
413
|
_this._hoverState = null;
|
461
|
-
$(_this.element).trigger(_this.constructor.Event.SHOWN);
|
414
|
+
$__default['default'](_this.element).trigger(_this.constructor.Event.SHOWN);
|
462
415
|
|
463
|
-
if (prevHoverState ===
|
416
|
+
if (prevHoverState === HOVER_STATE_OUT) {
|
464
417
|
_this._leave(null, _this);
|
465
418
|
}
|
466
419
|
};
|
467
420
|
|
468
|
-
if ($(this.tip).hasClass(
|
469
|
-
var transitionDuration =
|
470
|
-
$(this.tip).one(
|
421
|
+
if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE)) {
|
422
|
+
var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this.tip);
|
423
|
+
$__default['default'](this.tip).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
471
424
|
} else {
|
472
425
|
complete();
|
473
426
|
}
|
@@ -478,10 +431,10 @@
|
|
478
431
|
var _this2 = this;
|
479
432
|
|
480
433
|
var tip = this.getTipElement();
|
481
|
-
var hideEvent =
|
434
|
+
var hideEvent = $__default['default'].Event(this.constructor.Event.HIDE);
|
482
435
|
|
483
436
|
var complete = function complete() {
|
484
|
-
if (_this2._hoverState !==
|
437
|
+
if (_this2._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {
|
485
438
|
tip.parentNode.removeChild(tip);
|
486
439
|
}
|
487
440
|
|
@@ -489,7 +442,7 @@
|
|
489
442
|
|
490
443
|
_this2.element.removeAttribute('aria-describedby');
|
491
444
|
|
492
|
-
$(_this2.element).trigger(_this2.constructor.Event.HIDDEN);
|
445
|
+
$__default['default'](_this2.element).trigger(_this2.constructor.Event.HIDDEN);
|
493
446
|
|
494
447
|
if (_this2._popper !== null) {
|
495
448
|
_this2._popper.destroy();
|
@@ -500,26 +453,26 @@
|
|
500
453
|
}
|
501
454
|
};
|
502
455
|
|
503
|
-
$(this.element).trigger(hideEvent);
|
456
|
+
$__default['default'](this.element).trigger(hideEvent);
|
504
457
|
|
505
458
|
if (hideEvent.isDefaultPrevented()) {
|
506
459
|
return;
|
507
460
|
}
|
508
461
|
|
509
|
-
$(tip).removeClass(
|
462
|
+
$__default['default'](tip).removeClass(CLASS_NAME_SHOW); // If this is a touch-enabled device we remove the extra
|
510
463
|
// empty mouseover listeners we added for iOS support
|
511
464
|
|
512
465
|
if ('ontouchstart' in document.documentElement) {
|
513
|
-
$(document.body).children().off('mouseover', null,
|
466
|
+
$__default['default'](document.body).children().off('mouseover', null, $__default['default'].noop);
|
514
467
|
}
|
515
468
|
|
516
|
-
this._activeTrigger[
|
517
|
-
this._activeTrigger[
|
518
|
-
this._activeTrigger[
|
469
|
+
this._activeTrigger[TRIGGER_CLICK] = false;
|
470
|
+
this._activeTrigger[TRIGGER_FOCUS] = false;
|
471
|
+
this._activeTrigger[TRIGGER_HOVER] = false;
|
519
472
|
|
520
|
-
if ($(this.tip).hasClass(
|
521
|
-
var transitionDuration =
|
522
|
-
$(tip).one(
|
473
|
+
if ($__default['default'](this.tip).hasClass(CLASS_NAME_FADE)) {
|
474
|
+
var transitionDuration = Util__default['default'].getTransitionDurationFromElement(tip);
|
475
|
+
$__default['default'](tip).one(Util__default['default'].TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);
|
523
476
|
} else {
|
524
477
|
complete();
|
525
478
|
}
|
@@ -539,29 +492,29 @@
|
|
539
492
|
};
|
540
493
|
|
541
494
|
_proto.addAttachmentClass = function addAttachmentClass(attachment) {
|
542
|
-
$(this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
|
495
|
+
$__default['default'](this.getTipElement()).addClass(CLASS_PREFIX + "-" + attachment);
|
543
496
|
};
|
544
497
|
|
545
498
|
_proto.getTipElement = function getTipElement() {
|
546
|
-
this.tip = this.tip || $(this.config.template)[0];
|
499
|
+
this.tip = this.tip || $__default['default'](this.config.template)[0];
|
547
500
|
return this.tip;
|
548
501
|
};
|
549
502
|
|
550
503
|
_proto.setContent = function setContent() {
|
551
504
|
var tip = this.getTipElement();
|
552
|
-
this.setElementContent($(tip.querySelectorAll(
|
553
|
-
$(tip).removeClass(
|
505
|
+
this.setElementContent($__default['default'](tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle());
|
506
|
+
$__default['default'](tip).removeClass(CLASS_NAME_FADE + " " + CLASS_NAME_SHOW);
|
554
507
|
};
|
555
508
|
|
556
509
|
_proto.setElementContent = function setElementContent($element, content) {
|
557
510
|
if (typeof content === 'object' && (content.nodeType || content.jquery)) {
|
558
511
|
// Content is a DOM node or a jQuery
|
559
512
|
if (this.config.html) {
|
560
|
-
if (!$(content).parent().is($element)) {
|
513
|
+
if (!$__default['default'](content).parent().is($element)) {
|
561
514
|
$element.empty().append(content);
|
562
515
|
}
|
563
516
|
} else {
|
564
|
-
$element.text($(content).text());
|
517
|
+
$element.text($__default['default'](content).text());
|
565
518
|
}
|
566
519
|
|
567
520
|
return;
|
@@ -589,14 +542,43 @@
|
|
589
542
|
} // Private
|
590
543
|
;
|
591
544
|
|
592
|
-
_proto.
|
545
|
+
_proto._getPopperConfig = function _getPopperConfig(attachment) {
|
593
546
|
var _this3 = this;
|
594
547
|
|
548
|
+
var defaultBsConfig = {
|
549
|
+
placement: attachment,
|
550
|
+
modifiers: {
|
551
|
+
offset: this._getOffset(),
|
552
|
+
flip: {
|
553
|
+
behavior: this.config.fallbackPlacement
|
554
|
+
},
|
555
|
+
arrow: {
|
556
|
+
element: SELECTOR_ARROW
|
557
|
+
},
|
558
|
+
preventOverflow: {
|
559
|
+
boundariesElement: this.config.boundary
|
560
|
+
}
|
561
|
+
},
|
562
|
+
onCreate: function onCreate(data) {
|
563
|
+
if (data.originalPlacement !== data.placement) {
|
564
|
+
_this3._handlePopperPlacementChange(data);
|
565
|
+
}
|
566
|
+
},
|
567
|
+
onUpdate: function onUpdate(data) {
|
568
|
+
return _this3._handlePopperPlacementChange(data);
|
569
|
+
}
|
570
|
+
};
|
571
|
+
return _extends({}, defaultBsConfig, this.config.popperConfig);
|
572
|
+
};
|
573
|
+
|
574
|
+
_proto._getOffset = function _getOffset() {
|
575
|
+
var _this4 = this;
|
576
|
+
|
595
577
|
var offset = {};
|
596
578
|
|
597
579
|
if (typeof this.config.offset === 'function') {
|
598
580
|
offset.fn = function (data) {
|
599
|
-
data.offsets =
|
581
|
+
data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});
|
600
582
|
return data;
|
601
583
|
};
|
602
584
|
} else {
|
@@ -611,11 +593,11 @@
|
|
611
593
|
return document.body;
|
612
594
|
}
|
613
595
|
|
614
|
-
if (
|
615
|
-
return $(this.config.container);
|
596
|
+
if (Util__default['default'].isElement(this.config.container)) {
|
597
|
+
return $__default['default'](this.config.container);
|
616
598
|
}
|
617
599
|
|
618
|
-
return $(document).find(this.config.container);
|
600
|
+
return $__default['default'](document).find(this.config.container);
|
619
601
|
};
|
620
602
|
|
621
603
|
_proto._getAttachment = function _getAttachment(placement) {
|
@@ -623,32 +605,35 @@
|
|
623
605
|
};
|
624
606
|
|
625
607
|
_proto._setListeners = function _setListeners() {
|
626
|
-
var
|
608
|
+
var _this5 = this;
|
627
609
|
|
628
610
|
var triggers = this.config.trigger.split(' ');
|
629
611
|
triggers.forEach(function (trigger) {
|
630
612
|
if (trigger === 'click') {
|
631
|
-
$(
|
632
|
-
return
|
613
|
+
$__default['default'](_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {
|
614
|
+
return _this5.toggle(event);
|
633
615
|
});
|
634
|
-
} else if (trigger !==
|
635
|
-
var eventIn = trigger ===
|
636
|
-
var eventOut = trigger ===
|
637
|
-
$(
|
638
|
-
return
|
639
|
-
}).on(eventOut,
|
640
|
-
return
|
616
|
+
} else if (trigger !== TRIGGER_MANUAL) {
|
617
|
+
var eventIn = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;
|
618
|
+
var eventOut = trigger === TRIGGER_HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;
|
619
|
+
$__default['default'](_this5.element).on(eventIn, _this5.config.selector, function (event) {
|
620
|
+
return _this5._enter(event);
|
621
|
+
}).on(eventOut, _this5.config.selector, function (event) {
|
622
|
+
return _this5._leave(event);
|
641
623
|
});
|
642
624
|
}
|
643
625
|
});
|
644
|
-
|
645
|
-
|
646
|
-
|
626
|
+
|
627
|
+
this._hideModalHandler = function () {
|
628
|
+
if (_this5.element) {
|
629
|
+
_this5.hide();
|
647
630
|
}
|
648
|
-
}
|
631
|
+
};
|
632
|
+
|
633
|
+
$__default['default'](this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
|
649
634
|
|
650
635
|
if (this.config.selector) {
|
651
|
-
this.config =
|
636
|
+
this.config = _extends({}, this.config, {
|
652
637
|
trigger: 'manual',
|
653
638
|
selector: ''
|
654
639
|
});
|
@@ -668,24 +653,24 @@
|
|
668
653
|
|
669
654
|
_proto._enter = function _enter(event, context) {
|
670
655
|
var dataKey = this.constructor.DATA_KEY;
|
671
|
-
context = context || $(event.currentTarget).data(dataKey);
|
656
|
+
context = context || $__default['default'](event.currentTarget).data(dataKey);
|
672
657
|
|
673
658
|
if (!context) {
|
674
659
|
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
|
675
|
-
$(event.currentTarget).data(dataKey, context);
|
660
|
+
$__default['default'](event.currentTarget).data(dataKey, context);
|
676
661
|
}
|
677
662
|
|
678
663
|
if (event) {
|
679
|
-
context._activeTrigger[event.type === 'focusin' ?
|
664
|
+
context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
|
680
665
|
}
|
681
666
|
|
682
|
-
if ($(context.getTipElement()).hasClass(
|
683
|
-
context._hoverState =
|
667
|
+
if ($__default['default'](context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {
|
668
|
+
context._hoverState = HOVER_STATE_SHOW;
|
684
669
|
return;
|
685
670
|
}
|
686
671
|
|
687
672
|
clearTimeout(context._timeout);
|
688
|
-
context._hoverState =
|
673
|
+
context._hoverState = HOVER_STATE_SHOW;
|
689
674
|
|
690
675
|
if (!context.config.delay || !context.config.delay.show) {
|
691
676
|
context.show();
|
@@ -693,7 +678,7 @@
|
|
693
678
|
}
|
694
679
|
|
695
680
|
context._timeout = setTimeout(function () {
|
696
|
-
if (context._hoverState ===
|
681
|
+
if (context._hoverState === HOVER_STATE_SHOW) {
|
697
682
|
context.show();
|
698
683
|
}
|
699
684
|
}, context.config.delay.show);
|
@@ -701,15 +686,15 @@
|
|
701
686
|
|
702
687
|
_proto._leave = function _leave(event, context) {
|
703
688
|
var dataKey = this.constructor.DATA_KEY;
|
704
|
-
context = context || $(event.currentTarget).data(dataKey);
|
689
|
+
context = context || $__default['default'](event.currentTarget).data(dataKey);
|
705
690
|
|
706
691
|
if (!context) {
|
707
692
|
context = new this.constructor(event.currentTarget, this._getDelegateConfig());
|
708
|
-
$(event.currentTarget).data(dataKey, context);
|
693
|
+
$__default['default'](event.currentTarget).data(dataKey, context);
|
709
694
|
}
|
710
695
|
|
711
696
|
if (event) {
|
712
|
-
context._activeTrigger[event.type === 'focusout' ?
|
697
|
+
context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = false;
|
713
698
|
}
|
714
699
|
|
715
700
|
if (context._isWithActiveTrigger()) {
|
@@ -717,7 +702,7 @@
|
|
717
702
|
}
|
718
703
|
|
719
704
|
clearTimeout(context._timeout);
|
720
|
-
context._hoverState =
|
705
|
+
context._hoverState = HOVER_STATE_OUT;
|
721
706
|
|
722
707
|
if (!context.config.delay || !context.config.delay.hide) {
|
723
708
|
context.hide();
|
@@ -725,7 +710,7 @@
|
|
725
710
|
}
|
726
711
|
|
727
712
|
context._timeout = setTimeout(function () {
|
728
|
-
if (context._hoverState ===
|
713
|
+
if (context._hoverState === HOVER_STATE_OUT) {
|
729
714
|
context.hide();
|
730
715
|
}
|
731
716
|
}, context.config.delay.hide);
|
@@ -742,13 +727,13 @@
|
|
742
727
|
};
|
743
728
|
|
744
729
|
_proto._getConfig = function _getConfig(config) {
|
745
|
-
var dataAttributes = $(this.element).data();
|
730
|
+
var dataAttributes = $__default['default'](this.element).data();
|
746
731
|
Object.keys(dataAttributes).forEach(function (dataAttr) {
|
747
732
|
if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {
|
748
733
|
delete dataAttributes[dataAttr];
|
749
734
|
}
|
750
735
|
});
|
751
|
-
config =
|
736
|
+
config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
|
752
737
|
|
753
738
|
if (typeof config.delay === 'number') {
|
754
739
|
config.delay = {
|
@@ -765,7 +750,7 @@
|
|
765
750
|
config.content = config.content.toString();
|
766
751
|
}
|
767
752
|
|
768
|
-
|
753
|
+
Util__default['default'].typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
769
754
|
|
770
755
|
if (config.sanitize) {
|
771
756
|
config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);
|
@@ -789,7 +774,7 @@
|
|
789
774
|
};
|
790
775
|
|
791
776
|
_proto._cleanTipClass = function _cleanTipClass() {
|
792
|
-
var $tip = $(this.getTipElement());
|
777
|
+
var $tip = $__default['default'](this.getTipElement());
|
793
778
|
var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);
|
794
779
|
|
795
780
|
if (tabClass !== null && tabClass.length) {
|
@@ -798,8 +783,7 @@
|
|
798
783
|
};
|
799
784
|
|
800
785
|
_proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
|
801
|
-
|
802
|
-
this.tip = popperInstance.popper;
|
786
|
+
this.tip = popperData.instance.popper;
|
803
787
|
|
804
788
|
this._cleanTipClass();
|
805
789
|
|
@@ -814,7 +798,7 @@
|
|
814
798
|
return;
|
815
799
|
}
|
816
800
|
|
817
|
-
$(tip).removeClass(
|
801
|
+
$__default['default'](tip).removeClass(CLASS_NAME_FADE);
|
818
802
|
this.config.animation = false;
|
819
803
|
this.hide();
|
820
804
|
this.show();
|
@@ -824,7 +808,8 @@
|
|
824
808
|
|
825
809
|
Tooltip._jQueryInterface = function _jQueryInterface(config) {
|
826
810
|
return this.each(function () {
|
827
|
-
var
|
811
|
+
var $element = $__default['default'](this);
|
812
|
+
var data = $element.data(DATA_KEY);
|
828
813
|
|
829
814
|
var _config = typeof config === 'object' && config;
|
830
815
|
|
@@ -834,7 +819,7 @@
|
|
834
819
|
|
835
820
|
if (!data) {
|
836
821
|
data = new Tooltip(this, _config);
|
837
|
-
$
|
822
|
+
$element.data(DATA_KEY, data);
|
838
823
|
}
|
839
824
|
|
840
825
|
if (typeof config === 'string') {
|
@@ -893,14 +878,14 @@
|
|
893
878
|
*/
|
894
879
|
|
895
880
|
|
896
|
-
|
897
|
-
|
881
|
+
$__default['default'].fn[NAME] = Tooltip._jQueryInterface;
|
882
|
+
$__default['default'].fn[NAME].Constructor = Tooltip;
|
898
883
|
|
899
|
-
|
900
|
-
|
884
|
+
$__default['default'].fn[NAME].noConflict = function () {
|
885
|
+
$__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
|
901
886
|
return Tooltip._jQueryInterface;
|
902
887
|
};
|
903
888
|
|
904
889
|
return Tooltip;
|
905
890
|
|
906
|
-
}));
|
891
|
+
})));
|