bootstrap 5.0.0.alpha1 → 5.0.0.alpha2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/README.md +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +6 -6
- data/assets/javascripts/bootstrap.js +142 -155
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +17 -19
- data/assets/javascripts/bootstrap/button.js +14 -12
- data/assets/javascripts/bootstrap/carousel.js +47 -49
- data/assets/javascripts/bootstrap/collapse.js +50 -55
- data/assets/javascripts/bootstrap/dom/data.js +11 -11
- data/assets/javascripts/bootstrap/dom/event-handler.js +9 -5
- data/assets/javascripts/bootstrap/dom/manipulator.js +5 -9
- data/assets/javascripts/bootstrap/dom/polyfill.js +3 -3
- data/assets/javascripts/bootstrap/dom/selector-engine.js +3 -3
- data/assets/javascripts/bootstrap/dropdown.js +46 -48
- data/assets/javascripts/bootstrap/modal.js +77 -65
- data/assets/javascripts/bootstrap/popover.js +21 -23
- data/assets/javascripts/bootstrap/scrollspy.js +33 -39
- data/assets/javascripts/bootstrap/tab.js +24 -22
- data/assets/javascripts/bootstrap/toast.js +32 -28
- data/assets/javascripts/bootstrap/tooltip.js +67 -66
- data/assets/stylesheets/_bootstrap-grid.scss +2 -2
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +1 -1
- data/assets/stylesheets/bootstrap/_alert.scss +3 -4
- data/assets/stylesheets/bootstrap/_card.scss +6 -4
- data/assets/stylesheets/bootstrap/_carousel.scss +17 -0
- data/assets/stylesheets/bootstrap/_close.scss +25 -20
- data/assets/stylesheets/bootstrap/_dropdown.scss +42 -1
- data/assets/stylesheets/bootstrap/_functions.scss +4 -1
- data/assets/stylesheets/bootstrap/_helpers.scss +2 -2
- data/assets/stylesheets/bootstrap/_list-group.scss +1 -1
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -1
- data/assets/stylesheets/bootstrap/_modal.scss +7 -7
- data/assets/stylesheets/bootstrap/_nav.scss +4 -0
- data/assets/stylesheets/bootstrap/_navbar.scss +1 -0
- data/assets/stylesheets/bootstrap/_pagination.scss +3 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +7 -6
- data/assets/stylesheets/bootstrap/_spinners.scss +2 -2
- data/assets/stylesheets/bootstrap/_tables.scss +1 -1
- data/assets/stylesheets/bootstrap/_toasts.scss +6 -2
- data/assets/stylesheets/bootstrap/_utilities.scss +29 -1
- data/assets/stylesheets/bootstrap/_variables.scss +92 -44
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_input-group.scss +2 -2
- data/assets/stylesheets/bootstrap/helpers/_colored-links.scss +1 -1
- data/assets/stylesheets/bootstrap/helpers/_ratio.scss +26 -0
- data/assets/stylesheets/bootstrap/helpers/_visually-hidden.scss +8 -0
- 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 +4 -3
- data/assets/stylesheets/bootstrap/mixins/_buttons.scss +11 -8
- data/assets/stylesheets/bootstrap/mixins/_container.scss +5 -3
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +6 -7
- data/assets/stylesheets/bootstrap/mixins/_transition.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/{_screen-reader.scss → _visually-hidden.scss} +5 -5
- data/lib/bootstrap/version.rb +2 -2
- metadata +5 -5
- data/assets/stylesheets/bootstrap/helpers/_embed.scss +0 -31
- data/assets/stylesheets/bootstrap/helpers/_screenreaders.scss +0 -8
@@ -1,17 +1,17 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap selector-engine.js v5.0.0-
|
2
|
+
* Bootstrap selector-engine.js v5.0.0-alpha2 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
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('./polyfill.js')) :
|
8
8
|
typeof define === 'function' && define.amd ? define(['./polyfill.js'], factory) :
|
9
|
-
(global = global || self, global.SelectorEngine = factory(global.Polyfill));
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SelectorEngine = factory(global.Polyfill));
|
10
10
|
}(this, (function (polyfill_js) { 'use strict';
|
11
11
|
|
12
12
|
/**
|
13
13
|
* --------------------------------------------------------------------------
|
14
|
-
* Bootstrap (v5.0.0-
|
14
|
+
* Bootstrap (v5.0.0-alpha2): dom/selector-engine.js
|
15
15
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16
16
|
* --------------------------------------------------------------------------
|
17
17
|
*/
|
@@ -1,23 +1,25 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap dropdown.js v5.0.0-
|
2
|
+
* Bootstrap dropdown.js v5.0.0-alpha2 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
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('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('popper.js'), require('./dom/selector-engine.js')) :
|
8
8
|
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', 'popper.js', './dom/selector-engine.js'], factory) :
|
9
|
-
(global = global || self, global.Dropdown = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine));
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dropdown = factory(global.Data, global.EventHandler, global.Manipulator, global.Popper, global.SelectorEngine));
|
10
10
|
}(this, (function (Data, EventHandler, Manipulator, Popper, SelectorEngine) { 'use strict';
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
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 Popper__default = /*#__PURE__*/_interopDefaultLegacy(Popper);
|
18
|
+
var SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
17
19
|
|
18
20
|
/**
|
19
21
|
* --------------------------------------------------------------------------
|
20
|
-
* Bootstrap (v5.0.0-
|
22
|
+
* Bootstrap (v5.0.0-alpha2): util/index.js
|
21
23
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
22
24
|
* --------------------------------------------------------------------------
|
23
25
|
*/
|
@@ -91,11 +93,7 @@
|
|
91
93
|
return null;
|
92
94
|
};
|
93
95
|
|
94
|
-
function
|
95
|
-
|
96
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
97
|
-
|
98
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
96
|
+
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); }
|
99
97
|
|
100
98
|
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); } }
|
101
99
|
|
@@ -107,7 +105,7 @@
|
|
107
105
|
*/
|
108
106
|
|
109
107
|
var NAME = 'dropdown';
|
110
|
-
var VERSION = '5.0.0-
|
108
|
+
var VERSION = '5.0.0-alpha2';
|
111
109
|
var DATA_KEY = 'bs.dropdown';
|
112
110
|
var EVENT_KEY = "." + DATA_KEY;
|
113
111
|
var DATA_API_KEY = '.data-api';
|
@@ -178,7 +176,7 @@
|
|
178
176
|
|
179
177
|
this._addEventListeners();
|
180
178
|
|
181
|
-
|
179
|
+
Data__default['default'].setData(element, DATA_KEY, this);
|
182
180
|
} // Getters
|
183
181
|
|
184
182
|
|
@@ -210,7 +208,7 @@
|
|
210
208
|
var relatedTarget = {
|
211
209
|
relatedTarget: this._element
|
212
210
|
};
|
213
|
-
var showEvent =
|
211
|
+
var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, relatedTarget);
|
214
212
|
|
215
213
|
if (showEvent.defaultPrevented) {
|
216
214
|
return;
|
@@ -218,7 +216,7 @@
|
|
218
216
|
|
219
217
|
|
220
218
|
if (!this._inNavbar) {
|
221
|
-
if (typeof
|
219
|
+
if (typeof Popper__default['default'] === 'undefined') {
|
222
220
|
throw new TypeError('Bootstrap\'s dropdowns require Popper.js (https://popper.js.org)');
|
223
221
|
}
|
224
222
|
|
@@ -241,7 +239,7 @@
|
|
241
239
|
parent.classList.add(CLASS_NAME_POSITION_STATIC);
|
242
240
|
}
|
243
241
|
|
244
|
-
this._popper = new
|
242
|
+
this._popper = new Popper__default['default'](referenceElement, this._menu, this._getPopperConfig());
|
245
243
|
} // If this is a touch-enabled device we add extra
|
246
244
|
// empty mouseover listeners to the body's immediate children;
|
247
245
|
// only needed because of broken event delegation on iOS
|
@@ -252,7 +250,7 @@
|
|
252
250
|
var _ref;
|
253
251
|
|
254
252
|
(_ref = []).concat.apply(_ref, document.body.children).forEach(function (elem) {
|
255
|
-
return
|
253
|
+
return EventHandler__default['default'].on(elem, 'mouseover', null, noop());
|
256
254
|
});
|
257
255
|
}
|
258
256
|
|
@@ -260,9 +258,9 @@
|
|
260
258
|
|
261
259
|
this._element.setAttribute('aria-expanded', true);
|
262
260
|
|
263
|
-
|
264
|
-
|
265
|
-
|
261
|
+
Manipulator__default['default'].toggleClass(this._menu, CLASS_NAME_SHOW);
|
262
|
+
Manipulator__default['default'].toggleClass(this._element, CLASS_NAME_SHOW);
|
263
|
+
EventHandler__default['default'].trigger(parent, EVENT_SHOWN, relatedTarget);
|
266
264
|
};
|
267
265
|
|
268
266
|
_proto.hide = function hide() {
|
@@ -274,7 +272,7 @@
|
|
274
272
|
var relatedTarget = {
|
275
273
|
relatedTarget: this._element
|
276
274
|
};
|
277
|
-
var hideEvent =
|
275
|
+
var hideEvent = EventHandler__default['default'].trigger(parent, EVENT_HIDE, relatedTarget);
|
278
276
|
|
279
277
|
if (hideEvent.defaultPrevented) {
|
280
278
|
return;
|
@@ -284,14 +282,14 @@
|
|
284
282
|
this._popper.destroy();
|
285
283
|
}
|
286
284
|
|
287
|
-
|
288
|
-
|
289
|
-
|
285
|
+
Manipulator__default['default'].toggleClass(this._menu, CLASS_NAME_SHOW);
|
286
|
+
Manipulator__default['default'].toggleClass(this._element, CLASS_NAME_SHOW);
|
287
|
+
EventHandler__default['default'].trigger(parent, EVENT_HIDDEN, relatedTarget);
|
290
288
|
};
|
291
289
|
|
292
290
|
_proto.dispose = function dispose() {
|
293
|
-
|
294
|
-
|
291
|
+
Data__default['default'].removeData(this._element, DATA_KEY);
|
292
|
+
EventHandler__default['default'].off(this._element, EVENT_KEY);
|
295
293
|
this._element = null;
|
296
294
|
this._menu = null;
|
297
295
|
|
@@ -314,7 +312,7 @@
|
|
314
312
|
_proto._addEventListeners = function _addEventListeners() {
|
315
313
|
var _this = this;
|
316
314
|
|
317
|
-
|
315
|
+
EventHandler__default['default'].on(this._element, EVENT_CLICK, function (event) {
|
318
316
|
event.preventDefault();
|
319
317
|
event.stopPropagation();
|
320
318
|
|
@@ -323,13 +321,13 @@
|
|
323
321
|
};
|
324
322
|
|
325
323
|
_proto._getConfig = function _getConfig(config) {
|
326
|
-
config =
|
324
|
+
config = _extends({}, this.constructor.Default, Manipulator__default['default'].getDataAttributes(this._element), config);
|
327
325
|
typeCheckConfig(NAME, config, this.constructor.DefaultType);
|
328
326
|
return config;
|
329
327
|
};
|
330
328
|
|
331
329
|
_proto._getMenuElement = function _getMenuElement() {
|
332
|
-
return
|
330
|
+
return SelectorEngine__default['default'].next(this._element, SELECTOR_MENU)[0];
|
333
331
|
};
|
334
332
|
|
335
333
|
_proto._getPlacement = function _getPlacement() {
|
@@ -364,7 +362,7 @@
|
|
364
362
|
|
365
363
|
if (typeof this._config.offset === 'function') {
|
366
364
|
offset.fn = function (data) {
|
367
|
-
data.offsets =
|
365
|
+
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
|
368
366
|
return data;
|
369
367
|
};
|
370
368
|
} else {
|
@@ -394,12 +392,12 @@
|
|
394
392
|
};
|
395
393
|
}
|
396
394
|
|
397
|
-
return
|
395
|
+
return _extends({}, popperConfig, this._config.popperConfig);
|
398
396
|
} // Static
|
399
397
|
;
|
400
398
|
|
401
399
|
Dropdown.dropdownInterface = function dropdownInterface(element, config) {
|
402
|
-
var data =
|
400
|
+
var data = Data__default['default'].getData(element, DATA_KEY);
|
403
401
|
|
404
402
|
var _config = typeof config === 'object' ? config : null;
|
405
403
|
|
@@ -427,11 +425,11 @@
|
|
427
425
|
return;
|
428
426
|
}
|
429
427
|
|
430
|
-
var toggles =
|
428
|
+
var toggles = SelectorEngine__default['default'].find(SELECTOR_DATA_TOGGLE);
|
431
429
|
|
432
430
|
for (var i = 0, len = toggles.length; i < len; i++) {
|
433
431
|
var parent = Dropdown.getParentFromElement(toggles[i]);
|
434
|
-
var context =
|
432
|
+
var context = Data__default['default'].getData(toggles[i], DATA_KEY);
|
435
433
|
var relatedTarget = {
|
436
434
|
relatedTarget: toggles[i]
|
437
435
|
};
|
@@ -454,7 +452,7 @@
|
|
454
452
|
continue;
|
455
453
|
}
|
456
454
|
|
457
|
-
var hideEvent =
|
455
|
+
var hideEvent = EventHandler__default['default'].trigger(parent, EVENT_HIDE, relatedTarget);
|
458
456
|
|
459
457
|
if (hideEvent.defaultPrevented) {
|
460
458
|
continue;
|
@@ -466,7 +464,7 @@
|
|
466
464
|
var _ref2;
|
467
465
|
|
468
466
|
(_ref2 = []).concat.apply(_ref2, document.body.children).forEach(function (elem) {
|
469
|
-
return
|
467
|
+
return EventHandler__default['default'].off(elem, 'mouseover', null, noop());
|
470
468
|
});
|
471
469
|
}
|
472
470
|
|
@@ -478,7 +476,7 @@
|
|
478
476
|
|
479
477
|
dropdownMenu.classList.remove(CLASS_NAME_SHOW);
|
480
478
|
toggles[i].classList.remove(CLASS_NAME_SHOW);
|
481
|
-
|
479
|
+
EventHandler__default['default'].trigger(parent, EVENT_HIDDEN, relatedTarget);
|
482
480
|
}
|
483
481
|
};
|
484
482
|
|
@@ -509,7 +507,7 @@
|
|
509
507
|
var isActive = this.classList.contains(CLASS_NAME_SHOW);
|
510
508
|
|
511
509
|
if (event.key === ESCAPE_KEY) {
|
512
|
-
var button = this.matches(SELECTOR_DATA_TOGGLE) ? this :
|
510
|
+
var button = this.matches(SELECTOR_DATA_TOGGLE) ? this : SelectorEngine__default['default'].prev(this, SELECTOR_DATA_TOGGLE)[0];
|
513
511
|
button.focus();
|
514
512
|
Dropdown.clearMenus();
|
515
513
|
return;
|
@@ -520,7 +518,7 @@
|
|
520
518
|
return;
|
521
519
|
}
|
522
520
|
|
523
|
-
var items =
|
521
|
+
var items = SelectorEngine__default['default'].find(SELECTOR_VISIBLE_ITEMS, parent).filter(isVisible);
|
524
522
|
|
525
523
|
if (!items.length) {
|
526
524
|
return;
|
@@ -544,7 +542,7 @@
|
|
544
542
|
};
|
545
543
|
|
546
544
|
Dropdown.getInstance = function getInstance(element) {
|
547
|
-
return
|
545
|
+
return Data__default['default'].getData(element, DATA_KEY);
|
548
546
|
};
|
549
547
|
|
550
548
|
_createClass(Dropdown, null, [{
|
@@ -573,16 +571,16 @@
|
|
573
571
|
*/
|
574
572
|
|
575
573
|
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
580
|
-
|
574
|
+
EventHandler__default['default'].on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler);
|
575
|
+
EventHandler__default['default'].on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
|
576
|
+
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus);
|
577
|
+
EventHandler__default['default'].on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
|
578
|
+
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
581
579
|
event.preventDefault();
|
582
580
|
event.stopPropagation();
|
583
581
|
Dropdown.dropdownInterface(this, 'toggle');
|
584
582
|
});
|
585
|
-
|
583
|
+
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, function (e) {
|
586
584
|
return e.stopPropagation();
|
587
585
|
});
|
588
586
|
var $ = getjQuery();
|
@@ -1,22 +1,24 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap modal.js v5.0.0-
|
2
|
+
* Bootstrap modal.js v5.0.0-alpha2 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
|
4
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('./dom/data.js'), require('./dom/event-handler.js'), require('./dom/manipulator.js'), require('./dom/selector-engine.js')) :
|
8
8
|
typeof define === 'function' && define.amd ? define(['./dom/data.js', './dom/event-handler.js', './dom/manipulator.js', './dom/selector-engine.js'], factory) :
|
9
|
-
(global = global || self, global.Modal = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Modal = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine));
|
10
10
|
}(this, (function (Data, EventHandler, Manipulator, SelectorEngine) { 'use strict';
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
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);
|
16
18
|
|
17
19
|
/**
|
18
20
|
* --------------------------------------------------------------------------
|
19
|
-
* Bootstrap (v5.0.0-
|
21
|
+
* Bootstrap (v5.0.0-alpha2): util/index.js
|
20
22
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
21
23
|
* --------------------------------------------------------------------------
|
22
24
|
*/
|
@@ -137,11 +139,7 @@
|
|
137
139
|
return null;
|
138
140
|
};
|
139
141
|
|
140
|
-
function
|
141
|
-
|
142
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
143
|
-
|
144
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
142
|
+
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); }
|
145
143
|
|
146
144
|
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); } }
|
147
145
|
|
@@ -153,7 +151,7 @@
|
|
153
151
|
*/
|
154
152
|
|
155
153
|
var NAME = 'modal';
|
156
|
-
var VERSION = '5.0.0-
|
154
|
+
var VERSION = '5.0.0-alpha2';
|
157
155
|
var DATA_KEY = 'bs.modal';
|
158
156
|
var EVENT_KEY = "." + DATA_KEY;
|
159
157
|
var DATA_API_KEY = '.data-api';
|
@@ -204,14 +202,14 @@
|
|
204
202
|
function Modal(element, config) {
|
205
203
|
this._config = this._getConfig(config);
|
206
204
|
this._element = element;
|
207
|
-
this._dialog =
|
205
|
+
this._dialog = SelectorEngine__default['default'].findOne(SELECTOR_DIALOG, element);
|
208
206
|
this._backdrop = null;
|
209
207
|
this._isShown = false;
|
210
208
|
this._isBodyOverflowing = false;
|
211
209
|
this._ignoreBackdropClick = false;
|
212
210
|
this._isTransitioning = false;
|
213
211
|
this._scrollbarWidth = 0;
|
214
|
-
|
212
|
+
Data__default['default'].setData(element, DATA_KEY, this);
|
215
213
|
} // Getters
|
216
214
|
|
217
215
|
|
@@ -233,7 +231,7 @@
|
|
233
231
|
this._isTransitioning = true;
|
234
232
|
}
|
235
233
|
|
236
|
-
var showEvent =
|
234
|
+
var showEvent = EventHandler__default['default'].trigger(this._element, EVENT_SHOW, {
|
237
235
|
relatedTarget: relatedTarget
|
238
236
|
});
|
239
237
|
|
@@ -253,11 +251,11 @@
|
|
253
251
|
|
254
252
|
this._setResizeEvent();
|
255
253
|
|
256
|
-
|
254
|
+
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function (event) {
|
257
255
|
return _this.hide(event);
|
258
256
|
});
|
259
|
-
|
260
|
-
|
257
|
+
EventHandler__default['default'].on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {
|
258
|
+
EventHandler__default['default'].one(_this._element, EVENT_MOUSEUP_DISMISS, function (event) {
|
261
259
|
if (event.target === _this._element) {
|
262
260
|
_this._ignoreBackdropClick = true;
|
263
261
|
}
|
@@ -280,7 +278,7 @@
|
|
280
278
|
return;
|
281
279
|
}
|
282
280
|
|
283
|
-
var hideEvent =
|
281
|
+
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE);
|
284
282
|
|
285
283
|
if (hideEvent.defaultPrevented) {
|
286
284
|
return;
|
@@ -298,16 +296,16 @@
|
|
298
296
|
|
299
297
|
this._setResizeEvent();
|
300
298
|
|
301
|
-
|
299
|
+
EventHandler__default['default'].off(document, EVENT_FOCUSIN);
|
302
300
|
|
303
301
|
this._element.classList.remove(CLASS_NAME_SHOW);
|
304
302
|
|
305
|
-
|
306
|
-
|
303
|
+
EventHandler__default['default'].off(this._element, EVENT_CLICK_DISMISS);
|
304
|
+
EventHandler__default['default'].off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
|
307
305
|
|
308
306
|
if (transition) {
|
309
307
|
var transitionDuration = getTransitionDurationFromElement(this._element);
|
310
|
-
|
308
|
+
EventHandler__default['default'].one(this._element, TRANSITION_END, function (event) {
|
311
309
|
return _this2._hideModal(event);
|
312
310
|
});
|
313
311
|
emulateTransitionEnd(this._element, transitionDuration);
|
@@ -318,7 +316,7 @@
|
|
318
316
|
|
319
317
|
_proto.dispose = function dispose() {
|
320
318
|
[window, this._element, this._dialog].forEach(function (htmlElement) {
|
321
|
-
return
|
319
|
+
return EventHandler__default['default'].off(htmlElement, EVENT_KEY);
|
322
320
|
});
|
323
321
|
/**
|
324
322
|
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
|
@@ -326,8 +324,8 @@
|
|
326
324
|
* It will remove `EVENT_CLICK_DATA_API` event that should remain
|
327
325
|
*/
|
328
326
|
|
329
|
-
|
330
|
-
|
327
|
+
EventHandler__default['default'].off(document, EVENT_FOCUSIN);
|
328
|
+
Data__default['default'].removeData(this._element, DATA_KEY);
|
331
329
|
this._config = null;
|
332
330
|
this._element = null;
|
333
331
|
this._dialog = null;
|
@@ -345,7 +343,7 @@
|
|
345
343
|
;
|
346
344
|
|
347
345
|
_proto._getConfig = function _getConfig(config) {
|
348
|
-
config =
|
346
|
+
config = _extends({}, Default, config);
|
349
347
|
typeCheckConfig(NAME, config, DefaultType);
|
350
348
|
return config;
|
351
349
|
};
|
@@ -355,7 +353,7 @@
|
|
355
353
|
|
356
354
|
var transition = this._element.classList.contains(CLASS_NAME_FADE);
|
357
355
|
|
358
|
-
var modalBody =
|
356
|
+
var modalBody = SelectorEngine__default['default'].findOne(SELECTOR_MODAL_BODY, this._dialog);
|
359
357
|
|
360
358
|
if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
|
361
359
|
// Don't move modal's DOM position
|
@@ -392,14 +390,14 @@
|
|
392
390
|
}
|
393
391
|
|
394
392
|
_this3._isTransitioning = false;
|
395
|
-
|
393
|
+
EventHandler__default['default'].trigger(_this3._element, EVENT_SHOWN, {
|
396
394
|
relatedTarget: relatedTarget
|
397
395
|
});
|
398
396
|
};
|
399
397
|
|
400
398
|
if (transition) {
|
401
399
|
var transitionDuration = getTransitionDurationFromElement(this._dialog);
|
402
|
-
|
400
|
+
EventHandler__default['default'].one(this._dialog, TRANSITION_END, transitionComplete);
|
403
401
|
emulateTransitionEnd(this._dialog, transitionDuration);
|
404
402
|
} else {
|
405
403
|
transitionComplete();
|
@@ -409,9 +407,9 @@
|
|
409
407
|
_proto._enforceFocus = function _enforceFocus() {
|
410
408
|
var _this4 = this;
|
411
409
|
|
412
|
-
|
410
|
+
EventHandler__default['default'].off(document, EVENT_FOCUSIN); // guard against infinite focus loop
|
413
411
|
|
414
|
-
|
412
|
+
EventHandler__default['default'].on(document, EVENT_FOCUSIN, function (event) {
|
415
413
|
if (document !== event.target && _this4._element !== event.target && !_this4._element.contains(event.target)) {
|
416
414
|
_this4._element.focus();
|
417
415
|
}
|
@@ -422,7 +420,7 @@
|
|
422
420
|
var _this5 = this;
|
423
421
|
|
424
422
|
if (this._isShown) {
|
425
|
-
|
423
|
+
EventHandler__default['default'].on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {
|
426
424
|
if (_this5._config.keyboard && event.key === ESCAPE_KEY) {
|
427
425
|
event.preventDefault();
|
428
426
|
|
@@ -432,7 +430,7 @@
|
|
432
430
|
}
|
433
431
|
});
|
434
432
|
} else {
|
435
|
-
|
433
|
+
EventHandler__default['default'].off(this._element, EVENT_KEYDOWN_DISMISS);
|
436
434
|
}
|
437
435
|
};
|
438
436
|
|
@@ -440,11 +438,11 @@
|
|
440
438
|
var _this6 = this;
|
441
439
|
|
442
440
|
if (this._isShown) {
|
443
|
-
|
441
|
+
EventHandler__default['default'].on(window, EVENT_RESIZE, function () {
|
444
442
|
return _this6._adjustDialog();
|
445
443
|
});
|
446
444
|
} else {
|
447
|
-
|
445
|
+
EventHandler__default['default'].off(window, EVENT_RESIZE);
|
448
446
|
}
|
449
447
|
};
|
450
448
|
|
@@ -468,7 +466,7 @@
|
|
468
466
|
|
469
467
|
_this7._resetScrollbar();
|
470
468
|
|
471
|
-
|
469
|
+
EventHandler__default['default'].trigger(_this7._element, EVENT_HIDDEN);
|
472
470
|
});
|
473
471
|
};
|
474
472
|
|
@@ -492,7 +490,7 @@
|
|
492
490
|
}
|
493
491
|
|
494
492
|
document.body.appendChild(this._backdrop);
|
495
|
-
|
493
|
+
EventHandler__default['default'].on(this._element, EVENT_CLICK_DISMISS, function (event) {
|
496
494
|
if (_this8._ignoreBackdropClick) {
|
497
495
|
_this8._ignoreBackdropClick = false;
|
498
496
|
return;
|
@@ -517,7 +515,7 @@
|
|
517
515
|
}
|
518
516
|
|
519
517
|
var backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
|
520
|
-
|
518
|
+
EventHandler__default['default'].one(this._backdrop, TRANSITION_END, callback);
|
521
519
|
emulateTransitionEnd(this._backdrop, backdropTransitionDuration);
|
522
520
|
} else if (!this._isShown && this._backdrop) {
|
523
521
|
this._backdrop.classList.remove(CLASS_NAME_SHOW);
|
@@ -531,7 +529,7 @@
|
|
531
529
|
if (this._element.classList.contains(CLASS_NAME_FADE)) {
|
532
530
|
var _backdropTransitionDuration = getTransitionDurationFromElement(this._backdrop);
|
533
531
|
|
534
|
-
|
532
|
+
EventHandler__default['default'].one(this._backdrop, TRANSITION_END, callbackRemove);
|
535
533
|
emulateTransitionEnd(this._backdrop, _backdropTransitionDuration);
|
536
534
|
} else {
|
537
535
|
callbackRemove();
|
@@ -545,17 +543,31 @@
|
|
545
543
|
var _this9 = this;
|
546
544
|
|
547
545
|
if (this._config.backdrop === 'static') {
|
548
|
-
var hideEvent =
|
546
|
+
var hideEvent = EventHandler__default['default'].trigger(this._element, EVENT_HIDE_PREVENTED);
|
549
547
|
|
550
548
|
if (hideEvent.defaultPrevented) {
|
551
549
|
return;
|
552
550
|
}
|
553
551
|
|
552
|
+
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
|
553
|
+
|
554
|
+
if (!isModalOverflowing) {
|
555
|
+
this._element.style.overflowY = 'hidden';
|
556
|
+
}
|
557
|
+
|
554
558
|
this._element.classList.add(CLASS_NAME_STATIC);
|
555
559
|
|
556
|
-
var modalTransitionDuration = getTransitionDurationFromElement(this.
|
557
|
-
|
560
|
+
var modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
|
561
|
+
EventHandler__default['default'].off(this._element, TRANSITION_END);
|
562
|
+
EventHandler__default['default'].one(this._element, TRANSITION_END, function () {
|
558
563
|
_this9._element.classList.remove(CLASS_NAME_STATIC);
|
564
|
+
|
565
|
+
if (!isModalOverflowing) {
|
566
|
+
EventHandler__default['default'].one(_this9._element, TRANSITION_END, function () {
|
567
|
+
_this9._element.style.overflowY = '';
|
568
|
+
});
|
569
|
+
emulateTransitionEnd(_this9._element, modalTransitionDuration);
|
570
|
+
}
|
559
571
|
});
|
560
572
|
emulateTransitionEnd(this._element, modalTransitionDuration);
|
561
573
|
|
@@ -598,23 +610,23 @@
|
|
598
610
|
// Note: DOMNode.style.paddingRight returns the actual value or '' if not set
|
599
611
|
// while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
|
600
612
|
// Adjust fixed content padding
|
601
|
-
|
613
|
+
SelectorEngine__default['default'].find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
|
602
614
|
var actualPadding = element.style.paddingRight;
|
603
615
|
var calculatedPadding = window.getComputedStyle(element)['padding-right'];
|
604
|
-
|
616
|
+
Manipulator__default['default'].setDataAttribute(element, 'padding-right', actualPadding);
|
605
617
|
element.style.paddingRight = parseFloat(calculatedPadding) + _this10._scrollbarWidth + "px";
|
606
618
|
}); // Adjust sticky content margin
|
607
619
|
|
608
|
-
|
620
|
+
SelectorEngine__default['default'].find(SELECTOR_STICKY_CONTENT).forEach(function (element) {
|
609
621
|
var actualMargin = element.style.marginRight;
|
610
622
|
var calculatedMargin = window.getComputedStyle(element)['margin-right'];
|
611
|
-
|
623
|
+
Manipulator__default['default'].setDataAttribute(element, 'margin-right', actualMargin);
|
612
624
|
element.style.marginRight = parseFloat(calculatedMargin) - _this10._scrollbarWidth + "px";
|
613
625
|
}); // Adjust body padding
|
614
626
|
|
615
627
|
var actualPadding = document.body.style.paddingRight;
|
616
628
|
var calculatedPadding = window.getComputedStyle(document.body)['padding-right'];
|
617
|
-
|
629
|
+
Manipulator__default['default'].setDataAttribute(document.body, 'padding-right', actualPadding);
|
618
630
|
document.body.style.paddingRight = parseFloat(calculatedPadding) + this._scrollbarWidth + "px";
|
619
631
|
}
|
620
632
|
|
@@ -623,30 +635,30 @@
|
|
623
635
|
|
624
636
|
_proto._resetScrollbar = function _resetScrollbar() {
|
625
637
|
// Restore fixed content padding
|
626
|
-
|
627
|
-
var padding =
|
638
|
+
SelectorEngine__default['default'].find(SELECTOR_FIXED_CONTENT).forEach(function (element) {
|
639
|
+
var padding = Manipulator__default['default'].getDataAttribute(element, 'padding-right');
|
628
640
|
|
629
641
|
if (typeof padding !== 'undefined') {
|
630
|
-
|
642
|
+
Manipulator__default['default'].removeDataAttribute(element, 'padding-right');
|
631
643
|
element.style.paddingRight = padding;
|
632
644
|
}
|
633
645
|
}); // Restore sticky content and navbar-toggler margin
|
634
646
|
|
635
|
-
|
636
|
-
var margin =
|
647
|
+
SelectorEngine__default['default'].find("" + SELECTOR_STICKY_CONTENT).forEach(function (element) {
|
648
|
+
var margin = Manipulator__default['default'].getDataAttribute(element, 'margin-right');
|
637
649
|
|
638
650
|
if (typeof margin !== 'undefined') {
|
639
|
-
|
651
|
+
Manipulator__default['default'].removeDataAttribute(element, 'margin-right');
|
640
652
|
element.style.marginRight = margin;
|
641
653
|
}
|
642
654
|
}); // Restore body padding
|
643
655
|
|
644
|
-
var padding =
|
656
|
+
var padding = Manipulator__default['default'].getDataAttribute(document.body, 'padding-right');
|
645
657
|
|
646
658
|
if (typeof padding === 'undefined') {
|
647
659
|
document.body.style.paddingRight = '';
|
648
660
|
} else {
|
649
|
-
|
661
|
+
Manipulator__default['default'].removeDataAttribute(document.body, 'padding-right');
|
650
662
|
document.body.style.paddingRight = padding;
|
651
663
|
}
|
652
664
|
};
|
@@ -664,9 +676,9 @@
|
|
664
676
|
|
665
677
|
Modal.jQueryInterface = function jQueryInterface(config, relatedTarget) {
|
666
678
|
return this.each(function () {
|
667
|
-
var data =
|
679
|
+
var data = Data__default['default'].getData(this, DATA_KEY);
|
668
680
|
|
669
|
-
var _config =
|
681
|
+
var _config = _extends({}, Default, Manipulator__default['default'].getDataAttributes(this), typeof config === 'object' && config ? config : {});
|
670
682
|
|
671
683
|
if (!data) {
|
672
684
|
data = new Modal(this, _config);
|
@@ -685,7 +697,7 @@
|
|
685
697
|
};
|
686
698
|
|
687
699
|
Modal.getInstance = function getInstance(element) {
|
688
|
-
return
|
700
|
+
return Data__default['default'].getData(element, DATA_KEY);
|
689
701
|
};
|
690
702
|
|
691
703
|
_createClass(Modal, null, [{
|
@@ -709,7 +721,7 @@
|
|
709
721
|
*/
|
710
722
|
|
711
723
|
|
712
|
-
|
724
|
+
EventHandler__default['default'].on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
713
725
|
var _this11 = this;
|
714
726
|
|
715
727
|
var target = getElementFromSelector(this);
|
@@ -718,22 +730,22 @@
|
|
718
730
|
event.preventDefault();
|
719
731
|
}
|
720
732
|
|
721
|
-
|
733
|
+
EventHandler__default['default'].one(target, EVENT_SHOW, function (showEvent) {
|
722
734
|
if (showEvent.defaultPrevented) {
|
723
735
|
// only register focus restorer if modal will actually get shown
|
724
736
|
return;
|
725
737
|
}
|
726
738
|
|
727
|
-
|
739
|
+
EventHandler__default['default'].one(target, EVENT_HIDDEN, function () {
|
728
740
|
if (isVisible(_this11)) {
|
729
741
|
_this11.focus();
|
730
742
|
}
|
731
743
|
});
|
732
744
|
});
|
733
|
-
var data =
|
745
|
+
var data = Data__default['default'].getData(target, DATA_KEY);
|
734
746
|
|
735
747
|
if (!data) {
|
736
|
-
var config =
|
748
|
+
var config = _extends({}, Manipulator__default['default'].getDataAttributes(target), Manipulator__default['default'].getDataAttributes(this));
|
737
749
|
|
738
750
|
data = new Modal(target, config);
|
739
751
|
}
|