bootstrap 5.0.1 → 5.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/assets/javascripts/bootstrap/alert.js +89 -58
- data/assets/javascripts/bootstrap/base-component.js +53 -39
- data/assets/javascripts/bootstrap/button.js +31 -25
- data/assets/javascripts/bootstrap/carousel.js +126 -89
- data/assets/javascripts/bootstrap/collapse.js +125 -133
- 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 +147 -140
- data/assets/javascripts/bootstrap/modal.js +397 -180
- data/assets/javascripts/bootstrap/offcanvas.js +333 -138
- data/assets/javascripts/bootstrap/popover.js +36 -54
- data/assets/javascripts/bootstrap/scrollspy.js +58 -68
- data/assets/javascripts/bootstrap/tab.js +53 -26
- data/assets/javascripts/bootstrap/toast.js +138 -41
- data/assets/javascripts/bootstrap/tooltip.js +137 -120
- data/assets/javascripts/bootstrap-sprockets.js +8 -8
- data/assets/javascripts/bootstrap.js +937 -886
- 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/_buttons.scss +1 -0
- data/assets/stylesheets/bootstrap/_card.scss +7 -6
- data/assets/stylesheets/bootstrap/_carousel.scss +2 -2
- data/assets/stylesheets/bootstrap/_dropdown.scss +4 -4
- data/assets/stylesheets/bootstrap/_functions.scss +100 -3
- data/assets/stylesheets/bootstrap/_grid.scss +11 -0
- data/assets/stylesheets/bootstrap/_helpers.scss +2 -0
- data/assets/stylesheets/bootstrap/_images.scss +1 -1
- data/assets/stylesheets/bootstrap/_mixins.scss +1 -0
- data/assets/stylesheets/bootstrap/_modal.scss +5 -15
- data/assets/stylesheets/bootstrap/_navbar.scss +30 -1
- data/assets/stylesheets/bootstrap/_offcanvas.scss +8 -2
- data/assets/stylesheets/bootstrap/_placeholders.scss +51 -0
- data/assets/stylesheets/bootstrap/_popover.scss +10 -10
- data/assets/stylesheets/bootstrap/_reboot.scss +12 -8
- data/assets/stylesheets/bootstrap/_root.scss +40 -2
- data/assets/stylesheets/bootstrap/_tables.scss +9 -5
- data/assets/stylesheets/bootstrap/_toasts.scss +3 -3
- data/assets/stylesheets/bootstrap/_tooltip.scss +4 -4
- data/assets/stylesheets/bootstrap/_transitions.scss +6 -0
- data/assets/stylesheets/bootstrap/_utilities.scss +44 -8
- data/assets/stylesheets/bootstrap/_variables.scss +206 -29
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_floating-labels.scss +3 -1
- data/assets/stylesheets/bootstrap/forms/_form-check.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-range.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-select.scss +5 -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/_buttons.scss +1 -1
- data/assets/stylesheets/bootstrap/mixins/_grid.scss +35 -9
- data/assets/stylesheets/bootstrap/mixins/_utilities.scss +27 -6
- data/assets/stylesheets/bootstrap/mixins/_visually-hidden.scss +1 -1
- data/assets/stylesheets/bootstrap/vendor/_rfs.scss +55 -13
- data/bootstrap.gemspec +3 -3
- data/lib/bootstrap/version.rb +2 -2
- data/tasks/updater/js.rb +6 -2
- metadata +12 -8
@@ -1,22 +1,27 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap carousel.js v5.
|
2
|
+
* Bootstrap carousel.js v5.1.2 (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.Carousel = factory(global.
|
10
|
-
}(this, (function (
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(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/event-handler', './dom/manipulator', './dom/selector-engine', './base-component'], factory) :
|
9
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory(global.EventHandler, global.Manipulator, global.SelectorEngine, global.Base));
|
10
|
+
})(this, (function (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
|
-
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
14
|
+
const EventHandler__default = /*#__PURE__*/_interopDefaultLegacy(EventHandler);
|
15
|
+
const Manipulator__default = /*#__PURE__*/_interopDefaultLegacy(Manipulator);
|
16
|
+
const SelectorEngine__default = /*#__PURE__*/_interopDefaultLegacy(SelectorEngine);
|
17
|
+
const BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
19
18
|
|
19
|
+
/**
|
20
|
+
* --------------------------------------------------------------------------
|
21
|
+
* Bootstrap (v5.1.2): util/index.js
|
22
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
23
|
+
* --------------------------------------------------------------------------
|
24
|
+
*/
|
20
25
|
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
21
26
|
|
22
27
|
const toType = obj => {
|
@@ -85,20 +90,26 @@
|
|
85
90
|
};
|
86
91
|
|
87
92
|
const isVisible = element => {
|
88
|
-
if (!element) {
|
93
|
+
if (!isElement(element) || element.getClientRects().length === 0) {
|
89
94
|
return false;
|
90
95
|
}
|
91
96
|
|
92
|
-
|
93
|
-
const elementStyle = getComputedStyle(element);
|
94
|
-
const parentNodeStyle = getComputedStyle(element.parentNode);
|
95
|
-
return elementStyle.display !== 'none' && parentNodeStyle.display !== 'none' && elementStyle.visibility !== 'hidden';
|
96
|
-
}
|
97
|
-
|
98
|
-
return false;
|
97
|
+
return getComputedStyle(element).getPropertyValue('visibility') === 'visible';
|
99
98
|
};
|
99
|
+
/**
|
100
|
+
* Trick to restart an element's animation
|
101
|
+
*
|
102
|
+
* @param {HTMLElement} element
|
103
|
+
* @return void
|
104
|
+
*
|
105
|
+
* @see https://www.charistheo.io/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation
|
106
|
+
*/
|
100
107
|
|
101
|
-
|
108
|
+
|
109
|
+
const reflow = element => {
|
110
|
+
// eslint-disable-next-line no-unused-expressions
|
111
|
+
element.offsetHeight;
|
112
|
+
};
|
102
113
|
|
103
114
|
const getjQuery = () => {
|
104
115
|
const {
|
@@ -112,9 +123,18 @@
|
|
112
123
|
return null;
|
113
124
|
};
|
114
125
|
|
126
|
+
const DOMContentLoadedCallbacks = [];
|
127
|
+
|
115
128
|
const onDOMContentLoaded = callback => {
|
116
129
|
if (document.readyState === 'loading') {
|
117
|
-
document
|
130
|
+
// add listener on the first call when the document is in loading state
|
131
|
+
if (!DOMContentLoadedCallbacks.length) {
|
132
|
+
document.addEventListener('DOMContentLoaded', () => {
|
133
|
+
DOMContentLoadedCallbacks.forEach(callback => callback());
|
134
|
+
});
|
135
|
+
}
|
136
|
+
|
137
|
+
DOMContentLoadedCallbacks.push(callback);
|
118
138
|
} else {
|
119
139
|
callback();
|
120
140
|
}
|
@@ -140,10 +160,37 @@
|
|
140
160
|
}
|
141
161
|
});
|
142
162
|
};
|
163
|
+
/**
|
164
|
+
* Return the previous/next element of a list.
|
165
|
+
*
|
166
|
+
* @param {array} list The list of elements
|
167
|
+
* @param activeElement The active element
|
168
|
+
* @param shouldGetNext Choose to get next or previous element
|
169
|
+
* @param isCycleAllowed
|
170
|
+
* @return {Element|elem} The proper element
|
171
|
+
*/
|
172
|
+
|
173
|
+
|
174
|
+
const getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {
|
175
|
+
let index = list.indexOf(activeElement); // if the element does not exist in the list return an element depending on the direction and if cycle is allowed
|
176
|
+
|
177
|
+
if (index === -1) {
|
178
|
+
return list[!shouldGetNext && isCycleAllowed ? list.length - 1 : 0];
|
179
|
+
}
|
180
|
+
|
181
|
+
const listLength = list.length;
|
182
|
+
index += shouldGetNext ? 1 : -1;
|
183
|
+
|
184
|
+
if (isCycleAllowed) {
|
185
|
+
index = (index + listLength) % listLength;
|
186
|
+
}
|
187
|
+
|
188
|
+
return list[Math.max(0, Math.min(index, listLength - 1))];
|
189
|
+
};
|
143
190
|
|
144
191
|
/**
|
145
192
|
* --------------------------------------------------------------------------
|
146
|
-
* Bootstrap (v5.
|
193
|
+
* Bootstrap (v5.1.2): carousel.js
|
147
194
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
148
195
|
* --------------------------------------------------------------------------
|
149
196
|
*/
|
@@ -182,6 +229,10 @@
|
|
182
229
|
const ORDER_PREV = 'prev';
|
183
230
|
const DIRECTION_LEFT = 'left';
|
184
231
|
const DIRECTION_RIGHT = 'right';
|
232
|
+
const KEY_TO_DIRECTION = {
|
233
|
+
[ARROW_LEFT_KEY]: DIRECTION_RIGHT,
|
234
|
+
[ARROW_RIGHT_KEY]: DIRECTION_LEFT
|
235
|
+
};
|
185
236
|
const EVENT_SLIDE = `slide${EVENT_KEY}`;
|
186
237
|
const EVENT_SLID = `slid${EVENT_KEY}`;
|
187
238
|
const EVENT_KEYDOWN = `keydown${EVENT_KEY}`;
|
@@ -220,7 +271,7 @@
|
|
220
271
|
* ------------------------------------------------------------------------
|
221
272
|
*/
|
222
273
|
|
223
|
-
class Carousel extends BaseComponent__default
|
274
|
+
class Carousel extends BaseComponent__default.default {
|
224
275
|
constructor(element, config) {
|
225
276
|
super(element);
|
226
277
|
this._items = null;
|
@@ -232,7 +283,7 @@
|
|
232
283
|
this.touchStartX = 0;
|
233
284
|
this.touchDeltaX = 0;
|
234
285
|
this._config = this._getConfig(config);
|
235
|
-
this._indicatorsElement = SelectorEngine__default
|
286
|
+
this._indicatorsElement = SelectorEngine__default.default.findOne(SELECTOR_INDICATORS, this._element);
|
236
287
|
this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;
|
237
288
|
this._pointerEvent = Boolean(window.PointerEvent);
|
238
289
|
|
@@ -250,9 +301,7 @@
|
|
250
301
|
|
251
302
|
|
252
303
|
next() {
|
253
|
-
|
254
|
-
this._slide(ORDER_NEXT);
|
255
|
-
}
|
304
|
+
this._slide(ORDER_NEXT);
|
256
305
|
}
|
257
306
|
|
258
307
|
nextWhenVisible() {
|
@@ -264,9 +313,7 @@
|
|
264
313
|
}
|
265
314
|
|
266
315
|
prev() {
|
267
|
-
|
268
|
-
this._slide(ORDER_PREV);
|
269
|
-
}
|
316
|
+
this._slide(ORDER_PREV);
|
270
317
|
}
|
271
318
|
|
272
319
|
pause(event) {
|
@@ -274,7 +321,7 @@
|
|
274
321
|
this._isPaused = true;
|
275
322
|
}
|
276
323
|
|
277
|
-
if (SelectorEngine__default
|
324
|
+
if (SelectorEngine__default.default.findOne(SELECTOR_NEXT_PREV, this._element)) {
|
278
325
|
triggerTransitionEnd(this._element);
|
279
326
|
this.cycle(true);
|
280
327
|
}
|
@@ -301,7 +348,7 @@
|
|
301
348
|
}
|
302
349
|
|
303
350
|
to(index) {
|
304
|
-
this._activeElement = SelectorEngine__default
|
351
|
+
this._activeElement = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);
|
305
352
|
|
306
353
|
const activeIndex = this._getItemIndex(this._activeElement);
|
307
354
|
|
@@ -310,7 +357,7 @@
|
|
310
357
|
}
|
311
358
|
|
312
359
|
if (this._isSliding) {
|
313
|
-
EventHandler__default
|
360
|
+
EventHandler__default.default.one(this._element, EVENT_SLID, () => this.to(index));
|
314
361
|
return;
|
315
362
|
}
|
316
363
|
|
@@ -328,7 +375,8 @@
|
|
328
375
|
|
329
376
|
_getConfig(config) {
|
330
377
|
config = { ...Default,
|
331
|
-
...
|
378
|
+
...Manipulator__default.default.getDataAttributes(this._element),
|
379
|
+
...(typeof config === 'object' ? config : {})
|
332
380
|
};
|
333
381
|
typeCheckConfig(NAME, config, DefaultType);
|
334
382
|
return config;
|
@@ -353,12 +401,12 @@
|
|
353
401
|
|
354
402
|
_addEventListeners() {
|
355
403
|
if (this._config.keyboard) {
|
356
|
-
EventHandler__default
|
404
|
+
EventHandler__default.default.on(this._element, EVENT_KEYDOWN, event => this._keydown(event));
|
357
405
|
}
|
358
406
|
|
359
407
|
if (this._config.pause === 'hover') {
|
360
|
-
EventHandler__default
|
361
|
-
EventHandler__default
|
408
|
+
EventHandler__default.default.on(this._element, EVENT_MOUSEENTER, event => this.pause(event));
|
409
|
+
EventHandler__default.default.on(this._element, EVENT_MOUSELEAVE, event => this.cycle(event));
|
362
410
|
}
|
363
411
|
|
364
412
|
if (this._config.touch && this._touchSupported) {
|
@@ -367,8 +415,12 @@
|
|
367
415
|
}
|
368
416
|
|
369
417
|
_addTouchEventListeners() {
|
418
|
+
const hasPointerPenTouch = event => {
|
419
|
+
return this._pointerEvent && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH);
|
420
|
+
};
|
421
|
+
|
370
422
|
const start = event => {
|
371
|
-
if (
|
423
|
+
if (hasPointerPenTouch(event)) {
|
372
424
|
this.touchStartX = event.clientX;
|
373
425
|
} else if (!this._pointerEvent) {
|
374
426
|
this.touchStartX = event.touches[0].clientX;
|
@@ -381,7 +433,7 @@
|
|
381
433
|
};
|
382
434
|
|
383
435
|
const end = event => {
|
384
|
-
if (
|
436
|
+
if (hasPointerPenTouch(event)) {
|
385
437
|
this.touchDeltaX = event.clientX - this.touchStartX;
|
386
438
|
}
|
387
439
|
|
@@ -405,19 +457,19 @@
|
|
405
457
|
}
|
406
458
|
};
|
407
459
|
|
408
|
-
SelectorEngine__default
|
409
|
-
EventHandler__default
|
460
|
+
SelectorEngine__default.default.find(SELECTOR_ITEM_IMG, this._element).forEach(itemImg => {
|
461
|
+
EventHandler__default.default.on(itemImg, EVENT_DRAG_START, event => event.preventDefault());
|
410
462
|
});
|
411
463
|
|
412
464
|
if (this._pointerEvent) {
|
413
|
-
EventHandler__default
|
414
|
-
EventHandler__default
|
465
|
+
EventHandler__default.default.on(this._element, EVENT_POINTERDOWN, event => start(event));
|
466
|
+
EventHandler__default.default.on(this._element, EVENT_POINTERUP, event => end(event));
|
415
467
|
|
416
468
|
this._element.classList.add(CLASS_NAME_POINTER_EVENT);
|
417
469
|
} else {
|
418
|
-
EventHandler__default
|
419
|
-
EventHandler__default
|
420
|
-
EventHandler__default
|
470
|
+
EventHandler__default.default.on(this._element, EVENT_TOUCHSTART, event => start(event));
|
471
|
+
EventHandler__default.default.on(this._element, EVENT_TOUCHMOVE, event => move(event));
|
472
|
+
EventHandler__default.default.on(this._element, EVENT_TOUCHEND, event => end(event));
|
421
473
|
}
|
422
474
|
}
|
423
475
|
|
@@ -426,46 +478,31 @@
|
|
426
478
|
return;
|
427
479
|
}
|
428
480
|
|
429
|
-
|
430
|
-
event.preventDefault();
|
481
|
+
const direction = KEY_TO_DIRECTION[event.key];
|
431
482
|
|
432
|
-
|
433
|
-
} else if (event.key === ARROW_RIGHT_KEY) {
|
483
|
+
if (direction) {
|
434
484
|
event.preventDefault();
|
435
485
|
|
436
|
-
this._slide(
|
486
|
+
this._slide(direction);
|
437
487
|
}
|
438
488
|
}
|
439
489
|
|
440
490
|
_getItemIndex(element) {
|
441
|
-
this._items = element && element.parentNode ? SelectorEngine__default
|
491
|
+
this._items = element && element.parentNode ? SelectorEngine__default.default.find(SELECTOR_ITEM, element.parentNode) : [];
|
442
492
|
return this._items.indexOf(element);
|
443
493
|
}
|
444
494
|
|
445
495
|
_getItemByOrder(order, activeElement) {
|
446
496
|
const isNext = order === ORDER_NEXT;
|
447
|
-
|
448
|
-
|
449
|
-
const activeIndex = this._getItemIndex(activeElement);
|
450
|
-
|
451
|
-
const lastItemIndex = this._items.length - 1;
|
452
|
-
const isGoingToWrap = isPrev && activeIndex === 0 || isNext && activeIndex === lastItemIndex;
|
453
|
-
|
454
|
-
if (isGoingToWrap && !this._config.wrap) {
|
455
|
-
return activeElement;
|
456
|
-
}
|
457
|
-
|
458
|
-
const delta = isPrev ? -1 : 1;
|
459
|
-
const itemIndex = (activeIndex + delta) % this._items.length;
|
460
|
-
return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
|
497
|
+
return getNextActiveElement(this._items, activeElement, isNext, this._config.wrap);
|
461
498
|
}
|
462
499
|
|
463
500
|
_triggerSlideEvent(relatedTarget, eventDirectionName) {
|
464
501
|
const targetIndex = this._getItemIndex(relatedTarget);
|
465
502
|
|
466
|
-
const fromIndex = this._getItemIndex(SelectorEngine__default
|
503
|
+
const fromIndex = this._getItemIndex(SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element));
|
467
504
|
|
468
|
-
return EventHandler__default
|
505
|
+
return EventHandler__default.default.trigger(this._element, EVENT_SLIDE, {
|
469
506
|
relatedTarget,
|
470
507
|
direction: eventDirectionName,
|
471
508
|
from: fromIndex,
|
@@ -475,10 +512,10 @@
|
|
475
512
|
|
476
513
|
_setActiveIndicatorElement(element) {
|
477
514
|
if (this._indicatorsElement) {
|
478
|
-
const activeIndicator = SelectorEngine__default
|
515
|
+
const activeIndicator = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
|
479
516
|
activeIndicator.classList.remove(CLASS_NAME_ACTIVE);
|
480
517
|
activeIndicator.removeAttribute('aria-current');
|
481
|
-
const indicators = SelectorEngine__default
|
518
|
+
const indicators = SelectorEngine__default.default.find(SELECTOR_INDICATOR, this._indicatorsElement);
|
482
519
|
|
483
520
|
for (let i = 0; i < indicators.length; i++) {
|
484
521
|
if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {
|
@@ -491,7 +528,7 @@
|
|
491
528
|
}
|
492
529
|
|
493
530
|
_updateInterval() {
|
494
|
-
const element = this._activeElement || SelectorEngine__default
|
531
|
+
const element = this._activeElement || SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);
|
495
532
|
|
496
533
|
if (!element) {
|
497
534
|
return;
|
@@ -510,7 +547,7 @@
|
|
510
547
|
_slide(directionOrOrder, element) {
|
511
548
|
const order = this._directionToOrder(directionOrOrder);
|
512
549
|
|
513
|
-
const activeElement = SelectorEngine__default
|
550
|
+
const activeElement = SelectorEngine__default.default.findOne(SELECTOR_ACTIVE_ITEM, this._element);
|
514
551
|
|
515
552
|
const activeElementIndex = this._getItemIndex(activeElement);
|
516
553
|
|
@@ -530,6 +567,10 @@
|
|
530
567
|
return;
|
531
568
|
}
|
532
569
|
|
570
|
+
if (this._isSliding) {
|
571
|
+
return;
|
572
|
+
}
|
573
|
+
|
533
574
|
const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
|
534
575
|
|
535
576
|
if (slideEvent.defaultPrevented) {
|
@@ -552,7 +593,7 @@
|
|
552
593
|
this._activeElement = nextElement;
|
553
594
|
|
554
595
|
const triggerSlidEvent = () => {
|
555
|
-
EventHandler__default
|
596
|
+
EventHandler__default.default.trigger(this._element, EVENT_SLID, {
|
556
597
|
relatedTarget: nextElement,
|
557
598
|
direction: eventDirectionName,
|
558
599
|
from: activeElementIndex,
|
@@ -613,10 +654,10 @@
|
|
613
654
|
|
614
655
|
|
615
656
|
static carouselInterface(element, config) {
|
616
|
-
|
617
|
-
let
|
618
|
-
|
619
|
-
};
|
657
|
+
const data = Carousel.getOrCreateInstance(element, config);
|
658
|
+
let {
|
659
|
+
_config
|
660
|
+
} = data;
|
620
661
|
|
621
662
|
if (typeof config === 'object') {
|
622
663
|
_config = { ..._config,
|
@@ -626,10 +667,6 @@
|
|
626
667
|
|
627
668
|
const action = typeof config === 'string' ? config : _config.slide;
|
628
669
|
|
629
|
-
if (!data) {
|
630
|
-
data = new Carousel(element, _config);
|
631
|
-
}
|
632
|
-
|
633
670
|
if (typeof config === 'number') {
|
634
671
|
data.to(config);
|
635
672
|
} else if (typeof action === 'string') {
|
@@ -657,8 +694,8 @@
|
|
657
694
|
return;
|
658
695
|
}
|
659
696
|
|
660
|
-
const config = { ...Manipulator__default
|
661
|
-
...Manipulator__default
|
697
|
+
const config = { ...Manipulator__default.default.getDataAttributes(target),
|
698
|
+
...Manipulator__default.default.getDataAttributes(this)
|
662
699
|
};
|
663
700
|
const slideIndex = this.getAttribute('data-bs-slide-to');
|
664
701
|
|
@@ -669,7 +706,7 @@
|
|
669
706
|
Carousel.carouselInterface(target, config);
|
670
707
|
|
671
708
|
if (slideIndex) {
|
672
|
-
|
709
|
+
Carousel.getInstance(target).to(slideIndex);
|
673
710
|
}
|
674
711
|
|
675
712
|
event.preventDefault();
|
@@ -683,12 +720,12 @@
|
|
683
720
|
*/
|
684
721
|
|
685
722
|
|
686
|
-
EventHandler__default
|
687
|
-
EventHandler__default
|
688
|
-
const carousels = SelectorEngine__default
|
723
|
+
EventHandler__default.default.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
|
724
|
+
EventHandler__default.default.on(window, EVENT_LOAD_DATA_API, () => {
|
725
|
+
const carousels = SelectorEngine__default.default.find(SELECTOR_DATA_RIDE);
|
689
726
|
|
690
727
|
for (let i = 0, len = carousels.length; i < len; i++) {
|
691
|
-
Carousel.carouselInterface(carousels[i],
|
728
|
+
Carousel.carouselInterface(carousels[i], Carousel.getInstance(carousels[i]));
|
692
729
|
}
|
693
730
|
});
|
694
731
|
/**
|
@@ -702,4 +739,4 @@
|
|
702
739
|
|
703
740
|
return Carousel;
|
704
741
|
|
705
|
-
}))
|
742
|
+
}));
|