bootstrap 5.0.0 → 5.0.1
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 +1 -1
- data/assets/javascripts/bootstrap-sprockets.js +8 -8
- data/assets/javascripts/bootstrap.js +329 -377
- data/assets/javascripts/bootstrap.min.js +2 -2
- data/assets/javascripts/bootstrap/alert.js +13 -73
- data/assets/javascripts/bootstrap/base-component.js +115 -10
- data/assets/javascripts/bootstrap/button.js +11 -17
- data/assets/javascripts/bootstrap/carousel.js +35 -85
- data/assets/javascripts/bootstrap/collapse.js +34 -82
- data/assets/javascripts/bootstrap/dom/data.js +2 -2
- data/assets/javascripts/bootstrap/dom/event-handler.js +2 -9
- data/assets/javascripts/bootstrap/dom/manipulator.js +2 -2
- data/assets/javascripts/bootstrap/dom/selector-engine.js +2 -2
- data/assets/javascripts/bootstrap/dropdown.js +41 -38
- data/assets/javascripts/bootstrap/modal.js +31 -43
- data/assets/javascripts/bootstrap/offcanvas.js +25 -25
- data/assets/javascripts/bootstrap/popover.js +11 -25
- data/assets/javascripts/bootstrap/scrollspy.js +26 -21
- data/assets/javascripts/bootstrap/tab.js +14 -68
- data/assets/javascripts/bootstrap/toast.js +69 -77
- data/assets/javascripts/bootstrap/tooltip.js +71 -135
- data/assets/stylesheets/_bootstrap-grid.scss +1 -1
- data/assets/stylesheets/_bootstrap-reboot.scss +1 -1
- data/assets/stylesheets/_bootstrap.scss +1 -1
- data/assets/stylesheets/bootstrap/_list-group.scss +5 -5
- data/assets/stylesheets/bootstrap/_modal.scss +2 -11
- data/assets/stylesheets/bootstrap/_tables.scss +1 -0
- data/assets/stylesheets/bootstrap/bootstrap-utilities.scss +1 -1
- data/assets/stylesheets/bootstrap/forms/_form-control.scss +5 -5
- data/assets/stylesheets/bootstrap/mixins/_forms.scss +8 -1
- data/lib/bootstrap/version.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e00e53f08ddcb226fbc4ba5d5d0803e9040879a2d260d3597304550b6a9bff0b
|
4
|
+
data.tar.gz: 0f239d578988e6faa40b51476f065b64f2b6ba84f291f2a71209aa1609bc6d91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 40448c17c92f5767dc6791b559a129d2842f74ad667d8cb21402058383bad293dbd37cd0173fae40ecf1b8f8620ff3d37f932631056bcdae1ac7b99275d6a2b8
|
7
|
+
data.tar.gz: 79518238b77d51ece52c474e17aeba9a1dc6af2567c376e22e1f45fb0b43e95966b6d184837aceb5dd33b7825fcd514e5f6ae9f60537262707a0464974599f8d
|
data/README.md
CHANGED
@@ -2,18 +2,18 @@
|
|
2
2
|
//= require ./bootstrap/dom/data
|
3
3
|
//= require ./bootstrap/dom/event-handler
|
4
4
|
//= require ./bootstrap/base-component
|
5
|
-
//= require ./bootstrap/alert
|
6
|
-
//= require ./bootstrap/button
|
7
5
|
//= require ./bootstrap/dom/manipulator
|
8
6
|
//= require ./bootstrap/dom/selector-engine
|
9
|
-
//= require ./bootstrap/carousel
|
10
|
-
//= require ./bootstrap/collapse
|
11
7
|
//= require ./bootstrap/dropdown
|
12
|
-
//= require ./bootstrap/
|
13
|
-
//= require ./bootstrap/
|
8
|
+
//= require ./bootstrap/scrollspy
|
9
|
+
//= require ./bootstrap/alert
|
10
|
+
//= require ./bootstrap/collapse
|
11
|
+
//= require ./bootstrap/toast
|
14
12
|
//= require ./bootstrap/tooltip
|
13
|
+
//= require ./bootstrap/offcanvas
|
15
14
|
//= require ./bootstrap/popover
|
16
|
-
//= require ./bootstrap/
|
15
|
+
//= require ./bootstrap/button
|
16
|
+
//= require ./bootstrap/modal
|
17
17
|
//= require ./bootstrap/tab
|
18
|
-
//= require ./bootstrap/
|
18
|
+
//= require ./bootstrap/carousel
|
19
19
|
//= require ./bootstrap-global-this-undefine
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Bootstrap v5.0.
|
2
|
+
* Bootstrap v5.0.1 (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
|
*/
|
@@ -33,10 +33,82 @@
|
|
33
33
|
|
34
34
|
/**
|
35
35
|
* --------------------------------------------------------------------------
|
36
|
-
* Bootstrap (v5.0.
|
36
|
+
* Bootstrap (v5.0.1): dom/selector-engine.js
|
37
37
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
38
38
|
* --------------------------------------------------------------------------
|
39
39
|
*/
|
40
|
+
|
41
|
+
/**
|
42
|
+
* ------------------------------------------------------------------------
|
43
|
+
* Constants
|
44
|
+
* ------------------------------------------------------------------------
|
45
|
+
*/
|
46
|
+
const NODE_TEXT = 3;
|
47
|
+
const SelectorEngine = {
|
48
|
+
find(selector, element = document.documentElement) {
|
49
|
+
return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
|
50
|
+
},
|
51
|
+
|
52
|
+
findOne(selector, element = document.documentElement) {
|
53
|
+
return Element.prototype.querySelector.call(element, selector);
|
54
|
+
},
|
55
|
+
|
56
|
+
children(element, selector) {
|
57
|
+
return [].concat(...element.children).filter(child => child.matches(selector));
|
58
|
+
},
|
59
|
+
|
60
|
+
parents(element, selector) {
|
61
|
+
const parents = [];
|
62
|
+
let ancestor = element.parentNode;
|
63
|
+
|
64
|
+
while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
|
65
|
+
if (ancestor.matches(selector)) {
|
66
|
+
parents.push(ancestor);
|
67
|
+
}
|
68
|
+
|
69
|
+
ancestor = ancestor.parentNode;
|
70
|
+
}
|
71
|
+
|
72
|
+
return parents;
|
73
|
+
},
|
74
|
+
|
75
|
+
prev(element, selector) {
|
76
|
+
let previous = element.previousElementSibling;
|
77
|
+
|
78
|
+
while (previous) {
|
79
|
+
if (previous.matches(selector)) {
|
80
|
+
return [previous];
|
81
|
+
}
|
82
|
+
|
83
|
+
previous = previous.previousElementSibling;
|
84
|
+
}
|
85
|
+
|
86
|
+
return [];
|
87
|
+
},
|
88
|
+
|
89
|
+
next(element, selector) {
|
90
|
+
let next = element.nextElementSibling;
|
91
|
+
|
92
|
+
while (next) {
|
93
|
+
if (next.matches(selector)) {
|
94
|
+
return [next];
|
95
|
+
}
|
96
|
+
|
97
|
+
next = next.nextElementSibling;
|
98
|
+
}
|
99
|
+
|
100
|
+
return [];
|
101
|
+
}
|
102
|
+
|
103
|
+
};
|
104
|
+
|
105
|
+
/**
|
106
|
+
* --------------------------------------------------------------------------
|
107
|
+
* Bootstrap (v5.0.1): util/index.js
|
108
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
109
|
+
* --------------------------------------------------------------------------
|
110
|
+
*/
|
111
|
+
|
40
112
|
const MAX_UID = 1000000;
|
41
113
|
const MILLISECONDS_MULTIPLIER = 1000;
|
42
114
|
const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)
|
@@ -129,7 +201,30 @@
|
|
129
201
|
element.dispatchEvent(new Event(TRANSITION_END));
|
130
202
|
};
|
131
203
|
|
132
|
-
const isElement = obj =>
|
204
|
+
const isElement = obj => {
|
205
|
+
if (!obj || typeof obj !== 'object') {
|
206
|
+
return false;
|
207
|
+
}
|
208
|
+
|
209
|
+
if (typeof obj.jquery !== 'undefined') {
|
210
|
+
obj = obj[0];
|
211
|
+
}
|
212
|
+
|
213
|
+
return typeof obj.nodeType !== 'undefined';
|
214
|
+
};
|
215
|
+
|
216
|
+
const getElement = obj => {
|
217
|
+
if (isElement(obj)) {
|
218
|
+
// it's a jQuery object or a node element
|
219
|
+
return obj.jquery ? obj[0] : obj;
|
220
|
+
}
|
221
|
+
|
222
|
+
if (typeof obj === 'string' && obj.length > 0) {
|
223
|
+
return SelectorEngine.findOne(obj);
|
224
|
+
}
|
225
|
+
|
226
|
+
return null;
|
227
|
+
};
|
133
228
|
|
134
229
|
const emulateTransitionEnd = (element, duration) => {
|
135
230
|
let called = false;
|
@@ -240,12 +335,13 @@
|
|
240
335
|
|
241
336
|
const isRTL = () => document.documentElement.dir === 'rtl';
|
242
337
|
|
243
|
-
const defineJQueryPlugin =
|
338
|
+
const defineJQueryPlugin = plugin => {
|
244
339
|
onDOMContentLoaded(() => {
|
245
340
|
const $ = getjQuery();
|
246
341
|
/* istanbul ignore if */
|
247
342
|
|
248
343
|
if ($) {
|
344
|
+
const name = plugin.NAME;
|
249
345
|
const JQUERY_NO_CONFLICT = $.fn[name];
|
250
346
|
$.fn[name] = plugin.jQueryInterface;
|
251
347
|
$.fn[name].Constructor = plugin;
|
@@ -266,7 +362,7 @@
|
|
266
362
|
|
267
363
|
/**
|
268
364
|
* --------------------------------------------------------------------------
|
269
|
-
* Bootstrap (v5.0.
|
365
|
+
* Bootstrap (v5.0.1): dom/data.js
|
270
366
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
271
367
|
* --------------------------------------------------------------------------
|
272
368
|
*/
|
@@ -320,7 +416,7 @@
|
|
320
416
|
|
321
417
|
/**
|
322
418
|
* --------------------------------------------------------------------------
|
323
|
-
* Bootstrap (v5.0.
|
419
|
+
* Bootstrap (v5.0.1): dom/event-handler.js
|
324
420
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
325
421
|
* --------------------------------------------------------------------------
|
326
422
|
*/
|
@@ -609,7 +705,7 @@
|
|
609
705
|
|
610
706
|
/**
|
611
707
|
* --------------------------------------------------------------------------
|
612
|
-
* Bootstrap (v5.0.
|
708
|
+
* Bootstrap (v5.0.1): base-component.js
|
613
709
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
614
710
|
* --------------------------------------------------------------------------
|
615
711
|
*/
|
@@ -619,11 +715,11 @@
|
|
619
715
|
* ------------------------------------------------------------------------
|
620
716
|
*/
|
621
717
|
|
622
|
-
const VERSION = '5.0.
|
718
|
+
const VERSION = '5.0.1';
|
623
719
|
|
624
720
|
class BaseComponent {
|
625
721
|
constructor(element) {
|
626
|
-
element =
|
722
|
+
element = getElement(element);
|
627
723
|
|
628
724
|
if (!element) {
|
629
725
|
return;
|
@@ -635,8 +731,21 @@
|
|
635
731
|
|
636
732
|
dispose() {
|
637
733
|
Data.remove(this._element, this.constructor.DATA_KEY);
|
638
|
-
EventHandler.off(this._element,
|
639
|
-
this.
|
734
|
+
EventHandler.off(this._element, this.constructor.EVENT_KEY);
|
735
|
+
Object.getOwnPropertyNames(this).forEach(propertyName => {
|
736
|
+
this[propertyName] = null;
|
737
|
+
});
|
738
|
+
}
|
739
|
+
|
740
|
+
_queueCallback(callback, element, isAnimated = true) {
|
741
|
+
if (!isAnimated) {
|
742
|
+
execute(callback);
|
743
|
+
return;
|
744
|
+
}
|
745
|
+
|
746
|
+
const transitionDuration = getTransitionDurationFromElement(element);
|
747
|
+
EventHandler.one(element, 'transitionend', () => execute(callback));
|
748
|
+
emulateTransitionEnd(element, transitionDuration);
|
640
749
|
}
|
641
750
|
/** Static */
|
642
751
|
|
@@ -649,11 +758,23 @@
|
|
649
758
|
return VERSION;
|
650
759
|
}
|
651
760
|
|
761
|
+
static get NAME() {
|
762
|
+
throw new Error('You have to implement the static method "NAME", for each component!');
|
763
|
+
}
|
764
|
+
|
765
|
+
static get DATA_KEY() {
|
766
|
+
return `bs.${this.NAME}`;
|
767
|
+
}
|
768
|
+
|
769
|
+
static get EVENT_KEY() {
|
770
|
+
return `.${this.DATA_KEY}`;
|
771
|
+
}
|
772
|
+
|
652
773
|
}
|
653
774
|
|
654
775
|
/**
|
655
776
|
* --------------------------------------------------------------------------
|
656
|
-
* Bootstrap (v5.0.
|
777
|
+
* Bootstrap (v5.0.1): alert.js
|
657
778
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
658
779
|
* --------------------------------------------------------------------------
|
659
780
|
*/
|
@@ -682,8 +803,8 @@
|
|
682
803
|
|
683
804
|
class Alert extends BaseComponent {
|
684
805
|
// Getters
|
685
|
-
static get
|
686
|
-
return
|
806
|
+
static get NAME() {
|
807
|
+
return NAME$c;
|
687
808
|
} // Public
|
688
809
|
|
689
810
|
|
@@ -710,16 +831,9 @@
|
|
710
831
|
|
711
832
|
_removeElement(element) {
|
712
833
|
element.classList.remove(CLASS_NAME_SHOW$9);
|
834
|
+
const isAnimated = element.classList.contains(CLASS_NAME_FADE$6);
|
713
835
|
|
714
|
-
|
715
|
-
this._destroyElement(element);
|
716
|
-
|
717
|
-
return;
|
718
|
-
}
|
719
|
-
|
720
|
-
const transitionDuration = getTransitionDurationFromElement(element);
|
721
|
-
EventHandler.one(element, 'transitionend', () => this._destroyElement(element));
|
722
|
-
emulateTransitionEnd(element, transitionDuration);
|
836
|
+
this._queueCallback(() => this._destroyElement(element), element, isAnimated);
|
723
837
|
}
|
724
838
|
|
725
839
|
_destroyElement(element) {
|
@@ -771,11 +885,11 @@
|
|
771
885
|
* add .Alert to jQuery only if jQuery is present
|
772
886
|
*/
|
773
887
|
|
774
|
-
defineJQueryPlugin(
|
888
|
+
defineJQueryPlugin(Alert);
|
775
889
|
|
776
890
|
/**
|
777
891
|
* --------------------------------------------------------------------------
|
778
|
-
* Bootstrap (v5.0.
|
892
|
+
* Bootstrap (v5.0.1): button.js
|
779
893
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
780
894
|
* --------------------------------------------------------------------------
|
781
895
|
*/
|
@@ -800,8 +914,8 @@
|
|
800
914
|
|
801
915
|
class Button extends BaseComponent {
|
802
916
|
// Getters
|
803
|
-
static get
|
804
|
-
return
|
917
|
+
static get NAME() {
|
918
|
+
return NAME$b;
|
805
919
|
} // Public
|
806
920
|
|
807
921
|
|
@@ -851,11 +965,11 @@
|
|
851
965
|
* add .Button to jQuery only if jQuery is present
|
852
966
|
*/
|
853
967
|
|
854
|
-
defineJQueryPlugin(
|
968
|
+
defineJQueryPlugin(Button);
|
855
969
|
|
856
970
|
/**
|
857
971
|
* --------------------------------------------------------------------------
|
858
|
-
* Bootstrap (v5.0.
|
972
|
+
* Bootstrap (v5.0.1): dom/manipulator.js
|
859
973
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
860
974
|
* --------------------------------------------------------------------------
|
861
975
|
*/
|
@@ -929,78 +1043,7 @@
|
|
929
1043
|
|
930
1044
|
/**
|
931
1045
|
* --------------------------------------------------------------------------
|
932
|
-
* Bootstrap (v5.0.
|
933
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
934
|
-
* --------------------------------------------------------------------------
|
935
|
-
*/
|
936
|
-
|
937
|
-
/**
|
938
|
-
* ------------------------------------------------------------------------
|
939
|
-
* Constants
|
940
|
-
* ------------------------------------------------------------------------
|
941
|
-
*/
|
942
|
-
const NODE_TEXT = 3;
|
943
|
-
const SelectorEngine = {
|
944
|
-
find(selector, element = document.documentElement) {
|
945
|
-
return [].concat(...Element.prototype.querySelectorAll.call(element, selector));
|
946
|
-
},
|
947
|
-
|
948
|
-
findOne(selector, element = document.documentElement) {
|
949
|
-
return Element.prototype.querySelector.call(element, selector);
|
950
|
-
},
|
951
|
-
|
952
|
-
children(element, selector) {
|
953
|
-
return [].concat(...element.children).filter(child => child.matches(selector));
|
954
|
-
},
|
955
|
-
|
956
|
-
parents(element, selector) {
|
957
|
-
const parents = [];
|
958
|
-
let ancestor = element.parentNode;
|
959
|
-
|
960
|
-
while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
|
961
|
-
if (ancestor.matches(selector)) {
|
962
|
-
parents.push(ancestor);
|
963
|
-
}
|
964
|
-
|
965
|
-
ancestor = ancestor.parentNode;
|
966
|
-
}
|
967
|
-
|
968
|
-
return parents;
|
969
|
-
},
|
970
|
-
|
971
|
-
prev(element, selector) {
|
972
|
-
let previous = element.previousElementSibling;
|
973
|
-
|
974
|
-
while (previous) {
|
975
|
-
if (previous.matches(selector)) {
|
976
|
-
return [previous];
|
977
|
-
}
|
978
|
-
|
979
|
-
previous = previous.previousElementSibling;
|
980
|
-
}
|
981
|
-
|
982
|
-
return [];
|
983
|
-
},
|
984
|
-
|
985
|
-
next(element, selector) {
|
986
|
-
let next = element.nextElementSibling;
|
987
|
-
|
988
|
-
while (next) {
|
989
|
-
if (next.matches(selector)) {
|
990
|
-
return [next];
|
991
|
-
}
|
992
|
-
|
993
|
-
next = next.nextElementSibling;
|
994
|
-
}
|
995
|
-
|
996
|
-
return [];
|
997
|
-
}
|
998
|
-
|
999
|
-
};
|
1000
|
-
|
1001
|
-
/**
|
1002
|
-
* --------------------------------------------------------------------------
|
1003
|
-
* Bootstrap (v5.0.0): carousel.js
|
1046
|
+
* Bootstrap (v5.0.1): carousel.js
|
1004
1047
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
1005
1048
|
* --------------------------------------------------------------------------
|
1006
1049
|
*/
|
@@ -1101,8 +1144,8 @@
|
|
1101
1144
|
return Default$9;
|
1102
1145
|
}
|
1103
1146
|
|
1104
|
-
static get
|
1105
|
-
return
|
1147
|
+
static get NAME() {
|
1148
|
+
return NAME$a;
|
1106
1149
|
} // Public
|
1107
1150
|
|
1108
1151
|
|
@@ -1180,17 +1223,6 @@
|
|
1180
1223
|
const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV;
|
1181
1224
|
|
1182
1225
|
this._slide(order, this._items[index]);
|
1183
|
-
}
|
1184
|
-
|
1185
|
-
dispose() {
|
1186
|
-
this._items = null;
|
1187
|
-
this._config = null;
|
1188
|
-
this._interval = null;
|
1189
|
-
this._isPaused = null;
|
1190
|
-
this._isSliding = null;
|
1191
|
-
this._activeElement = null;
|
1192
|
-
this._indicatorsElement = null;
|
1193
|
-
super.dispose();
|
1194
1226
|
} // Private
|
1195
1227
|
|
1196
1228
|
|
@@ -1419,37 +1451,35 @@
|
|
1419
1451
|
|
1420
1452
|
this._activeElement = nextElement;
|
1421
1453
|
|
1454
|
+
const triggerSlidEvent = () => {
|
1455
|
+
EventHandler.trigger(this._element, EVENT_SLID, {
|
1456
|
+
relatedTarget: nextElement,
|
1457
|
+
direction: eventDirectionName,
|
1458
|
+
from: activeElementIndex,
|
1459
|
+
to: nextElementIndex
|
1460
|
+
});
|
1461
|
+
};
|
1462
|
+
|
1422
1463
|
if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
|
1423
1464
|
nextElement.classList.add(orderClassName);
|
1424
1465
|
reflow(nextElement);
|
1425
1466
|
activeElement.classList.add(directionalClassName);
|
1426
1467
|
nextElement.classList.add(directionalClassName);
|
1427
|
-
|
1428
|
-
|
1468
|
+
|
1469
|
+
const completeCallBack = () => {
|
1429
1470
|
nextElement.classList.remove(directionalClassName, orderClassName);
|
1430
1471
|
nextElement.classList.add(CLASS_NAME_ACTIVE$2);
|
1431
1472
|
activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);
|
1432
1473
|
this._isSliding = false;
|
1433
|
-
setTimeout(
|
1434
|
-
|
1435
|
-
|
1436
|
-
|
1437
|
-
from: activeElementIndex,
|
1438
|
-
to: nextElementIndex
|
1439
|
-
});
|
1440
|
-
}, 0);
|
1441
|
-
});
|
1442
|
-
emulateTransitionEnd(activeElement, transitionDuration);
|
1474
|
+
setTimeout(triggerSlidEvent, 0);
|
1475
|
+
};
|
1476
|
+
|
1477
|
+
this._queueCallback(completeCallBack, activeElement, true);
|
1443
1478
|
} else {
|
1444
1479
|
activeElement.classList.remove(CLASS_NAME_ACTIVE$2);
|
1445
1480
|
nextElement.classList.add(CLASS_NAME_ACTIVE$2);
|
1446
1481
|
this._isSliding = false;
|
1447
|
-
|
1448
|
-
relatedTarget: nextElement,
|
1449
|
-
direction: eventDirectionName,
|
1450
|
-
from: activeElementIndex,
|
1451
|
-
to: nextElementIndex
|
1452
|
-
});
|
1482
|
+
triggerSlidEvent();
|
1453
1483
|
}
|
1454
1484
|
|
1455
1485
|
if (isCycling) {
|
@@ -1568,11 +1598,11 @@
|
|
1568
1598
|
* add .Carousel to jQuery only if jQuery is present
|
1569
1599
|
*/
|
1570
1600
|
|
1571
|
-
defineJQueryPlugin(
|
1601
|
+
defineJQueryPlugin(Carousel);
|
1572
1602
|
|
1573
1603
|
/**
|
1574
1604
|
* --------------------------------------------------------------------------
|
1575
|
-
* Bootstrap (v5.0.
|
1605
|
+
* Bootstrap (v5.0.1): collapse.js
|
1576
1606
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
1577
1607
|
* --------------------------------------------------------------------------
|
1578
1608
|
*/
|
@@ -1649,8 +1679,8 @@
|
|
1649
1679
|
return Default$8;
|
1650
1680
|
}
|
1651
1681
|
|
1652
|
-
static get
|
1653
|
-
return
|
1682
|
+
static get NAME() {
|
1683
|
+
return NAME$9;
|
1654
1684
|
} // Public
|
1655
1685
|
|
1656
1686
|
|
@@ -1742,9 +1772,9 @@
|
|
1742
1772
|
|
1743
1773
|
const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
|
1744
1774
|
const scrollSize = `scroll${capitalizedDimension}`;
|
1745
|
-
|
1746
|
-
|
1747
|
-
|
1775
|
+
|
1776
|
+
this._queueCallback(complete, this._element, true);
|
1777
|
+
|
1748
1778
|
this._element.style[dimension] = `${this._element[scrollSize]}px`;
|
1749
1779
|
}
|
1750
1780
|
|
@@ -1795,21 +1825,12 @@
|
|
1795
1825
|
};
|
1796
1826
|
|
1797
1827
|
this._element.style[dimension] = '';
|
1798
|
-
|
1799
|
-
|
1800
|
-
emulateTransitionEnd(this._element, transitionDuration);
|
1828
|
+
|
1829
|
+
this._queueCallback(complete, this._element, true);
|
1801
1830
|
}
|
1802
1831
|
|
1803
1832
|
setTransitioning(isTransitioning) {
|
1804
1833
|
this._isTransitioning = isTransitioning;
|
1805
|
-
}
|
1806
|
-
|
1807
|
-
dispose() {
|
1808
|
-
super.dispose();
|
1809
|
-
this._config = null;
|
1810
|
-
this._parent = null;
|
1811
|
-
this._triggerArray = null;
|
1812
|
-
this._isTransitioning = null;
|
1813
1834
|
} // Private
|
1814
1835
|
|
1815
1836
|
|
@@ -1831,16 +1852,7 @@
|
|
1831
1852
|
let {
|
1832
1853
|
parent
|
1833
1854
|
} = this._config;
|
1834
|
-
|
1835
|
-
if (isElement(parent)) {
|
1836
|
-
// it's a jQuery object
|
1837
|
-
if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {
|
1838
|
-
parent = parent[0];
|
1839
|
-
}
|
1840
|
-
} else {
|
1841
|
-
parent = SelectorEngine.findOne(parent);
|
1842
|
-
}
|
1843
|
-
|
1855
|
+
parent = getElement(parent);
|
1844
1856
|
const selector = `${SELECTOR_DATA_TOGGLE$4}[data-bs-parent="${parent}"]`;
|
1845
1857
|
SelectorEngine.find(selector, parent).forEach(element => {
|
1846
1858
|
const selected = getElementFromSelector(element);
|
@@ -1941,11 +1953,11 @@
|
|
1941
1953
|
* add .Collapse to jQuery only if jQuery is present
|
1942
1954
|
*/
|
1943
1955
|
|
1944
|
-
defineJQueryPlugin(
|
1956
|
+
defineJQueryPlugin(Collapse);
|
1945
1957
|
|
1946
1958
|
/**
|
1947
1959
|
* --------------------------------------------------------------------------
|
1948
|
-
* Bootstrap (v5.0.
|
1960
|
+
* Bootstrap (v5.0.1): dropdown.js
|
1949
1961
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
1950
1962
|
* --------------------------------------------------------------------------
|
1951
1963
|
*/
|
@@ -2032,8 +2044,8 @@
|
|
2032
2044
|
return DefaultType$7;
|
2033
2045
|
}
|
2034
2046
|
|
2035
|
-
static get
|
2036
|
-
return
|
2047
|
+
static get NAME() {
|
2048
|
+
return NAME$8;
|
2037
2049
|
} // Public
|
2038
2050
|
|
2039
2051
|
|
@@ -2080,11 +2092,7 @@
|
|
2080
2092
|
if (this._config.reference === 'parent') {
|
2081
2093
|
referenceElement = parent;
|
2082
2094
|
} else if (isElement(this._config.reference)) {
|
2083
|
-
referenceElement = this._config.reference;
|
2084
|
-
|
2085
|
-
if (typeof this._config.reference.jquery !== 'undefined') {
|
2086
|
-
referenceElement = this._config.reference[0];
|
2087
|
-
}
|
2095
|
+
referenceElement = getElement(this._config.reference);
|
2088
2096
|
} else if (typeof this._config.reference === 'object') {
|
2089
2097
|
referenceElement = this._config.reference;
|
2090
2098
|
}
|
@@ -2131,12 +2139,8 @@
|
|
2131
2139
|
}
|
2132
2140
|
|
2133
2141
|
dispose() {
|
2134
|
-
this._menu = null;
|
2135
|
-
|
2136
2142
|
if (this._popper) {
|
2137
2143
|
this._popper.destroy();
|
2138
|
-
|
2139
|
-
this._popper = null;
|
2140
2144
|
}
|
2141
2145
|
|
2142
2146
|
super.dispose();
|
@@ -2322,14 +2326,8 @@
|
|
2322
2326
|
}
|
2323
2327
|
|
2324
2328
|
static clearMenus(event) {
|
2325
|
-
if (event) {
|
2326
|
-
|
2327
|
-
return;
|
2328
|
-
}
|
2329
|
-
|
2330
|
-
if (/input|select|option|textarea|form/i.test(event.target.tagName)) {
|
2331
|
-
return;
|
2332
|
-
}
|
2329
|
+
if (event && (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY)) {
|
2330
|
+
return;
|
2333
2331
|
}
|
2334
2332
|
|
2335
2333
|
const toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);
|
@@ -2355,10 +2353,10 @@
|
|
2355
2353
|
|
2356
2354
|
if (composedPath.includes(context._element) || context._config.autoClose === 'inside' && !isMenuTarget || context._config.autoClose === 'outside' && isMenuTarget) {
|
2357
2355
|
continue;
|
2358
|
-
} // Tab navigation through the dropdown menu shouldn't close the menu
|
2356
|
+
} // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu
|
2359
2357
|
|
2360
2358
|
|
2361
|
-
if (event.type === 'keyup' && event.key === TAB_KEY
|
2359
|
+
if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) {
|
2362
2360
|
continue;
|
2363
2361
|
}
|
2364
2362
|
|
@@ -2444,11 +2442,11 @@
|
|
2444
2442
|
* add .Dropdown to jQuery only if jQuery is present
|
2445
2443
|
*/
|
2446
2444
|
|
2447
|
-
defineJQueryPlugin(
|
2445
|
+
defineJQueryPlugin(Dropdown);
|
2448
2446
|
|
2449
2447
|
/**
|
2450
2448
|
* --------------------------------------------------------------------------
|
2451
|
-
* Bootstrap (v5.0.
|
2449
|
+
* Bootstrap (v5.0.1): util/scrollBar.js
|
2452
2450
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
2453
2451
|
* --------------------------------------------------------------------------
|
2454
2452
|
*/
|
@@ -2522,7 +2520,7 @@
|
|
2522
2520
|
|
2523
2521
|
/**
|
2524
2522
|
* --------------------------------------------------------------------------
|
2525
|
-
* Bootstrap (v5.0.
|
2523
|
+
* Bootstrap (v5.0.1): util/backdrop.js
|
2526
2524
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
2527
2525
|
* --------------------------------------------------------------------------
|
2528
2526
|
*/
|
@@ -2606,6 +2604,7 @@
|
|
2606
2604
|
config = { ...Default$6,
|
2607
2605
|
...(typeof config === 'object' ? config : {})
|
2608
2606
|
};
|
2607
|
+
config.rootElement = config.rootElement || document.body;
|
2609
2608
|
typeCheckConfig(NAME$7, config, DefaultType$6);
|
2610
2609
|
return config;
|
2611
2610
|
}
|
@@ -2650,7 +2649,7 @@
|
|
2650
2649
|
|
2651
2650
|
/**
|
2652
2651
|
* --------------------------------------------------------------------------
|
2653
|
-
* Bootstrap (v5.0.
|
2652
|
+
* Bootstrap (v5.0.1): modal.js
|
2654
2653
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
2655
2654
|
* --------------------------------------------------------------------------
|
2656
2655
|
*/
|
@@ -2680,7 +2679,7 @@
|
|
2680
2679
|
const EVENT_HIDDEN$3 = `hidden${EVENT_KEY$6}`;
|
2681
2680
|
const EVENT_SHOW$3 = `show${EVENT_KEY$6}`;
|
2682
2681
|
const EVENT_SHOWN$3 = `shown${EVENT_KEY$6}`;
|
2683
|
-
const EVENT_FOCUSIN$
|
2682
|
+
const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$6}`;
|
2684
2683
|
const EVENT_RESIZE = `resize${EVENT_KEY$6}`;
|
2685
2684
|
const EVENT_CLICK_DISMISS$2 = `click.dismiss${EVENT_KEY$6}`;
|
2686
2685
|
const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$6}`;
|
@@ -2717,8 +2716,8 @@
|
|
2717
2716
|
return Default$5;
|
2718
2717
|
}
|
2719
2718
|
|
2720
|
-
static get
|
2721
|
-
return
|
2719
|
+
static get NAME() {
|
2720
|
+
return NAME$6;
|
2722
2721
|
} // Public
|
2723
2722
|
|
2724
2723
|
|
@@ -2792,24 +2791,21 @@
|
|
2792
2791
|
|
2793
2792
|
this._setResizeEvent();
|
2794
2793
|
|
2795
|
-
EventHandler.off(document, EVENT_FOCUSIN$
|
2794
|
+
EventHandler.off(document, EVENT_FOCUSIN$2);
|
2796
2795
|
|
2797
2796
|
this._element.classList.remove(CLASS_NAME_SHOW$5);
|
2798
2797
|
|
2799
2798
|
EventHandler.off(this._element, EVENT_CLICK_DISMISS$2);
|
2800
2799
|
EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
|
2801
2800
|
|
2802
|
-
|
2803
|
-
const transitionDuration = getTransitionDurationFromElement(this._element);
|
2804
|
-
EventHandler.one(this._element, 'transitionend', event => this._hideModal(event));
|
2805
|
-
emulateTransitionEnd(this._element, transitionDuration);
|
2806
|
-
} else {
|
2807
|
-
this._hideModal();
|
2808
|
-
}
|
2801
|
+
this._queueCallback(() => this._hideModal(), this._element, isAnimated);
|
2809
2802
|
}
|
2810
2803
|
|
2811
2804
|
dispose() {
|
2812
2805
|
[window, this._dialog].forEach(htmlElement => EventHandler.off(htmlElement, EVENT_KEY$6));
|
2806
|
+
|
2807
|
+
this._backdrop.dispose();
|
2808
|
+
|
2813
2809
|
super.dispose();
|
2814
2810
|
/**
|
2815
2811
|
* `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
|
@@ -2817,16 +2813,7 @@
|
|
2817
2813
|
* It will remove `EVENT_CLICK_DATA_API` event that should remain
|
2818
2814
|
*/
|
2819
2815
|
|
2820
|
-
EventHandler.off(document, EVENT_FOCUSIN$
|
2821
|
-
this._config = null;
|
2822
|
-
this._dialog = null;
|
2823
|
-
|
2824
|
-
this._backdrop.dispose();
|
2825
|
-
|
2826
|
-
this._backdrop = null;
|
2827
|
-
this._isShown = null;
|
2828
|
-
this._ignoreBackdropClick = null;
|
2829
|
-
this._isTransitioning = null;
|
2816
|
+
EventHandler.off(document, EVENT_FOCUSIN$2);
|
2830
2817
|
}
|
2831
2818
|
|
2832
2819
|
handleUpdate() {
|
@@ -2896,19 +2883,13 @@
|
|
2896
2883
|
});
|
2897
2884
|
};
|
2898
2885
|
|
2899
|
-
|
2900
|
-
const transitionDuration = getTransitionDurationFromElement(this._dialog);
|
2901
|
-
EventHandler.one(this._dialog, 'transitionend', transitionComplete);
|
2902
|
-
emulateTransitionEnd(this._dialog, transitionDuration);
|
2903
|
-
} else {
|
2904
|
-
transitionComplete();
|
2905
|
-
}
|
2886
|
+
this._queueCallback(transitionComplete, this._dialog, isAnimated);
|
2906
2887
|
}
|
2907
2888
|
|
2908
2889
|
_enforceFocus() {
|
2909
|
-
EventHandler.off(document, EVENT_FOCUSIN$
|
2890
|
+
EventHandler.off(document, EVENT_FOCUSIN$2); // guard against infinite focus loop
|
2910
2891
|
|
2911
|
-
EventHandler.on(document, EVENT_FOCUSIN$
|
2892
|
+
EventHandler.on(document, EVENT_FOCUSIN$2, event => {
|
2912
2893
|
if (document !== event.target && this._element !== event.target && !this._element.contains(event.target)) {
|
2913
2894
|
this._element.focus();
|
2914
2895
|
}
|
@@ -3092,11 +3073,11 @@
|
|
3092
3073
|
* add .Modal to jQuery only if jQuery is present
|
3093
3074
|
*/
|
3094
3075
|
|
3095
|
-
defineJQueryPlugin(
|
3076
|
+
defineJQueryPlugin(Modal);
|
3096
3077
|
|
3097
3078
|
/**
|
3098
3079
|
* --------------------------------------------------------------------------
|
3099
|
-
* Bootstrap (v5.0.
|
3080
|
+
* Bootstrap (v5.0.1): offcanvas.js
|
3100
3081
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
3101
3082
|
* --------------------------------------------------------------------------
|
3102
3083
|
*/
|
@@ -3128,7 +3109,7 @@
|
|
3128
3109
|
const EVENT_SHOWN$2 = `shown${EVENT_KEY$5}`;
|
3129
3110
|
const EVENT_HIDE$2 = `hide${EVENT_KEY$5}`;
|
3130
3111
|
const EVENT_HIDDEN$2 = `hidden${EVENT_KEY$5}`;
|
3131
|
-
const EVENT_FOCUSIN = `focusin${EVENT_KEY$5}`;
|
3112
|
+
const EVENT_FOCUSIN$1 = `focusin${EVENT_KEY$5}`;
|
3132
3113
|
const EVENT_CLICK_DATA_API$1 = `click${EVENT_KEY$5}${DATA_API_KEY$2}`;
|
3133
3114
|
const EVENT_CLICK_DISMISS$1 = `click.dismiss${EVENT_KEY$5}`;
|
3134
3115
|
const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$5}`;
|
@@ -3151,12 +3132,12 @@
|
|
3151
3132
|
} // Getters
|
3152
3133
|
|
3153
3134
|
|
3154
|
-
static get
|
3155
|
-
return
|
3135
|
+
static get NAME() {
|
3136
|
+
return NAME$5;
|
3156
3137
|
}
|
3157
3138
|
|
3158
|
-
static get
|
3159
|
-
return
|
3139
|
+
static get Default() {
|
3140
|
+
return Default$4;
|
3160
3141
|
} // Public
|
3161
3142
|
|
3162
3143
|
|
@@ -3202,9 +3183,7 @@
|
|
3202
3183
|
});
|
3203
3184
|
};
|
3204
3185
|
|
3205
|
-
|
3206
|
-
EventHandler.one(this._element, 'transitionend', completeCallBack);
|
3207
|
-
emulateTransitionEnd(this._element, transitionDuration);
|
3186
|
+
this._queueCallback(completeCallBack, this._element, true);
|
3208
3187
|
}
|
3209
3188
|
|
3210
3189
|
hide() {
|
@@ -3218,7 +3197,7 @@
|
|
3218
3197
|
return;
|
3219
3198
|
}
|
3220
3199
|
|
3221
|
-
EventHandler.off(document, EVENT_FOCUSIN);
|
3200
|
+
EventHandler.off(document, EVENT_FOCUSIN$1);
|
3222
3201
|
|
3223
3202
|
this._element.blur();
|
3224
3203
|
|
@@ -3244,18 +3223,14 @@
|
|
3244
3223
|
EventHandler.trigger(this._element, EVENT_HIDDEN$2);
|
3245
3224
|
};
|
3246
3225
|
|
3247
|
-
|
3248
|
-
EventHandler.one(this._element, 'transitionend', completeCallback);
|
3249
|
-
emulateTransitionEnd(this._element, transitionDuration);
|
3226
|
+
this._queueCallback(completeCallback, this._element, true);
|
3250
3227
|
}
|
3251
3228
|
|
3252
3229
|
dispose() {
|
3253
3230
|
this._backdrop.dispose();
|
3254
3231
|
|
3255
3232
|
super.dispose();
|
3256
|
-
EventHandler.off(document, EVENT_FOCUSIN);
|
3257
|
-
this._config = null;
|
3258
|
-
this._backdrop = null;
|
3233
|
+
EventHandler.off(document, EVENT_FOCUSIN$1);
|
3259
3234
|
} // Private
|
3260
3235
|
|
3261
3236
|
|
@@ -3278,9 +3253,9 @@
|
|
3278
3253
|
}
|
3279
3254
|
|
3280
3255
|
_enforceFocusOnElement(element) {
|
3281
|
-
EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop
|
3256
|
+
EventHandler.off(document, EVENT_FOCUSIN$1); // guard against infinite focus loop
|
3282
3257
|
|
3283
|
-
EventHandler.on(document, EVENT_FOCUSIN, event => {
|
3258
|
+
EventHandler.on(document, EVENT_FOCUSIN$1, event => {
|
3284
3259
|
if (document !== event.target && element !== event.target && !element.contains(event.target)) {
|
3285
3260
|
element.focus();
|
3286
3261
|
}
|
@@ -3358,11 +3333,11 @@
|
|
3358
3333
|
* ------------------------------------------------------------------------
|
3359
3334
|
*/
|
3360
3335
|
|
3361
|
-
defineJQueryPlugin(
|
3336
|
+
defineJQueryPlugin(Offcanvas);
|
3362
3337
|
|
3363
3338
|
/**
|
3364
3339
|
* --------------------------------------------------------------------------
|
3365
|
-
* Bootstrap (v5.0.
|
3340
|
+
* Bootstrap (v5.0.1): util/sanitizer.js
|
3366
3341
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
3367
3342
|
* --------------------------------------------------------------------------
|
3368
3343
|
*/
|
@@ -3475,7 +3450,7 @@
|
|
3475
3450
|
|
3476
3451
|
/**
|
3477
3452
|
* --------------------------------------------------------------------------
|
3478
|
-
* Bootstrap (v5.0.
|
3453
|
+
* Bootstrap (v5.0.1): tooltip.js
|
3479
3454
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
3480
3455
|
* --------------------------------------------------------------------------
|
3481
3456
|
*/
|
@@ -3578,7 +3553,7 @@
|
|
3578
3553
|
this._activeTrigger = {};
|
3579
3554
|
this._popper = null; // Protected
|
3580
3555
|
|
3581
|
-
this.
|
3556
|
+
this._config = this._getConfig(config);
|
3582
3557
|
this.tip = null;
|
3583
3558
|
|
3584
3559
|
this._setListeners();
|
@@ -3593,18 +3568,10 @@
|
|
3593
3568
|
return NAME$4;
|
3594
3569
|
}
|
3595
3570
|
|
3596
|
-
static get DATA_KEY() {
|
3597
|
-
return DATA_KEY$4;
|
3598
|
-
}
|
3599
|
-
|
3600
3571
|
static get Event() {
|
3601
3572
|
return Event$2;
|
3602
3573
|
}
|
3603
3574
|
|
3604
|
-
static get EVENT_KEY() {
|
3605
|
-
return EVENT_KEY$4;
|
3606
|
-
}
|
3607
|
-
|
3608
3575
|
static get DefaultType() {
|
3609
3576
|
return DefaultType$3;
|
3610
3577
|
} // Public
|
@@ -3656,18 +3623,10 @@
|
|
3656
3623
|
this.tip.parentNode.removeChild(this.tip);
|
3657
3624
|
}
|
3658
3625
|
|
3659
|
-
this._isEnabled = null;
|
3660
|
-
this._timeout = null;
|
3661
|
-
this._hoverState = null;
|
3662
|
-
this._activeTrigger = null;
|
3663
|
-
|
3664
3626
|
if (this._popper) {
|
3665
3627
|
this._popper.destroy();
|
3666
3628
|
}
|
3667
3629
|
|
3668
|
-
this._popper = null;
|
3669
|
-
this.config = null;
|
3670
|
-
this.tip = null;
|
3671
3630
|
super.dispose();
|
3672
3631
|
}
|
3673
3632
|
|
@@ -3696,18 +3655,19 @@
|
|
3696
3655
|
|
3697
3656
|
this.setContent();
|
3698
3657
|
|
3699
|
-
if (this.
|
3658
|
+
if (this._config.animation) {
|
3700
3659
|
tip.classList.add(CLASS_NAME_FADE$3);
|
3701
3660
|
}
|
3702
3661
|
|
3703
|
-
const placement = typeof this.
|
3662
|
+
const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement;
|
3704
3663
|
|
3705
3664
|
const attachment = this._getAttachment(placement);
|
3706
3665
|
|
3707
3666
|
this._addAttachmentClass(attachment);
|
3708
3667
|
|
3709
|
-
const
|
3710
|
-
|
3668
|
+
const {
|
3669
|
+
container
|
3670
|
+
} = this._config;
|
3711
3671
|
Data.set(tip, this.constructor.DATA_KEY, this);
|
3712
3672
|
|
3713
3673
|
if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
|
@@ -3722,7 +3682,7 @@
|
|
3722
3682
|
}
|
3723
3683
|
|
3724
3684
|
tip.classList.add(CLASS_NAME_SHOW$3);
|
3725
|
-
const customClass = typeof this.
|
3685
|
+
const customClass = typeof this._config.customClass === 'function' ? this._config.customClass() : this._config.customClass;
|
3726
3686
|
|
3727
3687
|
if (customClass) {
|
3728
3688
|
tip.classList.add(...customClass.split(' '));
|
@@ -3748,13 +3708,9 @@
|
|
3748
3708
|
}
|
3749
3709
|
};
|
3750
3710
|
|
3751
|
-
|
3752
|
-
|
3753
|
-
|
3754
|
-
emulateTransitionEnd(this.tip, transitionDuration);
|
3755
|
-
} else {
|
3756
|
-
complete();
|
3757
|
-
}
|
3711
|
+
const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$3);
|
3712
|
+
|
3713
|
+
this._queueCallback(complete, this.tip, isAnimated);
|
3758
3714
|
}
|
3759
3715
|
|
3760
3716
|
hide() {
|
@@ -3802,14 +3758,9 @@
|
|
3802
3758
|
this._activeTrigger[TRIGGER_CLICK] = false;
|
3803
3759
|
this._activeTrigger[TRIGGER_FOCUS] = false;
|
3804
3760
|
this._activeTrigger[TRIGGER_HOVER] = false;
|
3761
|
+
const isAnimated = this.tip.classList.contains(CLASS_NAME_FADE$3);
|
3805
3762
|
|
3806
|
-
|
3807
|
-
const transitionDuration = getTransitionDurationFromElement(tip);
|
3808
|
-
EventHandler.one(tip, 'transitionend', complete);
|
3809
|
-
emulateTransitionEnd(tip, transitionDuration);
|
3810
|
-
} else {
|
3811
|
-
complete();
|
3812
|
-
}
|
3763
|
+
this._queueCallback(complete, this.tip, isAnimated);
|
3813
3764
|
|
3814
3765
|
this._hoverState = '';
|
3815
3766
|
}
|
@@ -3831,7 +3782,7 @@
|
|
3831
3782
|
}
|
3832
3783
|
|
3833
3784
|
const element = document.createElement('div');
|
3834
|
-
element.innerHTML = this.
|
3785
|
+
element.innerHTML = this._config.template;
|
3835
3786
|
this.tip = element.children[0];
|
3836
3787
|
return this.tip;
|
3837
3788
|
}
|
@@ -3847,13 +3798,10 @@
|
|
3847
3798
|
return;
|
3848
3799
|
}
|
3849
3800
|
|
3850
|
-
if (
|
3851
|
-
|
3852
|
-
content = content[0];
|
3853
|
-
} // content is a DOM node or a jQuery
|
3801
|
+
if (isElement(content)) {
|
3802
|
+
content = getElement(content); // content is a DOM node or a jQuery
|
3854
3803
|
|
3855
|
-
|
3856
|
-
if (this.config.html) {
|
3804
|
+
if (this._config.html) {
|
3857
3805
|
if (content.parentNode !== element) {
|
3858
3806
|
element.innerHTML = '';
|
3859
3807
|
element.appendChild(content);
|
@@ -3865,9 +3813,9 @@
|
|
3865
3813
|
return;
|
3866
3814
|
}
|
3867
3815
|
|
3868
|
-
if (this.
|
3869
|
-
if (this.
|
3870
|
-
content = sanitizeHtml(content, this.
|
3816
|
+
if (this._config.html) {
|
3817
|
+
if (this._config.sanitize) {
|
3818
|
+
content = sanitizeHtml(content, this._config.allowList, this._config.sanitizeFn);
|
3871
3819
|
}
|
3872
3820
|
|
3873
3821
|
element.innerHTML = content;
|
@@ -3880,7 +3828,7 @@
|
|
3880
3828
|
let title = this._element.getAttribute('data-bs-original-title');
|
3881
3829
|
|
3882
3830
|
if (!title) {
|
3883
|
-
title = typeof this.
|
3831
|
+
title = typeof this._config.title === 'function' ? this._config.title.call(this._element) : this._config.title;
|
3884
3832
|
}
|
3885
3833
|
|
3886
3834
|
return title;
|
@@ -3914,7 +3862,7 @@
|
|
3914
3862
|
_getOffset() {
|
3915
3863
|
const {
|
3916
3864
|
offset
|
3917
|
-
} = this.
|
3865
|
+
} = this._config;
|
3918
3866
|
|
3919
3867
|
if (typeof offset === 'string') {
|
3920
3868
|
return offset.split(',').map(val => Number.parseInt(val, 10));
|
@@ -3933,7 +3881,7 @@
|
|
3933
3881
|
modifiers: [{
|
3934
3882
|
name: 'flip',
|
3935
3883
|
options: {
|
3936
|
-
fallbackPlacements: this.
|
3884
|
+
fallbackPlacements: this._config.fallbackPlacements
|
3937
3885
|
}
|
3938
3886
|
}, {
|
3939
3887
|
name: 'offset',
|
@@ -3943,7 +3891,7 @@
|
|
3943
3891
|
}, {
|
3944
3892
|
name: 'preventOverflow',
|
3945
3893
|
options: {
|
3946
|
-
boundary: this.
|
3894
|
+
boundary: this._config.boundary
|
3947
3895
|
}
|
3948
3896
|
}, {
|
3949
3897
|
name: 'arrow',
|
@@ -3963,7 +3911,7 @@
|
|
3963
3911
|
}
|
3964
3912
|
};
|
3965
3913
|
return { ...defaultBsPopperConfig,
|
3966
|
-
...(typeof this.
|
3914
|
+
...(typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig)
|
3967
3915
|
};
|
3968
3916
|
}
|
3969
3917
|
|
@@ -3971,32 +3919,21 @@
|
|
3971
3919
|
this.getTipElement().classList.add(`${CLASS_PREFIX$1}-${this.updateAttachment(attachment)}`);
|
3972
3920
|
}
|
3973
3921
|
|
3974
|
-
_getContainer() {
|
3975
|
-
if (this.config.container === false) {
|
3976
|
-
return document.body;
|
3977
|
-
}
|
3978
|
-
|
3979
|
-
if (isElement(this.config.container)) {
|
3980
|
-
return this.config.container;
|
3981
|
-
}
|
3982
|
-
|
3983
|
-
return SelectorEngine.findOne(this.config.container);
|
3984
|
-
}
|
3985
|
-
|
3986
3922
|
_getAttachment(placement) {
|
3987
3923
|
return AttachmentMap[placement.toUpperCase()];
|
3988
3924
|
}
|
3989
3925
|
|
3990
3926
|
_setListeners() {
|
3991
|
-
const triggers = this.
|
3927
|
+
const triggers = this._config.trigger.split(' ');
|
3928
|
+
|
3992
3929
|
triggers.forEach(trigger => {
|
3993
3930
|
if (trigger === 'click') {
|
3994
|
-
EventHandler.on(this._element, this.constructor.Event.CLICK, this.
|
3931
|
+
EventHandler.on(this._element, this.constructor.Event.CLICK, this._config.selector, event => this.toggle(event));
|
3995
3932
|
} else if (trigger !== TRIGGER_MANUAL) {
|
3996
3933
|
const eventIn = trigger === TRIGGER_HOVER ? this.constructor.Event.MOUSEENTER : this.constructor.Event.FOCUSIN;
|
3997
3934
|
const eventOut = trigger === TRIGGER_HOVER ? this.constructor.Event.MOUSELEAVE : this.constructor.Event.FOCUSOUT;
|
3998
|
-
EventHandler.on(this._element, eventIn, this.
|
3999
|
-
EventHandler.on(this._element, eventOut, this.
|
3935
|
+
EventHandler.on(this._element, eventIn, this._config.selector, event => this._enter(event));
|
3936
|
+
EventHandler.on(this._element, eventOut, this._config.selector, event => this._leave(event));
|
4000
3937
|
}
|
4001
3938
|
});
|
4002
3939
|
|
@@ -4008,8 +3945,8 @@
|
|
4008
3945
|
|
4009
3946
|
EventHandler.on(this._element.closest(`.${CLASS_NAME_MODAL}`), 'hide.bs.modal', this._hideModalHandler);
|
4010
3947
|
|
4011
|
-
if (this.
|
4012
|
-
this.
|
3948
|
+
if (this._config.selector) {
|
3949
|
+
this._config = { ...this._config,
|
4013
3950
|
trigger: 'manual',
|
4014
3951
|
selector: ''
|
4015
3952
|
};
|
@@ -4049,7 +3986,7 @@
|
|
4049
3986
|
clearTimeout(context._timeout);
|
4050
3987
|
context._hoverState = HOVER_STATE_SHOW;
|
4051
3988
|
|
4052
|
-
if (!context.
|
3989
|
+
if (!context._config.delay || !context._config.delay.show) {
|
4053
3990
|
context.show();
|
4054
3991
|
return;
|
4055
3992
|
}
|
@@ -4058,7 +3995,7 @@
|
|
4058
3995
|
if (context._hoverState === HOVER_STATE_SHOW) {
|
4059
3996
|
context.show();
|
4060
3997
|
}
|
4061
|
-
}, context.
|
3998
|
+
}, context._config.delay.show);
|
4062
3999
|
}
|
4063
4000
|
|
4064
4001
|
_leave(event, context) {
|
@@ -4075,7 +4012,7 @@
|
|
4075
4012
|
clearTimeout(context._timeout);
|
4076
4013
|
context._hoverState = HOVER_STATE_OUT;
|
4077
4014
|
|
4078
|
-
if (!context.
|
4015
|
+
if (!context._config.delay || !context._config.delay.hide) {
|
4079
4016
|
context.hide();
|
4080
4017
|
return;
|
4081
4018
|
}
|
@@ -4084,7 +4021,7 @@
|
|
4084
4021
|
if (context._hoverState === HOVER_STATE_OUT) {
|
4085
4022
|
context.hide();
|
4086
4023
|
}
|
4087
|
-
}, context.
|
4024
|
+
}, context._config.delay.hide);
|
4088
4025
|
}
|
4089
4026
|
|
4090
4027
|
_isWithActiveTrigger() {
|
@@ -4104,15 +4041,11 @@
|
|
4104
4041
|
delete dataAttributes[dataAttr];
|
4105
4042
|
}
|
4106
4043
|
});
|
4107
|
-
|
4108
|
-
if (config && typeof config.container === 'object' && config.container.jquery) {
|
4109
|
-
config.container = config.container[0];
|
4110
|
-
}
|
4111
|
-
|
4112
4044
|
config = { ...this.constructor.Default,
|
4113
4045
|
...dataAttributes,
|
4114
4046
|
...(typeof config === 'object' && config ? config : {})
|
4115
4047
|
};
|
4048
|
+
config.container = config.container === false ? document.body : getElement(config.container);
|
4116
4049
|
|
4117
4050
|
if (typeof config.delay === 'number') {
|
4118
4051
|
config.delay = {
|
@@ -4141,10 +4074,10 @@
|
|
4141
4074
|
_getDelegateConfig() {
|
4142
4075
|
const config = {};
|
4143
4076
|
|
4144
|
-
if (this.
|
4145
|
-
for (const key in this.
|
4146
|
-
if (this.constructor.Default[key] !== this.
|
4147
|
-
config[key] = this.
|
4077
|
+
if (this._config) {
|
4078
|
+
for (const key in this._config) {
|
4079
|
+
if (this.constructor.Default[key] !== this._config[key]) {
|
4080
|
+
config[key] = this._config[key];
|
4148
4081
|
}
|
4149
4082
|
}
|
4150
4083
|
}
|
@@ -4211,11 +4144,11 @@
|
|
4211
4144
|
*/
|
4212
4145
|
|
4213
4146
|
|
4214
|
-
defineJQueryPlugin(
|
4147
|
+
defineJQueryPlugin(Tooltip);
|
4215
4148
|
|
4216
4149
|
/**
|
4217
4150
|
* --------------------------------------------------------------------------
|
4218
|
-
* Bootstrap (v5.0.
|
4151
|
+
* Bootstrap (v5.0.1): popover.js
|
4219
4152
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4220
4153
|
* --------------------------------------------------------------------------
|
4221
4154
|
*/
|
@@ -4272,18 +4205,10 @@
|
|
4272
4205
|
return NAME$3;
|
4273
4206
|
}
|
4274
4207
|
|
4275
|
-
static get DATA_KEY() {
|
4276
|
-
return DATA_KEY$3;
|
4277
|
-
}
|
4278
|
-
|
4279
4208
|
static get Event() {
|
4280
4209
|
return Event$1;
|
4281
4210
|
}
|
4282
4211
|
|
4283
|
-
static get EVENT_KEY() {
|
4284
|
-
return EVENT_KEY$3;
|
4285
|
-
}
|
4286
|
-
|
4287
4212
|
static get DefaultType() {
|
4288
4213
|
return DefaultType$2;
|
4289
4214
|
} // Overrides
|
@@ -4314,7 +4239,7 @@
|
|
4314
4239
|
}
|
4315
4240
|
|
4316
4241
|
_getContent() {
|
4317
|
-
return this._element.getAttribute('data-bs-content') || this.
|
4242
|
+
return this._element.getAttribute('data-bs-content') || this._config.content;
|
4318
4243
|
}
|
4319
4244
|
|
4320
4245
|
_cleanTipClass() {
|
@@ -4361,11 +4286,11 @@
|
|
4361
4286
|
*/
|
4362
4287
|
|
4363
4288
|
|
4364
|
-
defineJQueryPlugin(
|
4289
|
+
defineJQueryPlugin(Popover);
|
4365
4290
|
|
4366
4291
|
/**
|
4367
4292
|
* --------------------------------------------------------------------------
|
4368
|
-
* Bootstrap (v5.0.
|
4293
|
+
* Bootstrap (v5.0.1): scrollspy.js
|
4369
4294
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4370
4295
|
* --------------------------------------------------------------------------
|
4371
4296
|
*/
|
@@ -4430,8 +4355,8 @@
|
|
4430
4355
|
return Default$1;
|
4431
4356
|
}
|
4432
4357
|
|
4433
|
-
static get
|
4434
|
-
return
|
4358
|
+
static get NAME() {
|
4359
|
+
return NAME$2;
|
4435
4360
|
} // Public
|
4436
4361
|
|
4437
4362
|
|
@@ -4464,15 +4389,8 @@
|
|
4464
4389
|
}
|
4465
4390
|
|
4466
4391
|
dispose() {
|
4467
|
-
super.dispose();
|
4468
4392
|
EventHandler.off(this._scrollElement, EVENT_KEY$2);
|
4469
|
-
|
4470
|
-
this._config = null;
|
4471
|
-
this._selector = null;
|
4472
|
-
this._offsets = null;
|
4473
|
-
this._targets = null;
|
4474
|
-
this._activeTarget = null;
|
4475
|
-
this._scrollHeight = null;
|
4393
|
+
super.dispose();
|
4476
4394
|
} // Private
|
4477
4395
|
|
4478
4396
|
|
@@ -4619,11 +4537,11 @@
|
|
4619
4537
|
* add .ScrollSpy to jQuery only if jQuery is present
|
4620
4538
|
*/
|
4621
4539
|
|
4622
|
-
defineJQueryPlugin(
|
4540
|
+
defineJQueryPlugin(ScrollSpy);
|
4623
4541
|
|
4624
4542
|
/**
|
4625
4543
|
* --------------------------------------------------------------------------
|
4626
|
-
* Bootstrap (v5.0.
|
4544
|
+
* Bootstrap (v5.0.1): tab.js
|
4627
4545
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4628
4546
|
* --------------------------------------------------------------------------
|
4629
4547
|
*/
|
@@ -4661,8 +4579,8 @@
|
|
4661
4579
|
|
4662
4580
|
class Tab extends BaseComponent {
|
4663
4581
|
// Getters
|
4664
|
-
static get
|
4665
|
-
return
|
4582
|
+
static get NAME() {
|
4583
|
+
return NAME$1;
|
4666
4584
|
} // Public
|
4667
4585
|
|
4668
4586
|
|
@@ -4720,10 +4638,9 @@
|
|
4720
4638
|
const complete = () => this._transitionComplete(element, active, callback);
|
4721
4639
|
|
4722
4640
|
if (active && isTransitioning) {
|
4723
|
-
const transitionDuration = getTransitionDurationFromElement(active);
|
4724
4641
|
active.classList.remove(CLASS_NAME_SHOW$1);
|
4725
|
-
|
4726
|
-
|
4642
|
+
|
4643
|
+
this._queueCallback(complete, element, true);
|
4727
4644
|
} else {
|
4728
4645
|
complete();
|
4729
4646
|
}
|
@@ -4818,11 +4735,11 @@
|
|
4818
4735
|
* add .Tab to jQuery only if jQuery is present
|
4819
4736
|
*/
|
4820
4737
|
|
4821
|
-
defineJQueryPlugin(
|
4738
|
+
defineJQueryPlugin(Tab);
|
4822
4739
|
|
4823
4740
|
/**
|
4824
4741
|
* --------------------------------------------------------------------------
|
4825
|
-
* Bootstrap (v5.0.
|
4742
|
+
* Bootstrap (v5.0.1): toast.js
|
4826
4743
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
4827
4744
|
* --------------------------------------------------------------------------
|
4828
4745
|
*/
|
@@ -4836,6 +4753,10 @@
|
|
4836
4753
|
const DATA_KEY = 'bs.toast';
|
4837
4754
|
const EVENT_KEY = `.${DATA_KEY}`;
|
4838
4755
|
const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
|
4756
|
+
const EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`;
|
4757
|
+
const EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`;
|
4758
|
+
const EVENT_FOCUSIN = `focusin${EVENT_KEY}`;
|
4759
|
+
const EVENT_FOCUSOUT = `focusout${EVENT_KEY}`;
|
4839
4760
|
const EVENT_HIDE = `hide${EVENT_KEY}`;
|
4840
4761
|
const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
|
4841
4762
|
const EVENT_SHOW = `show${EVENT_KEY}`;
|
@@ -4866,6 +4787,8 @@
|
|
4866
4787
|
super(element);
|
4867
4788
|
this._config = this._getConfig(config);
|
4868
4789
|
this._timeout = null;
|
4790
|
+
this._hasMouseInteraction = false;
|
4791
|
+
this._hasKeyboardInteraction = false;
|
4869
4792
|
|
4870
4793
|
this._setListeners();
|
4871
4794
|
} // Getters
|
@@ -4879,8 +4802,8 @@
|
|
4879
4802
|
return Default;
|
4880
4803
|
}
|
4881
4804
|
|
4882
|
-
static get
|
4883
|
-
return
|
4805
|
+
static get NAME() {
|
4806
|
+
return NAME;
|
4884
4807
|
} // Public
|
4885
4808
|
|
4886
4809
|
|
@@ -4904,11 +4827,7 @@
|
|
4904
4827
|
|
4905
4828
|
EventHandler.trigger(this._element, EVENT_SHOWN);
|
4906
4829
|
|
4907
|
-
|
4908
|
-
this._timeout = setTimeout(() => {
|
4909
|
-
this.hide();
|
4910
|
-
}, this._config.delay);
|
4911
|
-
}
|
4830
|
+
this._maybeScheduleHide();
|
4912
4831
|
};
|
4913
4832
|
|
4914
4833
|
this._element.classList.remove(CLASS_NAME_HIDE);
|
@@ -4917,13 +4836,7 @@
|
|
4917
4836
|
|
4918
4837
|
this._element.classList.add(CLASS_NAME_SHOWING);
|
4919
4838
|
|
4920
|
-
|
4921
|
-
const transitionDuration = getTransitionDurationFromElement(this._element);
|
4922
|
-
EventHandler.one(this._element, 'transitionend', complete);
|
4923
|
-
emulateTransitionEnd(this._element, transitionDuration);
|
4924
|
-
} else {
|
4925
|
-
complete();
|
4926
|
-
}
|
4839
|
+
this._queueCallback(complete, this._element, this._config.animation);
|
4927
4840
|
}
|
4928
4841
|
|
4929
4842
|
hide() {
|
@@ -4945,13 +4858,7 @@
|
|
4945
4858
|
|
4946
4859
|
this._element.classList.remove(CLASS_NAME_SHOW);
|
4947
4860
|
|
4948
|
-
|
4949
|
-
const transitionDuration = getTransitionDurationFromElement(this._element);
|
4950
|
-
EventHandler.one(this._element, 'transitionend', complete);
|
4951
|
-
emulateTransitionEnd(this._element, transitionDuration);
|
4952
|
-
} else {
|
4953
|
-
complete();
|
4954
|
-
}
|
4861
|
+
this._queueCallback(complete, this._element, this._config.animation);
|
4955
4862
|
}
|
4956
4863
|
|
4957
4864
|
dispose() {
|
@@ -4962,7 +4869,6 @@
|
|
4962
4869
|
}
|
4963
4870
|
|
4964
4871
|
super.dispose();
|
4965
|
-
this._config = null;
|
4966
4872
|
} // Private
|
4967
4873
|
|
4968
4874
|
|
@@ -4975,8 +4881,54 @@
|
|
4975
4881
|
return config;
|
4976
4882
|
}
|
4977
4883
|
|
4884
|
+
_maybeScheduleHide() {
|
4885
|
+
if (!this._config.autohide) {
|
4886
|
+
return;
|
4887
|
+
}
|
4888
|
+
|
4889
|
+
if (this._hasMouseInteraction || this._hasKeyboardInteraction) {
|
4890
|
+
return;
|
4891
|
+
}
|
4892
|
+
|
4893
|
+
this._timeout = setTimeout(() => {
|
4894
|
+
this.hide();
|
4895
|
+
}, this._config.delay);
|
4896
|
+
}
|
4897
|
+
|
4898
|
+
_onInteraction(event, isInteracting) {
|
4899
|
+
switch (event.type) {
|
4900
|
+
case 'mouseover':
|
4901
|
+
case 'mouseout':
|
4902
|
+
this._hasMouseInteraction = isInteracting;
|
4903
|
+
break;
|
4904
|
+
|
4905
|
+
case 'focusin':
|
4906
|
+
case 'focusout':
|
4907
|
+
this._hasKeyboardInteraction = isInteracting;
|
4908
|
+
break;
|
4909
|
+
}
|
4910
|
+
|
4911
|
+
if (isInteracting) {
|
4912
|
+
this._clearTimeout();
|
4913
|
+
|
4914
|
+
return;
|
4915
|
+
}
|
4916
|
+
|
4917
|
+
const nextElement = event.relatedTarget;
|
4918
|
+
|
4919
|
+
if (this._element === nextElement || this._element.contains(nextElement)) {
|
4920
|
+
return;
|
4921
|
+
}
|
4922
|
+
|
4923
|
+
this._maybeScheduleHide();
|
4924
|
+
}
|
4925
|
+
|
4978
4926
|
_setListeners() {
|
4979
4927
|
EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, () => this.hide());
|
4928
|
+
EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true));
|
4929
|
+
EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false));
|
4930
|
+
EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true));
|
4931
|
+
EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false));
|
4980
4932
|
}
|
4981
4933
|
|
4982
4934
|
_clearTimeout() {
|
@@ -5014,11 +4966,11 @@
|
|
5014
4966
|
*/
|
5015
4967
|
|
5016
4968
|
|
5017
|
-
defineJQueryPlugin(
|
4969
|
+
defineJQueryPlugin(Toast);
|
5018
4970
|
|
5019
4971
|
/**
|
5020
4972
|
* --------------------------------------------------------------------------
|
5021
|
-
* Bootstrap (v5.0.
|
4973
|
+
* Bootstrap (v5.0.1): index.umd.js
|
5022
4974
|
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
5023
4975
|
* --------------------------------------------------------------------------
|
5024
4976
|
*/
|