@coreui/coreui 5.6.1 → 5.7.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.
Files changed (118) hide show
  1. package/README.md +3 -4
  2. package/dist/css/coreui-grid.css +1 -1
  3. package/dist/css/coreui-grid.css.map +1 -1
  4. package/dist/css/coreui-grid.min.css +1 -1
  5. package/dist/css/coreui-grid.min.css.map +1 -1
  6. package/dist/css/coreui-grid.rtl.css +1 -1
  7. package/dist/css/coreui-grid.rtl.css.map +1 -1
  8. package/dist/css/coreui-grid.rtl.min.css +1 -1
  9. package/dist/css/coreui-grid.rtl.min.css.map +1 -1
  10. package/dist/css/coreui-reboot.css +5 -3
  11. package/dist/css/coreui-reboot.css.map +1 -1
  12. package/dist/css/coreui-reboot.min.css +2 -2
  13. package/dist/css/coreui-reboot.min.css.map +1 -1
  14. package/dist/css/coreui-reboot.rtl.css +5 -3
  15. package/dist/css/coreui-reboot.rtl.css.map +1 -1
  16. package/dist/css/coreui-reboot.rtl.min.css +2 -2
  17. package/dist/css/coreui-reboot.rtl.min.css.map +1 -1
  18. package/dist/css/coreui-utilities.css +5 -3
  19. package/dist/css/coreui-utilities.css.map +1 -1
  20. package/dist/css/coreui-utilities.min.css +2 -2
  21. package/dist/css/coreui-utilities.min.css.map +1 -1
  22. package/dist/css/coreui-utilities.rtl.css +5 -3
  23. package/dist/css/coreui-utilities.rtl.css.map +1 -1
  24. package/dist/css/coreui-utilities.rtl.min.css +2 -2
  25. package/dist/css/coreui-utilities.rtl.min.css.map +1 -1
  26. package/dist/css/coreui.css +173 -67
  27. package/dist/css/coreui.css.map +1 -1
  28. package/dist/css/coreui.min.css +2 -2
  29. package/dist/css/coreui.min.css.map +1 -1
  30. package/dist/css/coreui.rtl.css +168 -65
  31. package/dist/css/coreui.rtl.css.map +1 -1
  32. package/dist/css/coreui.rtl.min.css +2 -2
  33. package/dist/css/coreui.rtl.min.css.map +1 -1
  34. package/dist/css/themes/bootstrap/bootstrap.css +173 -67
  35. package/dist/css/themes/bootstrap/bootstrap.css.map +1 -1
  36. package/dist/css/themes/bootstrap/bootstrap.min.css +2 -2
  37. package/dist/css/themes/bootstrap/bootstrap.min.css.map +1 -1
  38. package/dist/css/themes/bootstrap/bootstrap.rtl.css +168 -65
  39. package/dist/css/themes/bootstrap/bootstrap.rtl.css.map +1 -1
  40. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css +2 -2
  41. package/dist/css/themes/bootstrap/bootstrap.rtl.min.css.map +1 -1
  42. package/dist/js/bootstrap.bundle.js +578 -259
  43. package/dist/js/bootstrap.bundle.js.map +1 -1
  44. package/dist/js/bootstrap.bundle.min.js +2 -2
  45. package/dist/js/bootstrap.bundle.min.js.map +1 -1
  46. package/dist/js/bootstrap.esm.js +578 -260
  47. package/dist/js/bootstrap.esm.js.map +1 -1
  48. package/dist/js/bootstrap.esm.min.js +2 -2
  49. package/dist/js/bootstrap.esm.min.js.map +1 -1
  50. package/dist/js/bootstrap.js +578 -259
  51. package/dist/js/bootstrap.js.map +1 -1
  52. package/dist/js/bootstrap.min.js +2 -2
  53. package/dist/js/bootstrap.min.js.map +1 -1
  54. package/dist/js/coreui.bundle.js +578 -259
  55. package/dist/js/coreui.bundle.js.map +1 -1
  56. package/dist/js/coreui.bundle.min.js +2 -2
  57. package/dist/js/coreui.bundle.min.js.map +1 -1
  58. package/dist/js/coreui.esm.js +578 -260
  59. package/dist/js/coreui.esm.js.map +1 -1
  60. package/dist/js/coreui.esm.min.js +2 -2
  61. package/dist/js/coreui.esm.min.js.map +1 -1
  62. package/dist/js/coreui.js +578 -259
  63. package/dist/js/coreui.js.map +1 -1
  64. package/dist/js/coreui.min.js +2 -2
  65. package/dist/js/coreui.min.js.map +1 -1
  66. package/js/dist/alert.js +1 -1
  67. package/js/dist/base-component.js +2 -2
  68. package/js/dist/base-component.js.map +1 -1
  69. package/js/dist/button.js +1 -1
  70. package/js/dist/carousel.js +1 -1
  71. package/js/dist/chip-input.js +1 -1
  72. package/js/dist/chip.js +1 -1
  73. package/js/dist/collapse.js +1 -1
  74. package/js/dist/dom/data.js +1 -1
  75. package/js/dist/dom/event-handler.js +1 -1
  76. package/js/dist/dom/manipulator.js +1 -1
  77. package/js/dist/dom/selector-engine.js +1 -1
  78. package/js/dist/dropdown.js +1 -1
  79. package/js/dist/modal.js +1 -1
  80. package/js/dist/navigation.js +2 -2
  81. package/js/dist/navigation.js.map +1 -1
  82. package/js/dist/offcanvas.js +1 -1
  83. package/js/dist/popover.js +1 -1
  84. package/js/dist/scrollspy.js +1 -1
  85. package/js/dist/search-button.js +336 -0
  86. package/js/dist/search-button.js.map +1 -0
  87. package/js/dist/sidebar.js +7 -10
  88. package/js/dist/sidebar.js.map +1 -1
  89. package/js/dist/tab.js +1 -1
  90. package/js/dist/toast.js +1 -1
  91. package/js/dist/tooltip.js +1 -1
  92. package/js/dist/util/backdrop.js +1 -1
  93. package/js/dist/util/component-functions.js +1 -1
  94. package/js/dist/util/config.js +1 -1
  95. package/js/dist/util/focustrap.js +1 -1
  96. package/js/dist/util/index.js +1 -1
  97. package/js/dist/util/sanitizer.js +1 -1
  98. package/js/dist/util/scrollbar.js +1 -1
  99. package/js/dist/util/swipe.js +1 -1
  100. package/js/dist/util/template-factory.js +1 -1
  101. package/js/index.esm.js +1 -0
  102. package/js/index.umd.js +2 -0
  103. package/js/src/base-component.js +1 -1
  104. package/js/src/navigation.js +1 -1
  105. package/js/src/search-button.js +409 -0
  106. package/js/src/sidebar.js +6 -10
  107. package/package.json +15 -14
  108. package/scss/_banner.scss +1 -1
  109. package/scss/_root.scss +3 -0
  110. package/scss/_search-button.scss +127 -0
  111. package/scss/_variables-dark.scss +2 -1
  112. package/scss/_variables.scss +12 -4
  113. package/scss/coreui.scss +1 -0
  114. package/scss/functions/_color-translucent.scss +33 -0
  115. package/scss/functions/_contrast-ratio.scss +3 -3
  116. package/scss/sidebar/_sidebar-narrow.scss +21 -13
  117. package/scss/sidebar/_sidebar-nav.scss +66 -44
  118. package/scss/sidebar/_sidebar.scss +1 -6
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI v5.6.1 (https://coreui.io)
2
+ * CoreUI v5.7.1 (https://coreui.io)
3
3
  * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
4
  * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
5
  */
@@ -665,7 +665,7 @@
665
665
  * Constants
666
666
  */
667
667
 
668
- const VERSION = '5.6.1';
668
+ const VERSION = '5.7.1';
669
669
 
670
670
  /**
671
671
  * Class definition
@@ -859,11 +859,11 @@
859
859
  * Constants
860
860
  */
861
861
 
862
- const NAME$j = 'alert';
863
- const DATA_KEY$e = 'bs.alert';
864
- const EVENT_KEY$f = `.${DATA_KEY$e}`;
865
- const EVENT_CLOSE = `close${EVENT_KEY$f}`;
866
- const EVENT_CLOSED = `closed${EVENT_KEY$f}`;
862
+ const NAME$k = 'alert';
863
+ const DATA_KEY$f = 'bs.alert';
864
+ const EVENT_KEY$g = `.${DATA_KEY$f}`;
865
+ const EVENT_CLOSE = `close${EVENT_KEY$g}`;
866
+ const EVENT_CLOSED = `closed${EVENT_KEY$g}`;
867
867
  const CLASS_NAME_FADE$5 = 'fade';
868
868
  const CLASS_NAME_SHOW$a = 'show';
869
869
 
@@ -874,7 +874,7 @@
874
874
  class Alert extends BaseComponent {
875
875
  // Getters
876
876
  static get NAME() {
877
- return NAME$j;
877
+ return NAME$k;
878
878
  }
879
879
 
880
880
  // Public
@@ -937,13 +937,13 @@
937
937
  * Constants
938
938
  */
939
939
 
940
- const NAME$i = 'button';
941
- const DATA_KEY$d = 'bs.button';
942
- const EVENT_KEY$e = `.${DATA_KEY$d}`;
943
- const DATA_API_KEY$a = '.data-api';
944
- const CLASS_NAME_ACTIVE$5 = 'active';
945
- const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="button"]';
946
- const EVENT_CLICK_DATA_API$8 = `click${EVENT_KEY$e}${DATA_API_KEY$a}`;
940
+ const NAME$j = 'button';
941
+ const DATA_KEY$e = 'bs.button';
942
+ const EVENT_KEY$f = `.${DATA_KEY$e}`;
943
+ const DATA_API_KEY$b = '.data-api';
944
+ const CLASS_NAME_ACTIVE$6 = 'active';
945
+ const SELECTOR_DATA_TOGGLE$7 = '[data-bs-toggle="button"]';
946
+ const EVENT_CLICK_DATA_API$9 = `click${EVENT_KEY$f}${DATA_API_KEY$b}`;
947
947
 
948
948
  /**
949
949
  * Class definition
@@ -952,13 +952,13 @@
952
952
  class Button extends BaseComponent {
953
953
  // Getters
954
954
  static get NAME() {
955
- return NAME$i;
955
+ return NAME$j;
956
956
  }
957
957
 
958
958
  // Public
959
959
  toggle() {
960
960
  // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
961
- this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$5));
961
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$6));
962
962
  }
963
963
 
964
964
  // Static
@@ -976,9 +976,9 @@
976
976
  * Data API implementation
977
977
  */
978
978
 
979
- EventHandler.on(document, EVENT_CLICK_DATA_API$8, SELECTOR_DATA_TOGGLE$6, event => {
979
+ EventHandler.on(document, EVENT_CLICK_DATA_API$9, SELECTOR_DATA_TOGGLE$7, event => {
980
980
  event.preventDefault();
981
- const button = event.target.closest(SELECTOR_DATA_TOGGLE$6);
981
+ const button = event.target.closest(SELECTOR_DATA_TOGGLE$7);
982
982
  const data = Button.getOrCreateInstance(button);
983
983
  data.toggle();
984
984
  });
@@ -1004,23 +1004,23 @@
1004
1004
  * Constants
1005
1005
  */
1006
1006
 
1007
- const NAME$h = 'swipe';
1008
- const EVENT_KEY$d = '.bs.swipe';
1009
- const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$d}`;
1010
- const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$d}`;
1011
- const EVENT_TOUCHEND = `touchend${EVENT_KEY$d}`;
1012
- const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$d}`;
1013
- const EVENT_POINTERUP = `pointerup${EVENT_KEY$d}`;
1007
+ const NAME$i = 'swipe';
1008
+ const EVENT_KEY$e = '.bs.swipe';
1009
+ const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$e}`;
1010
+ const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$e}`;
1011
+ const EVENT_TOUCHEND = `touchend${EVENT_KEY$e}`;
1012
+ const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$e}`;
1013
+ const EVENT_POINTERUP = `pointerup${EVENT_KEY$e}`;
1014
1014
  const POINTER_TYPE_TOUCH = 'touch';
1015
1015
  const POINTER_TYPE_PEN = 'pen';
1016
1016
  const CLASS_NAME_POINTER_EVENT = 'pointer-event';
1017
1017
  const SWIPE_THRESHOLD = 40;
1018
- const Default$g = {
1018
+ const Default$h = {
1019
1019
  endCallback: null,
1020
1020
  leftCallback: null,
1021
1021
  rightCallback: null
1022
1022
  };
1023
- const DefaultType$g = {
1023
+ const DefaultType$h = {
1024
1024
  endCallback: '(function|null)',
1025
1025
  leftCallback: '(function|null)',
1026
1026
  rightCallback: '(function|null)'
@@ -1045,18 +1045,18 @@
1045
1045
 
1046
1046
  // Getters
1047
1047
  static get Default() {
1048
- return Default$g;
1048
+ return Default$h;
1049
1049
  }
1050
1050
  static get DefaultType() {
1051
- return DefaultType$g;
1051
+ return DefaultType$h;
1052
1052
  }
1053
1053
  static get NAME() {
1054
- return NAME$h;
1054
+ return NAME$i;
1055
1055
  }
1056
1056
 
1057
1057
  // Public
1058
1058
  dispose() {
1059
- EventHandler.off(this._element, EVENT_KEY$d);
1059
+ EventHandler.off(this._element, EVENT_KEY$e);
1060
1060
  }
1061
1061
 
1062
1062
  // Private
@@ -1127,10 +1127,10 @@
1127
1127
  * Constants
1128
1128
  */
1129
1129
 
1130
- const NAME$g = 'carousel';
1131
- const DATA_KEY$c = 'bs.carousel';
1132
- const EVENT_KEY$c = `.${DATA_KEY$c}`;
1133
- const DATA_API_KEY$9 = '.data-api';
1130
+ const NAME$h = 'carousel';
1131
+ const DATA_KEY$d = 'bs.carousel';
1132
+ const EVENT_KEY$d = `.${DATA_KEY$d}`;
1133
+ const DATA_API_KEY$a = '.data-api';
1134
1134
  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
1135
1135
  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
1136
1136
  const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
@@ -1139,16 +1139,16 @@
1139
1139
  const ORDER_PREV = 'prev';
1140
1140
  const DIRECTION_LEFT = 'left';
1141
1141
  const DIRECTION_RIGHT = 'right';
1142
- const EVENT_SLIDE = `slide${EVENT_KEY$c}`;
1143
- const EVENT_SLID = `slid${EVENT_KEY$c}`;
1144
- const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$c}`;
1145
- const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$c}`;
1146
- const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$c}`;
1147
- const EVENT_DRAG_START = `dragstart${EVENT_KEY$c}`;
1148
- const EVENT_LOAD_DATA_API$5 = `load${EVENT_KEY$c}${DATA_API_KEY$9}`;
1149
- const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$c}${DATA_API_KEY$9}`;
1142
+ const EVENT_SLIDE = `slide${EVENT_KEY$d}`;
1143
+ const EVENT_SLID = `slid${EVENT_KEY$d}`;
1144
+ const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$d}`;
1145
+ const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$d}`;
1146
+ const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$d}`;
1147
+ const EVENT_DRAG_START = `dragstart${EVENT_KEY$d}`;
1148
+ const EVENT_LOAD_DATA_API$5 = `load${EVENT_KEY$d}${DATA_API_KEY$a}`;
1149
+ const EVENT_CLICK_DATA_API$8 = `click${EVENT_KEY$d}${DATA_API_KEY$a}`;
1150
1150
  const CLASS_NAME_CAROUSEL = 'carousel';
1151
- const CLASS_NAME_ACTIVE$4 = 'active';
1151
+ const CLASS_NAME_ACTIVE$5 = 'active';
1152
1152
  const CLASS_NAME_SLIDE = 'slide';
1153
1153
  const CLASS_NAME_END = 'carousel-item-end';
1154
1154
  const CLASS_NAME_START = 'carousel-item-start';
@@ -1165,7 +1165,7 @@
1165
1165
  [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
1166
1166
  [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
1167
1167
  };
1168
- const Default$f = {
1168
+ const Default$g = {
1169
1169
  interval: 5000,
1170
1170
  keyboard: true,
1171
1171
  pause: 'hover',
@@ -1173,7 +1173,7 @@
1173
1173
  touch: true,
1174
1174
  wrap: true
1175
1175
  };
1176
- const DefaultType$f = {
1176
+ const DefaultType$g = {
1177
1177
  interval: '(number|boolean)',
1178
1178
  // TODO:v6 remove boolean support
1179
1179
  keyboard: 'boolean',
@@ -1204,13 +1204,13 @@
1204
1204
 
1205
1205
  // Getters
1206
1206
  static get Default() {
1207
- return Default$f;
1207
+ return Default$g;
1208
1208
  }
1209
1209
  static get DefaultType() {
1210
- return DefaultType$f;
1210
+ return DefaultType$g;
1211
1211
  }
1212
1212
  static get NAME() {
1213
- return NAME$g;
1213
+ return NAME$h;
1214
1214
  }
1215
1215
 
1216
1216
  // Public
@@ -1337,11 +1337,11 @@
1337
1337
  return;
1338
1338
  }
1339
1339
  const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
1340
- activeIndicator.classList.remove(CLASS_NAME_ACTIVE$4);
1340
+ activeIndicator.classList.remove(CLASS_NAME_ACTIVE$5);
1341
1341
  activeIndicator.removeAttribute('aria-current');
1342
1342
  const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to="${index}"]`, this._indicatorsElement);
1343
1343
  if (newActiveIndicator) {
1344
- newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$4);
1344
+ newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$5);
1345
1345
  newActiveIndicator.setAttribute('aria-current', 'true');
1346
1346
  }
1347
1347
  }
@@ -1394,8 +1394,8 @@
1394
1394
  nextElement.classList.add(directionalClassName);
1395
1395
  const completeCallBack = () => {
1396
1396
  nextElement.classList.remove(directionalClassName, orderClassName);
1397
- nextElement.classList.add(CLASS_NAME_ACTIVE$4);
1398
- activeElement.classList.remove(CLASS_NAME_ACTIVE$4, orderClassName, directionalClassName);
1397
+ nextElement.classList.add(CLASS_NAME_ACTIVE$5);
1398
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$5, orderClassName, directionalClassName);
1399
1399
  this._isSliding = false;
1400
1400
  triggerEvent(EVENT_SLID);
1401
1401
  };
@@ -1454,7 +1454,7 @@
1454
1454
  * Data API implementation
1455
1455
  */
1456
1456
 
1457
- EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_SLIDE, function (event) {
1457
+ EventHandler.on(document, EVENT_CLICK_DATA_API$8, SELECTOR_DATA_SLIDE, function (event) {
1458
1458
  const target = SelectorEngine.getElementFromSelector(this);
1459
1459
  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
1460
1460
  return;
@@ -1500,25 +1500,25 @@
1500
1500
  * Constants
1501
1501
  */
1502
1502
 
1503
- const NAME$f = 'chip';
1504
- const DATA_KEY$b = 'bs.chip';
1505
- const EVENT_KEY$b = `.${DATA_KEY$b}`;
1506
- const DATA_API_KEY$8 = '.data-api';
1507
- const EVENT_REMOVE$1 = `remove${EVENT_KEY$b}`;
1508
- const EVENT_REMOVED = `removed${EVENT_KEY$b}`;
1509
- const EVENT_SELECT$1 = `select${EVENT_KEY$b}`;
1510
- const EVENT_SELECTED = `selected${EVENT_KEY$b}`;
1511
- const EVENT_DESELECT = `deselect${EVENT_KEY$b}`;
1512
- const EVENT_DESELECTED = `deselected${EVENT_KEY$b}`;
1503
+ const NAME$g = 'chip';
1504
+ const DATA_KEY$c = 'bs.chip';
1505
+ const EVENT_KEY$c = `.${DATA_KEY$c}`;
1506
+ const DATA_API_KEY$9 = '.data-api';
1507
+ const EVENT_REMOVE$1 = `remove${EVENT_KEY$c}`;
1508
+ const EVENT_REMOVED = `removed${EVENT_KEY$c}`;
1509
+ const EVENT_SELECT$1 = `select${EVENT_KEY$c}`;
1510
+ const EVENT_SELECTED = `selected${EVENT_KEY$c}`;
1511
+ const EVENT_DESELECT = `deselect${EVENT_KEY$c}`;
1512
+ const EVENT_DESELECTED = `deselected${EVENT_KEY$c}`;
1513
1513
  const SELECTOR_CHIP_REMOVE$1 = '.chip-remove';
1514
1514
  const SELECTOR_DATA_CHIP = '[data-bs-chip]';
1515
1515
  const SELECTOR_FOCUSABLE_ITEMS$1 = '.chip:not(.disabled)';
1516
1516
  const CLASS_NAME_CHIP_CLICKABLE = 'chip-clickable';
1517
1517
  const CLASS_NAME_CHIP_REMOVE = 'chip-remove';
1518
- const CLASS_NAME_ACTIVE$3 = 'active';
1518
+ const CLASS_NAME_ACTIVE$4 = 'active';
1519
1519
  const CLASS_NAME_DISABLED$1 = 'disabled';
1520
1520
  const DEFAULT_REMOVE_ICON$1 = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>';
1521
- const Default$e = {
1521
+ const Default$f = {
1522
1522
  ariaRemoveLabel: 'Remove',
1523
1523
  disabled: false,
1524
1524
  removable: false,
@@ -1526,7 +1526,7 @@
1526
1526
  selectable: false,
1527
1527
  selected: false
1528
1528
  };
1529
- const DefaultType$e = {
1529
+ const DefaultType$f = {
1530
1530
  ariaRemoveLabel: 'string',
1531
1531
  disabled: 'boolean',
1532
1532
  removable: 'boolean',
@@ -1543,7 +1543,7 @@
1543
1543
  constructor(element, config) {
1544
1544
  super(element, config);
1545
1545
  this._disabled = this._config.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1);
1546
- this._selected = this._config.selected || this._element.classList.contains(CLASS_NAME_ACTIVE$3);
1546
+ this._selected = this._config.selected || this._element.classList.contains(CLASS_NAME_ACTIVE$4);
1547
1547
  this._ensureRemoveButton();
1548
1548
  this._applyState();
1549
1549
  if (this._config.selectable || this._config.removable) {
@@ -1554,13 +1554,13 @@
1554
1554
 
1555
1555
  // Getters
1556
1556
  static get Default() {
1557
- return Default$e;
1557
+ return Default$f;
1558
1558
  }
1559
1559
  static get DefaultType() {
1560
- return DefaultType$e;
1560
+ return DefaultType$f;
1561
1561
  }
1562
1562
  static get NAME() {
1563
- return NAME$f;
1563
+ return NAME$g;
1564
1564
  }
1565
1565
 
1566
1566
  // Public
@@ -1643,10 +1643,10 @@
1643
1643
  }
1644
1644
  }
1645
1645
  if (this._config.selectable) {
1646
- this._element.classList.toggle(CLASS_NAME_ACTIVE$3, this._selected);
1646
+ this._element.classList.toggle(CLASS_NAME_ACTIVE$4, this._selected);
1647
1647
  this._element.setAttribute('aria-selected', this._selected ? 'true' : 'false');
1648
1648
  } else {
1649
- this._element.classList.remove(CLASS_NAME_ACTIVE$3);
1649
+ this._element.classList.remove(CLASS_NAME_ACTIVE$4);
1650
1650
  if (this._element.getAttribute('aria-selected') === 'true') {
1651
1651
  this._element.setAttribute('aria-selected', 'false');
1652
1652
  }
@@ -1783,7 +1783,7 @@
1783
1783
  * Data API implementation
1784
1784
  */
1785
1785
 
1786
- EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$8}`, () => {
1786
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$c}${DATA_API_KEY$9}`, () => {
1787
1787
  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP)) {
1788
1788
  Chip.chipInterface(element);
1789
1789
  }
@@ -1810,15 +1810,15 @@
1810
1810
  * Constants
1811
1811
  */
1812
1812
 
1813
- const NAME$e = 'chip-input';
1814
- const DATA_KEY$a = 'bs.chip-input';
1815
- const EVENT_KEY$a = `.${DATA_KEY$a}`;
1816
- const DATA_API_KEY$7 = '.data-api';
1817
- const EVENT_ADD = `add${EVENT_KEY$a}`;
1818
- const EVENT_REMOVE = `remove${EVENT_KEY$a}`;
1819
- const EVENT_CHANGE = `change${EVENT_KEY$a}`;
1820
- const EVENT_SELECT = `select${EVENT_KEY$a}`;
1821
- const EVENT_INPUT = `input${EVENT_KEY$a}`;
1813
+ const NAME$f = 'chip-input';
1814
+ const DATA_KEY$b = 'bs.chip-input';
1815
+ const EVENT_KEY$b = `.${DATA_KEY$b}`;
1816
+ const DATA_API_KEY$8 = '.data-api';
1817
+ const EVENT_ADD = `add${EVENT_KEY$b}`;
1818
+ const EVENT_REMOVE = `remove${EVENT_KEY$b}`;
1819
+ const EVENT_CHANGE = `change${EVENT_KEY$b}`;
1820
+ const EVENT_SELECT = `select${EVENT_KEY$b}`;
1821
+ const EVENT_INPUT = `input${EVENT_KEY$b}`;
1822
1822
  const SELECTOR_DATA_CHIP_INPUT = '[data-bs-chip-input]';
1823
1823
  const SELECTOR_CHIP = '.chip';
1824
1824
  const SELECTOR_CHIP_ACTIVE = `${SELECTOR_CHIP}.active`;
@@ -1829,7 +1829,7 @@
1829
1829
  const CLASS_NAME_DISABLED = 'disabled';
1830
1830
  const CLASS_NAME_CHIP_INPUT_FIELD = 'chip-input-field';
1831
1831
  const DEFAULT_REMOVE_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="4" y1="4" x2="12" y2="12"/><line x1="12" y1="4" x2="4" y2="12"/></svg>';
1832
- const Default$d = {
1832
+ const Default$e = {
1833
1833
  chipClassName: null,
1834
1834
  createOnBlur: true,
1835
1835
  disabled: false,
@@ -1843,7 +1843,7 @@
1843
1843
  selectable: false,
1844
1844
  separator: ','
1845
1845
  };
1846
- const DefaultType$d = {
1846
+ const DefaultType$e = {
1847
1847
  chipClassName: '(string|function|null)',
1848
1848
  createOnBlur: 'boolean',
1849
1849
  disabled: 'boolean',
@@ -1885,13 +1885,13 @@
1885
1885
 
1886
1886
  // Getters
1887
1887
  static get Default() {
1888
- return Default$d;
1888
+ return Default$e;
1889
1889
  }
1890
1890
  static get DefaultType() {
1891
- return DefaultType$d;
1891
+ return DefaultType$e;
1892
1892
  }
1893
1893
  static get NAME() {
1894
- return NAME$e;
1894
+ return NAME$f;
1895
1895
  }
1896
1896
 
1897
1897
  // Public
@@ -2300,7 +2300,7 @@
2300
2300
  * Data API implementation
2301
2301
  */
2302
2302
 
2303
- EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$7}`, () => {
2303
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$8}`, () => {
2304
2304
  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {
2305
2305
  ChipInput.getOrCreateInstance(element);
2306
2306
  }
@@ -2321,15 +2321,15 @@
2321
2321
  * Constants
2322
2322
  */
2323
2323
 
2324
- const NAME$d = 'collapse';
2325
- const DATA_KEY$9 = 'bs.collapse';
2326
- const EVENT_KEY$9 = `.${DATA_KEY$9}`;
2327
- const DATA_API_KEY$6 = '.data-api';
2328
- const EVENT_SHOW$7 = `show${EVENT_KEY$9}`;
2329
- const EVENT_SHOWN$7 = `shown${EVENT_KEY$9}`;
2330
- const EVENT_HIDE$7 = `hide${EVENT_KEY$9}`;
2331
- const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$9}`;
2332
- const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
2324
+ const NAME$e = 'collapse';
2325
+ const DATA_KEY$a = 'bs.collapse';
2326
+ const EVENT_KEY$a = `.${DATA_KEY$a}`;
2327
+ const DATA_API_KEY$7 = '.data-api';
2328
+ const EVENT_SHOW$7 = `show${EVENT_KEY$a}`;
2329
+ const EVENT_SHOWN$7 = `shown${EVENT_KEY$a}`;
2330
+ const EVENT_HIDE$7 = `hide${EVENT_KEY$a}`;
2331
+ const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$a}`;
2332
+ const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$a}${DATA_API_KEY$7}`;
2333
2333
  const CLASS_NAME_SHOW$9 = 'show';
2334
2334
  const CLASS_NAME_COLLAPSE = 'collapse';
2335
2335
  const CLASS_NAME_COLLAPSING = 'collapsing';
@@ -2339,12 +2339,12 @@
2339
2339
  const WIDTH = 'width';
2340
2340
  const HEIGHT = 'height';
2341
2341
  const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
2342
- const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="collapse"]';
2343
- const Default$c = {
2342
+ const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="collapse"]';
2343
+ const Default$d = {
2344
2344
  parent: null,
2345
2345
  toggle: true
2346
2346
  };
2347
- const DefaultType$c = {
2347
+ const DefaultType$d = {
2348
2348
  parent: '(null|element)',
2349
2349
  toggle: 'boolean'
2350
2350
  };
@@ -2358,7 +2358,7 @@
2358
2358
  super(element, config);
2359
2359
  this._isTransitioning = false;
2360
2360
  this._triggerArray = [];
2361
- const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$5);
2361
+ const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$6);
2362
2362
  for (const elem of toggleList) {
2363
2363
  const selector = SelectorEngine.getSelectorFromElement(elem);
2364
2364
  const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
@@ -2377,13 +2377,13 @@
2377
2377
 
2378
2378
  // Getters
2379
2379
  static get Default() {
2380
- return Default$c;
2380
+ return Default$d;
2381
2381
  }
2382
2382
  static get DefaultType() {
2383
- return DefaultType$c;
2383
+ return DefaultType$d;
2384
2384
  }
2385
2385
  static get NAME() {
2386
- return NAME$d;
2386
+ return NAME$e;
2387
2387
  }
2388
2388
 
2389
2389
  // Public
@@ -2480,7 +2480,7 @@
2480
2480
  if (!this._config.parent) {
2481
2481
  return;
2482
2482
  }
2483
- const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$5);
2483
+ const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$6);
2484
2484
  for (const element of children) {
2485
2485
  const selected = SelectorEngine.getElementFromSelector(element);
2486
2486
  if (selected) {
@@ -2525,7 +2525,7 @@
2525
2525
  * Data API implementation
2526
2526
  */
2527
2527
 
2528
- EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, function (event) {
2528
+ EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$6, function (event) {
2529
2529
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
2530
2530
  if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
2531
2531
  event.preventDefault();
@@ -4387,31 +4387,31 @@
4387
4387
  * Constants
4388
4388
  */
4389
4389
 
4390
- const NAME$c = 'dropdown';
4391
- const DATA_KEY$8 = 'bs.dropdown';
4392
- const EVENT_KEY$8 = `.${DATA_KEY$8}`;
4393
- const DATA_API_KEY$5 = '.data-api';
4390
+ const NAME$d = 'dropdown';
4391
+ const DATA_KEY$9 = 'bs.dropdown';
4392
+ const EVENT_KEY$9 = `.${DATA_KEY$9}`;
4393
+ const DATA_API_KEY$6 = '.data-api';
4394
4394
  const ESCAPE_KEY$2 = 'Escape';
4395
4395
  const TAB_KEY$1 = 'Tab';
4396
4396
  const ARROW_UP_KEY$1 = 'ArrowUp';
4397
4397
  const ARROW_DOWN_KEY$1 = 'ArrowDown';
4398
4398
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
4399
4399
 
4400
- const EVENT_HIDE$6 = `hide${EVENT_KEY$8}`;
4401
- const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$8}`;
4402
- const EVENT_SHOW$6 = `show${EVENT_KEY$8}`;
4403
- const EVENT_SHOWN$6 = `shown${EVENT_KEY$8}`;
4404
- const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
4405
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
4406
- const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$5}`;
4400
+ const EVENT_HIDE$6 = `hide${EVENT_KEY$9}`;
4401
+ const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$9}`;
4402
+ const EVENT_SHOW$6 = `show${EVENT_KEY$9}`;
4403
+ const EVENT_SHOWN$6 = `shown${EVENT_KEY$9}`;
4404
+ const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
4405
+ const EVENT_KEYDOWN_DATA_API$1 = `keydown${EVENT_KEY$9}${DATA_API_KEY$6}`;
4406
+ const EVENT_KEYUP_DATA_API$1 = `keyup${EVENT_KEY$9}${DATA_API_KEY$6}`;
4407
4407
  const CLASS_NAME_SHOW$8 = 'show';
4408
4408
  const CLASS_NAME_DROPUP = 'dropup';
4409
4409
  const CLASS_NAME_DROPEND = 'dropend';
4410
4410
  const CLASS_NAME_DROPSTART = 'dropstart';
4411
4411
  const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
4412
4412
  const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
4413
- const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
4414
- const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$4}.${CLASS_NAME_SHOW$8}`;
4413
+ const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
4414
+ const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$5}.${CLASS_NAME_SHOW$8}`;
4415
4415
  const SELECTOR_MENU = '.dropdown-menu';
4416
4416
  const SELECTOR_NAVBAR = '.navbar';
4417
4417
  const SELECTOR_NAVBAR_NAV = '.navbar-nav';
@@ -4424,7 +4424,7 @@
4424
4424
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
4425
4425
  const PLACEMENT_TOPCENTER = 'top';
4426
4426
  const PLACEMENT_BOTTOMCENTER = 'bottom';
4427
- const Default$b = {
4427
+ const Default$c = {
4428
4428
  autoClose: true,
4429
4429
  boundary: 'clippingParents',
4430
4430
  display: 'dynamic',
@@ -4432,7 +4432,7 @@
4432
4432
  popperConfig: null,
4433
4433
  reference: 'toggle'
4434
4434
  };
4435
- const DefaultType$b = {
4435
+ const DefaultType$c = {
4436
4436
  autoClose: '(boolean|string)',
4437
4437
  boundary: '(string|element)',
4438
4438
  display: 'string',
@@ -4457,13 +4457,13 @@
4457
4457
 
4458
4458
  // Getters
4459
4459
  static get Default() {
4460
- return Default$b;
4460
+ return Default$c;
4461
4461
  }
4462
4462
  static get DefaultType() {
4463
- return DefaultType$b;
4463
+ return DefaultType$c;
4464
4464
  }
4465
4465
  static get NAME() {
4466
- return NAME$c;
4466
+ return NAME$d;
4467
4467
  }
4468
4468
 
4469
4469
  // Public
@@ -4547,7 +4547,7 @@
4547
4547
  config = super._getConfig(config);
4548
4548
  if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
4549
4549
  // Popper virtual elements require a getBoundingClientRect method
4550
- throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
4550
+ throw new TypeError(`${NAME$d.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
4551
4551
  }
4552
4552
  return config;
4553
4553
  }
@@ -4707,7 +4707,7 @@
4707
4707
  event.preventDefault();
4708
4708
 
4709
4709
  // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
4710
- const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$4) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$4)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$4, event.delegateTarget.parentNode);
4710
+ const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE$5) ? this : SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.next(this, SELECTOR_DATA_TOGGLE$5)[0] || SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$5, event.delegateTarget.parentNode);
4711
4711
  const instance = Dropdown.getOrCreateInstance(getToggleButton);
4712
4712
  if (isUpOrDownEvent) {
4713
4713
  event.stopPropagation();
@@ -4728,11 +4728,11 @@
4728
4728
  * Data API implementation
4729
4729
  */
4730
4730
 
4731
- EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$4, Dropdown.dataApiKeydownHandler);
4732
- EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
4733
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, Dropdown.clearMenus);
4734
- EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
4735
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$4, function (event) {
4731
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API$1, SELECTOR_DATA_TOGGLE$5, Dropdown.dataApiKeydownHandler);
4732
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API$1, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
4733
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, Dropdown.clearMenus);
4734
+ EventHandler.on(document, EVENT_KEYUP_DATA_API$1, Dropdown.clearMenus);
4735
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, function (event) {
4736
4736
  event.preventDefault();
4737
4737
  Dropdown.getOrCreateInstance(this).toggle();
4738
4738
  });
@@ -4758,11 +4758,11 @@
4758
4758
  * Constants
4759
4759
  */
4760
4760
 
4761
- const NAME$b = 'backdrop';
4761
+ const NAME$c = 'backdrop';
4762
4762
  const CLASS_NAME_FADE$4 = 'fade';
4763
4763
  const CLASS_NAME_SHOW$7 = 'show';
4764
- const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$b}`;
4765
- const Default$a = {
4764
+ const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$c}`;
4765
+ const Default$b = {
4766
4766
  className: 'modal-backdrop',
4767
4767
  clickCallback: null,
4768
4768
  isAnimated: false,
@@ -4770,7 +4770,7 @@
4770
4770
  // if false, we use the backdrop helper without adding any element to the dom
4771
4771
  rootElement: 'body' // give the choice to place backdrop under different elements
4772
4772
  };
4773
- const DefaultType$a = {
4773
+ const DefaultType$b = {
4774
4774
  className: 'string',
4775
4775
  clickCallback: '(function|null)',
4776
4776
  isAnimated: 'boolean',
@@ -4792,13 +4792,13 @@
4792
4792
 
4793
4793
  // Getters
4794
4794
  static get Default() {
4795
- return Default$a;
4795
+ return Default$b;
4796
4796
  }
4797
4797
  static get DefaultType() {
4798
- return DefaultType$a;
4798
+ return DefaultType$b;
4799
4799
  }
4800
4800
  static get NAME() {
4801
- return NAME$b;
4801
+ return NAME$c;
4802
4802
  }
4803
4803
 
4804
4804
  // Public
@@ -4885,19 +4885,19 @@
4885
4885
  * Constants
4886
4886
  */
4887
4887
 
4888
- const NAME$a = 'focustrap';
4889
- const DATA_KEY$7 = 'bs.focustrap';
4890
- const EVENT_KEY$7 = `.${DATA_KEY$7}`;
4891
- const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$7}`;
4892
- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
4888
+ const NAME$b = 'focustrap';
4889
+ const DATA_KEY$8 = 'bs.focustrap';
4890
+ const EVENT_KEY$8 = `.${DATA_KEY$8}`;
4891
+ const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$8}`;
4892
+ const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$8}`;
4893
4893
  const TAB_KEY = 'Tab';
4894
4894
  const TAB_NAV_FORWARD = 'forward';
4895
4895
  const TAB_NAV_BACKWARD = 'backward';
4896
- const Default$9 = {
4896
+ const Default$a = {
4897
4897
  autofocus: true,
4898
4898
  trapElement: null // The element to trap focus inside of
4899
4899
  };
4900
- const DefaultType$9 = {
4900
+ const DefaultType$a = {
4901
4901
  autofocus: 'boolean',
4902
4902
  trapElement: 'element'
4903
4903
  };
@@ -4916,13 +4916,13 @@
4916
4916
 
4917
4917
  // Getters
4918
4918
  static get Default() {
4919
- return Default$9;
4919
+ return Default$a;
4920
4920
  }
4921
4921
  static get DefaultType() {
4922
- return DefaultType$9;
4922
+ return DefaultType$a;
4923
4923
  }
4924
4924
  static get NAME() {
4925
- return NAME$a;
4925
+ return NAME$b;
4926
4926
  }
4927
4927
 
4928
4928
  // Public
@@ -4933,7 +4933,7 @@
4933
4933
  if (this._config.autofocus) {
4934
4934
  this._config.trapElement.focus();
4935
4935
  }
4936
- EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
4936
+ EventHandler.off(document, EVENT_KEY$8); // guard against infinite focus loop
4937
4937
  EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
4938
4938
  EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
4939
4939
  this._isActive = true;
@@ -4943,7 +4943,7 @@
4943
4943
  return;
4944
4944
  }
4945
4945
  this._isActive = false;
4946
- EventHandler.off(document, EVENT_KEY$7);
4946
+ EventHandler.off(document, EVENT_KEY$8);
4947
4947
  }
4948
4948
 
4949
4949
  // Private
@@ -5087,21 +5087,21 @@
5087
5087
  * Constants
5088
5088
  */
5089
5089
 
5090
- const NAME$9 = 'modal';
5091
- const DATA_KEY$6 = 'bs.modal';
5092
- const EVENT_KEY$6 = `.${DATA_KEY$6}`;
5093
- const DATA_API_KEY$4 = '.data-api';
5090
+ const NAME$a = 'modal';
5091
+ const DATA_KEY$7 = 'bs.modal';
5092
+ const EVENT_KEY$7 = `.${DATA_KEY$7}`;
5093
+ const DATA_API_KEY$5 = '.data-api';
5094
5094
  const ESCAPE_KEY$1 = 'Escape';
5095
- const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
5096
- const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$6}`;
5097
- const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
5098
- const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
5099
- const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
5100
- const EVENT_RESIZE$2 = `resize${EVENT_KEY$6}`;
5101
- const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$6}`;
5102
- const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$6}`;
5103
- const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$6}`;
5104
- const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
5095
+ const EVENT_HIDE$5 = `hide${EVENT_KEY$7}`;
5096
+ const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$7}`;
5097
+ const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$7}`;
5098
+ const EVENT_SHOW$5 = `show${EVENT_KEY$7}`;
5099
+ const EVENT_SHOWN$5 = `shown${EVENT_KEY$7}`;
5100
+ const EVENT_RESIZE$2 = `resize${EVENT_KEY$7}`;
5101
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$7}`;
5102
+ const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$7}`;
5103
+ const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$7}`;
5104
+ const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$7}${DATA_API_KEY$5}`;
5105
5105
  const CLASS_NAME_OPEN = 'modal-open';
5106
5106
  const CLASS_NAME_FADE$3 = 'fade';
5107
5107
  const CLASS_NAME_SHOW$6 = 'show';
@@ -5109,13 +5109,13 @@
5109
5109
  const OPEN_SELECTOR$1 = '.modal.show';
5110
5110
  const SELECTOR_DIALOG = '.modal-dialog';
5111
5111
  const SELECTOR_MODAL_BODY = '.modal-body';
5112
- const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="modal"]';
5113
- const Default$8 = {
5112
+ const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="modal"]';
5113
+ const Default$9 = {
5114
5114
  backdrop: true,
5115
5115
  focus: true,
5116
5116
  keyboard: true
5117
5117
  };
5118
- const DefaultType$8 = {
5118
+ const DefaultType$9 = {
5119
5119
  backdrop: '(boolean|string)',
5120
5120
  focus: 'boolean',
5121
5121
  keyboard: 'boolean'
@@ -5139,13 +5139,13 @@
5139
5139
 
5140
5140
  // Getters
5141
5141
  static get Default() {
5142
- return Default$8;
5142
+ return Default$9;
5143
5143
  }
5144
5144
  static get DefaultType() {
5145
- return DefaultType$8;
5145
+ return DefaultType$9;
5146
5146
  }
5147
5147
  static get NAME() {
5148
- return NAME$9;
5148
+ return NAME$a;
5149
5149
  }
5150
5150
 
5151
5151
  // Public
@@ -5184,8 +5184,8 @@
5184
5184
  this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
5185
5185
  }
5186
5186
  dispose() {
5187
- EventHandler.off(window, EVENT_KEY$6);
5188
- EventHandler.off(this._dialog, EVENT_KEY$6);
5187
+ EventHandler.off(window, EVENT_KEY$7);
5188
+ EventHandler.off(this._dialog, EVENT_KEY$7);
5189
5189
  this._backdrop.dispose();
5190
5190
  this._focustrap.deactivate();
5191
5191
  super.dispose();
@@ -5347,7 +5347,7 @@
5347
5347
  * Data API implementation
5348
5348
  */
5349
5349
 
5350
- EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$3, function (event) {
5350
+ EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$4, function (event) {
5351
5351
  const target = SelectorEngine.getElementFromSelector(this);
5352
5352
  if (['A', 'AREA'].includes(this.tagName)) {
5353
5353
  event.preventDefault();
@@ -5394,29 +5394,29 @@
5394
5394
  * ------------------------------------------------------------------------
5395
5395
  */
5396
5396
 
5397
- const NAME$8 = 'navigation';
5398
- const DATA_KEY$5 = 'bs.navigation';
5399
- const EVENT_KEY$5 = `.${DATA_KEY$5}`;
5400
- const DATA_API_KEY$3 = '.data-api';
5401
- const Default$7 = {
5397
+ const NAME$9 = 'navigation';
5398
+ const DATA_KEY$6 = 'bs.navigation';
5399
+ const EVENT_KEY$6 = `.${DATA_KEY$6}`;
5400
+ const DATA_API_KEY$4 = '.data-api';
5401
+ const Default$8 = {
5402
5402
  activeLinksExact: true,
5403
5403
  groupsAutoCollapse: true
5404
5404
  };
5405
- const DefaultType$7 = {
5405
+ const DefaultType$8 = {
5406
5406
  activeLinksExact: 'boolean',
5407
5407
  groupsAutoCollapse: '(string|boolean)'
5408
5408
  };
5409
- const CLASS_NAME_ACTIVE$2 = 'active';
5409
+ const CLASS_NAME_ACTIVE$3 = 'active';
5410
5410
  const CLASS_NAME_SHOW$5 = 'show';
5411
5411
  const CLASS_NAME_NAV_GROUP = 'nav-group';
5412
5412
  const CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle';
5413
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
5414
- const EVENT_LOAD_DATA_API$4 = `load${EVENT_KEY$5}${DATA_API_KEY$3}`;
5413
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
5414
+ const EVENT_LOAD_DATA_API$4 = `load${EVENT_KEY$6}${DATA_API_KEY$4}`;
5415
5415
  const SELECTOR_NAV_GROUP = '.nav-group';
5416
5416
  const SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items';
5417
5417
  const SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle';
5418
5418
  const SELECTOR_NAV_LINK = '.nav-link';
5419
- const SELECTOR_DATA_NAVIGATION = '[data-bs="navigation"]';
5419
+ const SELECTOR_DATA_NAVIGATION = '[data-bs-navigation], [data-bs="navigation"]';
5420
5420
 
5421
5421
  /**
5422
5422
  * ------------------------------------------------------------------------
@@ -5430,21 +5430,21 @@
5430
5430
  this._config = this._getConfig(config);
5431
5431
  this._setActiveLink();
5432
5432
  this._addEventListeners();
5433
- Data.set(element, DATA_KEY$5, this);
5433
+ Data.set(element, DATA_KEY$6, this);
5434
5434
  }
5435
5435
  // Getters
5436
5436
 
5437
5437
  static get Default() {
5438
- return Default$7;
5438
+ return Default$8;
5439
5439
  }
5440
5440
  static get DATA_KEY() {
5441
- return DATA_KEY$5;
5441
+ return DATA_KEY$6;
5442
5442
  }
5443
5443
  static get DefaultType() {
5444
- return DefaultType$7;
5444
+ return DefaultType$8;
5445
5445
  }
5446
5446
  static get NAME() {
5447
- return NAME$8;
5447
+ return NAME$9;
5448
5448
  }
5449
5449
 
5450
5450
  // Private
@@ -5465,7 +5465,7 @@
5465
5465
  currentUrl = currentUrl.split('#')[0];
5466
5466
  }
5467
5467
  if (this._config.activeLinksExact && element.href === currentUrl) {
5468
- element.classList.add(CLASS_NAME_ACTIVE$2);
5468
+ element.classList.add(CLASS_NAME_ACTIVE$3);
5469
5469
  // eslint-disable-next-line unicorn/no-array-for-each
5470
5470
  Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {
5471
5471
  element.classList.add(CLASS_NAME_SHOW$5);
@@ -5473,7 +5473,7 @@
5473
5473
  });
5474
5474
  }
5475
5475
  if (!this._config.activeLinksExact && currentUrl.startsWith(element.href)) {
5476
- element.classList.add(CLASS_NAME_ACTIVE$2);
5476
+ element.classList.add(CLASS_NAME_ACTIVE$3);
5477
5477
  // eslint-disable-next-line unicorn/no-array-for-each
5478
5478
  Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {
5479
5479
  element.classList.add(CLASS_NAME_SHOW$5);
@@ -5581,7 +5581,7 @@
5581
5581
  this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode));
5582
5582
  }
5583
5583
  _addEventListeners() {
5584
- EventHandler.on(this._element, EVENT_CLICK_DATA_API$3, SELECTOR_NAV_GROUP_TOGGLE, event => {
5584
+ EventHandler.on(this._element, EVENT_CLICK_DATA_API$4, SELECTOR_NAV_GROUP_TOGGLE, event => {
5585
5585
  event.preventDefault();
5586
5586
  this._toggleGroupItems(event, this);
5587
5587
  });
@@ -5640,32 +5640,32 @@
5640
5640
  * Constants
5641
5641
  */
5642
5642
 
5643
- const NAME$7 = 'offcanvas';
5644
- const DATA_KEY$4 = 'bs.offcanvas';
5645
- const EVENT_KEY$4 = `.${DATA_KEY$4}`;
5646
- const DATA_API_KEY$2 = '.data-api';
5647
- const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
5643
+ const NAME$8 = 'offcanvas';
5644
+ const DATA_KEY$5 = 'bs.offcanvas';
5645
+ const EVENT_KEY$5 = `.${DATA_KEY$5}`;
5646
+ const DATA_API_KEY$3 = '.data-api';
5647
+ const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$5}${DATA_API_KEY$3}`;
5648
5648
  const ESCAPE_KEY = 'Escape';
5649
5649
  const CLASS_NAME_SHOW$4 = 'show';
5650
5650
  const CLASS_NAME_SHOWING$1 = 'showing';
5651
5651
  const CLASS_NAME_HIDING = 'hiding';
5652
5652
  const CLASS_NAME_BACKDROP$1 = 'offcanvas-backdrop';
5653
5653
  const OPEN_SELECTOR = '.offcanvas.show';
5654
- const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
5655
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
5656
- const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;
5657
- const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
5658
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
5659
- const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
5660
- const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
5661
- const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
5662
- const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="offcanvas"]';
5663
- const Default$6 = {
5654
+ const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
5655
+ const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
5656
+ const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
5657
+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$5}`;
5658
+ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
5659
+ const EVENT_RESIZE$1 = `resize${EVENT_KEY$5}`;
5660
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
5661
+ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$5}`;
5662
+ const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="offcanvas"]';
5663
+ const Default$7 = {
5664
5664
  backdrop: true,
5665
5665
  keyboard: true,
5666
5666
  scroll: false
5667
5667
  };
5668
- const DefaultType$6 = {
5668
+ const DefaultType$7 = {
5669
5669
  backdrop: '(boolean|string)',
5670
5670
  keyboard: 'boolean',
5671
5671
  scroll: 'boolean'
@@ -5686,13 +5686,13 @@
5686
5686
 
5687
5687
  // Getters
5688
5688
  static get Default() {
5689
- return Default$6;
5689
+ return Default$7;
5690
5690
  }
5691
5691
  static get DefaultType() {
5692
- return DefaultType$6;
5692
+ return DefaultType$7;
5693
5693
  }
5694
5694
  static get NAME() {
5695
- return NAME$7;
5695
+ return NAME$8;
5696
5696
  }
5697
5697
 
5698
5698
  // Public
@@ -5816,7 +5816,7 @@
5816
5816
  * Data API implementation
5817
5817
  */
5818
5818
 
5819
- EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
5819
+ EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
5820
5820
  const target = SelectorEngine.getElementFromSelector(this);
5821
5821
  if (['A', 'AREA'].includes(this.tagName)) {
5822
5822
  event.preventDefault();
@@ -5972,8 +5972,8 @@
5972
5972
  * Constants
5973
5973
  */
5974
5974
 
5975
- const NAME$6 = 'TemplateFactory';
5976
- const Default$5 = {
5975
+ const NAME$7 = 'TemplateFactory';
5976
+ const Default$6 = {
5977
5977
  allowList: DefaultAllowlist,
5978
5978
  content: {},
5979
5979
  // { selector : text , selector2 : text2 , }
@@ -5983,7 +5983,7 @@
5983
5983
  sanitizeFn: null,
5984
5984
  template: '<div></div>'
5985
5985
  };
5986
- const DefaultType$5 = {
5986
+ const DefaultType$6 = {
5987
5987
  allowList: 'object',
5988
5988
  content: 'object',
5989
5989
  extraClass: '(string|function)',
@@ -6009,13 +6009,13 @@
6009
6009
 
6010
6010
  // Getters
6011
6011
  static get Default() {
6012
- return Default$5;
6012
+ return Default$6;
6013
6013
  }
6014
6014
  static get DefaultType() {
6015
- return DefaultType$5;
6015
+ return DefaultType$6;
6016
6016
  }
6017
6017
  static get NAME() {
6018
- return NAME$6;
6018
+ return NAME$7;
6019
6019
  }
6020
6020
 
6021
6021
  // Public
@@ -6111,7 +6111,7 @@
6111
6111
  * Constants
6112
6112
  */
6113
6113
 
6114
- const NAME$5 = 'tooltip';
6114
+ const NAME$6 = 'tooltip';
6115
6115
  const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
6116
6116
  const CLASS_NAME_FADE$2 = 'fade';
6117
6117
  const CLASS_NAME_MODAL = 'modal';
@@ -6140,7 +6140,7 @@
6140
6140
  BOTTOM: 'bottom',
6141
6141
  LEFT: isRTL() ? 'right' : 'left'
6142
6142
  };
6143
- const Default$4 = {
6143
+ const Default$5 = {
6144
6144
  allowList: DefaultAllowlist,
6145
6145
  animation: true,
6146
6146
  boundary: 'clippingParents',
@@ -6159,7 +6159,7 @@
6159
6159
  title: '',
6160
6160
  trigger: 'hover focus'
6161
6161
  };
6162
- const DefaultType$4 = {
6162
+ const DefaultType$5 = {
6163
6163
  allowList: 'object',
6164
6164
  animation: 'boolean',
6165
6165
  boundary: '(string|element)',
@@ -6209,13 +6209,13 @@
6209
6209
 
6210
6210
  // Getters
6211
6211
  static get Default() {
6212
- return Default$4;
6212
+ return Default$5;
6213
6213
  }
6214
6214
  static get DefaultType() {
6215
- return DefaultType$4;
6215
+ return DefaultType$5;
6216
6216
  }
6217
6217
  static get NAME() {
6218
- return NAME$5;
6218
+ return NAME$6;
6219
6219
  }
6220
6220
 
6221
6221
  // Public
@@ -6626,10 +6626,10 @@
6626
6626
  * Constants
6627
6627
  */
6628
6628
 
6629
- const NAME$4 = 'popover';
6629
+ const NAME$5 = 'popover';
6630
6630
  const SELECTOR_TITLE = '.popover-header';
6631
6631
  const SELECTOR_CONTENT = '.popover-body';
6632
- const Default$3 = {
6632
+ const Default$4 = {
6633
6633
  ...Tooltip.Default,
6634
6634
  content: '',
6635
6635
  offset: [0, 8],
@@ -6637,7 +6637,7 @@
6637
6637
  template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
6638
6638
  trigger: 'click'
6639
6639
  };
6640
- const DefaultType$3 = {
6640
+ const DefaultType$4 = {
6641
6641
  ...Tooltip.DefaultType,
6642
6642
  content: '(null|string|element|function)'
6643
6643
  };
@@ -6649,13 +6649,13 @@
6649
6649
  class Popover extends Tooltip {
6650
6650
  // Getters
6651
6651
  static get Default() {
6652
- return Default$3;
6652
+ return Default$4;
6653
6653
  }
6654
6654
  static get DefaultType() {
6655
- return DefaultType$3;
6655
+ return DefaultType$4;
6656
6656
  }
6657
6657
  static get NAME() {
6658
- return NAME$4;
6658
+ return NAME$5;
6659
6659
  }
6660
6660
 
6661
6661
  // Overrides
@@ -6710,15 +6710,15 @@
6710
6710
  * Constants
6711
6711
  */
6712
6712
 
6713
- const NAME$3 = 'scrollspy';
6714
- const DATA_KEY$3 = 'bs.scrollspy';
6715
- const EVENT_KEY$3 = `.${DATA_KEY$3}`;
6716
- const DATA_API_KEY$1 = '.data-api';
6717
- const EVENT_ACTIVATE = `activate${EVENT_KEY$3}`;
6718
- const EVENT_CLICK = `click${EVENT_KEY$3}`;
6719
- const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
6713
+ const NAME$4 = 'scrollspy';
6714
+ const DATA_KEY$4 = 'bs.scrollspy';
6715
+ const EVENT_KEY$4 = `.${DATA_KEY$4}`;
6716
+ const DATA_API_KEY$2 = '.data-api';
6717
+ const EVENT_ACTIVATE = `activate${EVENT_KEY$4}`;
6718
+ const EVENT_CLICK = `click${EVENT_KEY$4}`;
6719
+ const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
6720
6720
  const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
6721
- const CLASS_NAME_ACTIVE$1 = 'active';
6721
+ const CLASS_NAME_ACTIVE$2 = 'active';
6722
6722
  const SELECTOR_DATA_SPY = '[data-bs-spy="scroll"]';
6723
6723
  const SELECTOR_TARGET_LINKS = '[href]';
6724
6724
  const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
@@ -6728,7 +6728,7 @@
6728
6728
  const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
6729
6729
  const SELECTOR_DROPDOWN = '.dropdown';
6730
6730
  const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
6731
- const Default$2 = {
6731
+ const Default$3 = {
6732
6732
  offset: null,
6733
6733
  // TODO: v6 @deprecated, keep it for backwards compatibility reasons
6734
6734
  rootMargin: '0px 0px -25%',
@@ -6736,7 +6736,7 @@
6736
6736
  target: null,
6737
6737
  threshold: [0.1, 0.5, 1]
6738
6738
  };
6739
- const DefaultType$2 = {
6739
+ const DefaultType$3 = {
6740
6740
  offset: '(number|null)',
6741
6741
  // TODO v6 @deprecated, keep it for backwards compatibility reasons
6742
6742
  rootMargin: 'string',
@@ -6768,13 +6768,13 @@
6768
6768
 
6769
6769
  // Getters
6770
6770
  static get Default() {
6771
- return Default$2;
6771
+ return Default$3;
6772
6772
  }
6773
6773
  static get DefaultType() {
6774
- return DefaultType$2;
6774
+ return DefaultType$3;
6775
6775
  }
6776
6776
  static get NAME() {
6777
- return NAME$3;
6777
+ return NAME$4;
6778
6778
  }
6779
6779
 
6780
6780
  // Public
@@ -6899,7 +6899,7 @@
6899
6899
  }
6900
6900
  this._clearActiveClass(this._config.target);
6901
6901
  this._activeTarget = target;
6902
- target.classList.add(CLASS_NAME_ACTIVE$1);
6902
+ target.classList.add(CLASS_NAME_ACTIVE$2);
6903
6903
  this._activateParents(target);
6904
6904
  EventHandler.trigger(this._element, EVENT_ACTIVATE, {
6905
6905
  relatedTarget: target
@@ -6908,22 +6908,22 @@
6908
6908
  _activateParents(target) {
6909
6909
  // Activate dropdown parents
6910
6910
  if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
6911
- SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
6911
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2);
6912
6912
  return;
6913
6913
  }
6914
6914
  for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
6915
6915
  // Set triggered links parents as active
6916
6916
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
6917
6917
  for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
6918
- item.classList.add(CLASS_NAME_ACTIVE$1);
6918
+ item.classList.add(CLASS_NAME_ACTIVE$2);
6919
6919
  }
6920
6920
  }
6921
6921
  }
6922
6922
  _clearActiveClass(parent) {
6923
- parent.classList.remove(CLASS_NAME_ACTIVE$1);
6924
- const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);
6923
+ parent.classList.remove(CLASS_NAME_ACTIVE$2);
6924
+ const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$2}`, parent);
6925
6925
  for (const node of activeNodes) {
6926
- node.classList.remove(CLASS_NAME_ACTIVE$1);
6926
+ node.classList.remove(CLASS_NAME_ACTIVE$2);
6927
6927
  }
6928
6928
  }
6929
6929
 
@@ -6958,6 +6958,327 @@
6958
6958
 
6959
6959
  defineJQueryPlugin(ScrollSpy);
6960
6960
 
6961
+ /**
6962
+ * --------------------------------------------------------------------------
6963
+ * CoreUI search-button.js
6964
+ * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
6965
+ * --------------------------------------------------------------------------
6966
+ */
6967
+
6968
+
6969
+ /**
6970
+ * Constants
6971
+ */
6972
+
6973
+ const NAME$3 = 'search-button';
6974
+ const DATA_KEY$3 = 'bs.search-button';
6975
+ const EVENT_KEY$3 = `.${DATA_KEY$3}`;
6976
+ const DATA_API_KEY$1 = '.data-api';
6977
+ const EVENT_BLUR_DATA_API = `blur${EVENT_KEY$3}${DATA_API_KEY$1}`;
6978
+ const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
6979
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$3}${DATA_API_KEY$1}`;
6980
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$3}${DATA_API_KEY$1}`;
6981
+ const EVENT_TRIGGER = `trigger${EVENT_KEY$3}`;
6982
+ const CLASS_NAME_SHORTCUT_KEYS = 'search-button-keys';
6983
+ const CLASS_NAME_SHORTCUT_KEY = 'search-button-key';
6984
+ const CLASS_NAME_ACTIVE$1 = 'active';
6985
+ const SELECTOR_DATA_TOGGLE$2 = '[data-bs-search-button]';
6986
+ const SELECTOR_EDITABLE_TARGET = 'input, textarea, select, [contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"]';
6987
+ const SELECTOR_PLACEHOLDER = '.search-button-placeholder';
6988
+ const SELECTOR_SHORTCUT_KEY = '.search-button-key';
6989
+ const SELECTOR_SHORTCUT_KEYS = '.search-button-keys';
6990
+ const Default$2 = {
6991
+ preventDefault: true,
6992
+ shortcut: 'meta+/,ctrl+/'
6993
+ };
6994
+ const DefaultType$2 = {
6995
+ preventDefault: 'boolean',
6996
+ shortcut: 'string'
6997
+ };
6998
+ const MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift']);
6999
+ const KEY_ALIASES = {
7000
+ cmd: 'meta',
7001
+ command: 'meta',
7002
+ control: 'ctrl',
7003
+ option: 'alt',
7004
+ return: 'enter',
7005
+ esc: 'escape',
7006
+ spacebar: 'space',
7007
+ ' ': 'space'
7008
+ };
7009
+ const KEY_LABELS = {
7010
+ alt: 'Alt',
7011
+ ctrl: 'Ctrl',
7012
+ meta: '⌘',
7013
+ shift: 'Shift',
7014
+ space: 'Space'
7015
+ };
7016
+
7017
+ /**
7018
+ * Class definition
7019
+ */
7020
+
7021
+ class SearchButton extends BaseComponent {
7022
+ constructor(element, config) {
7023
+ super(element, config);
7024
+ this._shortcutTriggered = false;
7025
+ this._shortcuts = this._parseShortcut(this._config.shortcut);
7026
+ this._preferredShortcut = this._getPreferredShortcut(this._shortcuts);
7027
+ this._syncShortcutKeys();
7028
+ }
7029
+
7030
+ // Getters
7031
+ static get Default() {
7032
+ return Default$2;
7033
+ }
7034
+ static get DefaultType() {
7035
+ return DefaultType$2;
7036
+ }
7037
+ static get NAME() {
7038
+ return NAME$3;
7039
+ }
7040
+
7041
+ // Public
7042
+ trigger() {
7043
+ this._triggerEvent('api');
7044
+ }
7045
+
7046
+ // Private
7047
+ _triggerEvent(trigger) {
7048
+ if (this._isDisabled()) {
7049
+ return;
7050
+ }
7051
+ EventHandler.trigger(this._element, EVENT_TRIGGER, {
7052
+ trigger
7053
+ });
7054
+ }
7055
+ _handleShortcut(event) {
7056
+ if (this._isDisabled() || event.defaultPrevented || event.repeat || this._shouldIgnoreShortcut(event)) {
7057
+ return false;
7058
+ }
7059
+ const matchedShortcut = this._shortcuts.find(shortcut => this._matchesShortcut(shortcut, event));
7060
+ if (!matchedShortcut) {
7061
+ return false;
7062
+ }
7063
+ if (this._config.preventDefault) {
7064
+ event.preventDefault();
7065
+ }
7066
+ this._shortcutTriggered = true;
7067
+ try {
7068
+ this._element.click();
7069
+ } finally {
7070
+ this._shortcutTriggered = false;
7071
+ }
7072
+ return true;
7073
+ }
7074
+ _isDisabled() {
7075
+ return this._element.classList.contains('disabled') || this._element.getAttribute('aria-disabled') === 'true' || this._element.disabled;
7076
+ }
7077
+ _ensureShortcutKeys() {
7078
+ const existingShortcutKeys = this._element.querySelector(SELECTOR_SHORTCUT_KEYS);
7079
+ if (existingShortcutKeys) {
7080
+ return existingShortcutKeys;
7081
+ }
7082
+ const shortcutKeys = document.createElement('span');
7083
+ shortcutKeys.className = CLASS_NAME_SHORTCUT_KEYS;
7084
+ shortcutKeys.setAttribute('aria-hidden', 'true');
7085
+ const placeholder = this._element.querySelector(SELECTOR_PLACEHOLDER);
7086
+ if (placeholder) {
7087
+ placeholder.after(shortcutKeys);
7088
+ return shortcutKeys;
7089
+ }
7090
+ this._element.append(shortcutKeys);
7091
+ return shortcutKeys;
7092
+ }
7093
+ _syncShortcutKeys() {
7094
+ var _this$_preferredShort;
7095
+ const shortcutKeys = this._ensureShortcutKeys();
7096
+ const shortcutTokens = this._formatShortcutTokens(((_this$_preferredShort = this._preferredShortcut) == null ? void 0 : _this$_preferredShort.shortcut) || '').filter(Boolean);
7097
+ shortcutKeys.replaceChildren();
7098
+ for (const key of shortcutTokens) {
7099
+ const shortcutKey = document.createElement('span');
7100
+ shortcutKey.className = CLASS_NAME_SHORTCUT_KEY;
7101
+ shortcutKey.textContent = key;
7102
+ shortcutKey.dataset.bsSearchButtonKey = key;
7103
+ shortcutKeys.append(shortcutKey);
7104
+ }
7105
+ }
7106
+ _syncActiveKeys(event) {
7107
+ const pressedKeys = this._getPressedKeys(event);
7108
+ for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {
7109
+ shortcutKey.classList.toggle(CLASS_NAME_ACTIVE$1, pressedKeys.has(shortcutKey.dataset.bsSearchButtonKey));
7110
+ }
7111
+ }
7112
+ _clearActiveKeys() {
7113
+ for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {
7114
+ shortcutKey.classList.remove(CLASS_NAME_ACTIVE$1);
7115
+ }
7116
+ }
7117
+ _consumeShortcutTrigger() {
7118
+ const shortcutTriggered = this._shortcutTriggered;
7119
+ this._shortcutTriggered = false;
7120
+ return shortcutTriggered;
7121
+ }
7122
+ _shouldIgnoreShortcut(event) {
7123
+ return this._isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey;
7124
+ }
7125
+ _isEditableTarget(target) {
7126
+ if (!(target instanceof Element)) {
7127
+ return false;
7128
+ }
7129
+ return target.matches(SELECTOR_EDITABLE_TARGET) || target.closest(SELECTOR_EDITABLE_TARGET);
7130
+ }
7131
+ _normalizeKey(key) {
7132
+ return KEY_ALIASES[key.toLowerCase()] || key.toLowerCase();
7133
+ }
7134
+ _parseShortcut(shortcut) {
7135
+ return shortcut.split(',').map(value => value.trim()).filter(Boolean).map(value => {
7136
+ const keys = value.split('+').map(part => this._normalizeKey(part.trim()));
7137
+ const modifiers = {
7138
+ alt: false,
7139
+ ctrl: false,
7140
+ meta: false,
7141
+ shift: false
7142
+ };
7143
+ let key = '';
7144
+ for (const part of keys) {
7145
+ if (MODIFIER_KEYS.has(part)) {
7146
+ modifiers[part] = true;
7147
+ continue;
7148
+ }
7149
+ key = part;
7150
+ }
7151
+ return {
7152
+ key,
7153
+ modifiers,
7154
+ shortcut: value
7155
+ };
7156
+ });
7157
+ }
7158
+ _matchesShortcut(shortcut, event) {
7159
+ if (!shortcut.key || this._normalizeKey(event.key) !== shortcut.key) {
7160
+ return false;
7161
+ }
7162
+ return shortcut.modifiers.alt === event.altKey && shortcut.modifiers.ctrl === event.ctrlKey && shortcut.modifiers.meta === event.metaKey && shortcut.modifiers.shift === event.shiftKey;
7163
+ }
7164
+ _formatShortcutTokens(shortcut) {
7165
+ return shortcut.split('+').map(part => this._normalizeKey(part.trim())).map(part => this._getKeyLabel(part));
7166
+ }
7167
+ _getPlatform() {
7168
+ var _window$navigator$use;
7169
+ return ((_window$navigator$use = window.navigator.userAgentData) == null ? void 0 : _window$navigator$use.platform) || window.navigator.platform || window.navigator.userAgent || '';
7170
+ }
7171
+ _isMacOS() {
7172
+ return /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(this._getPlatform());
7173
+ }
7174
+ _getPreferredShortcut(shortcuts) {
7175
+ return shortcuts.find(shortcut => {
7176
+ return this._isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl;
7177
+ }) || shortcuts[0] || null;
7178
+ }
7179
+ _getPressedKeys(event) {
7180
+ const pressedKeys = new Set();
7181
+ if (event.altKey) {
7182
+ pressedKeys.add(KEY_LABELS.alt);
7183
+ }
7184
+ if (event.ctrlKey) {
7185
+ pressedKeys.add(KEY_LABELS.ctrl);
7186
+ }
7187
+ if (event.metaKey) {
7188
+ pressedKeys.add(KEY_LABELS.meta);
7189
+ }
7190
+ if (event.shiftKey) {
7191
+ pressedKeys.add(KEY_LABELS.shift);
7192
+ }
7193
+ const normalizedKey = this._normalizeKey(event.key);
7194
+ const keyLabel = this._getKeyLabel(normalizedKey);
7195
+ if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {
7196
+ pressedKeys.add(keyLabel);
7197
+ }
7198
+ return pressedKeys;
7199
+ }
7200
+ _getKeyLabel(key) {
7201
+ return KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`);
7202
+ }
7203
+
7204
+ // Static
7205
+ static searchButtonInterface(element, config) {
7206
+ const data = SearchButton.getOrCreateInstance(element, config);
7207
+ if (typeof config === 'string') {
7208
+ if (config.startsWith('_') || typeof data[config] !== 'function') {
7209
+ throw new TypeError(`No method named "${config}"`);
7210
+ }
7211
+ data[config]();
7212
+ }
7213
+ }
7214
+ static jQueryInterface(config) {
7215
+ return this.each(function () {
7216
+ SearchButton.searchButtonInterface(this, config);
7217
+ });
7218
+ }
7219
+ static _initializeDataApi() {
7220
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
7221
+ SearchButton.getOrCreateInstance(button);
7222
+ }
7223
+ }
7224
+ static _handleDataApiClick(event) {
7225
+ event.preventDefault();
7226
+ const button = event.target.closest(SELECTOR_DATA_TOGGLE$2);
7227
+ const data = SearchButton.getOrCreateInstance(button);
7228
+ const shortcutTriggered = data._consumeShortcutTrigger();
7229
+ if (shortcutTriggered) {
7230
+ data._triggerEvent('shortcut');
7231
+ return;
7232
+ }
7233
+ data._triggerEvent('click');
7234
+ }
7235
+ static _handleDataApiKeydown(event) {
7236
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
7237
+ const data = SearchButton.getOrCreateInstance(button);
7238
+ data._syncActiveKeys(event);
7239
+ if (data._handleShortcut(event)) {
7240
+ break;
7241
+ }
7242
+ }
7243
+ }
7244
+ static _handleDataApiKeyup(event) {
7245
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
7246
+ SearchButton.getOrCreateInstance(button)._syncActiveKeys(event);
7247
+ }
7248
+ }
7249
+ static _handleDataApiBlur() {
7250
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
7251
+ SearchButton.getOrCreateInstance(button)._clearActiveKeys();
7252
+ }
7253
+ }
7254
+ }
7255
+
7256
+ /**
7257
+ * Data API implementation
7258
+ */
7259
+
7260
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$3}${DATA_API_KEY$1}`, () => {
7261
+ SearchButton._initializeDataApi();
7262
+ });
7263
+ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, event => {
7264
+ SearchButton._handleDataApiClick(event);
7265
+ });
7266
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, event => {
7267
+ SearchButton._handleDataApiKeydown(event);
7268
+ });
7269
+ EventHandler.on(document, EVENT_KEYUP_DATA_API, event => {
7270
+ SearchButton._handleDataApiKeyup(event);
7271
+ });
7272
+ EventHandler.on(window, EVENT_BLUR_DATA_API, () => {
7273
+ SearchButton._handleDataApiBlur();
7274
+ });
7275
+
7276
+ /**
7277
+ * jQuery
7278
+ */
7279
+
7280
+ defineJQueryPlugin(SearchButton);
7281
+
6961
7282
  /**
6962
7283
  * --------------------------------------------------------------------------
6963
7284
  * CoreUI sidebar.js
@@ -7084,13 +7405,13 @@
7084
7405
  }
7085
7406
  narrow() {
7086
7407
  if (!this._isMobile()) {
7087
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW);
7408
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW);
7088
7409
  this._narrow = true;
7089
7410
  }
7090
7411
  }
7091
7412
  unfoldable() {
7092
7413
  if (!this._isMobile()) {
7093
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
7414
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
7094
7415
  this._unfoldable = true;
7095
7416
  }
7096
7417
  }
@@ -7148,19 +7469,16 @@
7148
7469
  const rect = this._element.getBoundingClientRect();
7149
7470
  return rect.top >= 0 && rect.left >= 0 && Math.floor(rect.bottom) <= (window.innerHeight || document.documentElement.clientHeight) && Math.floor(rect.right) <= (window.innerWidth || document.documentElement.clientWidth);
7150
7471
  }
7151
- _addClassName(className) {
7152
- this._element.classList.add(className);
7153
- }
7154
- _clickOutListener(event, sidebar) {
7472
+ _clickOutListener(event) {
7155
7473
  if (event.target.closest(SELECTOR_SIDEBAR) === null) {
7156
7474
  event.preventDefault();
7157
7475
  event.stopPropagation();
7158
- sidebar.hide();
7476
+ this.hide();
7159
7477
  }
7160
7478
  }
7161
7479
  _addClickOutListener() {
7162
7480
  EventHandler.on(document, EVENT_CLICK_DATA_API$1, event => {
7163
- this._clickOutListener(event, this);
7481
+ this._clickOutListener(event);
7164
7482
  });
7165
7483
  }
7166
7484
  _removeClickOutListener() {
@@ -7177,7 +7495,7 @@
7177
7495
  }
7178
7496
  EventHandler.on(this._element, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, event => {
7179
7497
  event.preventDefault();
7180
- const toggle = Manipulator.getDataAttribute(event.target, 'toggle');
7498
+ const toggle = Manipulator.getDataAttribute(event.target.closest(SELECTOR_DATA_TOGGLE$1), 'toggle');
7181
7499
  if (toggle === 'narrow') {
7182
7500
  this.toggleNarrow();
7183
7501
  }
@@ -7714,6 +8032,7 @@
7714
8032
  OffCanvas: Offcanvas,
7715
8033
  Popover,
7716
8034
  ScrollSpy,
8035
+ SearchButton,
7717
8036
  Sidebar,
7718
8037
  Tab,
7719
8038
  Toast,