bootstrap 4.4.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.
- checksums.yaml +4 -4
- data/.travis.yml +11 -1
- data/README.md +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +6 -6
- data/assets/javascripts/bootstrap.js +836 -925
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/javascripts/bootstrap/alert.js +35 -41
- data/assets/javascripts/bootstrap/button.js +69 -69
- data/assets/javascripts/bootstrap/carousel.js +154 -182
- data/assets/javascripts/bootstrap/collapse.js +91 -130
- data/assets/javascripts/bootstrap/dropdown.js +123 -170
- data/assets/javascripts/bootstrap/modal.js +181 -197
- data/assets/javascripts/bootstrap/popover.js +45 -80
- data/assets/javascripts/bootstrap/scrollspy.js +74 -117
- data/assets/javascripts/bootstrap/tab.js +65 -71
- data/assets/javascripts/bootstrap/toast.js +74 -105
- data/assets/javascripts/bootstrap/tooltip.js +129 -166
- data/assets/javascripts/bootstrap/util.js +24 -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/_breadcrumb.scss +1 -1
- data/assets/stylesheets/bootstrap/_buttons.scss +10 -7
- data/assets/stylesheets/bootstrap/_card.scss +25 -17
- data/assets/stylesheets/bootstrap/_carousel.scss +1 -1
- data/assets/stylesheets/bootstrap/_close.scss +0 -1
- data/assets/stylesheets/bootstrap/_custom-forms.scss +16 -11
- data/assets/stylesheets/bootstrap/_dropdown.scss +4 -3
- data/assets/stylesheets/bootstrap/_forms.scss +9 -0
- data/assets/stylesheets/bootstrap/_functions.scss +15 -5
- data/assets/stylesheets/bootstrap/_grid.scss +10 -6
- data/assets/stylesheets/bootstrap/_input-group.scss +22 -5
- data/assets/stylesheets/bootstrap/_list-group.scss +10 -14
- data/assets/stylesheets/bootstrap/_modal.scss +2 -1
- data/assets/stylesheets/bootstrap/_nav.scss +4 -4
- data/assets/stylesheets/bootstrap/_navbar.scss +10 -2
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -2
- data/assets/stylesheets/bootstrap/_progress.scss +2 -1
- data/assets/stylesheets/bootstrap/_reboot.scss +27 -25
- data/assets/stylesheets/bootstrap/_root.scss +0 -1
- data/assets/stylesheets/bootstrap/_spinners.scss +14 -4
- data/assets/stylesheets/bootstrap/_toasts.scss +4 -2
- data/assets/stylesheets/bootstrap/_type.scss +1 -1
- data/assets/stylesheets/bootstrap/_utilities.scss +2 -1
- data/assets/stylesheets/bootstrap/_variables.scss +20 -17
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +2 -1
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +27 -14
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +6 -6
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +11 -3
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +24 -15
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +8 -8
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +18 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +1 -1
- 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 +2 -2
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/network.rb +2 -2
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- metadata +6 -3
|
@@ -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));
|
|
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
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,53 +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
|
-
}
|
|
42
|
-
|
|
43
|
-
return obj;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
function ownKeys(object, enumerableOnly) {
|
|
47
|
-
var keys = Object.keys(object);
|
|
48
|
-
|
|
49
|
-
if (Object.getOwnPropertySymbols) {
|
|
50
|
-
var symbols = Object.getOwnPropertySymbols(object);
|
|
51
|
-
if (enumerableOnly) symbols = symbols.filter(function (sym) {
|
|
52
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
53
|
-
});
|
|
54
|
-
keys.push.apply(keys, symbols);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return keys;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function _objectSpread2(target) {
|
|
61
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
62
|
-
var source = arguments[i] != null ? arguments[i] : {};
|
|
33
|
+
function _extends() {
|
|
34
|
+
_extends = Object.assign || function (target) {
|
|
35
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
36
|
+
var source = arguments[i];
|
|
63
37
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
70
|
-
} else {
|
|
71
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
72
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
73
|
-
});
|
|
38
|
+
for (var key in source) {
|
|
39
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
40
|
+
target[key] = source[key];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
74
43
|
}
|
|
75
|
-
}
|
|
76
44
|
|
|
77
|
-
|
|
45
|
+
return target;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
return _extends.apply(this, arguments);
|
|
78
49
|
}
|
|
79
50
|
|
|
80
51
|
/**
|
|
@@ -84,11 +55,11 @@
|
|
|
84
55
|
*/
|
|
85
56
|
|
|
86
57
|
var NAME = 'modal';
|
|
87
|
-
var VERSION = '4.
|
|
58
|
+
var VERSION = '4.6.0';
|
|
88
59
|
var DATA_KEY = 'bs.modal';
|
|
89
60
|
var EVENT_KEY = "." + DATA_KEY;
|
|
90
61
|
var DATA_API_KEY = '.data-api';
|
|
91
|
-
var JQUERY_NO_CONFLICT =
|
|
62
|
+
var JQUERY_NO_CONFLICT = $__default['default'].fn[NAME];
|
|
92
63
|
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
|
93
64
|
|
|
94
65
|
var Default = {
|
|
@@ -103,50 +74,42 @@
|
|
|
103
74
|
focus: 'boolean',
|
|
104
75
|
show: 'boolean'
|
|
105
76
|
};
|
|
106
|
-
var
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
var
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
var
|
|
130
|
-
|
|
131
|
-
MODAL_BODY: '.modal-body',
|
|
132
|
-
DATA_TOGGLE: '[data-toggle="modal"]',
|
|
133
|
-
DATA_DISMISS: '[data-dismiss="modal"]',
|
|
134
|
-
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
|
|
135
|
-
STICKY_CONTENT: '.sticky-top'
|
|
136
|
-
};
|
|
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';
|
|
137
102
|
/**
|
|
138
103
|
* ------------------------------------------------------------------------
|
|
139
104
|
* Class Definition
|
|
140
105
|
* ------------------------------------------------------------------------
|
|
141
106
|
*/
|
|
142
107
|
|
|
143
|
-
var Modal =
|
|
144
|
-
/*#__PURE__*/
|
|
145
|
-
function () {
|
|
108
|
+
var Modal = /*#__PURE__*/function () {
|
|
146
109
|
function Modal(element, config) {
|
|
147
110
|
this._config = this._getConfig(config);
|
|
148
111
|
this._element = element;
|
|
149
|
-
this._dialog = element.querySelector(
|
|
112
|
+
this._dialog = element.querySelector(SELECTOR_DIALOG);
|
|
150
113
|
this._backdrop = null;
|
|
151
114
|
this._isShown = false;
|
|
152
115
|
this._isBodyOverflowing = false;
|
|
@@ -170,14 +133,14 @@
|
|
|
170
133
|
return;
|
|
171
134
|
}
|
|
172
135
|
|
|
173
|
-
if ($(this._element).hasClass(
|
|
136
|
+
if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE)) {
|
|
174
137
|
this._isTransitioning = true;
|
|
175
138
|
}
|
|
176
139
|
|
|
177
|
-
var showEvent =
|
|
140
|
+
var showEvent = $__default['default'].Event(EVENT_SHOW, {
|
|
178
141
|
relatedTarget: relatedTarget
|
|
179
142
|
});
|
|
180
|
-
$(this._element).trigger(showEvent);
|
|
143
|
+
$__default['default'](this._element).trigger(showEvent);
|
|
181
144
|
|
|
182
145
|
if (this._isShown || showEvent.isDefaultPrevented()) {
|
|
183
146
|
return;
|
|
@@ -195,12 +158,12 @@
|
|
|
195
158
|
|
|
196
159
|
this._setResizeEvent();
|
|
197
160
|
|
|
198
|
-
$(this._element).on(
|
|
161
|
+
$__default['default'](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
|
|
199
162
|
return _this.hide(event);
|
|
200
163
|
});
|
|
201
|
-
$(this._dialog).on(
|
|
202
|
-
$(_this._element).one(
|
|
203
|
-
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)) {
|
|
204
167
|
_this._ignoreBackdropClick = true;
|
|
205
168
|
}
|
|
206
169
|
});
|
|
@@ -222,15 +185,15 @@
|
|
|
222
185
|
return;
|
|
223
186
|
}
|
|
224
187
|
|
|
225
|
-
var hideEvent =
|
|
226
|
-
$(this._element).trigger(hideEvent);
|
|
188
|
+
var hideEvent = $__default['default'].Event(EVENT_HIDE);
|
|
189
|
+
$__default['default'](this._element).trigger(hideEvent);
|
|
227
190
|
|
|
228
191
|
if (!this._isShown || hideEvent.isDefaultPrevented()) {
|
|
229
192
|
return;
|
|
230
193
|
}
|
|
231
194
|
|
|
232
195
|
this._isShown = false;
|
|
233
|
-
var transition = $(this._element).hasClass(
|
|
196
|
+
var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE);
|
|
234
197
|
|
|
235
198
|
if (transition) {
|
|
236
199
|
this._isTransitioning = true;
|
|
@@ -240,14 +203,14 @@
|
|
|
240
203
|
|
|
241
204
|
this._setResizeEvent();
|
|
242
205
|
|
|
243
|
-
$(document).off(
|
|
244
|
-
$(this._element).removeClass(
|
|
245
|
-
$(this._element).off(
|
|
246
|
-
$(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);
|
|
247
210
|
|
|
248
211
|
if (transition) {
|
|
249
|
-
var transitionDuration =
|
|
250
|
-
$(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) {
|
|
251
214
|
return _this2._hideModal(event);
|
|
252
215
|
}).emulateTransitionEnd(transitionDuration);
|
|
253
216
|
} else {
|
|
@@ -257,16 +220,16 @@
|
|
|
257
220
|
|
|
258
221
|
_proto.dispose = function dispose() {
|
|
259
222
|
[window, this._element, this._dialog].forEach(function (htmlElement) {
|
|
260
|
-
return $(htmlElement).off(EVENT_KEY);
|
|
223
|
+
return $__default['default'](htmlElement).off(EVENT_KEY);
|
|
261
224
|
});
|
|
262
225
|
/**
|
|
263
|
-
* `document` has 2 events `
|
|
226
|
+
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
|
|
264
227
|
* Do not move `document` in `htmlElements` array
|
|
265
|
-
* It will remove `
|
|
228
|
+
* It will remove `EVENT_CLICK_DATA_API` event that should remain
|
|
266
229
|
*/
|
|
267
230
|
|
|
268
|
-
$(document).off(
|
|
269
|
-
|
|
231
|
+
$__default['default'](document).off(EVENT_FOCUSIN);
|
|
232
|
+
$__default['default'].removeData(this._element, DATA_KEY);
|
|
270
233
|
this._config = null;
|
|
271
234
|
this._element = null;
|
|
272
235
|
this._dialog = null;
|
|
@@ -284,40 +247,49 @@
|
|
|
284
247
|
;
|
|
285
248
|
|
|
286
249
|
_proto._getConfig = function _getConfig(config) {
|
|
287
|
-
config =
|
|
288
|
-
|
|
250
|
+
config = _extends({}, Default, config);
|
|
251
|
+
Util__default['default'].typeCheckConfig(NAME, config, DefaultType);
|
|
289
252
|
return config;
|
|
290
253
|
};
|
|
291
254
|
|
|
292
255
|
_proto._triggerBackdropTransition = function _triggerBackdropTransition() {
|
|
293
256
|
var _this3 = this;
|
|
294
257
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
$(this._element).trigger(hideEventPrevented);
|
|
298
|
-
|
|
299
|
-
if (hideEventPrevented.defaultPrevented) {
|
|
300
|
-
return;
|
|
301
|
-
}
|
|
258
|
+
var hideEventPrevented = $__default['default'].Event(EVENT_HIDE_PREVENTED);
|
|
259
|
+
$__default['default'](this._element).trigger(hideEventPrevented);
|
|
302
260
|
|
|
303
|
-
|
|
261
|
+
if (hideEventPrevented.isDefaultPrevented()) {
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
304
264
|
|
|
305
|
-
|
|
306
|
-
$(this._element).one(Util.TRANSITION_END, function () {
|
|
307
|
-
_this3._element.classList.remove(ClassName.STATIC);
|
|
308
|
-
}).emulateTransitionEnd(modalTransitionDuration);
|
|
265
|
+
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
|
|
309
266
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
this.hide();
|
|
267
|
+
if (!isModalOverflowing) {
|
|
268
|
+
this._element.style.overflowY = 'hidden';
|
|
313
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();
|
|
314
286
|
};
|
|
315
287
|
|
|
316
288
|
_proto._showElement = function _showElement(relatedTarget) {
|
|
317
289
|
var _this4 = this;
|
|
318
290
|
|
|
319
|
-
var transition = $(this._element).hasClass(
|
|
320
|
-
var modalBody = this._dialog ? this._dialog.querySelector(
|
|
291
|
+
var transition = $__default['default'](this._element).hasClass(CLASS_NAME_FADE);
|
|
292
|
+
var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
|
|
321
293
|
|
|
322
294
|
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
|
323
295
|
// Don't move modal's DOM position
|
|
@@ -330,23 +302,25 @@
|
|
|
330
302
|
|
|
331
303
|
this._element.setAttribute('aria-modal', true);
|
|
332
304
|
|
|
333
|
-
|
|
305
|
+
this._element.setAttribute('role', 'dialog');
|
|
306
|
+
|
|
307
|
+
if ($__default['default'](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
|
|
334
308
|
modalBody.scrollTop = 0;
|
|
335
309
|
} else {
|
|
336
310
|
this._element.scrollTop = 0;
|
|
337
311
|
}
|
|
338
312
|
|
|
339
313
|
if (transition) {
|
|
340
|
-
|
|
314
|
+
Util__default['default'].reflow(this._element);
|
|
341
315
|
}
|
|
342
316
|
|
|
343
|
-
$(this._element).addClass(
|
|
317
|
+
$__default['default'](this._element).addClass(CLASS_NAME_SHOW);
|
|
344
318
|
|
|
345
319
|
if (this._config.focus) {
|
|
346
320
|
this._enforceFocus();
|
|
347
321
|
}
|
|
348
322
|
|
|
349
|
-
var shownEvent =
|
|
323
|
+
var shownEvent = $__default['default'].Event(EVENT_SHOWN, {
|
|
350
324
|
relatedTarget: relatedTarget
|
|
351
325
|
});
|
|
352
326
|
|
|
@@ -356,12 +330,12 @@
|
|
|
356
330
|
}
|
|
357
331
|
|
|
358
332
|
_this4._isTransitioning = false;
|
|
359
|
-
$(_this4._element).trigger(shownEvent);
|
|
333
|
+
$__default['default'](_this4._element).trigger(shownEvent);
|
|
360
334
|
};
|
|
361
335
|
|
|
362
336
|
if (transition) {
|
|
363
|
-
var transitionDuration =
|
|
364
|
-
$(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);
|
|
365
339
|
} else {
|
|
366
340
|
transitionComplete();
|
|
367
341
|
}
|
|
@@ -370,9 +344,9 @@
|
|
|
370
344
|
_proto._enforceFocus = function _enforceFocus() {
|
|
371
345
|
var _this5 = this;
|
|
372
346
|
|
|
373
|
-
$(document).off(
|
|
374
|
-
.on(
|
|
375
|
-
if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {
|
|
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) {
|
|
376
350
|
_this5._element.focus();
|
|
377
351
|
}
|
|
378
352
|
});
|
|
@@ -381,14 +355,18 @@
|
|
|
381
355
|
_proto._setEscapeEvent = function _setEscapeEvent() {
|
|
382
356
|
var _this6 = this;
|
|
383
357
|
|
|
384
|
-
if (this._isShown
|
|
385
|
-
$(this._element).on(
|
|
386
|
-
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) {
|
|
361
|
+
event.preventDefault();
|
|
362
|
+
|
|
363
|
+
_this6.hide();
|
|
364
|
+
} else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
|
|
387
365
|
_this6._triggerBackdropTransition();
|
|
388
366
|
}
|
|
389
367
|
});
|
|
390
368
|
} else if (!this._isShown) {
|
|
391
|
-
$(this._element).off(
|
|
369
|
+
$__default['default'](this._element).off(EVENT_KEYDOWN_DISMISS);
|
|
392
370
|
}
|
|
393
371
|
};
|
|
394
372
|
|
|
@@ -396,11 +374,11 @@
|
|
|
396
374
|
var _this7 = this;
|
|
397
375
|
|
|
398
376
|
if (this._isShown) {
|
|
399
|
-
$(window).on(
|
|
377
|
+
$__default['default'](window).on(EVENT_RESIZE, function (event) {
|
|
400
378
|
return _this7.handleUpdate(event);
|
|
401
379
|
});
|
|
402
380
|
} else {
|
|
403
|
-
$(window).off(
|
|
381
|
+
$__default['default'](window).off(EVENT_RESIZE);
|
|
404
382
|
}
|
|
405
383
|
};
|
|
406
384
|
|
|
@@ -413,22 +391,24 @@
|
|
|
413
391
|
|
|
414
392
|
this._element.removeAttribute('aria-modal');
|
|
415
393
|
|
|
394
|
+
this._element.removeAttribute('role');
|
|
395
|
+
|
|
416
396
|
this._isTransitioning = false;
|
|
417
397
|
|
|
418
398
|
this._showBackdrop(function () {
|
|
419
|
-
$(document.body).removeClass(
|
|
399
|
+
$__default['default'](document.body).removeClass(CLASS_NAME_OPEN);
|
|
420
400
|
|
|
421
401
|
_this8._resetAdjustments();
|
|
422
402
|
|
|
423
403
|
_this8._resetScrollbar();
|
|
424
404
|
|
|
425
|
-
$(_this8._element).trigger(
|
|
405
|
+
$__default['default'](_this8._element).trigger(EVENT_HIDDEN);
|
|
426
406
|
});
|
|
427
407
|
};
|
|
428
408
|
|
|
429
409
|
_proto._removeBackdrop = function _removeBackdrop() {
|
|
430
410
|
if (this._backdrop) {
|
|
431
|
-
$(this._backdrop).remove();
|
|
411
|
+
$__default['default'](this._backdrop).remove();
|
|
432
412
|
this._backdrop = null;
|
|
433
413
|
}
|
|
434
414
|
};
|
|
@@ -436,18 +416,18 @@
|
|
|
436
416
|
_proto._showBackdrop = function _showBackdrop(callback) {
|
|
437
417
|
var _this9 = this;
|
|
438
418
|
|
|
439
|
-
var animate = $(this._element).hasClass(
|
|
419
|
+
var animate = $__default['default'](this._element).hasClass(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
|
|
440
420
|
|
|
441
421
|
if (this._isShown && this._config.backdrop) {
|
|
442
422
|
this._backdrop = document.createElement('div');
|
|
443
|
-
this._backdrop.className =
|
|
423
|
+
this._backdrop.className = CLASS_NAME_BACKDROP;
|
|
444
424
|
|
|
445
425
|
if (animate) {
|
|
446
426
|
this._backdrop.classList.add(animate);
|
|
447
427
|
}
|
|
448
428
|
|
|
449
|
-
$(this._backdrop).appendTo(document.body);
|
|
450
|
-
$(this._element).on(
|
|
429
|
+
$__default['default'](this._backdrop).appendTo(document.body);
|
|
430
|
+
$__default['default'](this._element).on(EVENT_CLICK_DISMISS, function (event) {
|
|
451
431
|
if (_this9._ignoreBackdropClick) {
|
|
452
432
|
_this9._ignoreBackdropClick = false;
|
|
453
433
|
return;
|
|
@@ -457,14 +437,18 @@
|
|
|
457
437
|
return;
|
|
458
438
|
}
|
|
459
439
|
|
|
460
|
-
_this9.
|
|
440
|
+
if (_this9._config.backdrop === 'static') {
|
|
441
|
+
_this9._triggerBackdropTransition();
|
|
442
|
+
} else {
|
|
443
|
+
_this9.hide();
|
|
444
|
+
}
|
|
461
445
|
});
|
|
462
446
|
|
|
463
447
|
if (animate) {
|
|
464
|
-
|
|
448
|
+
Util__default['default'].reflow(this._backdrop);
|
|
465
449
|
}
|
|
466
450
|
|
|
467
|
-
$(this._backdrop).addClass(
|
|
451
|
+
$__default['default'](this._backdrop).addClass(CLASS_NAME_SHOW);
|
|
468
452
|
|
|
469
453
|
if (!callback) {
|
|
470
454
|
return;
|
|
@@ -475,10 +459,10 @@
|
|
|
475
459
|
return;
|
|
476
460
|
}
|
|
477
461
|
|
|
478
|
-
var backdropTransitionDuration =
|
|
479
|
-
$(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);
|
|
480
464
|
} else if (!this._isShown && this._backdrop) {
|
|
481
|
-
$(this._backdrop).removeClass(
|
|
465
|
+
$__default['default'](this._backdrop).removeClass(CLASS_NAME_SHOW);
|
|
482
466
|
|
|
483
467
|
var callbackRemove = function callbackRemove() {
|
|
484
468
|
_this9._removeBackdrop();
|
|
@@ -488,10 +472,10 @@
|
|
|
488
472
|
}
|
|
489
473
|
};
|
|
490
474
|
|
|
491
|
-
if ($(this._element).hasClass(
|
|
492
|
-
var _backdropTransitionDuration =
|
|
475
|
+
if ($__default['default'](this._element).hasClass(CLASS_NAME_FADE)) {
|
|
476
|
+
var _backdropTransitionDuration = Util__default['default'].getTransitionDurationFromElement(this._backdrop);
|
|
493
477
|
|
|
494
|
-
$(this._backdrop).one(
|
|
478
|
+
$__default['default'](this._backdrop).one(Util__default['default'].TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
|
|
495
479
|
} else {
|
|
496
480
|
callbackRemove();
|
|
497
481
|
}
|
|
@@ -523,7 +507,7 @@
|
|
|
523
507
|
|
|
524
508
|
_proto._checkScrollbar = function _checkScrollbar() {
|
|
525
509
|
var rect = document.body.getBoundingClientRect();
|
|
526
|
-
this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
|
|
510
|
+
this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
|
|
527
511
|
this._scrollbarWidth = this._getScrollbarWidth();
|
|
528
512
|
};
|
|
529
513
|
|
|
@@ -533,56 +517,56 @@
|
|
|
533
517
|
if (this._isBodyOverflowing) {
|
|
534
518
|
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
|
|
535
519
|
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
|
|
536
|
-
var fixedContent = [].slice.call(document.querySelectorAll(
|
|
537
|
-
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
|
|
538
522
|
|
|
539
|
-
$(fixedContent).each(function (index, element) {
|
|
523
|
+
$__default['default'](fixedContent).each(function (index, element) {
|
|
540
524
|
var actualPadding = element.style.paddingRight;
|
|
541
|
-
var calculatedPadding = $(element).css('padding-right');
|
|
542
|
-
$(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px");
|
|
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");
|
|
543
527
|
}); // Adjust sticky content margin
|
|
544
528
|
|
|
545
|
-
$(stickyContent).each(function (index, element) {
|
|
529
|
+
$__default['default'](stickyContent).each(function (index, element) {
|
|
546
530
|
var actualMargin = element.style.marginRight;
|
|
547
|
-
var calculatedMargin = $(element).css('margin-right');
|
|
548
|
-
$(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px");
|
|
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");
|
|
549
533
|
}); // Adjust body padding
|
|
550
534
|
|
|
551
535
|
var actualPadding = document.body.style.paddingRight;
|
|
552
|
-
var calculatedPadding = $(document.body).css('padding-right');
|
|
553
|
-
$(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");
|
|
554
538
|
}
|
|
555
539
|
|
|
556
|
-
$(document.body).addClass(
|
|
540
|
+
$__default['default'](document.body).addClass(CLASS_NAME_OPEN);
|
|
557
541
|
};
|
|
558
542
|
|
|
559
543
|
_proto._resetScrollbar = function _resetScrollbar() {
|
|
560
544
|
// Restore fixed content padding
|
|
561
|
-
var fixedContent = [].slice.call(document.querySelectorAll(
|
|
562
|
-
$(fixedContent).each(function (index, element) {
|
|
563
|
-
var padding = $(element).data('padding-right');
|
|
564
|
-
$(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');
|
|
565
549
|
element.style.paddingRight = padding ? padding : '';
|
|
566
550
|
}); // Restore sticky content
|
|
567
551
|
|
|
568
|
-
var elements = [].slice.call(document.querySelectorAll("" +
|
|
569
|
-
$(elements).each(function (index, element) {
|
|
570
|
-
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');
|
|
571
555
|
|
|
572
556
|
if (typeof margin !== 'undefined') {
|
|
573
|
-
$(element).css('margin-right', margin).removeData('margin-right');
|
|
557
|
+
$__default['default'](element).css('margin-right', margin).removeData('margin-right');
|
|
574
558
|
}
|
|
575
559
|
}); // Restore body padding
|
|
576
560
|
|
|
577
|
-
var padding = $(document.body).data('padding-right');
|
|
578
|
-
$(document.body).removeData('padding-right');
|
|
561
|
+
var padding = $__default['default'](document.body).data('padding-right');
|
|
562
|
+
$__default['default'](document.body).removeData('padding-right');
|
|
579
563
|
document.body.style.paddingRight = padding ? padding : '';
|
|
580
564
|
};
|
|
581
565
|
|
|
582
566
|
_proto._getScrollbarWidth = function _getScrollbarWidth() {
|
|
583
567
|
// thx d.walsh
|
|
584
568
|
var scrollDiv = document.createElement('div');
|
|
585
|
-
scrollDiv.className =
|
|
569
|
+
scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
|
|
586
570
|
document.body.appendChild(scrollDiv);
|
|
587
571
|
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
|
|
588
572
|
document.body.removeChild(scrollDiv);
|
|
@@ -592,13 +576,13 @@
|
|
|
592
576
|
|
|
593
577
|
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
|
|
594
578
|
return this.each(function () {
|
|
595
|
-
var data = $(this).data(DATA_KEY);
|
|
579
|
+
var data = $__default['default'](this).data(DATA_KEY);
|
|
596
580
|
|
|
597
|
-
var _config =
|
|
581
|
+
var _config = _extends({}, Default, $__default['default'](this).data(), typeof config === 'object' && config ? config : {});
|
|
598
582
|
|
|
599
583
|
if (!data) {
|
|
600
584
|
data = new Modal(this, _config);
|
|
601
|
-
$(this).data(DATA_KEY, data);
|
|
585
|
+
$__default['default'](this).data(DATA_KEY, data);
|
|
602
586
|
}
|
|
603
587
|
|
|
604
588
|
if (typeof config === 'string') {
|
|
@@ -634,36 +618,36 @@
|
|
|
634
618
|
*/
|
|
635
619
|
|
|
636
620
|
|
|
637
|
-
$(document).on(
|
|
621
|
+
$__default['default'](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
638
622
|
var _this11 = this;
|
|
639
623
|
|
|
640
624
|
var target;
|
|
641
|
-
var selector =
|
|
625
|
+
var selector = Util__default['default'].getSelectorFromElement(this);
|
|
642
626
|
|
|
643
627
|
if (selector) {
|
|
644
628
|
target = document.querySelector(selector);
|
|
645
629
|
}
|
|
646
630
|
|
|
647
|
-
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());
|
|
648
632
|
|
|
649
633
|
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
|
650
634
|
event.preventDefault();
|
|
651
635
|
}
|
|
652
636
|
|
|
653
|
-
var $target = $(target).one(
|
|
637
|
+
var $target = $__default['default'](target).one(EVENT_SHOW, function (showEvent) {
|
|
654
638
|
if (showEvent.isDefaultPrevented()) {
|
|
655
639
|
// Only register focus restorer if modal will actually get shown
|
|
656
640
|
return;
|
|
657
641
|
}
|
|
658
642
|
|
|
659
|
-
$target.one(
|
|
660
|
-
if ($(_this11).is(':visible')) {
|
|
643
|
+
$target.one(EVENT_HIDDEN, function () {
|
|
644
|
+
if ($__default['default'](_this11).is(':visible')) {
|
|
661
645
|
_this11.focus();
|
|
662
646
|
}
|
|
663
647
|
});
|
|
664
648
|
});
|
|
665
649
|
|
|
666
|
-
Modal._jQueryInterface.call($(target), config, this);
|
|
650
|
+
Modal._jQueryInterface.call($__default['default'](target), config, this);
|
|
667
651
|
});
|
|
668
652
|
/**
|
|
669
653
|
* ------------------------------------------------------------------------
|
|
@@ -671,11 +655,11 @@
|
|
|
671
655
|
* ------------------------------------------------------------------------
|
|
672
656
|
*/
|
|
673
657
|
|
|
674
|
-
|
|
675
|
-
|
|
658
|
+
$__default['default'].fn[NAME] = Modal._jQueryInterface;
|
|
659
|
+
$__default['default'].fn[NAME].Constructor = Modal;
|
|
676
660
|
|
|
677
|
-
|
|
678
|
-
|
|
661
|
+
$__default['default'].fn[NAME].noConflict = function () {
|
|
662
|
+
$__default['default'].fn[NAME] = JQUERY_NO_CONFLICT;
|
|
679
663
|
return Modal._jQueryInterface;
|
|
680
664
|
};
|
|
681
665
|
|