@coreui/coreui 5.6.0 → 5.7.0

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 (120) 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 +172 -68
  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 +167 -66
  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 +172 -68
  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 +167 -66
  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 -261
  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 -262
  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 -261
  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 -261
  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 -262
  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 -261
  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 -3
  72. package/js/dist/chip-input.js.map +1 -1
  73. package/js/dist/chip.js +1 -1
  74. package/js/dist/collapse.js +1 -1
  75. package/js/dist/dom/data.js +1 -1
  76. package/js/dist/dom/event-handler.js +1 -1
  77. package/js/dist/dom/manipulator.js +1 -1
  78. package/js/dist/dom/selector-engine.js +1 -1
  79. package/js/dist/dropdown.js +1 -1
  80. package/js/dist/modal.js +1 -1
  81. package/js/dist/navigation.js +2 -2
  82. package/js/dist/navigation.js.map +1 -1
  83. package/js/dist/offcanvas.js +1 -1
  84. package/js/dist/popover.js +1 -1
  85. package/js/dist/scrollspy.js +1 -1
  86. package/js/dist/search-button.js +336 -0
  87. package/js/dist/search-button.js.map +1 -0
  88. package/js/dist/sidebar.js +7 -10
  89. package/js/dist/sidebar.js.map +1 -1
  90. package/js/dist/tab.js +1 -1
  91. package/js/dist/toast.js +1 -1
  92. package/js/dist/tooltip.js +1 -1
  93. package/js/dist/util/backdrop.js +1 -1
  94. package/js/dist/util/component-functions.js +1 -1
  95. package/js/dist/util/config.js +1 -1
  96. package/js/dist/util/focustrap.js +1 -1
  97. package/js/dist/util/index.js +1 -1
  98. package/js/dist/util/sanitizer.js +1 -1
  99. package/js/dist/util/scrollbar.js +1 -1
  100. package/js/dist/util/swipe.js +1 -1
  101. package/js/dist/util/template-factory.js +1 -1
  102. package/js/index.esm.js +1 -0
  103. package/js/index.umd.js +2 -0
  104. package/js/src/base-component.js +1 -1
  105. package/js/src/chip-input.js +0 -2
  106. package/js/src/navigation.js +1 -1
  107. package/js/src/search-button.js +409 -0
  108. package/js/src/sidebar.js +6 -10
  109. package/package.json +17 -16
  110. package/scss/_banner.scss +1 -1
  111. package/scss/_root.scss +3 -0
  112. package/scss/_search-button.scss +127 -0
  113. package/scss/_variables-dark.scss +2 -1
  114. package/scss/_variables.scss +12 -6
  115. package/scss/coreui.scss +1 -0
  116. package/scss/functions/_color-translucent.scss +33 -0
  117. package/scss/functions/_contrast-ratio.scss +3 -3
  118. package/scss/sidebar/_sidebar-narrow.scss +21 -13
  119. package/scss/sidebar/_sidebar-nav.scss +65 -45
  120. package/scss/sidebar/_sidebar.scss +1 -6
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI v5.6.0 (https://coreui.io)
2
+ * CoreUI v5.7.0 (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.0';
668
+ const VERSION = '5.7.0';
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 = 'coreui.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 = 'coreui.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 = 'coreui.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-coreui-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 = 'coreui.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-coreui-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 = '.coreui.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 = '.coreui.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 = 'coreui.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 = 'coreui.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-coreui-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 = 'coreui.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 = 'coreui.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-coreui-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 = 'coreui.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 = 'coreui.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-coreui-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
@@ -2140,8 +2140,6 @@
2140
2140
  return;
2141
2141
  }
2142
2142
  if (event.key.length === 1) {
2143
- // eslint-disable-next-line no-console
2144
- console.log(event.key.length);
2145
2143
  this._input.focus();
2146
2144
  }
2147
2145
  });
@@ -2302,7 +2300,7 @@
2302
2300
  * Data API implementation
2303
2301
  */
2304
2302
 
2305
- EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$7}`, () => {
2303
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$8}`, () => {
2306
2304
  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {
2307
2305
  ChipInput.getOrCreateInstance(element);
2308
2306
  }
@@ -2323,15 +2321,15 @@
2323
2321
  * Constants
2324
2322
  */
2325
2323
 
2326
- const NAME$d = 'collapse';
2327
- const DATA_KEY$9 = 'coreui.collapse';
2328
- const EVENT_KEY$9 = `.${DATA_KEY$9}`;
2329
- const DATA_API_KEY$6 = '.data-api';
2330
- const EVENT_SHOW$7 = `show${EVENT_KEY$9}`;
2331
- const EVENT_SHOWN$7 = `shown${EVENT_KEY$9}`;
2332
- const EVENT_HIDE$7 = `hide${EVENT_KEY$9}`;
2333
- const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$9}`;
2334
- const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
2324
+ const NAME$e = 'collapse';
2325
+ const DATA_KEY$a = 'coreui.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}`;
2335
2333
  const CLASS_NAME_SHOW$9 = 'show';
2336
2334
  const CLASS_NAME_COLLAPSE = 'collapse';
2337
2335
  const CLASS_NAME_COLLAPSING = 'collapsing';
@@ -2341,12 +2339,12 @@
2341
2339
  const WIDTH = 'width';
2342
2340
  const HEIGHT = 'height';
2343
2341
  const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
2344
- const SELECTOR_DATA_TOGGLE$5 = '[data-coreui-toggle="collapse"]';
2345
- const Default$c = {
2342
+ const SELECTOR_DATA_TOGGLE$6 = '[data-coreui-toggle="collapse"]';
2343
+ const Default$d = {
2346
2344
  parent: null,
2347
2345
  toggle: true
2348
2346
  };
2349
- const DefaultType$c = {
2347
+ const DefaultType$d = {
2350
2348
  parent: '(null|element)',
2351
2349
  toggle: 'boolean'
2352
2350
  };
@@ -2360,7 +2358,7 @@
2360
2358
  super(element, config);
2361
2359
  this._isTransitioning = false;
2362
2360
  this._triggerArray = [];
2363
- const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$5);
2361
+ const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$6);
2364
2362
  for (const elem of toggleList) {
2365
2363
  const selector = SelectorEngine.getSelectorFromElement(elem);
2366
2364
  const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
@@ -2379,13 +2377,13 @@
2379
2377
 
2380
2378
  // Getters
2381
2379
  static get Default() {
2382
- return Default$c;
2380
+ return Default$d;
2383
2381
  }
2384
2382
  static get DefaultType() {
2385
- return DefaultType$c;
2383
+ return DefaultType$d;
2386
2384
  }
2387
2385
  static get NAME() {
2388
- return NAME$d;
2386
+ return NAME$e;
2389
2387
  }
2390
2388
 
2391
2389
  // Public
@@ -2482,7 +2480,7 @@
2482
2480
  if (!this._config.parent) {
2483
2481
  return;
2484
2482
  }
2485
- const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$5);
2483
+ const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$6);
2486
2484
  for (const element of children) {
2487
2485
  const selected = SelectorEngine.getElementFromSelector(element);
2488
2486
  if (selected) {
@@ -2527,7 +2525,7 @@
2527
2525
  * Data API implementation
2528
2526
  */
2529
2527
 
2530
- 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) {
2531
2529
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
2532
2530
  if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
2533
2531
  event.preventDefault();
@@ -4389,31 +4387,31 @@
4389
4387
  * Constants
4390
4388
  */
4391
4389
 
4392
- const NAME$c = 'dropdown';
4393
- const DATA_KEY$8 = 'coreui.dropdown';
4394
- const EVENT_KEY$8 = `.${DATA_KEY$8}`;
4395
- const DATA_API_KEY$5 = '.data-api';
4390
+ const NAME$d = 'dropdown';
4391
+ const DATA_KEY$9 = 'coreui.dropdown';
4392
+ const EVENT_KEY$9 = `.${DATA_KEY$9}`;
4393
+ const DATA_API_KEY$6 = '.data-api';
4396
4394
  const ESCAPE_KEY$2 = 'Escape';
4397
4395
  const TAB_KEY$1 = 'Tab';
4398
4396
  const ARROW_UP_KEY$1 = 'ArrowUp';
4399
4397
  const ARROW_DOWN_KEY$1 = 'ArrowDown';
4400
4398
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
4401
4399
 
4402
- const EVENT_HIDE$6 = `hide${EVENT_KEY$8}`;
4403
- const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$8}`;
4404
- const EVENT_SHOW$6 = `show${EVENT_KEY$8}`;
4405
- const EVENT_SHOWN$6 = `shown${EVENT_KEY$8}`;
4406
- const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
4407
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
4408
- 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}`;
4409
4407
  const CLASS_NAME_SHOW$8 = 'show';
4410
4408
  const CLASS_NAME_DROPUP = 'dropup';
4411
4409
  const CLASS_NAME_DROPEND = 'dropend';
4412
4410
  const CLASS_NAME_DROPSTART = 'dropstart';
4413
4411
  const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
4414
4412
  const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
4415
- const SELECTOR_DATA_TOGGLE$4 = '[data-coreui-toggle="dropdown"]:not(.disabled):not(:disabled)';
4416
- const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$4}.${CLASS_NAME_SHOW$8}`;
4413
+ const SELECTOR_DATA_TOGGLE$5 = '[data-coreui-toggle="dropdown"]:not(.disabled):not(:disabled)';
4414
+ const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$5}.${CLASS_NAME_SHOW$8}`;
4417
4415
  const SELECTOR_MENU = '.dropdown-menu';
4418
4416
  const SELECTOR_NAVBAR = '.navbar';
4419
4417
  const SELECTOR_NAVBAR_NAV = '.navbar-nav';
@@ -4426,7 +4424,7 @@
4426
4424
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
4427
4425
  const PLACEMENT_TOPCENTER = 'top';
4428
4426
  const PLACEMENT_BOTTOMCENTER = 'bottom';
4429
- const Default$b = {
4427
+ const Default$c = {
4430
4428
  autoClose: true,
4431
4429
  boundary: 'clippingParents',
4432
4430
  display: 'dynamic',
@@ -4434,7 +4432,7 @@
4434
4432
  popperConfig: null,
4435
4433
  reference: 'toggle'
4436
4434
  };
4437
- const DefaultType$b = {
4435
+ const DefaultType$c = {
4438
4436
  autoClose: '(boolean|string)',
4439
4437
  boundary: '(string|element)',
4440
4438
  display: 'string',
@@ -4459,13 +4457,13 @@
4459
4457
 
4460
4458
  // Getters
4461
4459
  static get Default() {
4462
- return Default$b;
4460
+ return Default$c;
4463
4461
  }
4464
4462
  static get DefaultType() {
4465
- return DefaultType$b;
4463
+ return DefaultType$c;
4466
4464
  }
4467
4465
  static get NAME() {
4468
- return NAME$c;
4466
+ return NAME$d;
4469
4467
  }
4470
4468
 
4471
4469
  // Public
@@ -4549,7 +4547,7 @@
4549
4547
  config = super._getConfig(config);
4550
4548
  if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
4551
4549
  // Popper virtual elements require a getBoundingClientRect method
4552
- 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.`);
4553
4551
  }
4554
4552
  return config;
4555
4553
  }
@@ -4709,7 +4707,7 @@
4709
4707
  event.preventDefault();
4710
4708
 
4711
4709
  // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
4712
- 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);
4713
4711
  const instance = Dropdown.getOrCreateInstance(getToggleButton);
4714
4712
  if (isUpOrDownEvent) {
4715
4713
  event.stopPropagation();
@@ -4730,11 +4728,11 @@
4730
4728
  * Data API implementation
4731
4729
  */
4732
4730
 
4733
- EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$4, Dropdown.dataApiKeydownHandler);
4734
- EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
4735
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, Dropdown.clearMenus);
4736
- EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
4737
- 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) {
4738
4736
  event.preventDefault();
4739
4737
  Dropdown.getOrCreateInstance(this).toggle();
4740
4738
  });
@@ -4760,11 +4758,11 @@
4760
4758
  * Constants
4761
4759
  */
4762
4760
 
4763
- const NAME$b = 'backdrop';
4761
+ const NAME$c = 'backdrop';
4764
4762
  const CLASS_NAME_FADE$4 = 'fade';
4765
4763
  const CLASS_NAME_SHOW$7 = 'show';
4766
- const EVENT_MOUSEDOWN = `mousedown.coreui.${NAME$b}`;
4767
- const Default$a = {
4764
+ const EVENT_MOUSEDOWN = `mousedown.coreui.${NAME$c}`;
4765
+ const Default$b = {
4768
4766
  className: 'modal-backdrop',
4769
4767
  clickCallback: null,
4770
4768
  isAnimated: false,
@@ -4772,7 +4770,7 @@
4772
4770
  // if false, we use the backdrop helper without adding any element to the dom
4773
4771
  rootElement: 'body' // give the choice to place backdrop under different elements
4774
4772
  };
4775
- const DefaultType$a = {
4773
+ const DefaultType$b = {
4776
4774
  className: 'string',
4777
4775
  clickCallback: '(function|null)',
4778
4776
  isAnimated: 'boolean',
@@ -4794,13 +4792,13 @@
4794
4792
 
4795
4793
  // Getters
4796
4794
  static get Default() {
4797
- return Default$a;
4795
+ return Default$b;
4798
4796
  }
4799
4797
  static get DefaultType() {
4800
- return DefaultType$a;
4798
+ return DefaultType$b;
4801
4799
  }
4802
4800
  static get NAME() {
4803
- return NAME$b;
4801
+ return NAME$c;
4804
4802
  }
4805
4803
 
4806
4804
  // Public
@@ -4887,19 +4885,19 @@
4887
4885
  * Constants
4888
4886
  */
4889
4887
 
4890
- const NAME$a = 'focustrap';
4891
- const DATA_KEY$7 = 'coreui.focustrap';
4892
- const EVENT_KEY$7 = `.${DATA_KEY$7}`;
4893
- const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$7}`;
4894
- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
4888
+ const NAME$b = 'focustrap';
4889
+ const DATA_KEY$8 = 'coreui.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}`;
4895
4893
  const TAB_KEY = 'Tab';
4896
4894
  const TAB_NAV_FORWARD = 'forward';
4897
4895
  const TAB_NAV_BACKWARD = 'backward';
4898
- const Default$9 = {
4896
+ const Default$a = {
4899
4897
  autofocus: true,
4900
4898
  trapElement: null // The element to trap focus inside of
4901
4899
  };
4902
- const DefaultType$9 = {
4900
+ const DefaultType$a = {
4903
4901
  autofocus: 'boolean',
4904
4902
  trapElement: 'element'
4905
4903
  };
@@ -4918,13 +4916,13 @@
4918
4916
 
4919
4917
  // Getters
4920
4918
  static get Default() {
4921
- return Default$9;
4919
+ return Default$a;
4922
4920
  }
4923
4921
  static get DefaultType() {
4924
- return DefaultType$9;
4922
+ return DefaultType$a;
4925
4923
  }
4926
4924
  static get NAME() {
4927
- return NAME$a;
4925
+ return NAME$b;
4928
4926
  }
4929
4927
 
4930
4928
  // Public
@@ -4935,7 +4933,7 @@
4935
4933
  if (this._config.autofocus) {
4936
4934
  this._config.trapElement.focus();
4937
4935
  }
4938
- EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
4936
+ EventHandler.off(document, EVENT_KEY$8); // guard against infinite focus loop
4939
4937
  EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
4940
4938
  EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
4941
4939
  this._isActive = true;
@@ -4945,7 +4943,7 @@
4945
4943
  return;
4946
4944
  }
4947
4945
  this._isActive = false;
4948
- EventHandler.off(document, EVENT_KEY$7);
4946
+ EventHandler.off(document, EVENT_KEY$8);
4949
4947
  }
4950
4948
 
4951
4949
  // Private
@@ -5089,21 +5087,21 @@
5089
5087
  * Constants
5090
5088
  */
5091
5089
 
5092
- const NAME$9 = 'modal';
5093
- const DATA_KEY$6 = 'coreui.modal';
5094
- const EVENT_KEY$6 = `.${DATA_KEY$6}`;
5095
- const DATA_API_KEY$4 = '.data-api';
5090
+ const NAME$a = 'modal';
5091
+ const DATA_KEY$7 = 'coreui.modal';
5092
+ const EVENT_KEY$7 = `.${DATA_KEY$7}`;
5093
+ const DATA_API_KEY$5 = '.data-api';
5096
5094
  const ESCAPE_KEY$1 = 'Escape';
5097
- const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
5098
- const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$6}`;
5099
- const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
5100
- const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
5101
- const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
5102
- const EVENT_RESIZE$2 = `resize${EVENT_KEY$6}`;
5103
- const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$6}`;
5104
- const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$6}`;
5105
- const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$6}`;
5106
- 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}`;
5107
5105
  const CLASS_NAME_OPEN = 'modal-open';
5108
5106
  const CLASS_NAME_FADE$3 = 'fade';
5109
5107
  const CLASS_NAME_SHOW$6 = 'show';
@@ -5111,13 +5109,13 @@
5111
5109
  const OPEN_SELECTOR$1 = '.modal.show';
5112
5110
  const SELECTOR_DIALOG = '.modal-dialog';
5113
5111
  const SELECTOR_MODAL_BODY = '.modal-body';
5114
- const SELECTOR_DATA_TOGGLE$3 = '[data-coreui-toggle="modal"]';
5115
- const Default$8 = {
5112
+ const SELECTOR_DATA_TOGGLE$4 = '[data-coreui-toggle="modal"]';
5113
+ const Default$9 = {
5116
5114
  backdrop: true,
5117
5115
  focus: true,
5118
5116
  keyboard: true
5119
5117
  };
5120
- const DefaultType$8 = {
5118
+ const DefaultType$9 = {
5121
5119
  backdrop: '(boolean|string)',
5122
5120
  focus: 'boolean',
5123
5121
  keyboard: 'boolean'
@@ -5141,13 +5139,13 @@
5141
5139
 
5142
5140
  // Getters
5143
5141
  static get Default() {
5144
- return Default$8;
5142
+ return Default$9;
5145
5143
  }
5146
5144
  static get DefaultType() {
5147
- return DefaultType$8;
5145
+ return DefaultType$9;
5148
5146
  }
5149
5147
  static get NAME() {
5150
- return NAME$9;
5148
+ return NAME$a;
5151
5149
  }
5152
5150
 
5153
5151
  // Public
@@ -5186,8 +5184,8 @@
5186
5184
  this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
5187
5185
  }
5188
5186
  dispose() {
5189
- EventHandler.off(window, EVENT_KEY$6);
5190
- EventHandler.off(this._dialog, EVENT_KEY$6);
5187
+ EventHandler.off(window, EVENT_KEY$7);
5188
+ EventHandler.off(this._dialog, EVENT_KEY$7);
5191
5189
  this._backdrop.dispose();
5192
5190
  this._focustrap.deactivate();
5193
5191
  super.dispose();
@@ -5349,7 +5347,7 @@
5349
5347
  * Data API implementation
5350
5348
  */
5351
5349
 
5352
- 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) {
5353
5351
  const target = SelectorEngine.getElementFromSelector(this);
5354
5352
  if (['A', 'AREA'].includes(this.tagName)) {
5355
5353
  event.preventDefault();
@@ -5396,29 +5394,29 @@
5396
5394
  * ------------------------------------------------------------------------
5397
5395
  */
5398
5396
 
5399
- const NAME$8 = 'navigation';
5400
- const DATA_KEY$5 = 'coreui.navigation';
5401
- const EVENT_KEY$5 = `.${DATA_KEY$5}`;
5402
- const DATA_API_KEY$3 = '.data-api';
5403
- const Default$7 = {
5397
+ const NAME$9 = 'navigation';
5398
+ const DATA_KEY$6 = 'coreui.navigation';
5399
+ const EVENT_KEY$6 = `.${DATA_KEY$6}`;
5400
+ const DATA_API_KEY$4 = '.data-api';
5401
+ const Default$8 = {
5404
5402
  activeLinksExact: true,
5405
5403
  groupsAutoCollapse: true
5406
5404
  };
5407
- const DefaultType$7 = {
5405
+ const DefaultType$8 = {
5408
5406
  activeLinksExact: 'boolean',
5409
5407
  groupsAutoCollapse: '(string|boolean)'
5410
5408
  };
5411
- const CLASS_NAME_ACTIVE$2 = 'active';
5409
+ const CLASS_NAME_ACTIVE$3 = 'active';
5412
5410
  const CLASS_NAME_SHOW$5 = 'show';
5413
5411
  const CLASS_NAME_NAV_GROUP = 'nav-group';
5414
5412
  const CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle';
5415
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
5416
- 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}`;
5417
5415
  const SELECTOR_NAV_GROUP = '.nav-group';
5418
5416
  const SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items';
5419
5417
  const SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle';
5420
5418
  const SELECTOR_NAV_LINK = '.nav-link';
5421
- const SELECTOR_DATA_NAVIGATION = '[data-coreui="navigation"]';
5419
+ const SELECTOR_DATA_NAVIGATION = '[data-coreui-navigation], [data-coreui="navigation"]';
5422
5420
 
5423
5421
  /**
5424
5422
  * ------------------------------------------------------------------------
@@ -5432,21 +5430,21 @@
5432
5430
  this._config = this._getConfig(config);
5433
5431
  this._setActiveLink();
5434
5432
  this._addEventListeners();
5435
- Data.set(element, DATA_KEY$5, this);
5433
+ Data.set(element, DATA_KEY$6, this);
5436
5434
  }
5437
5435
  // Getters
5438
5436
 
5439
5437
  static get Default() {
5440
- return Default$7;
5438
+ return Default$8;
5441
5439
  }
5442
5440
  static get DATA_KEY() {
5443
- return DATA_KEY$5;
5441
+ return DATA_KEY$6;
5444
5442
  }
5445
5443
  static get DefaultType() {
5446
- return DefaultType$7;
5444
+ return DefaultType$8;
5447
5445
  }
5448
5446
  static get NAME() {
5449
- return NAME$8;
5447
+ return NAME$9;
5450
5448
  }
5451
5449
 
5452
5450
  // Private
@@ -5467,7 +5465,7 @@
5467
5465
  currentUrl = currentUrl.split('#')[0];
5468
5466
  }
5469
5467
  if (this._config.activeLinksExact && element.href === currentUrl) {
5470
- element.classList.add(CLASS_NAME_ACTIVE$2);
5468
+ element.classList.add(CLASS_NAME_ACTIVE$3);
5471
5469
  // eslint-disable-next-line unicorn/no-array-for-each
5472
5470
  Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {
5473
5471
  element.classList.add(CLASS_NAME_SHOW$5);
@@ -5475,7 +5473,7 @@
5475
5473
  });
5476
5474
  }
5477
5475
  if (!this._config.activeLinksExact && currentUrl.startsWith(element.href)) {
5478
- element.classList.add(CLASS_NAME_ACTIVE$2);
5476
+ element.classList.add(CLASS_NAME_ACTIVE$3);
5479
5477
  // eslint-disable-next-line unicorn/no-array-for-each
5480
5478
  Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {
5481
5479
  element.classList.add(CLASS_NAME_SHOW$5);
@@ -5583,7 +5581,7 @@
5583
5581
  this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode));
5584
5582
  }
5585
5583
  _addEventListeners() {
5586
- 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 => {
5587
5585
  event.preventDefault();
5588
5586
  this._toggleGroupItems(event, this);
5589
5587
  });
@@ -5642,32 +5640,32 @@
5642
5640
  * Constants
5643
5641
  */
5644
5642
 
5645
- const NAME$7 = 'offcanvas';
5646
- const DATA_KEY$4 = 'coreui.offcanvas';
5647
- const EVENT_KEY$4 = `.${DATA_KEY$4}`;
5648
- const DATA_API_KEY$2 = '.data-api';
5649
- const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
5643
+ const NAME$8 = 'offcanvas';
5644
+ const DATA_KEY$5 = 'coreui.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}`;
5650
5648
  const ESCAPE_KEY = 'Escape';
5651
5649
  const CLASS_NAME_SHOW$4 = 'show';
5652
5650
  const CLASS_NAME_SHOWING$1 = 'showing';
5653
5651
  const CLASS_NAME_HIDING = 'hiding';
5654
5652
  const CLASS_NAME_BACKDROP$1 = 'offcanvas-backdrop';
5655
5653
  const OPEN_SELECTOR = '.offcanvas.show';
5656
- const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
5657
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
5658
- const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;
5659
- const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
5660
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
5661
- const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
5662
- const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
5663
- const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
5664
- const SELECTOR_DATA_TOGGLE$2 = '[data-coreui-toggle="offcanvas"]';
5665
- 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-coreui-toggle="offcanvas"]';
5663
+ const Default$7 = {
5666
5664
  backdrop: true,
5667
5665
  keyboard: true,
5668
5666
  scroll: false
5669
5667
  };
5670
- const DefaultType$6 = {
5668
+ const DefaultType$7 = {
5671
5669
  backdrop: '(boolean|string)',
5672
5670
  keyboard: 'boolean',
5673
5671
  scroll: 'boolean'
@@ -5688,13 +5686,13 @@
5688
5686
 
5689
5687
  // Getters
5690
5688
  static get Default() {
5691
- return Default$6;
5689
+ return Default$7;
5692
5690
  }
5693
5691
  static get DefaultType() {
5694
- return DefaultType$6;
5692
+ return DefaultType$7;
5695
5693
  }
5696
5694
  static get NAME() {
5697
- return NAME$7;
5695
+ return NAME$8;
5698
5696
  }
5699
5697
 
5700
5698
  // Public
@@ -5818,7 +5816,7 @@
5818
5816
  * Data API implementation
5819
5817
  */
5820
5818
 
5821
- 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) {
5822
5820
  const target = SelectorEngine.getElementFromSelector(this);
5823
5821
  if (['A', 'AREA'].includes(this.tagName)) {
5824
5822
  event.preventDefault();
@@ -5974,8 +5972,8 @@
5974
5972
  * Constants
5975
5973
  */
5976
5974
 
5977
- const NAME$6 = 'TemplateFactory';
5978
- const Default$5 = {
5975
+ const NAME$7 = 'TemplateFactory';
5976
+ const Default$6 = {
5979
5977
  allowList: DefaultAllowlist,
5980
5978
  content: {},
5981
5979
  // { selector : text , selector2 : text2 , }
@@ -5985,7 +5983,7 @@
5985
5983
  sanitizeFn: null,
5986
5984
  template: '<div></div>'
5987
5985
  };
5988
- const DefaultType$5 = {
5986
+ const DefaultType$6 = {
5989
5987
  allowList: 'object',
5990
5988
  content: 'object',
5991
5989
  extraClass: '(string|function)',
@@ -6011,13 +6009,13 @@
6011
6009
 
6012
6010
  // Getters
6013
6011
  static get Default() {
6014
- return Default$5;
6012
+ return Default$6;
6015
6013
  }
6016
6014
  static get DefaultType() {
6017
- return DefaultType$5;
6015
+ return DefaultType$6;
6018
6016
  }
6019
6017
  static get NAME() {
6020
- return NAME$6;
6018
+ return NAME$7;
6021
6019
  }
6022
6020
 
6023
6021
  // Public
@@ -6113,7 +6111,7 @@
6113
6111
  * Constants
6114
6112
  */
6115
6113
 
6116
- const NAME$5 = 'tooltip';
6114
+ const NAME$6 = 'tooltip';
6117
6115
  const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
6118
6116
  const CLASS_NAME_FADE$2 = 'fade';
6119
6117
  const CLASS_NAME_MODAL = 'modal';
@@ -6142,7 +6140,7 @@
6142
6140
  BOTTOM: 'bottom',
6143
6141
  LEFT: isRTL() ? 'right' : 'left'
6144
6142
  };
6145
- const Default$4 = {
6143
+ const Default$5 = {
6146
6144
  allowList: DefaultAllowlist,
6147
6145
  animation: true,
6148
6146
  boundary: 'clippingParents',
@@ -6161,7 +6159,7 @@
6161
6159
  title: '',
6162
6160
  trigger: 'hover focus'
6163
6161
  };
6164
- const DefaultType$4 = {
6162
+ const DefaultType$5 = {
6165
6163
  allowList: 'object',
6166
6164
  animation: 'boolean',
6167
6165
  boundary: '(string|element)',
@@ -6211,13 +6209,13 @@
6211
6209
 
6212
6210
  // Getters
6213
6211
  static get Default() {
6214
- return Default$4;
6212
+ return Default$5;
6215
6213
  }
6216
6214
  static get DefaultType() {
6217
- return DefaultType$4;
6215
+ return DefaultType$5;
6218
6216
  }
6219
6217
  static get NAME() {
6220
- return NAME$5;
6218
+ return NAME$6;
6221
6219
  }
6222
6220
 
6223
6221
  // Public
@@ -6628,10 +6626,10 @@
6628
6626
  * Constants
6629
6627
  */
6630
6628
 
6631
- const NAME$4 = 'popover';
6629
+ const NAME$5 = 'popover';
6632
6630
  const SELECTOR_TITLE = '.popover-header';
6633
6631
  const SELECTOR_CONTENT = '.popover-body';
6634
- const Default$3 = {
6632
+ const Default$4 = {
6635
6633
  ...Tooltip.Default,
6636
6634
  content: '',
6637
6635
  offset: [0, 8],
@@ -6639,7 +6637,7 @@
6639
6637
  template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
6640
6638
  trigger: 'click'
6641
6639
  };
6642
- const DefaultType$3 = {
6640
+ const DefaultType$4 = {
6643
6641
  ...Tooltip.DefaultType,
6644
6642
  content: '(null|string|element|function)'
6645
6643
  };
@@ -6651,13 +6649,13 @@
6651
6649
  class Popover extends Tooltip {
6652
6650
  // Getters
6653
6651
  static get Default() {
6654
- return Default$3;
6652
+ return Default$4;
6655
6653
  }
6656
6654
  static get DefaultType() {
6657
- return DefaultType$3;
6655
+ return DefaultType$4;
6658
6656
  }
6659
6657
  static get NAME() {
6660
- return NAME$4;
6658
+ return NAME$5;
6661
6659
  }
6662
6660
 
6663
6661
  // Overrides
@@ -6712,15 +6710,15 @@
6712
6710
  * Constants
6713
6711
  */
6714
6712
 
6715
- const NAME$3 = 'scrollspy';
6716
- const DATA_KEY$3 = 'coreui.scrollspy';
6717
- const EVENT_KEY$3 = `.${DATA_KEY$3}`;
6718
- const DATA_API_KEY$1 = '.data-api';
6719
- const EVENT_ACTIVATE = `activate${EVENT_KEY$3}`;
6720
- const EVENT_CLICK = `click${EVENT_KEY$3}`;
6721
- const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
6713
+ const NAME$4 = 'scrollspy';
6714
+ const DATA_KEY$4 = 'coreui.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}`;
6722
6720
  const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
6723
- const CLASS_NAME_ACTIVE$1 = 'active';
6721
+ const CLASS_NAME_ACTIVE$2 = 'active';
6724
6722
  const SELECTOR_DATA_SPY = '[data-coreui-spy="scroll"]';
6725
6723
  const SELECTOR_TARGET_LINKS = '[href]';
6726
6724
  const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
@@ -6730,7 +6728,7 @@
6730
6728
  const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
6731
6729
  const SELECTOR_DROPDOWN = '.dropdown';
6732
6730
  const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
6733
- const Default$2 = {
6731
+ const Default$3 = {
6734
6732
  offset: null,
6735
6733
  // TODO: v6 @deprecated, keep it for backwards compatibility reasons
6736
6734
  rootMargin: '0px 0px -25%',
@@ -6738,7 +6736,7 @@
6738
6736
  target: null,
6739
6737
  threshold: [0.1, 0.5, 1]
6740
6738
  };
6741
- const DefaultType$2 = {
6739
+ const DefaultType$3 = {
6742
6740
  offset: '(number|null)',
6743
6741
  // TODO v6 @deprecated, keep it for backwards compatibility reasons
6744
6742
  rootMargin: 'string',
@@ -6770,13 +6768,13 @@
6770
6768
 
6771
6769
  // Getters
6772
6770
  static get Default() {
6773
- return Default$2;
6771
+ return Default$3;
6774
6772
  }
6775
6773
  static get DefaultType() {
6776
- return DefaultType$2;
6774
+ return DefaultType$3;
6777
6775
  }
6778
6776
  static get NAME() {
6779
- return NAME$3;
6777
+ return NAME$4;
6780
6778
  }
6781
6779
 
6782
6780
  // Public
@@ -6901,7 +6899,7 @@
6901
6899
  }
6902
6900
  this._clearActiveClass(this._config.target);
6903
6901
  this._activeTarget = target;
6904
- target.classList.add(CLASS_NAME_ACTIVE$1);
6902
+ target.classList.add(CLASS_NAME_ACTIVE$2);
6905
6903
  this._activateParents(target);
6906
6904
  EventHandler.trigger(this._element, EVENT_ACTIVATE, {
6907
6905
  relatedTarget: target
@@ -6910,22 +6908,22 @@
6910
6908
  _activateParents(target) {
6911
6909
  // Activate dropdown parents
6912
6910
  if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
6913
- 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);
6914
6912
  return;
6915
6913
  }
6916
6914
  for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
6917
6915
  // Set triggered links parents as active
6918
6916
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
6919
6917
  for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
6920
- item.classList.add(CLASS_NAME_ACTIVE$1);
6918
+ item.classList.add(CLASS_NAME_ACTIVE$2);
6921
6919
  }
6922
6920
  }
6923
6921
  }
6924
6922
  _clearActiveClass(parent) {
6925
- parent.classList.remove(CLASS_NAME_ACTIVE$1);
6926
- 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);
6927
6925
  for (const node of activeNodes) {
6928
- node.classList.remove(CLASS_NAME_ACTIVE$1);
6926
+ node.classList.remove(CLASS_NAME_ACTIVE$2);
6929
6927
  }
6930
6928
  }
6931
6929
 
@@ -6960,6 +6958,327 @@
6960
6958
 
6961
6959
  defineJQueryPlugin(ScrollSpy);
6962
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 = 'coreui.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-coreui-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.coreuiSearchButtonKey = 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.coreuiSearchButtonKey));
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
+
6963
7282
  /**
6964
7283
  * --------------------------------------------------------------------------
6965
7284
  * CoreUI sidebar.js
@@ -7086,13 +7405,13 @@
7086
7405
  }
7087
7406
  narrow() {
7088
7407
  if (!this._isMobile()) {
7089
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW);
7408
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW);
7090
7409
  this._narrow = true;
7091
7410
  }
7092
7411
  }
7093
7412
  unfoldable() {
7094
7413
  if (!this._isMobile()) {
7095
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
7414
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
7096
7415
  this._unfoldable = true;
7097
7416
  }
7098
7417
  }
@@ -7150,19 +7469,16 @@
7150
7469
  const rect = this._element.getBoundingClientRect();
7151
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);
7152
7471
  }
7153
- _addClassName(className) {
7154
- this._element.classList.add(className);
7155
- }
7156
- _clickOutListener(event, sidebar) {
7472
+ _clickOutListener(event) {
7157
7473
  if (event.target.closest(SELECTOR_SIDEBAR) === null) {
7158
7474
  event.preventDefault();
7159
7475
  event.stopPropagation();
7160
- sidebar.hide();
7476
+ this.hide();
7161
7477
  }
7162
7478
  }
7163
7479
  _addClickOutListener() {
7164
7480
  EventHandler.on(document, EVENT_CLICK_DATA_API$1, event => {
7165
- this._clickOutListener(event, this);
7481
+ this._clickOutListener(event);
7166
7482
  });
7167
7483
  }
7168
7484
  _removeClickOutListener() {
@@ -7179,7 +7495,7 @@
7179
7495
  }
7180
7496
  EventHandler.on(this._element, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, event => {
7181
7497
  event.preventDefault();
7182
- const toggle = Manipulator.getDataAttribute(event.target, 'toggle');
7498
+ const toggle = Manipulator.getDataAttribute(event.target.closest(SELECTOR_DATA_TOGGLE$1), 'toggle');
7183
7499
  if (toggle === 'narrow') {
7184
7500
  this.toggleNarrow();
7185
7501
  }
@@ -7716,6 +8032,7 @@
7716
8032
  OffCanvas: Offcanvas,
7717
8033
  Popover,
7718
8034
  ScrollSpy,
8035
+ SearchButton,
7719
8036
  Sidebar,
7720
8037
  Tab,
7721
8038
  Toast,