bootstrap 4.0.0.beta3 → 4.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.travis.yml +15 -1
- data/CHANGELOG.md +2 -2
- data/README.md +2 -2
- data/Rakefile +4 -2
- data/assets/javascripts/bootstrap/alert.js +79 -68
- data/assets/javascripts/bootstrap/button.js +140 -78
- data/assets/javascripts/bootstrap/carousel.js +294 -158
- data/assets/javascripts/bootstrap/collapse.js +157 -133
- data/assets/javascripts/bootstrap/dropdown.js +257 -167
- data/assets/javascripts/bootstrap/modal.js +285 -204
- data/assets/javascripts/bootstrap/popover.js +101 -60
- data/assets/javascripts/bootstrap/scrollspy.js +127 -106
- data/assets/javascripts/bootstrap/tab.js +113 -101
- data/assets/javascripts/bootstrap/toast.js +267 -0
- data/assets/javascripts/bootstrap/tooltip.js +406 -188
- data/assets/javascripts/bootstrap/util.js +106 -55
- data/assets/javascripts/bootstrap-sprockets.js +1 -0
- data/assets/javascripts/bootstrap.js +1946 -1482
- data/assets/javascripts/bootstrap.min.js +4 -4
- data/assets/stylesheets/_bootstrap-grid.scss +7 -12
- data/assets/stylesheets/_bootstrap-reboot.scss +4 -4
- data/assets/stylesheets/_bootstrap.scss +6 -4
- data/assets/stylesheets/bootstrap/_alert.scss +3 -2
- data/assets/stylesheets/bootstrap/_badge.scss +8 -1
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +10 -6
- data/assets/stylesheets/bootstrap/_button-group.scss +17 -20
- data/assets/stylesheets/bootstrap/_buttons.scss +23 -28
- data/assets/stylesheets/bootstrap/_card.scss +77 -61
- data/assets/stylesheets/bootstrap/_carousel.scss +72 -63
- data/assets/stylesheets/bootstrap/_close.scss +15 -9
- data/assets/stylesheets/bootstrap/_code.scss +6 -14
- data/assets/stylesheets/bootstrap/_custom-forms.scss +287 -43
- data/assets/stylesheets/bootstrap/_dropdown.scss +70 -9
- data/assets/stylesheets/bootstrap/_forms.scss +56 -42
- data/assets/stylesheets/bootstrap/_functions.scss +117 -13
- data/assets/stylesheets/bootstrap/_grid.scss +32 -11
- data/assets/stylesheets/bootstrap/_images.scss +4 -4
- data/assets/stylesheets/bootstrap/_input-group.scss +80 -25
- data/assets/stylesheets/bootstrap/_jumbotron.scss +2 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +63 -24
- data/assets/stylesheets/bootstrap/_mixins.scss +9 -4
- data/assets/stylesheets/bootstrap/_modal.scss +96 -24
- data/assets/stylesheets/bootstrap/_nav.scss +14 -7
- data/assets/stylesheets/bootstrap/_navbar.scss +66 -45
- data/assets/stylesheets/bootstrap/_pagination.scss +10 -8
- data/assets/stylesheets/bootstrap/_popover.scss +56 -69
- data/assets/stylesheets/bootstrap/_print.scss +41 -19
- data/assets/stylesheets/bootstrap/_progress.scss +20 -6
- data/assets/stylesheets/bootstrap/_reboot.scss +88 -109
- data/assets/stylesheets/bootstrap/_spinners.scss +65 -0
- data/assets/stylesheets/bootstrap/_tables.scss +19 -14
- data/assets/stylesheets/bootstrap/_toasts.scss +46 -0
- data/assets/stylesheets/bootstrap/_tooltip.scss +6 -6
- data/assets/stylesheets/bootstrap/_transitions.scss +10 -20
- data/assets/stylesheets/bootstrap/_type.scss +19 -19
- data/assets/stylesheets/bootstrap/_utilities.scss +4 -0
- data/assets/stylesheets/bootstrap/_variables.scss +492 -215
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +8 -3
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +51 -10
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +16 -1
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +11 -9
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +35 -26
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +13 -16
- data/assets/stylesheets/bootstrap/mixins/_deprecate.scss +10 -0
- data/assets/stylesheets/bootstrap/mixins/_float.scss +6 -3
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +102 -40
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +7 -7
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +36 -25
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +34 -17
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +27 -51
- data/assets/stylesheets/bootstrap/mixins/_image.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +10 -13
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +3 -3
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +5 -6
- data/assets/stylesheets/bootstrap/mixins/_size.scss +1 -0
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +11 -2
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +7 -4
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +3 -1
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +20 -3
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +1 -0
- data/assets/stylesheets/bootstrap/utilities/_background.scss +2 -2
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +23 -2
- data/assets/stylesheets/bootstrap/utilities/_display.scss +6 -36
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +7 -20
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_float.scss +5 -3
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +5 -0
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -4
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +6 -0
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +8 -0
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +23 -1
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +19 -0
- data/assets/stylesheets/bootstrap/utilities/_text.scss +28 -8
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +4 -2
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +228 -0
- data/bootstrap.gemspec +7 -4
- data/lib/bootstrap/engine.rb +3 -0
- data/lib/bootstrap/version.rb +4 -2
- data/lib/bootstrap.rb +10 -7
- data/tasks/updater/js.rb +18 -6
- data/tasks/updater/network.rb +8 -2
- data/test/dummy_rails/app/assets/config/manifest.js +3 -0
- data/test/dummy_rails/app/assets/stylesheets/.browserslistrc +1 -0
- data/test/gemfiles/rails_6_0.gemfile +7 -0
- data/test/support/dummy_rails_integration.rb +3 -1
- data/test/test_helper.rb +21 -15
- metadata +29 -16
- data/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
|
@@ -1,31 +1,92 @@
|
|
|
1
|
-
|
|
1
|
+
/*!
|
|
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
|
+
*/
|
|
6
|
+
(function (global, factory) {
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
|
|
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
|
+
|
|
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);
|
|
16
|
+
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for (var i = 0; i < props.length; i++) {
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
28
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
29
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
30
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
31
|
+
writable: false
|
|
32
|
+
});
|
|
33
|
+
return Constructor;
|
|
34
|
+
}
|
|
2
35
|
|
|
3
|
-
function
|
|
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];
|
|
40
|
+
|
|
41
|
+
for (var key in source) {
|
|
42
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
43
|
+
target[key] = source[key];
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
4
47
|
|
|
5
|
-
|
|
48
|
+
return target;
|
|
49
|
+
};
|
|
50
|
+
return _extends.apply(this, arguments);
|
|
51
|
+
}
|
|
6
52
|
|
|
7
|
-
/**
|
|
8
|
-
* --------------------------------------------------------------------------
|
|
9
|
-
* Bootstrap (v4.0.0-beta.3): modal.js
|
|
10
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
|
11
|
-
* --------------------------------------------------------------------------
|
|
12
|
-
*/
|
|
13
|
-
var Modal = function ($) {
|
|
14
53
|
/**
|
|
15
|
-
* ------------------------------------------------------------------------
|
|
16
54
|
* Constants
|
|
17
|
-
* ------------------------------------------------------------------------
|
|
18
55
|
*/
|
|
56
|
+
|
|
19
57
|
var NAME = 'modal';
|
|
20
|
-
var VERSION = '4.
|
|
58
|
+
var VERSION = '4.6.2';
|
|
21
59
|
var DATA_KEY = 'bs.modal';
|
|
22
60
|
var EVENT_KEY = "." + DATA_KEY;
|
|
23
61
|
var DATA_API_KEY = '.data-api';
|
|
24
|
-
var JQUERY_NO_CONFLICT =
|
|
25
|
-
var TRANSITION_DURATION = 300;
|
|
26
|
-
var BACKDROP_TRANSITION_DURATION = 150;
|
|
62
|
+
var JQUERY_NO_CONFLICT = $__default["default"].fn[NAME];
|
|
27
63
|
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
|
28
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';
|
|
29
90
|
var Default = {
|
|
30
91
|
backdrop: true,
|
|
31
92
|
keyboard: true,
|
|
@@ -38,60 +99,27 @@ var Modal = function ($) {
|
|
|
38
99
|
focus: 'boolean',
|
|
39
100
|
show: 'boolean'
|
|
40
101
|
};
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
SHOW: "show" + EVENT_KEY,
|
|
45
|
-
SHOWN: "shown" + EVENT_KEY,
|
|
46
|
-
FOCUSIN: "focusin" + EVENT_KEY,
|
|
47
|
-
RESIZE: "resize" + EVENT_KEY,
|
|
48
|
-
CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
|
|
49
|
-
KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
|
|
50
|
-
MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
|
|
51
|
-
MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
|
|
52
|
-
CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
|
|
53
|
-
};
|
|
54
|
-
var ClassName = {
|
|
55
|
-
SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
|
|
56
|
-
BACKDROP: 'modal-backdrop',
|
|
57
|
-
OPEN: 'modal-open',
|
|
58
|
-
FADE: 'fade',
|
|
59
|
-
SHOW: 'show'
|
|
60
|
-
};
|
|
61
|
-
var Selector = {
|
|
62
|
-
DIALOG: '.modal-dialog',
|
|
63
|
-
DATA_TOGGLE: '[data-toggle="modal"]',
|
|
64
|
-
DATA_DISMISS: '[data-dismiss="modal"]',
|
|
65
|
-
FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
|
|
66
|
-
STICKY_CONTENT: '.sticky-top',
|
|
67
|
-
NAVBAR_TOGGLER: '.navbar-toggler'
|
|
68
|
-
/**
|
|
69
|
-
* ------------------------------------------------------------------------
|
|
70
|
-
* Class Definition
|
|
71
|
-
* ------------------------------------------------------------------------
|
|
72
|
-
*/
|
|
73
|
-
|
|
74
|
-
};
|
|
102
|
+
/**
|
|
103
|
+
* Class definition
|
|
104
|
+
*/
|
|
75
105
|
|
|
76
|
-
var Modal =
|
|
77
|
-
/*#__PURE__*/
|
|
78
|
-
function () {
|
|
106
|
+
var Modal = /*#__PURE__*/function () {
|
|
79
107
|
function Modal(element, config) {
|
|
80
108
|
this._config = this._getConfig(config);
|
|
81
109
|
this._element = element;
|
|
82
|
-
this._dialog =
|
|
110
|
+
this._dialog = element.querySelector(SELECTOR_DIALOG);
|
|
83
111
|
this._backdrop = null;
|
|
84
112
|
this._isShown = false;
|
|
85
113
|
this._isBodyOverflowing = false;
|
|
86
114
|
this._ignoreBackdropClick = false;
|
|
87
|
-
this.
|
|
115
|
+
this._isTransitioning = false;
|
|
88
116
|
this._scrollbarWidth = 0;
|
|
89
|
-
} //
|
|
117
|
+
} // Getters
|
|
90
118
|
|
|
91
119
|
|
|
92
120
|
var _proto = Modal.prototype;
|
|
93
121
|
|
|
94
|
-
//
|
|
122
|
+
// Public
|
|
95
123
|
_proto.toggle = function toggle(relatedTarget) {
|
|
96
124
|
return this._isShown ? this.hide() : this.show(relatedTarget);
|
|
97
125
|
};
|
|
@@ -99,43 +127,41 @@ var Modal = function ($) {
|
|
|
99
127
|
_proto.show = function show(relatedTarget) {
|
|
100
128
|
var _this = this;
|
|
101
129
|
|
|
102
|
-
if (this.
|
|
130
|
+
if (this._isShown || this._isTransitioning) {
|
|
103
131
|
return;
|
|
104
132
|
}
|
|
105
133
|
|
|
106
|
-
|
|
107
|
-
this._isTransitioning = true;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
var showEvent = $.Event(Event.SHOW, {
|
|
134
|
+
var showEvent = $__default["default"].Event(EVENT_SHOW, {
|
|
111
135
|
relatedTarget: relatedTarget
|
|
112
136
|
});
|
|
113
|
-
$(this._element).trigger(showEvent);
|
|
137
|
+
$__default["default"](this._element).trigger(showEvent);
|
|
114
138
|
|
|
115
|
-
if (
|
|
139
|
+
if (showEvent.isDefaultPrevented()) {
|
|
116
140
|
return;
|
|
117
141
|
}
|
|
118
142
|
|
|
119
143
|
this._isShown = true;
|
|
120
144
|
|
|
145
|
+
if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE)) {
|
|
146
|
+
this._isTransitioning = true;
|
|
147
|
+
}
|
|
148
|
+
|
|
121
149
|
this._checkScrollbar();
|
|
122
150
|
|
|
123
151
|
this._setScrollbar();
|
|
124
152
|
|
|
125
153
|
this._adjustDialog();
|
|
126
154
|
|
|
127
|
-
$(document.body).addClass(ClassName.OPEN);
|
|
128
|
-
|
|
129
155
|
this._setEscapeEvent();
|
|
130
156
|
|
|
131
157
|
this._setResizeEvent();
|
|
132
158
|
|
|
133
|
-
$(this._element).on(
|
|
159
|
+
$__default["default"](this._element).on(EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
|
|
134
160
|
return _this.hide(event);
|
|
135
161
|
});
|
|
136
|
-
$(this._dialog).on(
|
|
137
|
-
$(_this._element).one(
|
|
138
|
-
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)) {
|
|
139
165
|
_this._ignoreBackdropClick = true;
|
|
140
166
|
}
|
|
141
167
|
});
|
|
@@ -153,19 +179,19 @@ var Modal = function ($) {
|
|
|
153
179
|
event.preventDefault();
|
|
154
180
|
}
|
|
155
181
|
|
|
156
|
-
if (this.
|
|
182
|
+
if (!this._isShown || this._isTransitioning) {
|
|
157
183
|
return;
|
|
158
184
|
}
|
|
159
185
|
|
|
160
|
-
var hideEvent =
|
|
161
|
-
$(this._element).trigger(hideEvent);
|
|
186
|
+
var hideEvent = $__default["default"].Event(EVENT_HIDE);
|
|
187
|
+
$__default["default"](this._element).trigger(hideEvent);
|
|
162
188
|
|
|
163
189
|
if (!this._isShown || hideEvent.isDefaultPrevented()) {
|
|
164
190
|
return;
|
|
165
191
|
}
|
|
166
192
|
|
|
167
193
|
this._isShown = false;
|
|
168
|
-
var transition =
|
|
194
|
+
var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE);
|
|
169
195
|
|
|
170
196
|
if (transition) {
|
|
171
197
|
this._isTransitioning = true;
|
|
@@ -175,23 +201,33 @@ var Modal = function ($) {
|
|
|
175
201
|
|
|
176
202
|
this._setResizeEvent();
|
|
177
203
|
|
|
178
|
-
$(document).off(
|
|
179
|
-
$(this._element).removeClass(
|
|
180
|
-
$(this._element).off(
|
|
181
|
-
$(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);
|
|
182
208
|
|
|
183
209
|
if (transition) {
|
|
184
|
-
|
|
210
|
+
var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._element);
|
|
211
|
+
$__default["default"](this._element).one(Util__default["default"].TRANSITION_END, function (event) {
|
|
185
212
|
return _this2._hideModal(event);
|
|
186
|
-
}).emulateTransitionEnd(
|
|
213
|
+
}).emulateTransitionEnd(transitionDuration);
|
|
187
214
|
} else {
|
|
188
215
|
this._hideModal();
|
|
189
216
|
}
|
|
190
217
|
};
|
|
191
218
|
|
|
192
219
|
_proto.dispose = function dispose() {
|
|
193
|
-
|
|
194
|
-
|
|
220
|
+
[window, this._element, this._dialog].forEach(function (htmlElement) {
|
|
221
|
+
return $__default["default"](htmlElement).off(EVENT_KEY);
|
|
222
|
+
});
|
|
223
|
+
/**
|
|
224
|
+
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
|
|
225
|
+
* Do not move `document` in `htmlElements` array
|
|
226
|
+
* It will remove `EVENT_CLICK_DATA_API` event that should remain
|
|
227
|
+
*/
|
|
228
|
+
|
|
229
|
+
$__default["default"](document).off(EVENT_FOCUSIN);
|
|
230
|
+
$__default["default"].removeData(this._element, DATA_KEY);
|
|
195
231
|
this._config = null;
|
|
196
232
|
this._element = null;
|
|
197
233
|
this._dialog = null;
|
|
@@ -199,27 +235,62 @@ var Modal = function ($) {
|
|
|
199
235
|
this._isShown = null;
|
|
200
236
|
this._isBodyOverflowing = null;
|
|
201
237
|
this._ignoreBackdropClick = null;
|
|
238
|
+
this._isTransitioning = null;
|
|
202
239
|
this._scrollbarWidth = null;
|
|
203
240
|
};
|
|
204
241
|
|
|
205
242
|
_proto.handleUpdate = function handleUpdate() {
|
|
206
243
|
this._adjustDialog();
|
|
207
|
-
}
|
|
208
|
-
|
|
244
|
+
} // Private
|
|
245
|
+
;
|
|
209
246
|
|
|
210
247
|
_proto._getConfig = function _getConfig(config) {
|
|
211
248
|
config = _extends({}, Default, config);
|
|
212
|
-
|
|
249
|
+
Util__default["default"].typeCheckConfig(NAME, config, DefaultType);
|
|
213
250
|
return config;
|
|
214
251
|
};
|
|
215
252
|
|
|
216
|
-
_proto.
|
|
253
|
+
_proto._triggerBackdropTransition = function _triggerBackdropTransition() {
|
|
217
254
|
var _this3 = this;
|
|
218
255
|
|
|
219
|
-
var
|
|
256
|
+
var hideEventPrevented = $__default["default"].Event(EVENT_HIDE_PREVENTED);
|
|
257
|
+
$__default["default"](this._element).trigger(hideEventPrevented);
|
|
258
|
+
|
|
259
|
+
if (hideEventPrevented.isDefaultPrevented()) {
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
|
|
264
|
+
|
|
265
|
+
if (!isModalOverflowing) {
|
|
266
|
+
this._element.style.overflowY = 'hidden';
|
|
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();
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
_proto._showElement = function _showElement(relatedTarget) {
|
|
287
|
+
var _this4 = this;
|
|
288
|
+
|
|
289
|
+
var transition = $__default["default"](this._element).hasClass(CLASS_NAME_FADE);
|
|
290
|
+
var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
|
|
220
291
|
|
|
221
292
|
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
|
222
|
-
//
|
|
293
|
+
// Don't move modal's DOM position
|
|
223
294
|
document.body.appendChild(this._element);
|
|
224
295
|
}
|
|
225
296
|
|
|
@@ -227,122 +298,136 @@ var Modal = function ($) {
|
|
|
227
298
|
|
|
228
299
|
this._element.removeAttribute('aria-hidden');
|
|
229
300
|
|
|
230
|
-
this._element.
|
|
301
|
+
this._element.setAttribute('aria-modal', true);
|
|
302
|
+
|
|
303
|
+
this._element.setAttribute('role', 'dialog');
|
|
304
|
+
|
|
305
|
+
if ($__default["default"](this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
|
|
306
|
+
modalBody.scrollTop = 0;
|
|
307
|
+
} else {
|
|
308
|
+
this._element.scrollTop = 0;
|
|
309
|
+
}
|
|
231
310
|
|
|
232
311
|
if (transition) {
|
|
233
|
-
|
|
312
|
+
Util__default["default"].reflow(this._element);
|
|
234
313
|
}
|
|
235
314
|
|
|
236
|
-
$(this._element).addClass(
|
|
315
|
+
$__default["default"](this._element).addClass(CLASS_NAME_SHOW);
|
|
237
316
|
|
|
238
317
|
if (this._config.focus) {
|
|
239
318
|
this._enforceFocus();
|
|
240
319
|
}
|
|
241
320
|
|
|
242
|
-
var shownEvent =
|
|
321
|
+
var shownEvent = $__default["default"].Event(EVENT_SHOWN, {
|
|
243
322
|
relatedTarget: relatedTarget
|
|
244
323
|
});
|
|
245
324
|
|
|
246
325
|
var transitionComplete = function transitionComplete() {
|
|
247
|
-
if (
|
|
248
|
-
|
|
326
|
+
if (_this4._config.focus) {
|
|
327
|
+
_this4._element.focus();
|
|
249
328
|
}
|
|
250
329
|
|
|
251
|
-
|
|
252
|
-
$(
|
|
330
|
+
_this4._isTransitioning = false;
|
|
331
|
+
$__default["default"](_this4._element).trigger(shownEvent);
|
|
253
332
|
};
|
|
254
333
|
|
|
255
334
|
if (transition) {
|
|
256
|
-
|
|
335
|
+
var transitionDuration = Util__default["default"].getTransitionDurationFromElement(this._dialog);
|
|
336
|
+
$__default["default"](this._dialog).one(Util__default["default"].TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
|
|
257
337
|
} else {
|
|
258
338
|
transitionComplete();
|
|
259
339
|
}
|
|
260
340
|
};
|
|
261
341
|
|
|
262
342
|
_proto._enforceFocus = function _enforceFocus() {
|
|
263
|
-
var
|
|
343
|
+
var _this5 = this;
|
|
264
344
|
|
|
265
|
-
$(document).off(
|
|
266
|
-
.on(
|
|
267
|
-
if (document !== event.target &&
|
|
268
|
-
|
|
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) {
|
|
348
|
+
_this5._element.focus();
|
|
269
349
|
}
|
|
270
350
|
});
|
|
271
351
|
};
|
|
272
352
|
|
|
273
353
|
_proto._setEscapeEvent = function _setEscapeEvent() {
|
|
274
|
-
var
|
|
354
|
+
var _this6 = this;
|
|
275
355
|
|
|
276
|
-
if (this._isShown
|
|
277
|
-
$(this._element).on(
|
|
278
|
-
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) {
|
|
279
359
|
event.preventDefault();
|
|
280
360
|
|
|
281
|
-
|
|
361
|
+
_this6.hide();
|
|
362
|
+
} else if (!_this6._config.keyboard && event.which === ESCAPE_KEYCODE) {
|
|
363
|
+
_this6._triggerBackdropTransition();
|
|
282
364
|
}
|
|
283
365
|
});
|
|
284
366
|
} else if (!this._isShown) {
|
|
285
|
-
$(this._element).off(
|
|
367
|
+
$__default["default"](this._element).off(EVENT_KEYDOWN_DISMISS);
|
|
286
368
|
}
|
|
287
369
|
};
|
|
288
370
|
|
|
289
371
|
_proto._setResizeEvent = function _setResizeEvent() {
|
|
290
|
-
var
|
|
372
|
+
var _this7 = this;
|
|
291
373
|
|
|
292
374
|
if (this._isShown) {
|
|
293
|
-
$(window).on(
|
|
294
|
-
return
|
|
375
|
+
$__default["default"](window).on(EVENT_RESIZE, function (event) {
|
|
376
|
+
return _this7.handleUpdate(event);
|
|
295
377
|
});
|
|
296
378
|
} else {
|
|
297
|
-
$(window).off(
|
|
379
|
+
$__default["default"](window).off(EVENT_RESIZE);
|
|
298
380
|
}
|
|
299
381
|
};
|
|
300
382
|
|
|
301
383
|
_proto._hideModal = function _hideModal() {
|
|
302
|
-
var
|
|
384
|
+
var _this8 = this;
|
|
303
385
|
|
|
304
386
|
this._element.style.display = 'none';
|
|
305
387
|
|
|
306
388
|
this._element.setAttribute('aria-hidden', true);
|
|
307
389
|
|
|
390
|
+
this._element.removeAttribute('aria-modal');
|
|
391
|
+
|
|
392
|
+
this._element.removeAttribute('role');
|
|
393
|
+
|
|
308
394
|
this._isTransitioning = false;
|
|
309
395
|
|
|
310
396
|
this._showBackdrop(function () {
|
|
311
|
-
$(document.body).removeClass(
|
|
397
|
+
$__default["default"](document.body).removeClass(CLASS_NAME_OPEN);
|
|
312
398
|
|
|
313
|
-
|
|
399
|
+
_this8._resetAdjustments();
|
|
314
400
|
|
|
315
|
-
|
|
401
|
+
_this8._resetScrollbar();
|
|
316
402
|
|
|
317
|
-
$(
|
|
403
|
+
$__default["default"](_this8._element).trigger(EVENT_HIDDEN);
|
|
318
404
|
});
|
|
319
405
|
};
|
|
320
406
|
|
|
321
407
|
_proto._removeBackdrop = function _removeBackdrop() {
|
|
322
408
|
if (this._backdrop) {
|
|
323
|
-
$(this._backdrop).remove();
|
|
409
|
+
$__default["default"](this._backdrop).remove();
|
|
324
410
|
this._backdrop = null;
|
|
325
411
|
}
|
|
326
412
|
};
|
|
327
413
|
|
|
328
414
|
_proto._showBackdrop = function _showBackdrop(callback) {
|
|
329
|
-
var
|
|
415
|
+
var _this9 = this;
|
|
330
416
|
|
|
331
|
-
var animate = $(this._element).hasClass(
|
|
417
|
+
var animate = $__default["default"](this._element).hasClass(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
|
|
332
418
|
|
|
333
419
|
if (this._isShown && this._config.backdrop) {
|
|
334
|
-
var doAnimate = Util.supportsTransitionEnd() && animate;
|
|
335
420
|
this._backdrop = document.createElement('div');
|
|
336
|
-
this._backdrop.className =
|
|
421
|
+
this._backdrop.className = CLASS_NAME_BACKDROP;
|
|
337
422
|
|
|
338
423
|
if (animate) {
|
|
339
|
-
|
|
424
|
+
this._backdrop.classList.add(animate);
|
|
340
425
|
}
|
|
341
426
|
|
|
342
|
-
$(this._backdrop).appendTo(document.body);
|
|
343
|
-
$(this._element).on(
|
|
344
|
-
if (
|
|
345
|
-
|
|
427
|
+
$__default["default"](this._backdrop).appendTo(document.body);
|
|
428
|
+
$__default["default"](this._element).on(EVENT_CLICK_DISMISS, function (event) {
|
|
429
|
+
if (_this9._ignoreBackdropClick) {
|
|
430
|
+
_this9._ignoreBackdropClick = false;
|
|
346
431
|
return;
|
|
347
432
|
}
|
|
348
433
|
|
|
@@ -350,53 +435,56 @@ var Modal = function ($) {
|
|
|
350
435
|
return;
|
|
351
436
|
}
|
|
352
437
|
|
|
353
|
-
if (
|
|
354
|
-
|
|
438
|
+
if (_this9._config.backdrop === 'static') {
|
|
439
|
+
_this9._triggerBackdropTransition();
|
|
355
440
|
} else {
|
|
356
|
-
|
|
441
|
+
_this9.hide();
|
|
357
442
|
}
|
|
358
443
|
});
|
|
359
444
|
|
|
360
|
-
if (
|
|
361
|
-
|
|
445
|
+
if (animate) {
|
|
446
|
+
Util__default["default"].reflow(this._backdrop);
|
|
362
447
|
}
|
|
363
448
|
|
|
364
|
-
$(this._backdrop).addClass(
|
|
449
|
+
$__default["default"](this._backdrop).addClass(CLASS_NAME_SHOW);
|
|
365
450
|
|
|
366
451
|
if (!callback) {
|
|
367
452
|
return;
|
|
368
453
|
}
|
|
369
454
|
|
|
370
|
-
if (!
|
|
455
|
+
if (!animate) {
|
|
371
456
|
callback();
|
|
372
457
|
return;
|
|
373
458
|
}
|
|
374
459
|
|
|
375
|
-
|
|
460
|
+
var backdropTransitionDuration = Util__default["default"].getTransitionDurationFromElement(this._backdrop);
|
|
461
|
+
$__default["default"](this._backdrop).one(Util__default["default"].TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
|
|
376
462
|
} else if (!this._isShown && this._backdrop) {
|
|
377
|
-
$(this._backdrop).removeClass(
|
|
463
|
+
$__default["default"](this._backdrop).removeClass(CLASS_NAME_SHOW);
|
|
378
464
|
|
|
379
465
|
var callbackRemove = function callbackRemove() {
|
|
380
|
-
|
|
466
|
+
_this9._removeBackdrop();
|
|
381
467
|
|
|
382
468
|
if (callback) {
|
|
383
469
|
callback();
|
|
384
470
|
}
|
|
385
471
|
};
|
|
386
472
|
|
|
387
|
-
if (
|
|
388
|
-
|
|
473
|
+
if ($__default["default"](this._element).hasClass(CLASS_NAME_FADE)) {
|
|
474
|
+
var _backdropTransitionDuration = Util__default["default"].getTransitionDurationFromElement(this._backdrop);
|
|
475
|
+
|
|
476
|
+
$__default["default"](this._backdrop).one(Util__default["default"].TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
|
|
389
477
|
} else {
|
|
390
478
|
callbackRemove();
|
|
391
479
|
}
|
|
392
480
|
} else if (callback) {
|
|
393
481
|
callback();
|
|
394
482
|
}
|
|
395
|
-
}
|
|
483
|
+
} // ----------------------------------------------------------------------
|
|
396
484
|
// the following methods are used to handle overflowing modals
|
|
397
485
|
// todo (fat): these should probably be refactored out of modal.js
|
|
398
486
|
// ----------------------------------------------------------------------
|
|
399
|
-
|
|
487
|
+
;
|
|
400
488
|
|
|
401
489
|
_proto._adjustDialog = function _adjustDialog() {
|
|
402
490
|
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
|
|
@@ -417,91 +505,87 @@ var Modal = function ($) {
|
|
|
417
505
|
|
|
418
506
|
_proto._checkScrollbar = function _checkScrollbar() {
|
|
419
507
|
var rect = document.body.getBoundingClientRect();
|
|
420
|
-
this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
|
|
508
|
+
this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth;
|
|
421
509
|
this._scrollbarWidth = this._getScrollbarWidth();
|
|
422
510
|
};
|
|
423
511
|
|
|
424
512
|
_proto._setScrollbar = function _setScrollbar() {
|
|
425
|
-
var
|
|
513
|
+
var _this10 = this;
|
|
426
514
|
|
|
427
515
|
if (this._isBodyOverflowing) {
|
|
428
516
|
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
|
|
429
517
|
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
var actualPadding = $(element)[0].style.paddingRight;
|
|
433
|
-
var calculatedPadding = $(element).css('padding-right');
|
|
434
|
-
$(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
|
|
435
|
-
}); // Adjust sticky content margin
|
|
518
|
+
var fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT));
|
|
519
|
+
var stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT)); // Adjust fixed content padding
|
|
436
520
|
|
|
437
|
-
$(
|
|
438
|
-
var
|
|
439
|
-
var
|
|
440
|
-
$(element).data('
|
|
441
|
-
}); // Adjust
|
|
521
|
+
$__default["default"](fixedContent).each(function (index, element) {
|
|
522
|
+
var actualPadding = element.style.paddingRight;
|
|
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");
|
|
525
|
+
}); // Adjust sticky content margin
|
|
442
526
|
|
|
443
|
-
$(
|
|
444
|
-
var actualMargin =
|
|
445
|
-
var calculatedMargin = $(element).css('margin-right');
|
|
446
|
-
$(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin)
|
|
527
|
+
$__default["default"](stickyContent).each(function (index, element) {
|
|
528
|
+
var actualMargin = element.style.marginRight;
|
|
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");
|
|
447
531
|
}); // Adjust body padding
|
|
448
532
|
|
|
449
533
|
var actualPadding = document.body.style.paddingRight;
|
|
450
|
-
var calculatedPadding = $(
|
|
451
|
-
$(
|
|
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");
|
|
452
536
|
}
|
|
537
|
+
|
|
538
|
+
$__default["default"](document.body).addClass(CLASS_NAME_OPEN);
|
|
453
539
|
};
|
|
454
540
|
|
|
455
541
|
_proto._resetScrollbar = function _resetScrollbar() {
|
|
456
542
|
// Restore fixed content padding
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
}); // Restore sticky content and navbar-toggler margin
|
|
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');
|
|
547
|
+
element.style.paddingRight = padding ? padding : '';
|
|
548
|
+
}); // Restore sticky content
|
|
464
549
|
|
|
465
|
-
|
|
466
|
-
|
|
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');
|
|
467
553
|
|
|
468
554
|
if (typeof margin !== 'undefined') {
|
|
469
|
-
$(element).css('margin-right', margin).removeData('margin-right');
|
|
555
|
+
$__default["default"](element).css('margin-right', margin).removeData('margin-right');
|
|
470
556
|
}
|
|
471
557
|
}); // Restore body padding
|
|
472
558
|
|
|
473
|
-
var padding = $(
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
$('body').css('padding-right', padding).removeData('padding-right');
|
|
477
|
-
}
|
|
559
|
+
var padding = $__default["default"](document.body).data('padding-right');
|
|
560
|
+
$__default["default"](document.body).removeData('padding-right');
|
|
561
|
+
document.body.style.paddingRight = padding ? padding : '';
|
|
478
562
|
};
|
|
479
563
|
|
|
480
564
|
_proto._getScrollbarWidth = function _getScrollbarWidth() {
|
|
481
565
|
// thx d.walsh
|
|
482
566
|
var scrollDiv = document.createElement('div');
|
|
483
|
-
scrollDiv.className =
|
|
567
|
+
scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER;
|
|
484
568
|
document.body.appendChild(scrollDiv);
|
|
485
569
|
var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
|
|
486
570
|
document.body.removeChild(scrollDiv);
|
|
487
571
|
return scrollbarWidth;
|
|
488
|
-
}
|
|
489
|
-
|
|
572
|
+
} // Static
|
|
573
|
+
;
|
|
490
574
|
|
|
491
575
|
Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
|
|
492
576
|
return this.each(function () {
|
|
493
|
-
var data = $(this).data(DATA_KEY);
|
|
577
|
+
var data = $__default["default"](this).data(DATA_KEY);
|
|
494
578
|
|
|
495
|
-
var _config = _extends({},
|
|
579
|
+
var _config = _extends({}, Default, $__default["default"](this).data(), typeof config === 'object' && config ? config : {});
|
|
496
580
|
|
|
497
581
|
if (!data) {
|
|
498
582
|
data = new Modal(this, _config);
|
|
499
|
-
$(this).data(DATA_KEY, data);
|
|
583
|
+
$__default["default"](this).data(DATA_KEY, data);
|
|
500
584
|
}
|
|
501
585
|
|
|
502
586
|
if (typeof config === 'string') {
|
|
503
587
|
if (typeof data[config] === 'undefined') {
|
|
504
|
-
throw new
|
|
588
|
+
throw new TypeError("No method named \"" + config + "\"");
|
|
505
589
|
}
|
|
506
590
|
|
|
507
591
|
data[config](relatedTarget);
|
|
@@ -526,56 +610,53 @@ var Modal = function ($) {
|
|
|
526
610
|
return Modal;
|
|
527
611
|
}();
|
|
528
612
|
/**
|
|
529
|
-
*
|
|
530
|
-
* Data Api implementation
|
|
531
|
-
* ------------------------------------------------------------------------
|
|
613
|
+
* Data API implementation
|
|
532
614
|
*/
|
|
533
615
|
|
|
534
616
|
|
|
535
|
-
$(document).on(
|
|
536
|
-
var
|
|
617
|
+
$__default["default"](document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
618
|
+
var _this11 = this;
|
|
537
619
|
|
|
538
620
|
var target;
|
|
539
|
-
var selector =
|
|
621
|
+
var selector = Util__default["default"].getSelectorFromElement(this);
|
|
540
622
|
|
|
541
623
|
if (selector) {
|
|
542
|
-
target =
|
|
624
|
+
target = document.querySelector(selector);
|
|
543
625
|
}
|
|
544
626
|
|
|
545
|
-
var config = $(target).data(DATA_KEY) ? 'toggle' : _extends({}, $(target).data(), $(this).data());
|
|
627
|
+
var config = $__default["default"](target).data(DATA_KEY) ? 'toggle' : _extends({}, $__default["default"](target).data(), $__default["default"](this).data());
|
|
546
628
|
|
|
547
629
|
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
|
548
630
|
event.preventDefault();
|
|
549
631
|
}
|
|
550
632
|
|
|
551
|
-
var $target = $(target).one(
|
|
633
|
+
var $target = $__default["default"](target).one(EVENT_SHOW, function (showEvent) {
|
|
552
634
|
if (showEvent.isDefaultPrevented()) {
|
|
553
|
-
//
|
|
635
|
+
// Only register focus restorer if modal will actually get shown
|
|
554
636
|
return;
|
|
555
637
|
}
|
|
556
638
|
|
|
557
|
-
$target.one(
|
|
558
|
-
if ($(
|
|
559
|
-
|
|
639
|
+
$target.one(EVENT_HIDDEN, function () {
|
|
640
|
+
if ($__default["default"](_this11).is(':visible')) {
|
|
641
|
+
_this11.focus();
|
|
560
642
|
}
|
|
561
643
|
});
|
|
562
644
|
});
|
|
563
645
|
|
|
564
|
-
Modal._jQueryInterface.call($(target), config, this);
|
|
646
|
+
Modal._jQueryInterface.call($__default["default"](target), config, this);
|
|
565
647
|
});
|
|
566
648
|
/**
|
|
567
|
-
* ------------------------------------------------------------------------
|
|
568
649
|
* jQuery
|
|
569
|
-
* ------------------------------------------------------------------------
|
|
570
650
|
*/
|
|
571
651
|
|
|
572
|
-
|
|
573
|
-
|
|
652
|
+
$__default["default"].fn[NAME] = Modal._jQueryInterface;
|
|
653
|
+
$__default["default"].fn[NAME].Constructor = Modal;
|
|
574
654
|
|
|
575
|
-
|
|
576
|
-
|
|
655
|
+
$__default["default"].fn[NAME].noConflict = function () {
|
|
656
|
+
$__default["default"].fn[NAME] = JQUERY_NO_CONFLICT;
|
|
577
657
|
return Modal._jQueryInterface;
|
|
578
658
|
};
|
|
579
659
|
|
|
580
660
|
return Modal;
|
|
581
|
-
|
|
661
|
+
|
|
662
|
+
}));
|