bootstrap 4.5.0 → 5.0.0.alpha3
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 +1 -1
- data/README.md +5 -2
- data/assets/javascripts/bootstrap-sprockets.js +12 -9
- data/assets/javascripts/bootstrap.js +1852 -1266
- data/assets/javascripts/bootstrap.min.js +3 -3
- data/assets/javascripts/bootstrap/alert.js +149 -69
- data/assets/javascripts/bootstrap/button.js +71 -141
- data/assets/javascripts/bootstrap/carousel.js +291 -192
- data/assets/javascripts/bootstrap/collapse.js +285 -161
- data/assets/javascripts/bootstrap/dom/data.js +81 -0
- data/assets/javascripts/bootstrap/dom/event-handler.js +307 -0
- data/assets/javascripts/bootstrap/dom/manipulator.js +85 -0
- data/assets/javascripts/bootstrap/dom/selector-engine.js +98 -0
- data/assets/javascripts/bootstrap/dropdown.js +240 -218
- data/assets/javascripts/bootstrap/modal.js +342 -234
- data/assets/javascripts/bootstrap/popover.js +82 -106
- data/assets/javascripts/bootstrap/scrollspy.js +154 -114
- data/assets/javascripts/bootstrap/tab.js +166 -80
- data/assets/javascripts/bootstrap/toast.js +171 -113
- data/assets/javascripts/bootstrap/tooltip.js +351 -219
- data/assets/stylesheets/_bootstrap-grid.scss +52 -16
- data/assets/stylesheets/_bootstrap-reboot.scss +5 -2
- data/assets/stylesheets/_bootstrap.scss +16 -9
- data/assets/stylesheets/bootstrap/_accordion.scss +125 -0
- data/assets/stylesheets/bootstrap/_alert.scss +15 -9
- data/assets/stylesheets/bootstrap/_badge.scss +2 -27
- data/assets/stylesheets/bootstrap/_breadcrumb.scss +3 -19
- data/assets/stylesheets/bootstrap/_button-group.scss +16 -40
- data/assets/stylesheets/bootstrap/_buttons.scss +27 -60
- data/assets/stylesheets/bootstrap/_card.scss +30 -97
- data/assets/stylesheets/bootstrap/_carousel.scss +30 -15
- data/assets/stylesheets/bootstrap/_close.scss +30 -30
- data/assets/stylesheets/bootstrap/_containers.scss +41 -0
- data/assets/stylesheets/bootstrap/_dropdown.scss +52 -8
- data/assets/stylesheets/bootstrap/_forms.scss +9 -347
- data/assets/stylesheets/bootstrap/_functions.scss +88 -23
- data/assets/stylesheets/bootstrap/_grid.scss +3 -58
- data/assets/stylesheets/bootstrap/_helpers.scss +7 -0
- data/assets/stylesheets/bootstrap/_list-group.scss +14 -5
- data/assets/stylesheets/bootstrap/_mixins.scss +7 -13
- data/assets/stylesheets/bootstrap/_modal.scss +41 -47
- data/assets/stylesheets/bootstrap/_nav.scss +14 -8
- data/assets/stylesheets/bootstrap/_navbar.scss +43 -74
- data/assets/stylesheets/bootstrap/_pagination.scss +10 -20
- data/assets/stylesheets/bootstrap/_popover.scss +6 -6
- data/assets/stylesheets/bootstrap/_progress.scss +3 -5
- data/assets/stylesheets/bootstrap/_reboot.scss +310 -171
- data/assets/stylesheets/bootstrap/_root.scss +5 -9
- data/assets/stylesheets/bootstrap/_spinners.scss +13 -4
- data/assets/stylesheets/bootstrap/_tables.scss +80 -114
- data/assets/stylesheets/bootstrap/_toasts.scss +6 -2
- data/assets/stylesheets/bootstrap/_tooltip.scss +5 -5
- data/assets/stylesheets/bootstrap/_transitions.scss +0 -1
- data/assets/stylesheets/bootstrap/_type.scss +38 -59
- data/assets/stylesheets/bootstrap/_utilities.scss +545 -18
- data/assets/stylesheets/bootstrap/_variables.scss +653 -469
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +18 -0
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +61 -0
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +151 -0
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +223 -0
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +91 -0
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +68 -0
- data/assets/stylesheets/bootstrap/forms/_form-text.scss +11 -0
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +121 -0
- data/assets/stylesheets/bootstrap/forms/_labels.scss +36 -0
- data/assets/stylesheets/bootstrap/forms/_validation.scss +12 -0
- data/assets/stylesheets/bootstrap/{utilities → helpers}/_clearfix.scss +0 -0
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +12 -0
- data/assets/stylesheets/bootstrap/helpers/_position.scss +30 -0
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
- data/assets/stylesheets/bootstrap/helpers/_stretched-link.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_text-truncation.scss +7 -0
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_alert.scss +1 -5
- data/assets/stylesheets/bootstrap/mixins/_border-radius.scss +9 -9
- data/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +7 -9
- data/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +14 -10
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +65 -47
- data/assets/stylesheets/bootstrap/mixins/_caret.scss +4 -4
- data/assets/stylesheets/bootstrap/mixins/_clearfix.scss +2 -0
- data/assets/stylesheets/bootstrap/mixins/_container.scss +11 -0
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +17 -77
- data/assets/stylesheets/bootstrap/mixins/_gradients.scss +9 -11
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +84 -33
- data/assets/stylesheets/bootstrap/mixins/_image.scss +1 -21
- data/assets/stylesheets/bootstrap/mixins/_list-group.scss +3 -2
- data/assets/stylesheets/bootstrap/mixins/_lists.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_pagination.scss +15 -8
- data/assets/stylesheets/bootstrap/mixins/_reset-text.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_table-variants.scss +21 -0
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +2 -2
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +49 -0
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +28 -0
- data/assets/stylesheets/bootstrap/utilities/_api.scss +47 -0
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +234 -126
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +3 -3
- metadata +33 -41
- data/assets/javascripts/bootstrap/util.js +0 -192
- data/assets/stylesheets/bootstrap/_code.scss +0 -48
- data/assets/stylesheets/bootstrap/_custom-forms.scss +0 -522
- data/assets/stylesheets/bootstrap/_input-group.scss +0 -192
- data/assets/stylesheets/bootstrap/_jumbotron.scss +0 -17
- data/assets/stylesheets/bootstrap/_media.scss +0 -8
- data/assets/stylesheets/bootstrap/_print.scss +0 -141
- data/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -23
- data/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_float.scss +0 -14
- data/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -81
- data/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -37
- data/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -34
- data/assets/stylesheets/bootstrap/mixins/_size.scss +0 -7
- data/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -39
- data/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -17
- data/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -11
- data/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
- data/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -75
- data/assets/stylesheets/bootstrap/utilities/_display.scss +0 -26
- data/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -39
- data/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -51
- data/assets/stylesheets/bootstrap/utilities/_float.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_interactions.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_overflow.scss +0 -5
- data/assets/stylesheets/bootstrap/utilities/_position.scss +0 -32
- data/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
- data/assets/stylesheets/bootstrap/utilities/_shadows.scss +0 -6
- data/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -20
- data/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -73
- data/assets/stylesheets/bootstrap/utilities/_stretched-link.scss +0 -19
- data/assets/stylesheets/bootstrap/utilities/_text.scss +0 -71
- data/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -13
|
@@ -1,82 +1,157 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Bootstrap modal.js
|
|
2
|
+
* Bootstrap modal.js v5.0.0-alpha3 (https://getbootstrap.com/)
|
|
3
3
|
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
|
4
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/
|
|
4
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
5
5
|
*/
|
|
6
6
|
(function (global, factory) {
|
|
7
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('
|
|
8
|
-
typeof define === 'function' && define.amd ? define(['
|
|
9
|
-
(global = global || self, global.Modal = factory(global.
|
|
10
|
-
}(this, (function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
|
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) :
|
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
|
|
10
|
+
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
|
15
|
+
var EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
|
16
|
+
var Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
|
17
|
+
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* --------------------------------------------------------------------------
|
|
21
|
+
* Bootstrap (v5.0.0-alpha3): util/index.js
|
|
22
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
23
|
+
* --------------------------------------------------------------------------
|
|
24
|
+
*/
|
|
25
|
+
var MILLISECONDS_MULTIPLIER = 1000;
|
|
26
|
+
var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
|
27
|
+
|
|
28
|
+
var toType = function toType(obj) {
|
|
29
|
+
if (obj === null || obj === undefined) {
|
|
30
|
+
return "" + obj;
|
|
22
31
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
Object.defineProperty(obj, key, {
|
|
34
|
-
value: value,
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true
|
|
38
|
-
});
|
|
39
|
-
} else {
|
|
40
|
-
obj[key] = value;
|
|
32
|
+
|
|
33
|
+
return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var getSelector = function getSelector(element) {
|
|
37
|
+
var selector = element.getAttribute('data-target');
|
|
38
|
+
|
|
39
|
+
if (!selector || selector === '#') {
|
|
40
|
+
var hrefAttr = element.getAttribute('href');
|
|
41
|
+
selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : null;
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
return
|
|
44
|
-
}
|
|
44
|
+
return selector;
|
|
45
|
+
};
|
|
45
46
|
|
|
46
|
-
function
|
|
47
|
-
var
|
|
47
|
+
var getElementFromSelector = function getElementFromSelector(element) {
|
|
48
|
+
var selector = getSelector(element);
|
|
49
|
+
return selector ? document.querySelector(selector) : null;
|
|
50
|
+
};
|
|
48
51
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
|
|
53
|
+
if (!element) {
|
|
54
|
+
return 0;
|
|
55
|
+
} // Get transition-duration of the element
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
var _window$getComputedSt = window.getComputedStyle(element),
|
|
59
|
+
transitionDuration = _window$getComputedSt.transitionDuration,
|
|
60
|
+
transitionDelay = _window$getComputedSt.transitionDelay;
|
|
61
|
+
|
|
62
|
+
var floatTransitionDuration = parseFloat(transitionDuration);
|
|
63
|
+
var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found
|
|
64
|
+
|
|
65
|
+
if (!floatTransitionDuration && !floatTransitionDelay) {
|
|
66
|
+
return 0;
|
|
67
|
+
} // If multiple durations are defined, take the first
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
transitionDuration = transitionDuration.split(',')[0];
|
|
71
|
+
transitionDelay = transitionDelay.split(',')[0];
|
|
72
|
+
return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
var triggerTransitionEnd = function triggerTransitionEnd(element) {
|
|
76
|
+
element.dispatchEvent(new Event(TRANSITION_END));
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
var isElement = function isElement(obj) {
|
|
80
|
+
return (obj[0] || obj).nodeType;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
|
|
84
|
+
var called = false;
|
|
85
|
+
var durationPadding = 5;
|
|
86
|
+
var emulatedDuration = duration + durationPadding;
|
|
87
|
+
|
|
88
|
+
function listener() {
|
|
89
|
+
called = true;
|
|
90
|
+
element.removeEventListener(TRANSITION_END, listener);
|
|
55
91
|
}
|
|
56
92
|
|
|
57
|
-
|
|
58
|
-
|
|
93
|
+
element.addEventListener(TRANSITION_END, listener);
|
|
94
|
+
setTimeout(function () {
|
|
95
|
+
if (!called) {
|
|
96
|
+
triggerTransitionEnd(element);
|
|
97
|
+
}
|
|
98
|
+
}, emulatedDuration);
|
|
99
|
+
};
|
|
59
100
|
|
|
60
|
-
function
|
|
61
|
-
|
|
62
|
-
var
|
|
101
|
+
var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
|
|
102
|
+
Object.keys(configTypes).forEach(function (property) {
|
|
103
|
+
var expectedTypes = configTypes[property];
|
|
104
|
+
var value = config[property];
|
|
105
|
+
var valueType = value && isElement(value) ? 'element' : toType(value);
|
|
63
106
|
|
|
64
|
-
if (
|
|
65
|
-
|
|
66
|
-
_defineProperty(target, key, source[key]);
|
|
67
|
-
});
|
|
68
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
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
|
-
});
|
|
107
|
+
if (!new RegExp(expectedTypes).test(valueType)) {
|
|
108
|
+
throw new Error(componentName.toUpperCase() + ": " + ("Option \"" + property + "\" provided type \"" + valueType + "\" ") + ("but expected type \"" + expectedTypes + "\"."));
|
|
74
109
|
}
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
var isVisible = function isVisible(element) {
|
|
114
|
+
if (!element) {
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
if (element.style && element.parentNode && element.parentNode.style) {
|
|
119
|
+
var elementStyle = getComputedStyle(element);
|
|
120
|
+
var parentNodeStyle = getComputedStyle(element.parentNode);
|
|
121
|
+
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return false;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
var reflow = function reflow(element) {
|
|
128
|
+
return element.offsetHeight;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
var getjQuery = function getjQuery() {
|
|
132
|
+
var _window = window,
|
|
133
|
+
jQuery = _window.jQuery;
|
|
134
|
+
|
|
135
|
+
if (jQuery && !document.body.hasAttribute('data-no-jquery')) {
|
|
136
|
+
return jQuery;
|
|
75
137
|
}
|
|
76
138
|
|
|
77
|
-
return
|
|
78
|
-
}
|
|
139
|
+
return null;
|
|
140
|
+
};
|
|
79
141
|
|
|
142
|
+
var onDOMContentLoaded = function onDOMContentLoaded(callback) {
|
|
143
|
+
if (document.readyState === 'loading') {
|
|
144
|
+
document.addEventListener('DOMContentLoaded', callback);
|
|
145
|
+
} else {
|
|
146
|
+
callback();
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
151
|
+
|
|
152
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
153
|
+
|
|
154
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
|
80
155
|
/**
|
|
81
156
|
* ------------------------------------------------------------------------
|
|
82
157
|
* Constants
|
|
@@ -84,13 +159,11 @@
|
|
|
84
159
|
*/
|
|
85
160
|
|
|
86
161
|
var NAME = 'modal';
|
|
87
|
-
var VERSION = '
|
|
162
|
+
var VERSION = '5.0.0-alpha3';
|
|
88
163
|
var DATA_KEY = 'bs.modal';
|
|
89
164
|
var EVENT_KEY = "." + DATA_KEY;
|
|
90
165
|
var DATA_API_KEY = '.data-api';
|
|
91
|
-
var
|
|
92
|
-
var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
|
|
93
|
-
|
|
166
|
+
var ESCAPE_KEY = 'Escape';
|
|
94
167
|
var Default = {
|
|
95
168
|
backdrop: true,
|
|
96
169
|
keyboard: true,
|
|
@@ -115,7 +188,6 @@
|
|
|
115
188
|
var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss" + EVENT_KEY;
|
|
116
189
|
var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss" + EVENT_KEY;
|
|
117
190
|
var EVENT_CLICK_DATA_API = "click" + EVENT_KEY + DATA_API_KEY;
|
|
118
|
-
var CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable';
|
|
119
191
|
var CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure';
|
|
120
192
|
var CLASS_NAME_BACKDROP = 'modal-backdrop';
|
|
121
193
|
var CLASS_NAME_OPEN = 'modal-open';
|
|
@@ -138,13 +210,14 @@
|
|
|
138
210
|
function Modal(element, config) {
|
|
139
211
|
this._config = this._getConfig(config);
|
|
140
212
|
this._element = element;
|
|
141
|
-
this._dialog =
|
|
213
|
+
this._dialog = SelectorEngine__default['default'].findOne(SELECTOR_DIALOG, element);
|
|
142
214
|
this._backdrop = null;
|
|
143
215
|
this._isShown = false;
|
|
144
216
|
this._isBodyOverflowing = false;
|
|
145
217
|
this._ignoreBackdropClick = false;
|
|
146
218
|
this._isTransitioning = false;
|
|
147
219
|
this._scrollbarWidth = 0;
|
|
220
|
+
Data__default['default'].setData(element, DATA_KEY, this);
|
|
148
221
|
} // Getters
|
|
149
222
|
|
|
150
223
|
|
|
@@ -162,16 +235,15 @@
|
|
|
162
235
|
return;
|
|
163
236
|
}
|
|
164
237
|
|
|
165
|
-
if (
|
|
238
|
+
if (this._element.classList.contains(CLASS_NAME_FADE)) {
|
|
166
239
|
this._isTransitioning = true;
|
|
167
240
|
}
|
|
168
241
|
|
|
169
|
-
var showEvent =
|
|
242
|
+
var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, {
|
|
170
243
|
relatedTarget: relatedTarget
|
|
171
244
|
});
|
|
172
|
-
$(this._element).trigger(showEvent);
|
|
173
245
|
|
|
174
|
-
if (this._isShown || showEvent.
|
|
246
|
+
if (this._isShown || showEvent.defaultPrevented) {
|
|
175
247
|
return;
|
|
176
248
|
}
|
|
177
249
|
|
|
@@ -187,12 +259,12 @@
|
|
|
187
259
|
|
|
188
260
|
this._setResizeEvent();
|
|
189
261
|
|
|
190
|
-
|
|
262
|
+
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
|
|
191
263
|
return _this.hide(event);
|
|
192
264
|
});
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
if (
|
|
265
|
+
EventHandler__default['default'].on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {
|
|
266
|
+
EventHandler__default['default'].one(_this._element, EVENT_MOUSEUP_DISMISS, function (event) {
|
|
267
|
+
if (event.target === _this._element) {
|
|
196
268
|
_this._ignoreBackdropClick = true;
|
|
197
269
|
}
|
|
198
270
|
});
|
|
@@ -214,15 +286,15 @@
|
|
|
214
286
|
return;
|
|
215
287
|
}
|
|
216
288
|
|
|
217
|
-
var hideEvent =
|
|
218
|
-
$(this._element).trigger(hideEvent);
|
|
289
|
+
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
|
|
219
290
|
|
|
220
|
-
if (
|
|
291
|
+
if (hideEvent.defaultPrevented) {
|
|
221
292
|
return;
|
|
222
293
|
}
|
|
223
294
|
|
|
224
295
|
this._isShown = false;
|
|
225
|
-
|
|
296
|
+
|
|
297
|
+
var transition = this._element.classList.contains(CLASS_NAME_FADE);
|
|
226
298
|
|
|
227
299
|
if (transition) {
|
|
228
300
|
this._isTransitioning = true;
|
|
@@ -232,16 +304,19 @@
|
|
|
232
304
|
|
|
233
305
|
this._setResizeEvent();
|
|
234
306
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
307
|
+
EventHandler__default['default'].off(document, EVENT_FOCUSIN);
|
|
308
|
+
|
|
309
|
+
this._element.classList.remove(CLASS_NAME_SHOW);
|
|
310
|
+
|
|
311
|
+
EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS);
|
|
312
|
+
EventHandler__default['default'].off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
|
|
239
313
|
|
|
240
314
|
if (transition) {
|
|
241
|
-
var transitionDuration =
|
|
242
|
-
|
|
315
|
+
var transitionDuration = getTransitionDurationFromElement(this._element);
|
|
316
|
+
EventHandler__default['default'].one(this._element, TRANSITION_END, function (event) {
|
|
243
317
|
return _this2._hideModal(event);
|
|
244
|
-
})
|
|
318
|
+
});
|
|
319
|
+
emulateTransitionEnd(this._element, transitionDuration);
|
|
245
320
|
} else {
|
|
246
321
|
this._hideModal();
|
|
247
322
|
}
|
|
@@ -249,7 +324,7 @@
|
|
|
249
324
|
|
|
250
325
|
_proto.dispose = function dispose() {
|
|
251
326
|
[window, this._element, this._dialog].forEach(function (htmlElement) {
|
|
252
|
-
return
|
|
327
|
+
return EventHandler__default['default'].off(htmlElement, EVENT_KEY);
|
|
253
328
|
});
|
|
254
329
|
/**
|
|
255
330
|
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
|
|
@@ -257,8 +332,8 @@
|
|
|
257
332
|
* It will remove `EVENT_CLICK_DATA_API` event that should remain
|
|
258
333
|
*/
|
|
259
334
|
|
|
260
|
-
|
|
261
|
-
|
|
335
|
+
EventHandler__default['default'].off(document, EVENT_FOCUSIN);
|
|
336
|
+
Data__default['default'].removeData(this._element, DATA_KEY);
|
|
262
337
|
this._config = null;
|
|
263
338
|
this._element = null;
|
|
264
339
|
this._dialog = null;
|
|
@@ -276,40 +351,17 @@
|
|
|
276
351
|
;
|
|
277
352
|
|
|
278
353
|
_proto._getConfig = function _getConfig(config) {
|
|
279
|
-
config =
|
|
280
|
-
|
|
354
|
+
config = _extends({}, Default, config);
|
|
355
|
+
typeCheckConfig(NAME, config, DefaultType);
|
|
281
356
|
return config;
|
|
282
357
|
};
|
|
283
358
|
|
|
284
|
-
_proto.
|
|
359
|
+
_proto._showElement = function _showElement(relatedTarget) {
|
|
285
360
|
var _this3 = this;
|
|
286
361
|
|
|
287
|
-
|
|
288
|
-
var hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED);
|
|
289
|
-
$(this._element).trigger(hideEventPrevented);
|
|
290
|
-
|
|
291
|
-
if (hideEventPrevented.defaultPrevented) {
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
this._element.classList.add(CLASS_NAME_STATIC);
|
|
296
|
-
|
|
297
|
-
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
|
|
298
|
-
$(this._element).one(Util.TRANSITION_END, function () {
|
|
299
|
-
_this3._element.classList.remove(CLASS_NAME_STATIC);
|
|
300
|
-
}).emulateTransitionEnd(modalTransitionDuration);
|
|
301
|
-
|
|
302
|
-
this._element.focus();
|
|
303
|
-
} else {
|
|
304
|
-
this.hide();
|
|
305
|
-
}
|
|
306
|
-
};
|
|
307
|
-
|
|
308
|
-
_proto._showElement = function _showElement(relatedTarget) {
|
|
309
|
-
var _this4 = this;
|
|
362
|
+
var transition = this._element.classList.contains(CLASS_NAME_FADE);
|
|
310
363
|
|
|
311
|
-
var
|
|
312
|
-
var modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null;
|
|
364
|
+
var modalBody = SelectorEngine__default['default'].findOne(SELECTOR_MODAL_BODY, this._dialog);
|
|
313
365
|
|
|
314
366
|
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
|
315
367
|
// Don't move modal's DOM position
|
|
@@ -322,86 +374,88 @@
|
|
|
322
374
|
|
|
323
375
|
this._element.setAttribute('aria-modal', true);
|
|
324
376
|
|
|
325
|
-
|
|
377
|
+
this._element.setAttribute('role', 'dialog');
|
|
378
|
+
|
|
379
|
+
this._element.scrollTop = 0;
|
|
380
|
+
|
|
381
|
+
if (modalBody) {
|
|
326
382
|
modalBody.scrollTop = 0;
|
|
327
|
-
} else {
|
|
328
|
-
this._element.scrollTop = 0;
|
|
329
383
|
}
|
|
330
384
|
|
|
331
385
|
if (transition) {
|
|
332
|
-
|
|
386
|
+
reflow(this._element);
|
|
333
387
|
}
|
|
334
388
|
|
|
335
|
-
|
|
389
|
+
this._element.classList.add(CLASS_NAME_SHOW);
|
|
336
390
|
|
|
337
391
|
if (this._config.focus) {
|
|
338
392
|
this._enforceFocus();
|
|
339
393
|
}
|
|
340
394
|
|
|
341
|
-
var shownEvent = $.Event(EVENT_SHOWN, {
|
|
342
|
-
relatedTarget: relatedTarget
|
|
343
|
-
});
|
|
344
|
-
|
|
345
395
|
var transitionComplete = function transitionComplete() {
|
|
346
|
-
if (
|
|
347
|
-
|
|
396
|
+
if (_this3._config.focus) {
|
|
397
|
+
_this3._element.focus();
|
|
348
398
|
}
|
|
349
399
|
|
|
350
|
-
|
|
351
|
-
|
|
400
|
+
_this3._isTransitioning = false;
|
|
401
|
+
EventHandler__default['default'].trigger(_this3._element, EVENT_SHOWN, {
|
|
402
|
+
relatedTarget: relatedTarget
|
|
403
|
+
});
|
|
352
404
|
};
|
|
353
405
|
|
|
354
406
|
if (transition) {
|
|
355
|
-
var transitionDuration =
|
|
356
|
-
|
|
407
|
+
var transitionDuration = getTransitionDurationFromElement(this._dialog);
|
|
408
|
+
EventHandler__default['default'].one(this._dialog, TRANSITION_END, transitionComplete);
|
|
409
|
+
emulateTransitionEnd(this._dialog, transitionDuration);
|
|
357
410
|
} else {
|
|
358
411
|
transitionComplete();
|
|
359
412
|
}
|
|
360
413
|
};
|
|
361
414
|
|
|
362
415
|
_proto._enforceFocus = function _enforceFocus() {
|
|
363
|
-
var
|
|
416
|
+
var _this4 = this;
|
|
417
|
+
|
|
418
|
+
EventHandler__default['default'].off(document, EVENT_FOCUSIN); // guard against infinite focus loop
|
|
364
419
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
_this5._element.focus();
|
|
420
|
+
EventHandler__default['default'].on(document, EVENT_FOCUSIN, function (event) {
|
|
421
|
+
if (document !== event.target && _this4._element !== event.target && !_this4._element.contains(event.target)) {
|
|
422
|
+
_this4._element.focus();
|
|
369
423
|
}
|
|
370
424
|
});
|
|
371
425
|
};
|
|
372
426
|
|
|
373
427
|
_proto._setEscapeEvent = function _setEscapeEvent() {
|
|
374
|
-
var
|
|
428
|
+
var _this5 = this;
|
|
375
429
|
|
|
376
430
|
if (this._isShown) {
|
|
377
|
-
|
|
378
|
-
if (
|
|
431
|
+
EventHandler__default['default'].on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {
|
|
432
|
+
if (_this5._config.keyboard && event.key === ESCAPE_KEY) {
|
|
379
433
|
event.preventDefault();
|
|
380
434
|
|
|
381
|
-
|
|
382
|
-
} else if (!
|
|
383
|
-
|
|
435
|
+
_this5.hide();
|
|
436
|
+
} else if (!_this5._config.keyboard && event.key === ESCAPE_KEY) {
|
|
437
|
+
_this5._triggerBackdropTransition();
|
|
384
438
|
}
|
|
385
439
|
});
|
|
386
|
-
} else
|
|
387
|
-
|
|
440
|
+
} else {
|
|
441
|
+
EventHandler__default['default'].off(this._element, EVENT_KEYDOWN_DISMISS);
|
|
388
442
|
}
|
|
389
443
|
};
|
|
390
444
|
|
|
391
445
|
_proto._setResizeEvent = function _setResizeEvent() {
|
|
392
|
-
var
|
|
446
|
+
var _this6 = this;
|
|
393
447
|
|
|
394
448
|
if (this._isShown) {
|
|
395
|
-
|
|
396
|
-
return
|
|
449
|
+
EventHandler__default['default'].on(window, EVENT_RESIZE, function () {
|
|
450
|
+
return _this6._adjustDialog();
|
|
397
451
|
});
|
|
398
452
|
} else {
|
|
399
|
-
|
|
453
|
+
EventHandler__default['default'].off(window, EVENT_RESIZE);
|
|
400
454
|
}
|
|
401
455
|
};
|
|
402
456
|
|
|
403
457
|
_proto._hideModal = function _hideModal() {
|
|
404
|
-
var
|
|
458
|
+
var _this7 = this;
|
|
405
459
|
|
|
406
460
|
this._element.style.display = 'none';
|
|
407
461
|
|
|
@@ -409,30 +463,31 @@
|
|
|
409
463
|
|
|
410
464
|
this._element.removeAttribute('aria-modal');
|
|
411
465
|
|
|
466
|
+
this._element.removeAttribute('role');
|
|
467
|
+
|
|
412
468
|
this._isTransitioning = false;
|
|
413
469
|
|
|
414
470
|
this._showBackdrop(function () {
|
|
415
|
-
|
|
471
|
+
document.body.classList.remove(CLASS_NAME_OPEN);
|
|
416
472
|
|
|
417
|
-
|
|
473
|
+
_this7._resetAdjustments();
|
|
418
474
|
|
|
419
|
-
|
|
475
|
+
_this7._resetScrollbar();
|
|
420
476
|
|
|
421
|
-
|
|
477
|
+
EventHandler__default['default'].trigger(_this7._element, EVENT_HIDDEN);
|
|
422
478
|
});
|
|
423
479
|
};
|
|
424
480
|
|
|
425
481
|
_proto._removeBackdrop = function _removeBackdrop() {
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
}
|
|
482
|
+
this._backdrop.parentNode.removeChild(this._backdrop);
|
|
483
|
+
|
|
484
|
+
this._backdrop = null;
|
|
430
485
|
};
|
|
431
486
|
|
|
432
487
|
_proto._showBackdrop = function _showBackdrop(callback) {
|
|
433
|
-
var
|
|
488
|
+
var _this8 = this;
|
|
434
489
|
|
|
435
|
-
var animate =
|
|
490
|
+
var animate = this._element.classList.contains(CLASS_NAME_FADE) ? CLASS_NAME_FADE : '';
|
|
436
491
|
|
|
437
492
|
if (this._isShown && this._config.backdrop) {
|
|
438
493
|
this._backdrop = document.createElement('div');
|
|
@@ -442,10 +497,10 @@
|
|
|
442
497
|
this._backdrop.classList.add(animate);
|
|
443
498
|
}
|
|
444
499
|
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
if (
|
|
448
|
-
|
|
500
|
+
document.body.appendChild(this._backdrop);
|
|
501
|
+
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, function (event) {
|
|
502
|
+
if (_this8._ignoreBackdropClick) {
|
|
503
|
+
_this8._ignoreBackdropClick = false;
|
|
449
504
|
return;
|
|
450
505
|
}
|
|
451
506
|
|
|
@@ -453,50 +508,83 @@
|
|
|
453
508
|
return;
|
|
454
509
|
}
|
|
455
510
|
|
|
456
|
-
|
|
511
|
+
_this8._triggerBackdropTransition();
|
|
457
512
|
});
|
|
458
513
|
|
|
459
514
|
if (animate) {
|
|
460
|
-
|
|
515
|
+
reflow(this._backdrop);
|
|
461
516
|
}
|
|
462
517
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
if (!callback) {
|
|
466
|
-
return;
|
|
467
|
-
}
|
|
518
|
+
this._backdrop.classList.add(CLASS_NAME_SHOW);
|
|
468
519
|
|
|
469
520
|
if (!animate) {
|
|
470
521
|
callback();
|
|
471
522
|
return;
|
|
472
523
|
}
|
|
473
524
|
|
|
474
|
-
var backdropTransitionDuration =
|
|
475
|
-
|
|
525
|
+
var backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
|
|
526
|
+
EventHandler__default['default'].one(this._backdrop, TRANSITION_END, callback);
|
|
527
|
+
emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
|
|
476
528
|
} else if (!this._isShown && this._backdrop) {
|
|
477
|
-
|
|
529
|
+
this._backdrop.classList.remove(CLASS_NAME_SHOW);
|
|
478
530
|
|
|
479
531
|
var callbackRemove = function callbackRemove() {
|
|
480
|
-
|
|
532
|
+
_this8._removeBackdrop();
|
|
481
533
|
|
|
482
|
-
|
|
483
|
-
callback();
|
|
484
|
-
}
|
|
534
|
+
callback();
|
|
485
535
|
};
|
|
486
536
|
|
|
487
|
-
if (
|
|
488
|
-
var _backdropTransitionDuration =
|
|
537
|
+
if (this._element.classList.contains(CLASS_NAME_FADE)) {
|
|
538
|
+
var _backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
|
|
489
539
|
|
|
490
|
-
|
|
540
|
+
EventHandler__default['default'].one(this._backdrop, TRANSITION_END, callbackRemove);
|
|
541
|
+
emulateTransitionEnd(this._backdrop, _backdropTransitionDuration);
|
|
491
542
|
} else {
|
|
492
543
|
callbackRemove();
|
|
493
544
|
}
|
|
494
|
-
} else
|
|
545
|
+
} else {
|
|
495
546
|
callback();
|
|
496
547
|
}
|
|
548
|
+
};
|
|
549
|
+
|
|
550
|
+
_proto._triggerBackdropTransition = function _triggerBackdropTransition() {
|
|
551
|
+
var _this9 = this;
|
|
552
|
+
|
|
553
|
+
if (this._config.backdrop === 'static') {
|
|
554
|
+
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE_PREVENTED);
|
|
555
|
+
|
|
556
|
+
if (hideEvent.defaultPrevented) {
|
|
557
|
+
return;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
|
|
561
|
+
|
|
562
|
+
if (!isModalOverflowing) {
|
|
563
|
+
this._element.style.overflowY = 'hidden';
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
this._element.classList.add(CLASS_NAME_STATIC);
|
|
567
|
+
|
|
568
|
+
var modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
|
|
569
|
+
EventHandler__default['default'].off(this._element, TRANSITION_END);
|
|
570
|
+
EventHandler__default['default'].one(this._element, TRANSITION_END, function () {
|
|
571
|
+
_this9._element.classList.remove(CLASS_NAME_STATIC);
|
|
572
|
+
|
|
573
|
+
if (!isModalOverflowing) {
|
|
574
|
+
EventHandler__default['default'].one(_this9._element, TRANSITION_END, function () {
|
|
575
|
+
_this9._element.style.overflowY = '';
|
|
576
|
+
});
|
|
577
|
+
emulateTransitionEnd(_this9._element, modalTransitionDuration);
|
|
578
|
+
}
|
|
579
|
+
});
|
|
580
|
+
emulateTransitionEnd(this._element, modalTransitionDuration);
|
|
581
|
+
|
|
582
|
+
this._element.focus();
|
|
583
|
+
} else {
|
|
584
|
+
this.hide();
|
|
585
|
+
}
|
|
497
586
|
} // ----------------------------------------------------------------------
|
|
498
587
|
// the following methods are used to handle overflowing modals
|
|
499
|
-
// todo (fat): these should probably be refactored out of modal.js
|
|
500
588
|
// ----------------------------------------------------------------------
|
|
501
589
|
;
|
|
502
590
|
|
|
@@ -529,50 +617,58 @@
|
|
|
529
617
|
if (this._isBodyOverflowing) {
|
|
530
618
|
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
|
|
531
619
|
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
$(fixedContent).each(function (index, element) {
|
|
620
|
+
// Adjust fixed content padding
|
|
621
|
+
SelectorEngine__default['default'].find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
|
|
536
622
|
var actualPadding = element.style.paddingRight;
|
|
537
|
-
var calculatedPadding =
|
|
538
|
-
|
|
623
|
+
var calculatedPadding = window.getComputedStyle(element)['padding-right'];
|
|
624
|
+
Manipulator__default['default'].setDataAttribute(element, 'padding-right', actualPadding);
|
|
625
|
+
element.style.paddingRight = parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px";
|
|
539
626
|
}); // Adjust sticky content margin
|
|
540
627
|
|
|
541
|
-
|
|
628
|
+
SelectorEngine__default['default'].find(SELECTOR_STICKY_CONTENT).forEach(function (element) {
|
|
542
629
|
var actualMargin = element.style.marginRight;
|
|
543
|
-
var calculatedMargin =
|
|
544
|
-
|
|
630
|
+
var calculatedMargin = window.getComputedStyle(element)['margin-right'];
|
|
631
|
+
Manipulator__default['default'].setDataAttribute(element, 'margin-right', actualMargin);
|
|
632
|
+
element.style.marginRight = parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px";
|
|
545
633
|
}); // Adjust body padding
|
|
546
634
|
|
|
547
635
|
var actualPadding = document.body.style.paddingRight;
|
|
548
|
-
var calculatedPadding =
|
|
549
|
-
|
|
636
|
+
var calculatedPadding = window.getComputedStyle(document.body)['padding-right'];
|
|
637
|
+
Manipulator__default['default'].setDataAttribute(document.body, 'padding-right', actualPadding);
|
|
638
|
+
document.body.style.paddingRight = parseFloat(calculatedPadding) + this._scrollbarWidth + "px";
|
|
550
639
|
}
|
|
551
640
|
|
|
552
|
-
|
|
641
|
+
document.body.classList.add(CLASS_NAME_OPEN);
|
|
553
642
|
};
|
|
554
643
|
|
|
555
644
|
_proto._resetScrollbar = function _resetScrollbar() {
|
|
556
645
|
// Restore fixed content padding
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
var padding = $(element).data('padding-right');
|
|
560
|
-
$(element).removeData('padding-right');
|
|
561
|
-
element.style.paddingRight = padding ? padding : '';
|
|
562
|
-
}); // Restore sticky content
|
|
646
|
+
SelectorEngine__default['default'].find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
|
|
647
|
+
var padding = Manipulator__default['default'].getDataAttribute(element, 'padding-right');
|
|
563
648
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
649
|
+
if (typeof padding !== 'undefined') {
|
|
650
|
+
Manipulator__default['default'].removeDataAttribute(element, 'padding-right');
|
|
651
|
+
element.style.paddingRight = padding;
|
|
652
|
+
}
|
|
653
|
+
}); // Restore sticky content and navbar-toggler margin
|
|
654
|
+
|
|
655
|
+
SelectorEngine__default['default'].find("" + SELECTOR_STICKY_CONTENT).forEach(function (element) {
|
|
656
|
+
var margin = Manipulator__default['default'].getDataAttribute(element, 'margin-right');
|
|
567
657
|
|
|
568
658
|
if (typeof margin !== 'undefined') {
|
|
569
|
-
|
|
659
|
+
Manipulator__default['default'].removeDataAttribute(element, 'margin-right');
|
|
660
|
+
element.style.marginRight = margin;
|
|
570
661
|
}
|
|
571
662
|
}); // Restore body padding
|
|
572
663
|
|
|
573
|
-
var padding =
|
|
574
|
-
|
|
575
|
-
|
|
664
|
+
var padding = Manipulator__default['default'].getDataAttribute(document.body, 'padding-right');
|
|
665
|
+
|
|
666
|
+
if (typeof padding === 'undefined') {
|
|
667
|
+
document.body.style.paddingRight = '';
|
|
668
|
+
} else {
|
|
669
|
+
Manipulator__default['default'].removeDataAttribute(document.body, 'padding-right');
|
|
670
|
+
document.body.style.paddingRight = padding;
|
|
671
|
+
}
|
|
576
672
|
};
|
|
577
673
|
|
|
578
674
|
_proto._getScrollbarWidth = function _getScrollbarWidth() {
|
|
@@ -586,15 +682,14 @@
|
|
|
586
682
|
} // Static
|
|
587
683
|
;
|
|
588
684
|
|
|
589
|
-
Modal.
|
|
685
|
+
Modal.jQueryInterface = function jQueryInterface(config, relatedTarget) {
|
|
590
686
|
return this.each(function () {
|
|
591
|
-
var data =
|
|
687
|
+
var data = Data__default['default'].getData(this, DATA_KEY);
|
|
592
688
|
|
|
593
|
-
var _config =
|
|
689
|
+
var _config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(this), typeof config === 'object' && config ? config : {});
|
|
594
690
|
|
|
595
691
|
if (!data) {
|
|
596
692
|
data = new Modal(this, _config);
|
|
597
|
-
$(this).data(DATA_KEY, data);
|
|
598
693
|
}
|
|
599
694
|
|
|
600
695
|
if (typeof config === 'string') {
|
|
@@ -609,6 +704,10 @@
|
|
|
609
704
|
});
|
|
610
705
|
};
|
|
611
706
|
|
|
707
|
+
Modal.getInstance = function getInstance(element) {
|
|
708
|
+
return Data__default['default'].getData(element, DATA_KEY);
|
|
709
|
+
};
|
|
710
|
+
|
|
612
711
|
_createClass(Modal, null, [{
|
|
613
712
|
key: "VERSION",
|
|
614
713
|
get: function get() {
|
|
@@ -630,50 +729,59 @@
|
|
|
630
729
|
*/
|
|
631
730
|
|
|
632
731
|
|
|
633
|
-
|
|
732
|
+
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
|
634
733
|
var _this11 = this;
|
|
635
734
|
|
|
636
|
-
var target;
|
|
637
|
-
var selector = Util.getSelectorFromElement(this);
|
|
638
|
-
|
|
639
|
-
if (selector) {
|
|
640
|
-
target = document.querySelector(selector);
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
|
|
735
|
+
var target = getElementFromSelector(this);
|
|
644
736
|
|
|
645
737
|
if (this.tagName === 'A' || this.tagName === 'AREA') {
|
|
646
738
|
event.preventDefault();
|
|
647
739
|
}
|
|
648
740
|
|
|
649
|
-
|
|
650
|
-
if (showEvent.
|
|
651
|
-
//
|
|
741
|
+
EventHandler__default['default'].one(target, EVENT_SHOW, function (showEvent) {
|
|
742
|
+
if (showEvent.defaultPrevented) {
|
|
743
|
+
// only register focus restorer if modal will actually get shown
|
|
652
744
|
return;
|
|
653
745
|
}
|
|
654
746
|
|
|
655
|
-
|
|
656
|
-
if (
|
|
747
|
+
EventHandler__default['default'].one(target, EVENT_HIDDEN, function () {
|
|
748
|
+
if (isVisible(_this11)) {
|
|
657
749
|
_this11.focus();
|
|
658
750
|
}
|
|
659
751
|
});
|
|
660
752
|
});
|
|
753
|
+
var data = Data__default['default'].getData(target, DATA_KEY);
|
|
754
|
+
|
|
755
|
+
if (!data) {
|
|
756
|
+
var config = _extends({}, Manipulator__default['default'].getDataAttributes(target), Manipulator__default['default'].getDataAttributes(this));
|
|
661
757
|
|
|
662
|
-
|
|
758
|
+
data = new Modal(target, config);
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
data.show(this);
|
|
663
762
|
});
|
|
664
763
|
/**
|
|
665
764
|
* ------------------------------------------------------------------------
|
|
666
765
|
* jQuery
|
|
667
766
|
* ------------------------------------------------------------------------
|
|
767
|
+
* add .Modal to jQuery only if jQuery is present
|
|
668
768
|
*/
|
|
669
769
|
|
|
670
|
-
|
|
671
|
-
|
|
770
|
+
onDOMContentLoaded(function () {
|
|
771
|
+
var $ = getjQuery();
|
|
772
|
+
/* istanbul ignore if */
|
|
672
773
|
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
774
|
+
if ($) {
|
|
775
|
+
var JQUERY_NO_CONFLICT = $.fn[NAME];
|
|
776
|
+
$.fn[NAME] = Modal.jQueryInterface;
|
|
777
|
+
$.fn[NAME].Constructor = Modal;
|
|
778
|
+
|
|
779
|
+
$.fn[NAME].noConflict = function () {
|
|
780
|
+
$.fn[NAME] = JQUERY_NO_CONFLICT;
|
|
781
|
+
return Modal.jQueryInterface;
|
|
782
|
+
};
|
|
783
|
+
}
|
|
784
|
+
});
|
|
677
785
|
|
|
678
786
|
return Modal;
|
|
679
787
|
|