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.
- checksums.yaml +5 -5
- data/.travis.yml +15 -1
- data/CHANGELOG.md +2 -2
- data/README.md +2 -2
- data/Rakefile +4 -2
- data/assets/javascripts/bootstrap/alert.js +79 -68
- data/assets/javascripts/bootstrap/button.js +140 -78
- data/assets/javascripts/bootstrap/carousel.js +294 -158
- data/assets/javascripts/bootstrap/collapse.js +157 -133
- data/assets/javascripts/bootstrap/dropdown.js +257 -167
- data/assets/javascripts/bootstrap/modal.js +285 -204
- data/assets/javascripts/bootstrap/popover.js +101 -60
- data/assets/javascripts/bootstrap/scrollspy.js +127 -106
- data/assets/javascripts/bootstrap/tab.js +113 -101
- data/assets/javascripts/bootstrap/toast.js +267 -0
- data/assets/javascripts/bootstrap/tooltip.js +406 -188
- data/assets/javascripts/bootstrap/util.js +106 -55
- data/assets/javascripts/bootstrap-sprockets.js +1 -0
- data/assets/javascripts/bootstrap.js +1946 -1482
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/stylesheets/_bootstrap-grid.scss +7 -12
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
- data/assets/stylesheets/_bootstrap.scss +6 -4
- data/assets/stylesheets/bootstrap/_alert.scss +3 -2
- data/assets/stylesheets/bootstrap/_badge.scss +8 -1
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +10 -6
- data/assets/stylesheets/bootstrap/_button-group.scss +17 -20
- data/assets/stylesheets/bootstrap/_buttons.scss +23 -28
- data/assets/stylesheets/bootstrap/_card.scss +77 -61
- data/assets/stylesheets/bootstrap/_carousel.scss +72 -63
- data/assets/stylesheets/bootstrap/_close.scss +15 -9
- data/assets/stylesheets/bootstrap/_code.scss +6 -14
- data/assets/stylesheets/bootstrap/_custom-forms.scss +287 -43
- data/assets/stylesheets/bootstrap/_dropdown.scss +70 -9
- data/assets/stylesheets/bootstrap/_forms.scss +56 -42
- data/assets/stylesheets/bootstrap/_functions.scss +117 -13
- data/assets/stylesheets/bootstrap/_grid.scss +32 -11
- data/assets/stylesheets/bootstrap/_images.scss +4 -4
- data/assets/stylesheets/bootstrap/_input-group.scss +80 -25
- data/assets/stylesheets/bootstrap/_jumbotron.scss +2 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +63 -24
- data/assets/stylesheets/bootstrap/_mixins.scss +9 -4
- data/assets/stylesheets/bootstrap/_modal.scss +96 -24
- data/assets/stylesheets/bootstrap/_nav.scss +14 -7
- data/assets/stylesheets/bootstrap/_navbar.scss +66 -45
- data/assets/stylesheets/bootstrap/_pagination.scss +10 -8
- data/assets/stylesheets/bootstrap/_popover.scss +56 -69
- data/assets/stylesheets/bootstrap/_print.scss +41 -19
- data/assets/stylesheets/bootstrap/_progress.scss +20 -6
- data/assets/stylesheets/bootstrap/_reboot.scss +88 -109
- data/assets/stylesheets/bootstrap/_spinners.scss +65 -0
- data/assets/stylesheets/bootstrap/_tables.scss +19 -14
- data/assets/stylesheets/bootstrap/_toasts.scss +46 -0
- data/assets/stylesheets/bootstrap/_tooltip.scss +6 -6
- data/assets/stylesheets/bootstrap/_transitions.scss +10 -20
- data/assets/stylesheets/bootstrap/_type.scss +19 -19
- data/assets/stylesheets/bootstrap/_utilities.scss +4 -0
- data/assets/stylesheets/bootstrap/_variables.scss +492 -215
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +8 -3
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -9
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +35 -26
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +13 -16
- data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
- data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +102 -40
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +7 -7
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +36 -25
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +34 -17
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +27 -51
- data/assets/stylesheets/bootstrap/mixins/_image.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +10 -13
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -6
- data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +11 -2
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +3 -1
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +20 -3
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
- data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +23 -2
- data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -36
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -4
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
- data/assets/stylesheets/bootstrap/utilities/_text.scss +28 -8
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +228 -0
- data/bootstrap.gemspec +7 -4
- data/lib/bootstrap/engine.rb +3 -0
- data/lib/bootstrap/version.rb +4 -2
- data/lib/bootstrap.rb +10 -7
- data/tasks/updater/js.rb +18 -6
- data/tasks/updater/network.rb +8 -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 +21 -15
- metadata +29 -16
- data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
|
@@ -1,43 +1,200 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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 =
|
|
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
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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
|
|
63
|
-
|
|
64
|
-
|
|
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
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
106
|
-
|
|
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; //
|
|
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
|
-
} //
|
|
277
|
+
} // Getters
|
|
125
278
|
|
|
126
279
|
|
|
127
280
|
var _proto = Tooltip.prototype;
|
|
128
281
|
|
|
129
|
-
//
|
|
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(
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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(
|
|
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
|
-
|
|
235
|
-
|
|
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
|
|
240
|
-
|
|
241
|
-
|
|
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
|
-
$(
|
|
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 ===
|
|
415
|
+
if (prevHoverState === HOVER_STATE_OUT) {
|
|
283
416
|
_this._leave(null, _this);
|
|
284
417
|
}
|
|
285
418
|
};
|
|
286
419
|
|
|
287
|
-
if (
|
|
288
|
-
|
|
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 =
|
|
433
|
+
var hideEvent = $__default["default"].Event(this.constructor.Event.HIDE);
|
|
300
434
|
|
|
301
435
|
var complete = function complete() {
|
|
302
|
-
if (_this2._hoverState !==
|
|
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(
|
|
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
|
-
$(
|
|
465
|
+
$__default["default"](document.body).children().off('mouseover', null, $__default["default"].noop);
|
|
332
466
|
}
|
|
333
467
|
|
|
334
|
-
this._activeTrigger[
|
|
335
|
-
this._activeTrigger[
|
|
336
|
-
this._activeTrigger[
|
|
468
|
+
this._activeTrigger[TRIGGER_CLICK] = false;
|
|
469
|
+
this._activeTrigger[TRIGGER_FOCUS] = false;
|
|
470
|
+
this._activeTrigger[TRIGGER_HOVER] = false;
|
|
337
471
|
|
|
338
|
-
if (
|
|
339
|
-
|
|
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
|
-
}
|
|
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
|
|
369
|
-
this.setElementContent($tip.
|
|
370
|
-
$tip.removeClass(
|
|
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
|
-
//
|
|
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
|
|
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
|
-
}
|
|
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
|
|
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
|
-
$(
|
|
412
|
-
return
|
|
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 !==
|
|
415
|
-
var eventIn = trigger ===
|
|
416
|
-
var eventOut = trigger ===
|
|
417
|
-
$(
|
|
418
|
-
return
|
|
419
|
-
}).on(eventOut,
|
|
420
|
-
return
|
|
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' ?
|
|
663
|
+
context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
|
|
459
664
|
}
|
|
460
665
|
|
|
461
|
-
if ($(context.getTipElement()).hasClass(
|
|
462
|
-
context._hoverState =
|
|
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 =
|
|
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 ===
|
|
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' ?
|
|
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 =
|
|
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 ===
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
779
|
+
if (tabClass !== null && tabClass.length) {
|
|
564
780
|
$tip.removeClass(tabClass.join(''));
|
|
565
781
|
}
|
|
566
782
|
};
|
|
567
783
|
|
|
568
|
-
_proto._handlePopperPlacementChange = function _handlePopperPlacementChange(
|
|
784
|
+
_proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {
|
|
785
|
+
this.tip = popperData.instance.popper;
|
|
786
|
+
|
|
569
787
|
this._cleanTipClass();
|
|
570
788
|
|
|
571
|
-
this.addAttachmentClass(this._getAttachment(
|
|
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(
|
|
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
|
-
}
|
|
588
|
-
|
|
805
|
+
} // Static
|
|
806
|
+
;
|
|
589
807
|
|
|
590
808
|
Tooltip._jQueryInterface = function _jQueryInterface(config) {
|
|
591
809
|
return this.each(function () {
|
|
592
|
-
var
|
|
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
|
-
$
|
|
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
|
|
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
|
-
|
|
662
|
-
|
|
878
|
+
$__default["default"].fn[NAME] = Tooltip._jQueryInterface;
|
|
879
|
+
$__default["default"].fn[NAME].Constructor = Tooltip;
|
|
663
880
|
|
|
664
|
-
|
|
665
|
-
|
|
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
|
-
|
|
887
|
+
|
|
888
|
+
}));
|