bootstrap 4.3.1 → 4.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bootstrap might be problematic. Click here for more details.
- 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,16 +1,18 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap modal.js v4.
|
3
|
-
* Copyright 2011-
|
4
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
2
|
+
* Bootstrap modal.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('./util.js')) :
|
8
|
-
typeof define === 'function' && define.amd ? define(['jquery', './util
|
9
|
-
(global = global || self, global.Modal = factory(global.jQuery, global.Util));
|
10
|
-
}(this, function ($, Util) { 'use strict';
|
8
|
+
typeof define === 'function' && define.amd ? define(['jquery', './util'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.jQuery, global.Util));
|
10
|
+
}(this, (function ($, Util) { 'use strict';
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
13
|
+
|
14
|
+
var $__default = /*#__PURE__*/_interopDefaultLegacy($);
|
15
|
+
var Util__default = /*#__PURE__*/_interopDefaultLegacy(Util);
|
14
16
|
|
15
17
|
function _defineProperties(target, props) {
|
16
18
|
for (var i = 0; i < props.length; i++) {
|
@@ -28,38 +30,22 @@
|
|
28
30
|
return Constructor;
|
29
31
|
}
|
30
32
|
|
31
|
-
function
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
enumerable: true,
|
36
|
-
configurable: true,
|
37
|
-
writable: true
|
38
|
-
});
|
39
|
-
} else {
|
40
|
-
obj[key] = value;
|
41
|
-
}
|
33
|
+
function _extends() {
|
34
|
+
_extends = Object.assign || function (target) {
|
35
|
+
for (var i = 1; i < arguments.length; i++) {
|
36
|
+
var source = arguments[i];
|
42
37
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
49
|
-
var ownKeys = Object.keys(source);
|
50
|
-
|
51
|
-
if (typeof Object.getOwnPropertySymbols === 'function') {
|
52
|
-
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
|
53
|
-
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
54
|
-
}));
|
38
|
+
for (var key in source) {
|
39
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
40
|
+
target[key] = source[key];
|
41
|
+
}
|
42
|
+
}
|
55
43
|
}
|
56
44
|
|
57
|
-
|
58
|
-
|
59
|
-
});
|
60
|
-
}
|
45
|
+
return target;
|
46
|
+
};
|
61
47
|
|
62
|
-
return
|
48
|
+
return _extends.apply(this, arguments);
|
63
49
|
}
|
64
50
|
|
65
51
|
/**
|
@@ -69,11 +55,11 @@
|
|
69
55
|
*/
|
70
56
|
|
71
57
|
var NAME = 'modal';
|
72
|
-
var VERSION = '4.
|
58
|
+
var VERSION = '4.6.0';
|
73
59
|
var DATA_KEY = 'bs.modal';
|
74
60
|
var EVENT_KEY = "." + DATA_KEY;
|
75
61
|
var DATA_API_KEY = '.data-api';
|
76
|
-
var JQUERY_NO_CONFLICT =
|
62
|
+
var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
|
77
63
|
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
78
64
|
|
79
65
|
var Default = {
|
@@ -88,49 +74,42 @@
|
|
88
74
|
focus: 'boolean',
|
89
75
|
show: 'boolean'
|
90
76
|
};
|
91
|
-
var
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
var
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
var
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
* Class Definition
|
122
|
-
* ------------------------------------------------------------------------
|
123
|
-
*/
|
124
|
-
|
125
|
-
};
|
77
|
+
var EVENT_HIDE = "hide" + EVENT_KEY;
|
78
|
+
var EVENT_HIDE_PREVENTED = "hidePrevented" + EVENT_KEY;
|
79
|
+
var EVENT_HIDDEN = "hidden" + EVENT_KEY;
|
80
|
+
var EVENT_SHOW = "show" + EVENT_KEY;
|
81
|
+
var EVENT_SHOWN = "shown" + EVENT_KEY;
|
82
|
+
var EVENT_FOCUSIN = "focusin" + EVENT_KEY;
|
83
|
+
var EVENT_RESIZE = "resize" + EVENT_KEY;
|
84
|
+
var EVENT_CLICK_DISMISS = "click.dismiss" + EVENT_KEY;
|
85
|
+
var EVENT_KEYDOWN_DISMISS = "keydown.dismiss" + EVENT_KEY;
|
86
|
+
var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY;
|
87
|
+
var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY;
|
88
|
+
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
89
|
+
var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
|
90
|
+
var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
|
91
|
+
var CLASS_NAME_BACKDROP = 'modal-backdrop';
|
92
|
+
var CLASS_NAME_OPEN = 'modal-open';
|
93
|
+
var CLASS_NAME_FADE = 'fade';
|
94
|
+
var CLASS_NAME_SHOW = 'show';
|
95
|
+
var CLASS_NAME_STATIC = 'modal-static';
|
96
|
+
var SELECTOR_DIALOG = '.modal-dialog';
|
97
|
+
var SELECTOR_MODAL_BODY = '.modal-body';
|
98
|
+
var SELECTOR_DATA_TOGGLE = '[data-toggle="modal"]';
|
99
|
+
var SELECTOR_DATA_DISMISS = '[data-dismiss="modal"]';
|
100
|
+
var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
|
101
|
+
var SELECTOR_STICKY_CONTENT = '.sticky-top';
|
102
|
+
/**
|
103
|
+
* ------------------------------------------------------------------------
|
104
|
+
* Class Definition
|
105
|
+
* ------------------------------------------------------------------------
|
106
|
+
*/
|
126
107
|
|
127
|
-
var Modal =
|
128
|
-
/*#__PURE__*/
|
129
|
-
function () {
|
108
|
+
var Modal = /*#__PURE__*/function () {
|
130
109
|
function Modal(element, config) {
|
131
110
|
this._config = this._getConfig(config);
|
132
111
|
this._element = element;
|
133
|
-
this._dialog = element.querySelector(
|
112
|
+
this._dialog = element.querySelector(SELECTOR_DIALOG);
|
134
113
|
this._backdrop = null;
|
135
114
|
this._isShown = false;
|
136
115
|
this._isBodyOverflowing = false;
|
@@ -154,14 +133,14 @@
|
|
154
133
|
return;
|
155
134
|
}
|
156
135
|
|
157
|
-
if ($(this._element).hasClass(
|
136
|
+
if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE)) {
|
158
137
|
this._isTransitioning = true;
|
159
138
|
}
|
160
139
|
|
161
|
-
var showEvent =
|
140
|
+
var showEvent = $__default['default'].Event(EVENT_SHOW, {
|
162
141
|
relatedTarget: relatedTarget
|
163
142
|
});
|
164
|
-
$(this._element).trigger(showEvent);
|
143
|
+
$__default['default'](this._element).trigger(showEvent);
|
165
144
|
|
166
145
|
if (this._isShown || showEvent.isDefaultPrevented()) {
|
167
146
|
return;
|
@@ -179,12 +158,12 @@
|
|
179
158
|
|
180
159
|
this._setResizeEvent();
|
181
160
|
|
182
|
-
$(this._element).on(
|
161
|
+
$__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
|
183
162
|
return _this.hide(event);
|
184
163
|
});
|
185
|
-
$(this._dialog).on(
|
186
|
-
$(_this._element).one(
|
187
|
-
if ($(event.target).is(_this._element)) {
|
164
|
+
$__default['default'](this._dialog).on(EVENT_MOUSEDOWN_DISMISS, function () {
|
165
|
+
$__default['default'](_this._element).one(EVENT_MOUSEUP_DISMISS, function (event) {
|
166
|
+
if ($__default['default'](event.target).is(_this._element)) {
|
188
167
|
_this._ignoreBackdropClick = true;
|
189
168
|
}
|
190
169
|
});
|
@@ -206,15 +185,15 @@
|
|
206
185
|
return;
|
207
186
|
}
|
208
187
|
|
209
|
-
var hideEvent =
|
210
|
-
$(this._element).trigger(hideEvent);
|
188
|
+
var hideEvent = $__default['default'].Event(EVENT_HIDE);
|
189
|
+
$__default['default'](this._element).trigger(hideEvent);
|
211
190
|
|
212
191
|
if (!this._isShown || hideEvent.isDefaultPrevented()) {
|
213
192
|
return;
|
214
193
|
}
|
215
194
|
|
216
195
|
this._isShown = false;
|
217
|
-
var transition = $(this._element).hasClass(
|
196
|
+
var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE);
|
218
197
|
|
219
198
|
if (transition) {
|
220
199
|
this._isTransitioning = true;
|
@@ -224,14 +203,14 @@
|
|
224
203
|
|
225
204
|
this._setResizeEvent();
|
226
205
|
|
227
|
-
$(document).off(
|
228
|
-
$(this._element).removeClass(
|
229
|
-
$(this._element).off(
|
230
|
-
$(this._dialog).off(
|
206
|
+
$__default['default'](document).off(EVENT_FOCUSIN);
|
207
|
+
$__default['default'](this._element).removeClass(CLASS_NAME_SHOW);
|
208
|
+
$__default['default'](this._element).off(EVENT_CLICK_DISMISS);
|
209
|
+
$__default['default'](this._dialog).off(EVENT_MOUSEDOWN_DISMISS);
|
231
210
|
|
232
211
|
if (transition) {
|
233
|
-
var transitionDuration =
|
234
|
-
$(this._element).one(
|
212
|
+
var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this._element);
|
213
|
+
$__default['default'](this._element).one(Util__default['default'].TRANSITION_END, function (event) {
|
235
214
|
return _this2._hideModal(event);
|
236
215
|
}).emulateTransitionEnd(transitionDuration);
|
237
216
|
} else {
|
@@ -241,16 +220,16 @@
|
|
241
220
|
|
242
221
|
_proto.dispose = function dispose() {
|
243
222
|
[window, this._element, this._dialog].forEach(function (htmlElement) {
|
244
|
-
return $(htmlElement).off(EVENT_KEY);
|
223
|
+
return $__default['default'](htmlElement).off(EVENT_KEY);
|
245
224
|
});
|
246
225
|
/**
|
247
|
-
* `document` has 2 events `
|
226
|
+
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
|
248
227
|
* Do not move `document` in `htmlElements` array
|
249
|
-
* It will remove `
|
228
|
+
* It will remove `EVENT_CLICK_DATA_API` event that should remain
|
250
229
|
*/
|
251
230
|
|
252
|
-
$(document).off(
|
253
|
-
|
231
|
+
$__default['default'](document).off(EVENT_FOCUSIN);
|
232
|
+
$__default['default'].removeData(this._element, DATA_KEY);
|
254
233
|
this._config = null;
|
255
234
|
this._element = null;
|
256
235
|
this._dialog = null;
|
@@ -268,15 +247,49 @@
|
|
268
247
|
;
|
269
248
|
|
270
249
|
_proto._getConfig = function _getConfig(config) {
|
271
|
-
config =
|
272
|
-
|
250
|
+
config = _extends({}, Default, config);
|
251
|
+
Util__default['default'].typeCheckConfig(NAME, config, DefaultType);
|
273
252
|
return config;
|
274
253
|
};
|
275
254
|
|
276
|
-
_proto.
|
255
|
+
_proto._triggerBackdropTransition = function _triggerBackdropTransition() {
|
277
256
|
var _this3 = this;
|
278
257
|
|
279
|
-
var
|
258
|
+
var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED);
|
259
|
+
$__default['default'](this._element).trigger(hideEventPrevented);
|
260
|
+
|
261
|
+
if (hideEventPrevented.isDefaultPrevented()) {
|
262
|
+
return;
|
263
|
+
}
|
264
|
+
|
265
|
+
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
|
266
|
+
|
267
|
+
if (!isModalOverflowing) {
|
268
|
+
this._element.style.overflowY = 'hidden';
|
269
|
+
}
|
270
|
+
|
271
|
+
this._element.classList.add(CLASS_NAME_STATIC);
|
272
|
+
|
273
|
+
var modalTransitionDuration = Util__default['default'].getTransitionDurationFromElement(this._dialog);
|
274
|
+
$__default['default'](this._element).off(Util__default['default'].TRANSITION_END);
|
275
|
+
$__default['default'](this._element).one(Util__default['default'].TRANSITION_END, function () {
|
276
|
+
_this3._element.classList.remove(CLASS_NAME_STATIC);
|
277
|
+
|
278
|
+
if (!isModalOverflowing) {
|
279
|
+
$__default['default'](_this3._element).one(Util__default['default'].TRANSITION_END, function () {
|
280
|
+
_this3._element.style.overflowY = '';
|
281
|
+
}).emulateTransitionEnd(_this3._element, modalTransitionDuration);
|
282
|
+
}
|
283
|
+
}).emulateTransitionEnd(modalTransitionDuration);
|
284
|
+
|
285
|
+
this._element.focus();
|
286
|
+
};
|
287
|
+
|
288
|
+
_proto._showElement = function _showElement(relatedTarget) {
|
289
|
+
var _this4 = this;
|
290
|
+
|
291
|
+
var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE);
|
292
|
+
var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
|
280
293
|
|
281
294
|
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
282
295
|
// Don't move modal's DOM position
|
@@ -289,84 +302,88 @@
|
|
289
302
|
|
290
303
|
this._element.setAttribute('aria-modal', true);
|
291
304
|
|
292
|
-
|
293
|
-
|
305
|
+
this._element.setAttribute('role', 'dialog');
|
306
|
+
|
307
|
+
if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
|
308
|
+
modalBody.scrollTop = 0;
|
294
309
|
} else {
|
295
310
|
this._element.scrollTop = 0;
|
296
311
|
}
|
297
312
|
|
298
313
|
if (transition) {
|
299
|
-
|
314
|
+
Util__default['default'].reflow(this._element);
|
300
315
|
}
|
301
316
|
|
302
|
-
$(this._element).addClass(
|
317
|
+
$__default['default'](this._element).addClass(CLASS_NAME_SHOW);
|
303
318
|
|
304
319
|
if (this._config.focus) {
|
305
320
|
this._enforceFocus();
|
306
321
|
}
|
307
322
|
|
308
|
-
var shownEvent =
|
323
|
+
var shownEvent = $__default['default'].Event(EVENT_SHOWN, {
|
309
324
|
relatedTarget: relatedTarget
|
310
325
|
});
|
311
326
|
|
312
327
|
var transitionComplete = function transitionComplete() {
|
313
|
-
if (
|
314
|
-
|
328
|
+
if (_this4._config.focus) {
|
329
|
+
_this4._element.focus();
|
315
330
|
}
|
316
331
|
|
317
|
-
|
318
|
-
$(
|
332
|
+
_this4._isTransitioning = false;
|
333
|
+
$__default['default'](_this4._element).trigger(shownEvent);
|
319
334
|
};
|
320
335
|
|
321
336
|
if (transition) {
|
322
|
-
var transitionDuration =
|
323
|
-
$(this._dialog).one(
|
337
|
+
var transitionDuration = Util__default['default'].getTransitionDurationFromElement(this._dialog);
|
338
|
+
$__default['default'](this._dialog).one(Util__default['default'].TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
|
324
339
|
} else {
|
325
340
|
transitionComplete();
|
326
341
|
}
|
327
342
|
};
|
328
343
|
|
329
344
|
_proto._enforceFocus = function _enforceFocus() {
|
330
|
-
var
|
345
|
+
var _this5 = this;
|
331
346
|
|
332
|
-
$(document).off(
|
333
|
-
.on(
|
334
|
-
if (document !== event.target &&
|
335
|
-
|
347
|
+
$__default['default'](document).off(EVENT_FOCUSIN) // Guard against infinite focus loop
|
348
|
+
.on(EVENT_FOCUSIN, function (event) {
|
349
|
+
if (document !== event.target && _this5._element !== event.target && $__default['default'](_this5._element).has(event.target).length === 0) {
|
350
|
+
_this5._element.focus();
|
336
351
|
}
|
337
352
|
});
|
338
353
|
};
|
339
354
|
|
340
355
|
_proto._setEscapeEvent = function _setEscapeEvent() {
|
341
|
-
var
|
356
|
+
var _this6 = this;
|
342
357
|
|
343
|
-
if (this._isShown
|
344
|
-
$(this._element).on(
|
345
|
-
if (event.which === ESCAPE_KEYCODE) {
|
358
|
+
if (this._isShown) {
|
359
|
+
$__default['default'](this._element).on(EVENT_KEYDOWN_DISMISS, function (event) {
|
360
|
+
if (_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
|
346
361
|
event.preventDefault();
|
347
362
|
|
348
|
-
|
363
|
+
_this6.hide();
|
364
|
+
} else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
|
365
|
+
_this6._triggerBackdropTransition();
|
349
366
|
}
|
350
367
|
});
|
351
368
|
} else if (!this._isShown) {
|
352
|
-
$(this._element).off(
|
369
|
+
$__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS);
|
353
370
|
}
|
354
371
|
};
|
355
372
|
|
356
373
|
_proto._setResizeEvent = function _setResizeEvent() {
|
357
|
-
var
|
374
|
+
var _this7 = this;
|
358
375
|
|
359
376
|
if (this._isShown) {
|
360
|
-
$(window).on(
|
361
|
-
return
|
377
|
+
$__default['default'](window).on(EVENT_RESIZE, function (event) {
|
378
|
+
return _this7.handleUpdate(event);
|
362
379
|
});
|
363
380
|
} else {
|
364
|
-
$(window).off(
|
381
|
+
$__default['default'](window).off(EVENT_RESIZE);
|
365
382
|
}
|
366
383
|
};
|
367
384
|
|
368
385
|
_proto._hideModal = function _hideModal() {
|
369
|
-
var
|
386
|
+
var _this8 = this;
|
370
387
|
|
371
388
|
this._element.style.display = 'none';
|
372
389
|
|
@@ -374,43 +391,45 @@
|
|
374
391
|
|
375
392
|
this._element.removeAttribute('aria-modal');
|
376
393
|
|
394
|
+
this._element.removeAttribute('role');
|
395
|
+
|
377
396
|
this._isTransitioning = false;
|
378
397
|
|
379
398
|
this._showBackdrop(function () {
|
380
|
-
$(document.body).removeClass(
|
399
|
+
$__default['default'](document.body).removeClass(CLASS_NAME_OPEN);
|
381
400
|
|
382
|
-
|
401
|
+
_this8._resetAdjustments();
|
383
402
|
|
384
|
-
|
403
|
+
_this8._resetScrollbar();
|
385
404
|
|
386
|
-
$(
|
405
|
+
$__default['default'](_this8._element).trigger(EVENT_HIDDEN);
|
387
406
|
});
|
388
407
|
};
|
389
408
|
|
390
409
|
_proto._removeBackdrop = function _removeBackdrop() {
|
391
410
|
if (this._backdrop) {
|
392
|
-
$(this._backdrop).remove();
|
411
|
+
$__default['default'](this._backdrop).remove();
|
393
412
|
this._backdrop = null;
|
394
413
|
}
|
395
414
|
};
|
396
415
|
|
397
416
|
_proto._showBackdrop = function _showBackdrop(callback) {
|
398
|
-
var
|
417
|
+
var _this9 = this;
|
399
418
|
|
400
|
-
var animate = $(this._element).hasClass(
|
419
|
+
var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
|
401
420
|
|
402
421
|
if (this._isShown && this._config.backdrop) {
|
403
422
|
this._backdrop = document.createElement('div');
|
404
|
-
this._backdrop.className =
|
423
|
+
this._backdrop.className = CLASS_NAME_BACKDROP;
|
405
424
|
|
406
425
|
if (animate) {
|
407
426
|
this._backdrop.classList.add(animate);
|
408
427
|
}
|
409
428
|
|
410
|
-
$(this._backdrop).appendTo(document.body);
|
411
|
-
$(this._element).on(
|
412
|
-
if (
|
413
|
-
|
429
|
+
$__default['default'](this._backdrop).appendTo(document.body);
|
430
|
+
$__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) {
|
431
|
+
if (_this9._ignoreBackdropClick) {
|
432
|
+
_this9._ignoreBackdropClick = false;
|
414
433
|
return;
|
415
434
|
}
|
416
435
|
|
@@ -418,18 +437,18 @@
|
|
418
437
|
return;
|
419
438
|
}
|
420
439
|
|
421
|
-
if (
|
422
|
-
|
440
|
+
if (_this9._config.backdrop === 'static') {
|
441
|
+
_this9._triggerBackdropTransition();
|
423
442
|
} else {
|
424
|
-
|
443
|
+
_this9.hide();
|
425
444
|
}
|
426
445
|
});
|
427
446
|
|
428
447
|
if (animate) {
|
429
|
-
|
448
|
+
Util__default['default'].reflow(this._backdrop);
|
430
449
|
}
|
431
450
|
|
432
|
-
$(this._backdrop).addClass(
|
451
|
+
$__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW);
|
433
452
|
|
434
453
|
if (!callback) {
|
435
454
|
return;
|
@@ -440,23 +459,23 @@
|
|
440
459
|
return;
|
441
460
|
}
|
442
461
|
|
443
|
-
var backdropTransitionDuration =
|
444
|
-
$(this._backdrop).one(
|
462
|
+
var backdropTransitionDuration = Util__default['default'].getTransitionDurationFromElement(this._backdrop);
|
463
|
+
$__default['default'](this._backdrop).one(Util__default['default'].TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
|
445
464
|
} else if (!this._isShown && this._backdrop) {
|
446
|
-
$(this._backdrop).removeClass(
|
465
|
+
$__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW);
|
447
466
|
|
448
467
|
var callbackRemove = function callbackRemove() {
|
449
|
-
|
468
|
+
_this9._removeBackdrop();
|
450
469
|
|
451
470
|
if (callback) {
|
452
471
|
callback();
|
453
472
|
}
|
454
473
|
};
|
455
474
|
|
456
|
-
if ($(this._element).hasClass(
|
457
|
-
var _backdropTransitionDuration =
|
475
|
+
if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE)) {
|
476
|
+
var _backdropTransitionDuration = Util__default['default'].getTransitionDurationFromElement(this._backdrop);
|
458
477
|
|
459
|
-
$(this._backdrop).one(
|
478
|
+
$__default['default'](this._backdrop).one(Util__default['default'].TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
|
460
479
|
} else {
|
461
480
|
callbackRemove();
|
462
481
|
}
|
@@ -488,66 +507,66 @@
|
|
488
507
|
|
489
508
|
_proto._checkScrollbar = function _checkScrollbar() {
|
490
509
|
var rect = document.body.getBoundingClientRect();
|
491
|
-
this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
|
510
|
+
this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
|
492
511
|
this._scrollbarWidth = this._getScrollbarWidth();
|
493
512
|
};
|
494
513
|
|
495
514
|
_proto._setScrollbar = function _setScrollbar() {
|
496
|
-
var
|
515
|
+
var _this10 = this;
|
497
516
|
|
498
517
|
if (this._isBodyOverflowing) {
|
499
518
|
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
|
500
519
|
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
|
501
|
-
var fixedContent = [].slice.call(document.querySelectorAll(
|
502
|
-
var stickyContent = [].slice.call(document.querySelectorAll(
|
520
|
+
var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
|
521
|
+
var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
|
503
522
|
|
504
|
-
$(fixedContent).each(function (index, element) {
|
523
|
+
$__default['default'](fixedContent).each(function (index, element) {
|
505
524
|
var actualPadding = element.style.paddingRight;
|
506
|
-
var calculatedPadding = $(element).css('padding-right');
|
507
|
-
$(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) +
|
525
|
+
var calculatedPadding = $__default['default'](element).css('padding-right');
|
526
|
+
$__default['default'](element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px");
|
508
527
|
}); // Adjust sticky content margin
|
509
528
|
|
510
|
-
$(stickyContent).each(function (index, element) {
|
529
|
+
$__default['default'](stickyContent).each(function (index, element) {
|
511
530
|
var actualMargin = element.style.marginRight;
|
512
|
-
var calculatedMargin = $(element).css('margin-right');
|
513
|
-
$(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) -
|
531
|
+
var calculatedMargin = $__default['default'](element).css('margin-right');
|
532
|
+
$__default['default'](element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px");
|
514
533
|
}); // Adjust body padding
|
515
534
|
|
516
535
|
var actualPadding = document.body.style.paddingRight;
|
517
|
-
var calculatedPadding = $(document.body).css('padding-right');
|
518
|
-
$(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
536
|
+
var calculatedPadding = $__default['default'](document.body).css('padding-right');
|
537
|
+
$__default['default'](document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
|
519
538
|
}
|
520
539
|
|
521
|
-
$(document.body).addClass(
|
540
|
+
$__default['default'](document.body).addClass(CLASS_NAME_OPEN);
|
522
541
|
};
|
523
542
|
|
524
543
|
_proto._resetScrollbar = function _resetScrollbar() {
|
525
544
|
// Restore fixed content padding
|
526
|
-
var fixedContent = [].slice.call(document.querySelectorAll(
|
527
|
-
$(fixedContent).each(function (index, element) {
|
528
|
-
var padding = $(element).data('padding-right');
|
529
|
-
$(element).removeData('padding-right');
|
545
|
+
var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
|
546
|
+
$__default['default'](fixedContent).each(function (index, element) {
|
547
|
+
var padding = $__default['default'](element).data('padding-right');
|
548
|
+
$__default['default'](element).removeData('padding-right');
|
530
549
|
element.style.paddingRight = padding ? padding : '';
|
531
550
|
}); // Restore sticky content
|
532
551
|
|
533
|
-
var elements = [].slice.call(document.querySelectorAll("" +
|
534
|
-
$(elements).each(function (index, element) {
|
535
|
-
var margin = $(element).data('margin-right');
|
552
|
+
var elements = [].slice.call(document.querySelectorAll("" + SELECTOR_STICKY_CONTENT));
|
553
|
+
$__default['default'](elements).each(function (index, element) {
|
554
|
+
var margin = $__default['default'](element).data('margin-right');
|
536
555
|
|
537
556
|
if (typeof margin !== 'undefined') {
|
538
|
-
$(element).css('margin-right', margin).removeData('margin-right');
|
557
|
+
$__default['default'](element).css('margin-right', margin).removeData('margin-right');
|
539
558
|
}
|
540
559
|
}); // Restore body padding
|
541
560
|
|
542
|
-
var padding = $(document.body).data('padding-right');
|
543
|
-
$(document.body).removeData('padding-right');
|
561
|
+
var padding = $__default['default'](document.body).data('padding-right');
|
562
|
+
$__default['default'](document.body).removeData('padding-right');
|
544
563
|
document.body.style.paddingRight = padding ? padding : '';
|
545
564
|
};
|
546
565
|
|
547
566
|
_proto._getScrollbarWidth = function _getScrollbarWidth() {
|
548
567
|
// thx d.walsh
|
549
568
|
var scrollDiv = document.createElement('div');
|
550
|
-
scrollDiv.className =
|
569
|
+
scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
|
551
570
|
document.body.appendChild(scrollDiv);
|
552
571
|
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
|
553
572
|
document.body.removeChild(scrollDiv);
|
@@ -557,13 +576,13 @@
|
|
557
576
|
|
558
577
|
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
|
559
578
|
return this.each(function () {
|
560
|
-
var data = $(this).data(DATA_KEY);
|
579
|
+
var data = $__default['default'](this).data(DATA_KEY);
|
561
580
|
|
562
|
-
var _config =
|
581
|
+
var _config = _extends({}, Default, $__default['default'](this).data(), typeof config === 'object' && config ? config : {});
|
563
582
|
|
564
583
|
if (!data) {
|
565
584
|
data = new Modal(this, _config);
|
566
|
-
$(this).data(DATA_KEY, data);
|
585
|
+
$__default['default'](this).data(DATA_KEY, data);
|
567
586
|
}
|
568
587
|
|
569
588
|
if (typeof config === 'string') {
|
@@ -599,36 +618,36 @@
|
|
599
618
|
*/
|
600
619
|
|
601
620
|
|
602
|
-
$(document).on(
|
603
|
-
var
|
621
|
+
$__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
622
|
+
var _this11 = this;
|
604
623
|
|
605
624
|
var target;
|
606
|
-
var selector =
|
625
|
+
var selector = Util__default['default'].getSelectorFromElement(this);
|
607
626
|
|
608
627
|
if (selector) {
|
609
628
|
target = document.querySelector(selector);
|
610
629
|
}
|
611
630
|
|
612
|
-
var config = $(target).data(DATA_KEY) ? 'toggle' :
|
631
|
+
var config = $__default['default'](target).data(DATA_KEY) ? 'toggle' : _extends({}, $__default['default'](target).data(), $__default['default'](this).data());
|
613
632
|
|
614
633
|
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
615
634
|
event.preventDefault();
|
616
635
|
}
|
617
636
|
|
618
|
-
var $target = $(target).one(
|
637
|
+
var $target = $__default['default'](target).one(EVENT_SHOW, function (showEvent) {
|
619
638
|
if (showEvent.isDefaultPrevented()) {
|
620
639
|
// Only register focus restorer if modal will actually get shown
|
621
640
|
return;
|
622
641
|
}
|
623
642
|
|
624
|
-
$target.one(
|
625
|
-
if ($(
|
626
|
-
|
643
|
+
$target.one(EVENT_HIDDEN, function () {
|
644
|
+
if ($__default['default'](_this11).is(':visible')) {
|
645
|
+
_this11.focus();
|
627
646
|
}
|
628
647
|
});
|
629
648
|
});
|
630
649
|
|
631
|
-
Modal._jQueryInterface.call($(target), config, this);
|
650
|
+
Modal._jQueryInterface.call($__default['default'](target), config, this);
|
632
651
|
});
|
633
652
|
/**
|
634
653
|
* ------------------------------------------------------------------------
|
@@ -636,14 +655,14 @@
|
|
636
655
|
* ------------------------------------------------------------------------
|
637
656
|
*/
|
638
657
|
|
639
|
-
|
640
|
-
|
658
|
+
$__default['default'].fn[NAME] = Modal._jQueryInterface;
|
659
|
+
$__default['default'].fn[NAME].Constructor = Modal;
|
641
660
|
|
642
|
-
|
643
|
-
|
661
|
+
$__default['default'].fn[NAME].noConflict = function () {
|
662
|
+
$__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
|
644
663
|
return Modal._jQueryInterface;
|
645
664
|
};
|
646
665
|
|
647
666
|
return Modal;
|
648
667
|
|
649
|
-
}));
|
668
|
+
})));
|