bootstrap 5.0.0.alpha1 → 5.0.0.alpha2
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 +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
|
}
|