bootstrap 5.0.2 → 5.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/assets/javascripts/bootstrap/alert.js +78 -48
- data/assets/javascripts/bootstrap/base-component.js +22 -17
- data/assets/javascripts/bootstrap/button.js +19 -12
- data/assets/javascripts/bootstrap/carousel.js +66 -44
- data/assets/javascripts/bootstrap/collapse.js +114 -131
- data/assets/javascripts/bootstrap/dom/data.js +5 -5
- data/assets/javascripts/bootstrap/dom/event-handler.js +11 -5
- data/assets/javascripts/bootstrap/dom/manipulator.js +6 -6
- data/assets/javascripts/bootstrap/dom/selector-engine.js +49 -7
- data/assets/javascripts/bootstrap/dropdown.js +96 -106
- data/assets/javascripts/bootstrap/modal.js +241 -87
- data/assets/javascripts/bootstrap/offcanvas.js +203 -57
- data/assets/javascripts/bootstrap/popover.js +25 -58
- data/assets/javascripts/bootstrap/scrollspy.js +47 -66
- data/assets/javascripts/bootstrap/tab.js +41 -22
- data/assets/javascripts/bootstrap/toast.js +124 -29
- data/assets/javascripts/bootstrap/tooltip.js +122 -104
- data/assets/javascripts/bootstrap-sprockets.js +7 -7
- data/assets/javascripts/bootstrap.js +660 -630
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/stylesheets/_bootstrap-grid.scss +3 -1
- data/assets/stylesheets/_bootstrap-reboot.scss +2 -4
- data/assets/stylesheets/_bootstrap.scss +2 -1
- data/assets/stylesheets/bootstrap/_card.scss +2 -1
- data/assets/stylesheets/bootstrap/_functions.scss +51 -12
- data/assets/stylesheets/bootstrap/_grid.scss +11 -0
- data/assets/stylesheets/bootstrap/_helpers.scss +2 -0
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +1 -11
- data/assets/stylesheets/bootstrap/_navbar.scss +30 -1
- data/assets/stylesheets/bootstrap/_offcanvas.scss +4 -0
- data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
- data/assets/stylesheets/bootstrap/_reboot.scss +12 -8
- data/assets/stylesheets/bootstrap/_root.scss +40 -2
- data/assets/stylesheets/bootstrap/_tables.scss +8 -4
- data/assets/stylesheets/bootstrap/_toasts.scss +2 -2
- data/assets/stylesheets/bootstrap/_transitions.scss +6 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +44 -8
- data/assets/stylesheets/bootstrap/_variables.scss +184 -11
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +2 -0
- data/assets/stylesheets/bootstrap/helpers/_stacks.scss +15 -0
- data/assets/stylesheets/bootstrap/helpers/_vr.scss +8 -0
- data/assets/stylesheets/bootstrap/mixins/_backdrop.scss +14 -0
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +29 -10
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +27 -6
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +1 -1
- data/bootstrap.gemspec +3 -3
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +6 -2
- metadata +12 -8
@@ -1,21 +1,28 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap collapse.js v5.
|
2
|
+
* Bootstrap collapse.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./dom/
|
8
|
-
typeof define === 'function' && define.amd ? define(['./dom/
|
9
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.
|
10
|
-
}(this, (function (
|
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'), require('./base-component.js')) :
|
8
|
+
typeof define === 'function' && define.amd ? define(['./dom/data', './dom/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Collapse = factory(global.Data, global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base));
|
10
|
+
})(this, (function (Data, EventHandler, Manipulator, SelectorEngine, BaseComponent) { 'use strict';
|
11
11
|
|
12
|
-
|
12
|
+
const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e };
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
const Data__default = /*#__PURE__*/_interopDefaultLegacy(Data);
|
15
|
+
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
16
|
+
const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
17
|
+
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
18
|
+
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
19
|
+
|
20
|
+
/**
|
21
|
+
* --------------------------------------------------------------------------
|
22
|
+
* Bootstrap (v5.1.3): util/index.js
|
23
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
24
|
+
* --------------------------------------------------------------------------
|
25
|
+
*/
|
19
26
|
|
20
27
|
const toType = obj => {
|
21
28
|
if (obj === null || obj === undefined) {
|
@@ -83,7 +90,7 @@
|
|
83
90
|
}
|
84
91
|
|
85
92
|
if (typeof obj === 'string' && obj.length > 0) {
|
86
|
-
return
|
93
|
+
return document.querySelector(obj);
|
87
94
|
}
|
88
95
|
|
89
96
|
return null;
|
@@ -100,8 +107,20 @@
|
|
100
107
|
}
|
101
108
|
});
|
102
109
|
};
|
110
|
+
/**
|
111
|
+
* Trick to restart an element's animation
|
112
|
+
*
|
113
|
+
* @param {HTMLElement} element
|
114
|
+
* @return void
|
115
|
+
*
|
116
|
+
* @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
|
117
|
+
*/
|
118
|
+
|
103
119
|
|
104
|
-
const reflow = element =>
|
120
|
+
const reflow = element => {
|
121
|
+
// eslint-disable-next-line no-unused-expressions
|
122
|
+
element.offsetHeight;
|
123
|
+
};
|
105
124
|
|
106
125
|
const getjQuery = () => {
|
107
126
|
const {
|
@@ -153,7 +172,7 @@
|
|
153
172
|
|
154
173
|
/**
|
155
174
|
* --------------------------------------------------------------------------
|
156
|
-
* Bootstrap (v5.
|
175
|
+
* Bootstrap (v5.1.3): collapse.js
|
157
176
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
158
177
|
* --------------------------------------------------------------------------
|
159
178
|
*/
|
@@ -169,11 +188,11 @@
|
|
169
188
|
const DATA_API_KEY = '.data-api';
|
170
189
|
const Default = {
|
171
190
|
toggle: true,
|
172
|
-
parent:
|
191
|
+
parent: null
|
173
192
|
};
|
174
193
|
const DefaultType = {
|
175
194
|
toggle: 'boolean',
|
176
|
-
parent: '(
|
195
|
+
parent: '(null|element)'
|
177
196
|
};
|
178
197
|
const EVENT_SHOW = `show${EVENT_KEY}`;
|
179
198
|
const EVENT_SHOWN = `shown${EVENT_KEY}`;
|
@@ -184,9 +203,11 @@
|
|
184
203
|
const CLASS_NAME_COLLAPSE = 'collapse';
|
185
204
|
const CLASS_NAME_COLLAPSING = 'collapsing';
|
186
205
|
const CLASS_NAME_COLLAPSED = 'collapsed';
|
206
|
+
const CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`;
|
207
|
+
const CLASS_NAME_HORIZONTAL = 'collapse-horizontal';
|
187
208
|
const WIDTH = 'width';
|
188
209
|
const HEIGHT = 'height';
|
189
|
-
const SELECTOR_ACTIVES = '.show, .collapsing';
|
210
|
+
const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
|
190
211
|
const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="collapse"]';
|
191
212
|
/**
|
192
213
|
* ------------------------------------------------------------------------
|
@@ -194,18 +215,18 @@
|
|
194
215
|
* ------------------------------------------------------------------------
|
195
216
|
*/
|
196
217
|
|
197
|
-
class Collapse extends BaseComponent__default
|
218
|
+
class Collapse extends BaseComponent__default.default {
|
198
219
|
constructor(element, config) {
|
199
220
|
super(element);
|
200
221
|
this._isTransitioning = false;
|
201
222
|
this._config = this._getConfig(config);
|
202
|
-
this._triggerArray =
|
203
|
-
const toggleList = SelectorEngine__default
|
223
|
+
this._triggerArray = [];
|
224
|
+
const toggleList = SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE);
|
204
225
|
|
205
226
|
for (let i = 0, len = toggleList.length; i < len; i++) {
|
206
227
|
const elem = toggleList[i];
|
207
228
|
const selector = getSelectorFromElement(elem);
|
208
|
-
const filterElement = SelectorEngine__default
|
229
|
+
const filterElement = SelectorEngine__default.default.find(selector).filter(foundElem => foundElem === this._element);
|
209
230
|
|
210
231
|
if (selector !== null && filterElement.length) {
|
211
232
|
this._selector = selector;
|
@@ -214,10 +235,10 @@
|
|
214
235
|
}
|
215
236
|
}
|
216
237
|
|
217
|
-
this.
|
238
|
+
this._initializeChildren();
|
218
239
|
|
219
240
|
if (!this._config.parent) {
|
220
|
-
this._addAriaAndCollapsedClass(this.
|
241
|
+
this._addAriaAndCollapsedClass(this._triggerArray, this._isShown());
|
221
242
|
}
|
222
243
|
|
223
244
|
if (this._config.toggle) {
|
@@ -236,7 +257,7 @@
|
|
236
257
|
|
237
258
|
|
238
259
|
toggle() {
|
239
|
-
if (this.
|
260
|
+
if (this._isShown()) {
|
240
261
|
this.hide();
|
241
262
|
} else {
|
242
263
|
this.show();
|
@@ -244,30 +265,21 @@
|
|
244
265
|
}
|
245
266
|
|
246
267
|
show() {
|
247
|
-
if (this._isTransitioning || this.
|
268
|
+
if (this._isTransitioning || this._isShown()) {
|
248
269
|
return;
|
249
270
|
}
|
250
271
|
|
251
|
-
let actives;
|
272
|
+
let actives = [];
|
252
273
|
let activesData;
|
253
274
|
|
254
|
-
if (this.
|
255
|
-
|
256
|
-
|
257
|
-
return elem.getAttribute('data-bs-parent') === this._config.parent;
|
258
|
-
}
|
259
|
-
|
260
|
-
return elem.classList.contains(CLASS_NAME_COLLAPSE);
|
261
|
-
});
|
262
|
-
|
263
|
-
if (actives.length === 0) {
|
264
|
-
actives = null;
|
265
|
-
}
|
275
|
+
if (this._config.parent) {
|
276
|
+
const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);
|
277
|
+
actives = SelectorEngine__default.default.find(SELECTOR_ACTIVES, this._config.parent).filter(elem => !children.includes(elem)); // remove children if greater depth
|
266
278
|
}
|
267
279
|
|
268
|
-
const container = SelectorEngine__default
|
280
|
+
const container = SelectorEngine__default.default.findOne(this._selector);
|
269
281
|
|
270
|
-
if (actives) {
|
282
|
+
if (actives.length) {
|
271
283
|
const tempActiveData = actives.find(elem => container !== elem);
|
272
284
|
activesData = tempActiveData ? Collapse.getInstance(tempActiveData) : null;
|
273
285
|
|
@@ -276,23 +288,23 @@
|
|
276
288
|
}
|
277
289
|
}
|
278
290
|
|
279
|
-
const startEvent = EventHandler__default
|
291
|
+
const startEvent = EventHandler__default.default.trigger(this._element, EVENT_SHOW);
|
280
292
|
|
281
293
|
if (startEvent.defaultPrevented) {
|
282
294
|
return;
|
283
295
|
}
|
284
296
|
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
}
|
297
|
+
actives.forEach(elemActive => {
|
298
|
+
if (container !== elemActive) {
|
299
|
+
Collapse.getOrCreateInstance(elemActive, {
|
300
|
+
toggle: false
|
301
|
+
}).hide();
|
302
|
+
}
|
290
303
|
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
}
|
304
|
+
if (!activesData) {
|
305
|
+
Data__default.default.set(elemActive, DATA_KEY, null);
|
306
|
+
}
|
307
|
+
});
|
296
308
|
|
297
309
|
const dimension = this._getDimension();
|
298
310
|
|
@@ -302,23 +314,19 @@
|
|
302
314
|
|
303
315
|
this._element.style[dimension] = 0;
|
304
316
|
|
305
|
-
|
306
|
-
this._triggerArray.forEach(element => {
|
307
|
-
element.classList.remove(CLASS_NAME_COLLAPSED);
|
308
|
-
element.setAttribute('aria-expanded', true);
|
309
|
-
});
|
310
|
-
}
|
317
|
+
this._addAriaAndCollapsedClass(this._triggerArray, true);
|
311
318
|
|
312
|
-
this.
|
319
|
+
this._isTransitioning = true;
|
313
320
|
|
314
321
|
const complete = () => {
|
322
|
+
this._isTransitioning = false;
|
323
|
+
|
315
324
|
this._element.classList.remove(CLASS_NAME_COLLAPSING);
|
316
325
|
|
317
326
|
this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW);
|
318
327
|
|
319
328
|
this._element.style[dimension] = '';
|
320
|
-
this.
|
321
|
-
EventHandler__default['default'].trigger(this._element, EVENT_SHOWN);
|
329
|
+
EventHandler__default.default.trigger(this._element, EVENT_SHOWN);
|
322
330
|
};
|
323
331
|
|
324
332
|
const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
@@ -330,11 +338,11 @@
|
|
330
338
|
}
|
331
339
|
|
332
340
|
hide() {
|
333
|
-
if (this._isTransitioning || !this.
|
341
|
+
if (this._isTransitioning || !this._isShown()) {
|
334
342
|
return;
|
335
343
|
}
|
336
344
|
|
337
|
-
const startEvent = EventHandler__default
|
345
|
+
const startEvent = EventHandler__default.default.trigger(this._element, EVENT_HIDE);
|
338
346
|
|
339
347
|
if (startEvent.defaultPrevented) {
|
340
348
|
return;
|
@@ -351,28 +359,25 @@
|
|
351
359
|
|
352
360
|
const triggerArrayLength = this._triggerArray.length;
|
353
361
|
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
const elem = getElementFromSelector(trigger);
|
362
|
+
for (let i = 0; i < triggerArrayLength; i++) {
|
363
|
+
const trigger = this._triggerArray[i];
|
364
|
+
const elem = getElementFromSelector(trigger);
|
358
365
|
|
359
|
-
|
360
|
-
|
361
|
-
trigger.setAttribute('aria-expanded', false);
|
362
|
-
}
|
366
|
+
if (elem && !this._isShown(elem)) {
|
367
|
+
this._addAriaAndCollapsedClass([trigger], false);
|
363
368
|
}
|
364
369
|
}
|
365
370
|
|
366
|
-
this.
|
371
|
+
this._isTransitioning = true;
|
367
372
|
|
368
373
|
const complete = () => {
|
369
|
-
this.
|
374
|
+
this._isTransitioning = false;
|
370
375
|
|
371
376
|
this._element.classList.remove(CLASS_NAME_COLLAPSING);
|
372
377
|
|
373
378
|
this._element.classList.add(CLASS_NAME_COLLAPSE);
|
374
379
|
|
375
|
-
EventHandler__default
|
380
|
+
EventHandler__default.default.trigger(this._element, EVENT_HIDDEN);
|
376
381
|
};
|
377
382
|
|
378
383
|
this._element.style[dimension] = '';
|
@@ -380,45 +385,47 @@
|
|
380
385
|
this._queueCallback(complete, this._element, true);
|
381
386
|
}
|
382
387
|
|
383
|
-
|
384
|
-
|
388
|
+
_isShown(element = this._element) {
|
389
|
+
return element.classList.contains(CLASS_NAME_SHOW);
|
385
390
|
} // Private
|
386
391
|
|
387
392
|
|
388
393
|
_getConfig(config) {
|
389
394
|
config = { ...Default,
|
395
|
+
...Manipulator__default.default.getDataAttributes(this._element),
|
390
396
|
...config
|
391
397
|
};
|
392
398
|
config.toggle = Boolean(config.toggle); // Coerce string values
|
393
399
|
|
400
|
+
config.parent = getElement(config.parent);
|
394
401
|
typeCheckConfig(NAME, config, DefaultType);
|
395
402
|
return config;
|
396
403
|
}
|
397
404
|
|
398
405
|
_getDimension() {
|
399
|
-
return this._element.classList.contains(
|
406
|
+
return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT;
|
400
407
|
}
|
401
408
|
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
}
|
406
|
-
|
407
|
-
const
|
408
|
-
SelectorEngine__default
|
409
|
+
_initializeChildren() {
|
410
|
+
if (!this._config.parent) {
|
411
|
+
return;
|
412
|
+
}
|
413
|
+
|
414
|
+
const children = SelectorEngine__default.default.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent);
|
415
|
+
SelectorEngine__default.default.find(SELECTOR_DATA_TOGGLE, this._config.parent).filter(elem => !children.includes(elem)).forEach(element => {
|
409
416
|
const selected = getElementFromSelector(element);
|
410
417
|
|
411
|
-
|
418
|
+
if (selected) {
|
419
|
+
this._addAriaAndCollapsedClass([element], this._isShown(selected));
|
420
|
+
}
|
412
421
|
});
|
413
|
-
return parent;
|
414
422
|
}
|
415
423
|
|
416
|
-
_addAriaAndCollapsedClass(
|
417
|
-
if (!
|
424
|
+
_addAriaAndCollapsedClass(triggerArray, isOpen) {
|
425
|
+
if (!triggerArray.length) {
|
418
426
|
return;
|
419
427
|
}
|
420
428
|
|
421
|
-
const isOpen = element.classList.contains(CLASS_NAME_SHOW);
|
422
429
|
triggerArray.forEach(elem => {
|
423
430
|
if (isOpen) {
|
424
431
|
elem.classList.remove(CLASS_NAME_COLLAPSED);
|
@@ -431,33 +438,23 @@
|
|
431
438
|
} // Static
|
432
439
|
|
433
440
|
|
434
|
-
static
|
435
|
-
|
436
|
-
|
437
|
-
...Manipulator__default['default'].getDataAttributes(element),
|
438
|
-
...(typeof config === 'object' && config ? config : {})
|
439
|
-
};
|
440
|
-
|
441
|
-
if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
|
442
|
-
_config.toggle = false;
|
443
|
-
}
|
444
|
-
|
445
|
-
if (!data) {
|
446
|
-
data = new Collapse(element, _config);
|
447
|
-
}
|
441
|
+
static jQueryInterface(config) {
|
442
|
+
return this.each(function () {
|
443
|
+
const _config = {};
|
448
444
|
|
449
|
-
|
450
|
-
|
451
|
-
throw new TypeError(`No method named "${config}"`);
|
445
|
+
if (typeof config === 'string' && /show|hide/.test(config)) {
|
446
|
+
_config.toggle = false;
|
452
447
|
}
|
453
448
|
|
454
|
-
data
|
455
|
-
}
|
456
|
-
}
|
449
|
+
const data = Collapse.getOrCreateInstance(this, _config);
|
457
450
|
|
458
|
-
|
459
|
-
|
460
|
-
|
451
|
+
if (typeof config === 'string') {
|
452
|
+
if (typeof data[config] === 'undefined') {
|
453
|
+
throw new TypeError(`No method named "${config}"`);
|
454
|
+
}
|
455
|
+
|
456
|
+
data[config]();
|
457
|
+
}
|
461
458
|
});
|
462
459
|
}
|
463
460
|
|
@@ -469,32 +466,18 @@
|
|
469
466
|
*/
|
470
467
|
|
471
468
|
|
472
|
-
EventHandler__default
|
469
|
+
EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
|
473
470
|
// preventDefault only for <a> elements (which change the URL) not inside the collapsible element
|
474
471
|
if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
|
475
472
|
event.preventDefault();
|
476
473
|
}
|
477
474
|
|
478
|
-
const triggerData = Manipulator__default['default'].getDataAttributes(this);
|
479
475
|
const selector = getSelectorFromElement(this);
|
480
|
-
const selectorElements = SelectorEngine__default
|
476
|
+
const selectorElements = SelectorEngine__default.default.find(selector);
|
481
477
|
selectorElements.forEach(element => {
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
if (data) {
|
486
|
-
// update parent attribute
|
487
|
-
if (data._parent === null && typeof triggerData.parent === 'string') {
|
488
|
-
data._config.parent = triggerData.parent;
|
489
|
-
data._parent = data._getParent();
|
490
|
-
}
|
491
|
-
|
492
|
-
config = 'toggle';
|
493
|
-
} else {
|
494
|
-
config = triggerData;
|
495
|
-
}
|
496
|
-
|
497
|
-
Collapse.collapseInterface(element, config);
|
478
|
+
Collapse.getOrCreateInstance(element, {
|
479
|
+
toggle: false
|
480
|
+
}).toggle();
|
498
481
|
});
|
499
482
|
});
|
500
483
|
/**
|
@@ -508,4 +491,4 @@
|
|
508
491
|
|
509
492
|
return Collapse;
|
510
493
|
|
511
|
-
}))
|
494
|
+
}));
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap data.js v5.
|
2
|
+
* Bootstrap data.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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
|
*/
|
@@ -7,11 +7,11 @@
|
|
7
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
8
8
|
typeof define === 'function' && define.amd ? define(factory) :
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Data = factory());
|
10
|
-
}(this, (function () { 'use strict';
|
10
|
+
})(this, (function () { 'use strict';
|
11
11
|
|
12
12
|
/**
|
13
13
|
* --------------------------------------------------------------------------
|
14
|
-
* Bootstrap (v5.
|
14
|
+
* Bootstrap (v5.1.3): dom/data.js
|
15
15
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16
16
|
* --------------------------------------------------------------------------
|
17
17
|
*/
|
@@ -22,7 +22,7 @@
|
|
22
22
|
* ------------------------------------------------------------------------
|
23
23
|
*/
|
24
24
|
const elementMap = new Map();
|
25
|
-
|
25
|
+
const data = {
|
26
26
|
set(element, key, instance) {
|
27
27
|
if (!elementMap.has(element)) {
|
28
28
|
elementMap.set(element, new Map());
|
@@ -65,4 +65,4 @@
|
|
65
65
|
|
66
66
|
return data;
|
67
67
|
|
68
|
-
}))
|
68
|
+
}));
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap event-handler.js v5.
|
2
|
+
* Bootstrap event-handler.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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
|
*/
|
@@ -7,7 +7,14 @@
|
|
7
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
8
8
|
typeof define === 'function' && define.amd ? define(factory) :
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.EventHandler = factory());
|
10
|
-
}(this, (function () { 'use strict';
|
10
|
+
})(this, (function () { 'use strict';
|
11
|
+
|
12
|
+
/**
|
13
|
+
* --------------------------------------------------------------------------
|
14
|
+
* Bootstrap (v5.1.3): util/index.js
|
15
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16
|
+
* --------------------------------------------------------------------------
|
17
|
+
*/
|
11
18
|
|
12
19
|
const getjQuery = () => {
|
13
20
|
const {
|
@@ -23,7 +30,7 @@
|
|
23
30
|
|
24
31
|
/**
|
25
32
|
* --------------------------------------------------------------------------
|
26
|
-
* Bootstrap (v5.
|
33
|
+
* Bootstrap (v5.1.3): dom/event-handler.js
|
27
34
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
28
35
|
* --------------------------------------------------------------------------
|
29
36
|
*/
|
@@ -86,7 +93,6 @@
|
|
86
93
|
event.delegateTarget = target;
|
87
94
|
|
88
95
|
if (handler.oneOff) {
|
89
|
-
// eslint-disable-next-line unicorn/consistent-destructuring
|
90
96
|
EventHandler.off(element, event.type, selector, fn);
|
91
97
|
}
|
92
98
|
|
@@ -312,4 +318,4 @@
|
|
312
318
|
|
313
319
|
return EventHandler;
|
314
320
|
|
315
|
-
}))
|
321
|
+
}));
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap manipulator.js v5.
|
2
|
+
* Bootstrap manipulator.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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
|
*/
|
@@ -7,11 +7,11 @@
|
|
7
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
8
8
|
typeof define === 'function' && define.amd ? define(factory) :
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Manipulator = factory());
|
10
|
-
}(this, (function () { 'use strict';
|
10
|
+
})(this, (function () { 'use strict';
|
11
11
|
|
12
12
|
/**
|
13
13
|
* --------------------------------------------------------------------------
|
14
|
-
* Bootstrap (v5.
|
14
|
+
* Bootstrap (v5.1.3): dom/manipulator.js
|
15
15
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16
16
|
* --------------------------------------------------------------------------
|
17
17
|
*/
|
@@ -69,8 +69,8 @@
|
|
69
69
|
offset(element) {
|
70
70
|
const rect = element.getBoundingClientRect();
|
71
71
|
return {
|
72
|
-
top: rect.top +
|
73
|
-
left: rect.left +
|
72
|
+
top: rect.top + window.pageYOffset,
|
73
|
+
left: rect.left + window.pageXOffset
|
74
74
|
};
|
75
75
|
},
|
76
76
|
|
@@ -85,4 +85,4 @@
|
|
85
85
|
|
86
86
|
return Manipulator;
|
87
87
|
|
88
|
-
}))
|
88
|
+
}));
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap selector-engine.js v5.
|
2
|
+
* Bootstrap selector-engine.js v5.1.3 (https://getbootstrap.com/)
|
3
3
|
* Copyright 2011-2021 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
|
*/
|
@@ -7,19 +7,56 @@
|
|
7
7
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
8
8
|
typeof define === 'function' && define.amd ? define(factory) :
|
9
9
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SelectorEngine = factory());
|
10
|
-
}(this, (function () { 'use strict';
|
10
|
+
})(this, (function () { 'use strict';
|
11
11
|
|
12
12
|
/**
|
13
13
|
* --------------------------------------------------------------------------
|
14
|
-
* Bootstrap (v5.
|
14
|
+
* Bootstrap (v5.1.3): util/index.js
|
15
15
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
16
16
|
* --------------------------------------------------------------------------
|
17
17
|
*/
|
18
18
|
|
19
|
+
const isElement = obj => {
|
20
|
+
if (!obj || typeof obj !== 'object') {
|
21
|
+
return false;
|
22
|
+
}
|
23
|
+
|
24
|
+
if (typeof obj.jquery !== 'undefined') {
|
25
|
+
obj = obj[0];
|
26
|
+
}
|
27
|
+
|
28
|
+
return typeof obj.nodeType !== 'undefined';
|
29
|
+
};
|
30
|
+
|
31
|
+
const isVisible = element => {
|
32
|
+
if (!isElement(element) || element.getClientRects().length === 0) {
|
33
|
+
return false;
|
34
|
+
}
|
35
|
+
|
36
|
+
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
|
37
|
+
};
|
38
|
+
|
39
|
+
const isDisabled = element => {
|
40
|
+
if (!element || element.nodeType !== Node.ELEMENT_NODE) {
|
41
|
+
return true;
|
42
|
+
}
|
43
|
+
|
44
|
+
if (element.classList.contains('disabled')) {
|
45
|
+
return true;
|
46
|
+
}
|
47
|
+
|
48
|
+
if (typeof element.disabled !== 'undefined') {
|
49
|
+
return element.disabled;
|
50
|
+
}
|
51
|
+
|
52
|
+
return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false';
|
53
|
+
};
|
54
|
+
|
19
55
|
/**
|
20
|
-
*
|
21
|
-
*
|
22
|
-
*
|
56
|
+
* --------------------------------------------------------------------------
|
57
|
+
* Bootstrap (v5.1.3): dom/selector-engine.js
|
58
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
59
|
+
* --------------------------------------------------------------------------
|
23
60
|
*/
|
24
61
|
const NODE_TEXT = 3;
|
25
62
|
const SelectorEngine = {
|
@@ -76,10 +113,15 @@
|
|
76
113
|
}
|
77
114
|
|
78
115
|
return [];
|
116
|
+
},
|
117
|
+
|
118
|
+
focusableChildren(element) {
|
119
|
+
const focusables = ['a', 'button', 'input', 'textarea', 'select', 'details', '[tabindex]', '[contenteditable="true"]'].map(selector => `${selector}:not([tabindex^="-"])`).join(', ');
|
120
|
+
return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el));
|
79
121
|
}
|
80
122
|
|
81
123
|
};
|
82
124
|
|
83
125
|
return SelectorEngine;
|
84
126
|
|
85
|
-
}))
|
127
|
+
}));
|