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