@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
  */
@@ -661,7 +661,7 @@ class Config {
661
661
  * Constants
662
662
  */
663
663
 
664
- const VERSION = '5.6.0';
664
+ const VERSION = '5.7.0';
665
665
 
666
666
  /**
667
667
  * Class definition
@@ -855,11 +855,11 @@ const enableDismissTrigger = (component, method = 'hide') => {
855
855
  * Constants
856
856
  */
857
857
 
858
- const NAME$j = 'alert';
859
- const DATA_KEY$e = 'coreui.alert';
860
- const EVENT_KEY$f = `.${DATA_KEY$e}`;
861
- const EVENT_CLOSE = `close${EVENT_KEY$f}`;
862
- const EVENT_CLOSED = `closed${EVENT_KEY$f}`;
858
+ const NAME$k = 'alert';
859
+ const DATA_KEY$f = 'coreui.alert';
860
+ const EVENT_KEY$g = `.${DATA_KEY$f}`;
861
+ const EVENT_CLOSE = `close${EVENT_KEY$g}`;
862
+ const EVENT_CLOSED = `closed${EVENT_KEY$g}`;
863
863
  const CLASS_NAME_FADE$5 = 'fade';
864
864
  const CLASS_NAME_SHOW$a = 'show';
865
865
 
@@ -870,7 +870,7 @@ const CLASS_NAME_SHOW$a = 'show';
870
870
  class Alert extends BaseComponent {
871
871
  // Getters
872
872
  static get NAME() {
873
- return NAME$j;
873
+ return NAME$k;
874
874
  }
875
875
 
876
876
  // Public
@@ -933,13 +933,13 @@ defineJQueryPlugin(Alert);
933
933
  * Constants
934
934
  */
935
935
 
936
- const NAME$i = 'button';
937
- const DATA_KEY$d = 'coreui.button';
938
- const EVENT_KEY$e = `.${DATA_KEY$d}`;
939
- const DATA_API_KEY$a = '.data-api';
940
- const CLASS_NAME_ACTIVE$5 = 'active';
941
- const SELECTOR_DATA_TOGGLE$6 = '[data-coreui-toggle="button"]';
942
- const EVENT_CLICK_DATA_API$8 = `click${EVENT_KEY$e}${DATA_API_KEY$a}`;
936
+ const NAME$j = 'button';
937
+ const DATA_KEY$e = 'coreui.button';
938
+ const EVENT_KEY$f = `.${DATA_KEY$e}`;
939
+ const DATA_API_KEY$b = '.data-api';
940
+ const CLASS_NAME_ACTIVE$6 = 'active';
941
+ const SELECTOR_DATA_TOGGLE$7 = '[data-coreui-toggle="button"]';
942
+ const EVENT_CLICK_DATA_API$9 = `click${EVENT_KEY$f}${DATA_API_KEY$b}`;
943
943
 
944
944
  /**
945
945
  * Class definition
@@ -948,13 +948,13 @@ const EVENT_CLICK_DATA_API$8 = `click${EVENT_KEY$e}${DATA_API_KEY$a}`;
948
948
  class Button extends BaseComponent {
949
949
  // Getters
950
950
  static get NAME() {
951
- return NAME$i;
951
+ return NAME$j;
952
952
  }
953
953
 
954
954
  // Public
955
955
  toggle() {
956
956
  // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
957
- this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$5));
957
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$6));
958
958
  }
959
959
 
960
960
  // Static
@@ -972,9 +972,9 @@ class Button extends BaseComponent {
972
972
  * Data API implementation
973
973
  */
974
974
 
975
- EventHandler.on(document, EVENT_CLICK_DATA_API$8, SELECTOR_DATA_TOGGLE$6, event => {
975
+ EventHandler.on(document, EVENT_CLICK_DATA_API$9, SELECTOR_DATA_TOGGLE$7, event => {
976
976
  event.preventDefault();
977
- const button = event.target.closest(SELECTOR_DATA_TOGGLE$6);
977
+ const button = event.target.closest(SELECTOR_DATA_TOGGLE$7);
978
978
  const data = Button.getOrCreateInstance(button);
979
979
  data.toggle();
980
980
  });
@@ -1000,23 +1000,23 @@ defineJQueryPlugin(Button);
1000
1000
  * Constants
1001
1001
  */
1002
1002
 
1003
- const NAME$h = 'swipe';
1004
- const EVENT_KEY$d = '.coreui.swipe';
1005
- const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$d}`;
1006
- const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$d}`;
1007
- const EVENT_TOUCHEND = `touchend${EVENT_KEY$d}`;
1008
- const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$d}`;
1009
- const EVENT_POINTERUP = `pointerup${EVENT_KEY$d}`;
1003
+ const NAME$i = 'swipe';
1004
+ const EVENT_KEY$e = '.coreui.swipe';
1005
+ const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$e}`;
1006
+ const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$e}`;
1007
+ const EVENT_TOUCHEND = `touchend${EVENT_KEY$e}`;
1008
+ const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$e}`;
1009
+ const EVENT_POINTERUP = `pointerup${EVENT_KEY$e}`;
1010
1010
  const POINTER_TYPE_TOUCH = 'touch';
1011
1011
  const POINTER_TYPE_PEN = 'pen';
1012
1012
  const CLASS_NAME_POINTER_EVENT = 'pointer-event';
1013
1013
  const SWIPE_THRESHOLD = 40;
1014
- const Default$g = {
1014
+ const Default$h = {
1015
1015
  endCallback: null,
1016
1016
  leftCallback: null,
1017
1017
  rightCallback: null
1018
1018
  };
1019
- const DefaultType$g = {
1019
+ const DefaultType$h = {
1020
1020
  endCallback: '(function|null)',
1021
1021
  leftCallback: '(function|null)',
1022
1022
  rightCallback: '(function|null)'
@@ -1041,18 +1041,18 @@ class Swipe extends Config {
1041
1041
 
1042
1042
  // Getters
1043
1043
  static get Default() {
1044
- return Default$g;
1044
+ return Default$h;
1045
1045
  }
1046
1046
  static get DefaultType() {
1047
- return DefaultType$g;
1047
+ return DefaultType$h;
1048
1048
  }
1049
1049
  static get NAME() {
1050
- return NAME$h;
1050
+ return NAME$i;
1051
1051
  }
1052
1052
 
1053
1053
  // Public
1054
1054
  dispose() {
1055
- EventHandler.off(this._element, EVENT_KEY$d);
1055
+ EventHandler.off(this._element, EVENT_KEY$e);
1056
1056
  }
1057
1057
 
1058
1058
  // Private
@@ -1123,10 +1123,10 @@ class Swipe extends Config {
1123
1123
  * Constants
1124
1124
  */
1125
1125
 
1126
- const NAME$g = 'carousel';
1127
- const DATA_KEY$c = 'coreui.carousel';
1128
- const EVENT_KEY$c = `.${DATA_KEY$c}`;
1129
- const DATA_API_KEY$9 = '.data-api';
1126
+ const NAME$h = 'carousel';
1127
+ const DATA_KEY$d = 'coreui.carousel';
1128
+ const EVENT_KEY$d = `.${DATA_KEY$d}`;
1129
+ const DATA_API_KEY$a = '.data-api';
1130
1130
  const ARROW_LEFT_KEY$1 = 'ArrowLeft';
1131
1131
  const ARROW_RIGHT_KEY$1 = 'ArrowRight';
1132
1132
  const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
@@ -1135,16 +1135,16 @@ const ORDER_NEXT = 'next';
1135
1135
  const ORDER_PREV = 'prev';
1136
1136
  const DIRECTION_LEFT = 'left';
1137
1137
  const DIRECTION_RIGHT = 'right';
1138
- const EVENT_SLIDE = `slide${EVENT_KEY$c}`;
1139
- const EVENT_SLID = `slid${EVENT_KEY$c}`;
1140
- const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$c}`;
1141
- const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$c}`;
1142
- const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$c}`;
1143
- const EVENT_DRAG_START = `dragstart${EVENT_KEY$c}`;
1144
- const EVENT_LOAD_DATA_API$5 = `load${EVENT_KEY$c}${DATA_API_KEY$9}`;
1145
- const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$c}${DATA_API_KEY$9}`;
1138
+ const EVENT_SLIDE = `slide${EVENT_KEY$d}`;
1139
+ const EVENT_SLID = `slid${EVENT_KEY$d}`;
1140
+ const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$d}`;
1141
+ const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$d}`;
1142
+ const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$d}`;
1143
+ const EVENT_DRAG_START = `dragstart${EVENT_KEY$d}`;
1144
+ const EVENT_LOAD_DATA_API$5 = `load${EVENT_KEY$d}${DATA_API_KEY$a}`;
1145
+ const EVENT_CLICK_DATA_API$8 = `click${EVENT_KEY$d}${DATA_API_KEY$a}`;
1146
1146
  const CLASS_NAME_CAROUSEL = 'carousel';
1147
- const CLASS_NAME_ACTIVE$4 = 'active';
1147
+ const CLASS_NAME_ACTIVE$5 = 'active';
1148
1148
  const CLASS_NAME_SLIDE = 'slide';
1149
1149
  const CLASS_NAME_END = 'carousel-item-end';
1150
1150
  const CLASS_NAME_START = 'carousel-item-start';
@@ -1161,7 +1161,7 @@ const KEY_TO_DIRECTION = {
1161
1161
  [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
1162
1162
  [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
1163
1163
  };
1164
- const Default$f = {
1164
+ const Default$g = {
1165
1165
  interval: 5000,
1166
1166
  keyboard: true,
1167
1167
  pause: 'hover',
@@ -1169,7 +1169,7 @@ const Default$f = {
1169
1169
  touch: true,
1170
1170
  wrap: true
1171
1171
  };
1172
- const DefaultType$f = {
1172
+ const DefaultType$g = {
1173
1173
  interval: '(number|boolean)',
1174
1174
  // TODO:v6 remove boolean support
1175
1175
  keyboard: 'boolean',
@@ -1200,13 +1200,13 @@ class Carousel extends BaseComponent {
1200
1200
 
1201
1201
  // Getters
1202
1202
  static get Default() {
1203
- return Default$f;
1203
+ return Default$g;
1204
1204
  }
1205
1205
  static get DefaultType() {
1206
- return DefaultType$f;
1206
+ return DefaultType$g;
1207
1207
  }
1208
1208
  static get NAME() {
1209
- return NAME$g;
1209
+ return NAME$h;
1210
1210
  }
1211
1211
 
1212
1212
  // Public
@@ -1333,11 +1333,11 @@ class Carousel extends BaseComponent {
1333
1333
  return;
1334
1334
  }
1335
1335
  const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement);
1336
- activeIndicator.classList.remove(CLASS_NAME_ACTIVE$4);
1336
+ activeIndicator.classList.remove(CLASS_NAME_ACTIVE$5);
1337
1337
  activeIndicator.removeAttribute('aria-current');
1338
1338
  const newActiveIndicator = SelectorEngine.findOne(`[data-coreui-slide-to="${index}"]`, this._indicatorsElement);
1339
1339
  if (newActiveIndicator) {
1340
- newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$4);
1340
+ newActiveIndicator.classList.add(CLASS_NAME_ACTIVE$5);
1341
1341
  newActiveIndicator.setAttribute('aria-current', 'true');
1342
1342
  }
1343
1343
  }
@@ -1390,8 +1390,8 @@ class Carousel extends BaseComponent {
1390
1390
  nextElement.classList.add(directionalClassName);
1391
1391
  const completeCallBack = () => {
1392
1392
  nextElement.classList.remove(directionalClassName, orderClassName);
1393
- nextElement.classList.add(CLASS_NAME_ACTIVE$4);
1394
- activeElement.classList.remove(CLASS_NAME_ACTIVE$4, orderClassName, directionalClassName);
1393
+ nextElement.classList.add(CLASS_NAME_ACTIVE$5);
1394
+ activeElement.classList.remove(CLASS_NAME_ACTIVE$5, orderClassName, directionalClassName);
1395
1395
  this._isSliding = false;
1396
1396
  triggerEvent(EVENT_SLID);
1397
1397
  };
@@ -1450,7 +1450,7 @@ class Carousel extends BaseComponent {
1450
1450
  * Data API implementation
1451
1451
  */
1452
1452
 
1453
- EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_SLIDE, function (event) {
1453
+ EventHandler.on(document, EVENT_CLICK_DATA_API$8, SELECTOR_DATA_SLIDE, function (event) {
1454
1454
  const target = SelectorEngine.getElementFromSelector(this);
1455
1455
  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
1456
1456
  return;
@@ -1496,25 +1496,25 @@ defineJQueryPlugin(Carousel);
1496
1496
  * Constants
1497
1497
  */
1498
1498
 
1499
- const NAME$f = 'chip';
1500
- const DATA_KEY$b = 'coreui.chip';
1501
- const EVENT_KEY$b = `.${DATA_KEY$b}`;
1502
- const DATA_API_KEY$8 = '.data-api';
1503
- const EVENT_REMOVE$1 = `remove${EVENT_KEY$b}`;
1504
- const EVENT_REMOVED = `removed${EVENT_KEY$b}`;
1505
- const EVENT_SELECT$1 = `select${EVENT_KEY$b}`;
1506
- const EVENT_SELECTED = `selected${EVENT_KEY$b}`;
1507
- const EVENT_DESELECT = `deselect${EVENT_KEY$b}`;
1508
- const EVENT_DESELECTED = `deselected${EVENT_KEY$b}`;
1499
+ const NAME$g = 'chip';
1500
+ const DATA_KEY$c = 'coreui.chip';
1501
+ const EVENT_KEY$c = `.${DATA_KEY$c}`;
1502
+ const DATA_API_KEY$9 = '.data-api';
1503
+ const EVENT_REMOVE$1 = `remove${EVENT_KEY$c}`;
1504
+ const EVENT_REMOVED = `removed${EVENT_KEY$c}`;
1505
+ const EVENT_SELECT$1 = `select${EVENT_KEY$c}`;
1506
+ const EVENT_SELECTED = `selected${EVENT_KEY$c}`;
1507
+ const EVENT_DESELECT = `deselect${EVENT_KEY$c}`;
1508
+ const EVENT_DESELECTED = `deselected${EVENT_KEY$c}`;
1509
1509
  const SELECTOR_CHIP_REMOVE$1 = '.chip-remove';
1510
1510
  const SELECTOR_DATA_CHIP = '[data-coreui-chip]';
1511
1511
  const SELECTOR_FOCUSABLE_ITEMS$1 = '.chip:not(.disabled)';
1512
1512
  const CLASS_NAME_CHIP_CLICKABLE = 'chip-clickable';
1513
1513
  const CLASS_NAME_CHIP_REMOVE = 'chip-remove';
1514
- const CLASS_NAME_ACTIVE$3 = 'active';
1514
+ const CLASS_NAME_ACTIVE$4 = 'active';
1515
1515
  const CLASS_NAME_DISABLED$1 = 'disabled';
1516
1516
  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>';
1517
- const Default$e = {
1517
+ const Default$f = {
1518
1518
  ariaRemoveLabel: 'Remove',
1519
1519
  disabled: false,
1520
1520
  removable: false,
@@ -1522,7 +1522,7 @@ const Default$e = {
1522
1522
  selectable: false,
1523
1523
  selected: false
1524
1524
  };
1525
- const DefaultType$e = {
1525
+ const DefaultType$f = {
1526
1526
  ariaRemoveLabel: 'string',
1527
1527
  disabled: 'boolean',
1528
1528
  removable: 'boolean',
@@ -1539,7 +1539,7 @@ class Chip extends BaseComponent {
1539
1539
  constructor(element, config) {
1540
1540
  super(element, config);
1541
1541
  this._disabled = this._config.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1);
1542
- this._selected = this._config.selected || this._element.classList.contains(CLASS_NAME_ACTIVE$3);
1542
+ this._selected = this._config.selected || this._element.classList.contains(CLASS_NAME_ACTIVE$4);
1543
1543
  this._ensureRemoveButton();
1544
1544
  this._applyState();
1545
1545
  if (this._config.selectable || this._config.removable) {
@@ -1550,13 +1550,13 @@ class Chip extends BaseComponent {
1550
1550
 
1551
1551
  // Getters
1552
1552
  static get Default() {
1553
- return Default$e;
1553
+ return Default$f;
1554
1554
  }
1555
1555
  static get DefaultType() {
1556
- return DefaultType$e;
1556
+ return DefaultType$f;
1557
1557
  }
1558
1558
  static get NAME() {
1559
- return NAME$f;
1559
+ return NAME$g;
1560
1560
  }
1561
1561
 
1562
1562
  // Public
@@ -1639,10 +1639,10 @@ class Chip extends BaseComponent {
1639
1639
  }
1640
1640
  }
1641
1641
  if (this._config.selectable) {
1642
- this._element.classList.toggle(CLASS_NAME_ACTIVE$3, this._selected);
1642
+ this._element.classList.toggle(CLASS_NAME_ACTIVE$4, this._selected);
1643
1643
  this._element.setAttribute('aria-selected', this._selected ? 'true' : 'false');
1644
1644
  } else {
1645
- this._element.classList.remove(CLASS_NAME_ACTIVE$3);
1645
+ this._element.classList.remove(CLASS_NAME_ACTIVE$4);
1646
1646
  if (this._element.getAttribute('aria-selected') === 'true') {
1647
1647
  this._element.setAttribute('aria-selected', 'false');
1648
1648
  }
@@ -1779,7 +1779,7 @@ class Chip extends BaseComponent {
1779
1779
  * Data API implementation
1780
1780
  */
1781
1781
 
1782
- EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$8}`, () => {
1782
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$c}${DATA_API_KEY$9}`, () => {
1783
1783
  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP)) {
1784
1784
  Chip.chipInterface(element);
1785
1785
  }
@@ -1806,15 +1806,15 @@ defineJQueryPlugin(Chip);
1806
1806
  * Constants
1807
1807
  */
1808
1808
 
1809
- const NAME$e = 'chip-input';
1810
- const DATA_KEY$a = 'coreui.chip-input';
1811
- const EVENT_KEY$a = `.${DATA_KEY$a}`;
1812
- const DATA_API_KEY$7 = '.data-api';
1813
- const EVENT_ADD = `add${EVENT_KEY$a}`;
1814
- const EVENT_REMOVE = `remove${EVENT_KEY$a}`;
1815
- const EVENT_CHANGE = `change${EVENT_KEY$a}`;
1816
- const EVENT_SELECT = `select${EVENT_KEY$a}`;
1817
- const EVENT_INPUT = `input${EVENT_KEY$a}`;
1809
+ const NAME$f = 'chip-input';
1810
+ const DATA_KEY$b = 'coreui.chip-input';
1811
+ const EVENT_KEY$b = `.${DATA_KEY$b}`;
1812
+ const DATA_API_KEY$8 = '.data-api';
1813
+ const EVENT_ADD = `add${EVENT_KEY$b}`;
1814
+ const EVENT_REMOVE = `remove${EVENT_KEY$b}`;
1815
+ const EVENT_CHANGE = `change${EVENT_KEY$b}`;
1816
+ const EVENT_SELECT = `select${EVENT_KEY$b}`;
1817
+ const EVENT_INPUT = `input${EVENT_KEY$b}`;
1818
1818
  const SELECTOR_DATA_CHIP_INPUT = '[data-coreui-chip-input]';
1819
1819
  const SELECTOR_CHIP = '.chip';
1820
1820
  const SELECTOR_CHIP_ACTIVE = `${SELECTOR_CHIP}.active`;
@@ -1825,7 +1825,7 @@ const CLASS_NAME_CHIP = 'chip';
1825
1825
  const CLASS_NAME_DISABLED = 'disabled';
1826
1826
  const CLASS_NAME_CHIP_INPUT_FIELD = 'chip-input-field';
1827
1827
  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>';
1828
- const Default$d = {
1828
+ const Default$e = {
1829
1829
  chipClassName: null,
1830
1830
  createOnBlur: true,
1831
1831
  disabled: false,
@@ -1839,7 +1839,7 @@ const Default$d = {
1839
1839
  selectable: false,
1840
1840
  separator: ','
1841
1841
  };
1842
- const DefaultType$d = {
1842
+ const DefaultType$e = {
1843
1843
  chipClassName: '(string|function|null)',
1844
1844
  createOnBlur: 'boolean',
1845
1845
  disabled: 'boolean',
@@ -1881,13 +1881,13 @@ class ChipInput extends BaseComponent {
1881
1881
 
1882
1882
  // Getters
1883
1883
  static get Default() {
1884
- return Default$d;
1884
+ return Default$e;
1885
1885
  }
1886
1886
  static get DefaultType() {
1887
- return DefaultType$d;
1887
+ return DefaultType$e;
1888
1888
  }
1889
1889
  static get NAME() {
1890
- return NAME$e;
1890
+ return NAME$f;
1891
1891
  }
1892
1892
 
1893
1893
  // Public
@@ -2136,8 +2136,6 @@ class ChipInput extends BaseComponent {
2136
2136
  return;
2137
2137
  }
2138
2138
  if (event.key.length === 1) {
2139
- // eslint-disable-next-line no-console
2140
- console.log(event.key.length);
2141
2139
  this._input.focus();
2142
2140
  }
2143
2141
  });
@@ -2298,7 +2296,7 @@ class ChipInput extends BaseComponent {
2298
2296
  * Data API implementation
2299
2297
  */
2300
2298
 
2301
- EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$7}`, () => {
2299
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$b}${DATA_API_KEY$8}`, () => {
2302
2300
  for (const element of SelectorEngine.find(SELECTOR_DATA_CHIP_INPUT)) {
2303
2301
  ChipInput.getOrCreateInstance(element);
2304
2302
  }
@@ -2319,15 +2317,15 @@ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$a}${DATA_API_KEY$7}`, ()
2319
2317
  * Constants
2320
2318
  */
2321
2319
 
2322
- const NAME$d = 'collapse';
2323
- const DATA_KEY$9 = 'coreui.collapse';
2324
- const EVENT_KEY$9 = `.${DATA_KEY$9}`;
2325
- const DATA_API_KEY$6 = '.data-api';
2326
- const EVENT_SHOW$7 = `show${EVENT_KEY$9}`;
2327
- const EVENT_SHOWN$7 = `shown${EVENT_KEY$9}`;
2328
- const EVENT_HIDE$7 = `hide${EVENT_KEY$9}`;
2329
- const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$9}`;
2330
- const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
2320
+ const NAME$e = 'collapse';
2321
+ const DATA_KEY$a = 'coreui.collapse';
2322
+ const EVENT_KEY$a = `.${DATA_KEY$a}`;
2323
+ const DATA_API_KEY$7 = '.data-api';
2324
+ const EVENT_SHOW$7 = `show${EVENT_KEY$a}`;
2325
+ const EVENT_SHOWN$7 = `shown${EVENT_KEY$a}`;
2326
+ const EVENT_HIDE$7 = `hide${EVENT_KEY$a}`;
2327
+ const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$a}`;
2328
+ const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$a}${DATA_API_KEY$7}`;
2331
2329
  const CLASS_NAME_SHOW$9 = 'show';
2332
2330
  const CLASS_NAME_COLLAPSE = 'collapse';
2333
2331
  const CLASS_NAME_COLLAPSING = 'collapsing';
@@ -2337,12 +2335,12 @@ const CLASS_NAME_HORIZONTAL = 'collapse-horizontal';
2337
2335
  const WIDTH = 'width';
2338
2336
  const HEIGHT = 'height';
2339
2337
  const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
2340
- const SELECTOR_DATA_TOGGLE$5 = '[data-coreui-toggle="collapse"]';
2341
- const Default$c = {
2338
+ const SELECTOR_DATA_TOGGLE$6 = '[data-coreui-toggle="collapse"]';
2339
+ const Default$d = {
2342
2340
  parent: null,
2343
2341
  toggle: true
2344
2342
  };
2345
- const DefaultType$c = {
2343
+ const DefaultType$d = {
2346
2344
  parent: '(null|element)',
2347
2345
  toggle: 'boolean'
2348
2346
  };
@@ -2356,7 +2354,7 @@ class Collapse extends BaseComponent {
2356
2354
  super(element, config);
2357
2355
  this._isTransitioning = false;
2358
2356
  this._triggerArray = [];
2359
- const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$5);
2357
+ const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$6);
2360
2358
  for (const elem of toggleList) {
2361
2359
  const selector = SelectorEngine.getSelectorFromElement(elem);
2362
2360
  const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
@@ -2375,13 +2373,13 @@ class Collapse extends BaseComponent {
2375
2373
 
2376
2374
  // Getters
2377
2375
  static get Default() {
2378
- return Default$c;
2376
+ return Default$d;
2379
2377
  }
2380
2378
  static get DefaultType() {
2381
- return DefaultType$c;
2379
+ return DefaultType$d;
2382
2380
  }
2383
2381
  static get NAME() {
2384
- return NAME$d;
2382
+ return NAME$e;
2385
2383
  }
2386
2384
 
2387
2385
  // Public
@@ -2478,7 +2476,7 @@ class Collapse extends BaseComponent {
2478
2476
  if (!this._config.parent) {
2479
2477
  return;
2480
2478
  }
2481
- const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$5);
2479
+ const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$6);
2482
2480
  for (const element of children) {
2483
2481
  const selected = SelectorEngine.getElementFromSelector(element);
2484
2482
  if (selected) {
@@ -2523,7 +2521,7 @@ class Collapse extends BaseComponent {
2523
2521
  * Data API implementation
2524
2522
  */
2525
2523
 
2526
- EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, function (event) {
2524
+ EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$6, function (event) {
2527
2525
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
2528
2526
  if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
2529
2527
  event.preventDefault();
@@ -2556,31 +2554,31 @@ defineJQueryPlugin(Collapse);
2556
2554
  * Constants
2557
2555
  */
2558
2556
 
2559
- const NAME$c = 'dropdown';
2560
- const DATA_KEY$8 = 'coreui.dropdown';
2561
- const EVENT_KEY$8 = `.${DATA_KEY$8}`;
2562
- const DATA_API_KEY$5 = '.data-api';
2557
+ const NAME$d = 'dropdown';
2558
+ const DATA_KEY$9 = 'coreui.dropdown';
2559
+ const EVENT_KEY$9 = `.${DATA_KEY$9}`;
2560
+ const DATA_API_KEY$6 = '.data-api';
2563
2561
  const ESCAPE_KEY$2 = 'Escape';
2564
2562
  const TAB_KEY$1 = 'Tab';
2565
2563
  const ARROW_UP_KEY$1 = 'ArrowUp';
2566
2564
  const ARROW_DOWN_KEY$1 = 'ArrowDown';
2567
2565
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
2568
2566
 
2569
- const EVENT_HIDE$6 = `hide${EVENT_KEY$8}`;
2570
- const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$8}`;
2571
- const EVENT_SHOW$6 = `show${EVENT_KEY$8}`;
2572
- const EVENT_SHOWN$6 = `shown${EVENT_KEY$8}`;
2573
- const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
2574
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$5}`;
2575
- const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$5}`;
2567
+ const EVENT_HIDE$6 = `hide${EVENT_KEY$9}`;
2568
+ const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$9}`;
2569
+ const EVENT_SHOW$6 = `show${EVENT_KEY$9}`;
2570
+ const EVENT_SHOWN$6 = `shown${EVENT_KEY$9}`;
2571
+ const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
2572
+ const EVENT_KEYDOWN_DATA_API$1 = `keydown${EVENT_KEY$9}${DATA_API_KEY$6}`;
2573
+ const EVENT_KEYUP_DATA_API$1 = `keyup${EVENT_KEY$9}${DATA_API_KEY$6}`;
2576
2574
  const CLASS_NAME_SHOW$8 = 'show';
2577
2575
  const CLASS_NAME_DROPUP = 'dropup';
2578
2576
  const CLASS_NAME_DROPEND = 'dropend';
2579
2577
  const CLASS_NAME_DROPSTART = 'dropstart';
2580
2578
  const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
2581
2579
  const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
2582
- const SELECTOR_DATA_TOGGLE$4 = '[data-coreui-toggle="dropdown"]:not(.disabled):not(:disabled)';
2583
- const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$4}.${CLASS_NAME_SHOW$8}`;
2580
+ const SELECTOR_DATA_TOGGLE$5 = '[data-coreui-toggle="dropdown"]:not(.disabled):not(:disabled)';
2581
+ const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$5}.${CLASS_NAME_SHOW$8}`;
2584
2582
  const SELECTOR_MENU = '.dropdown-menu';
2585
2583
  const SELECTOR_NAVBAR = '.navbar';
2586
2584
  const SELECTOR_NAVBAR_NAV = '.navbar-nav';
@@ -2593,7 +2591,7 @@ const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
2593
2591
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
2594
2592
  const PLACEMENT_TOPCENTER = 'top';
2595
2593
  const PLACEMENT_BOTTOMCENTER = 'bottom';
2596
- const Default$b = {
2594
+ const Default$c = {
2597
2595
  autoClose: true,
2598
2596
  boundary: 'clippingParents',
2599
2597
  display: 'dynamic',
@@ -2601,7 +2599,7 @@ const Default$b = {
2601
2599
  popperConfig: null,
2602
2600
  reference: 'toggle'
2603
2601
  };
2604
- const DefaultType$b = {
2602
+ const DefaultType$c = {
2605
2603
  autoClose: '(boolean|string)',
2606
2604
  boundary: '(string|element)',
2607
2605
  display: 'string',
@@ -2626,13 +2624,13 @@ class Dropdown extends BaseComponent {
2626
2624
 
2627
2625
  // Getters
2628
2626
  static get Default() {
2629
- return Default$b;
2627
+ return Default$c;
2630
2628
  }
2631
2629
  static get DefaultType() {
2632
- return DefaultType$b;
2630
+ return DefaultType$c;
2633
2631
  }
2634
2632
  static get NAME() {
2635
- return NAME$c;
2633
+ return NAME$d;
2636
2634
  }
2637
2635
 
2638
2636
  // Public
@@ -2716,7 +2714,7 @@ class Dropdown extends BaseComponent {
2716
2714
  config = super._getConfig(config);
2717
2715
  if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
2718
2716
  // Popper virtual elements require a getBoundingClientRect method
2719
- throw new TypeError(`${NAME$c.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
2717
+ throw new TypeError(`${NAME$d.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
2720
2718
  }
2721
2719
  return config;
2722
2720
  }
@@ -2876,7 +2874,7 @@ class Dropdown extends BaseComponent {
2876
2874
  event.preventDefault();
2877
2875
 
2878
2876
  // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
2879
- 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);
2877
+ 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);
2880
2878
  const instance = Dropdown.getOrCreateInstance(getToggleButton);
2881
2879
  if (isUpOrDownEvent) {
2882
2880
  event.stopPropagation();
@@ -2897,11 +2895,11 @@ class Dropdown extends BaseComponent {
2897
2895
  * Data API implementation
2898
2896
  */
2899
2897
 
2900
- EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$4, Dropdown.dataApiKeydownHandler);
2901
- EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
2902
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, Dropdown.clearMenus);
2903
- EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
2904
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$4, function (event) {
2898
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API$1, SELECTOR_DATA_TOGGLE$5, Dropdown.dataApiKeydownHandler);
2899
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API$1, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
2900
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, Dropdown.clearMenus);
2901
+ EventHandler.on(document, EVENT_KEYUP_DATA_API$1, Dropdown.clearMenus);
2902
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, function (event) {
2905
2903
  event.preventDefault();
2906
2904
  Dropdown.getOrCreateInstance(this).toggle();
2907
2905
  });
@@ -2927,11 +2925,11 @@ defineJQueryPlugin(Dropdown);
2927
2925
  * Constants
2928
2926
  */
2929
2927
 
2930
- const NAME$b = 'backdrop';
2928
+ const NAME$c = 'backdrop';
2931
2929
  const CLASS_NAME_FADE$4 = 'fade';
2932
2930
  const CLASS_NAME_SHOW$7 = 'show';
2933
- const EVENT_MOUSEDOWN = `mousedown.coreui.${NAME$b}`;
2934
- const Default$a = {
2931
+ const EVENT_MOUSEDOWN = `mousedown.coreui.${NAME$c}`;
2932
+ const Default$b = {
2935
2933
  className: 'modal-backdrop',
2936
2934
  clickCallback: null,
2937
2935
  isAnimated: false,
@@ -2939,7 +2937,7 @@ const Default$a = {
2939
2937
  // if false, we use the backdrop helper without adding any element to the dom
2940
2938
  rootElement: 'body' // give the choice to place backdrop under different elements
2941
2939
  };
2942
- const DefaultType$a = {
2940
+ const DefaultType$b = {
2943
2941
  className: 'string',
2944
2942
  clickCallback: '(function|null)',
2945
2943
  isAnimated: 'boolean',
@@ -2961,13 +2959,13 @@ class Backdrop extends Config {
2961
2959
 
2962
2960
  // Getters
2963
2961
  static get Default() {
2964
- return Default$a;
2962
+ return Default$b;
2965
2963
  }
2966
2964
  static get DefaultType() {
2967
- return DefaultType$a;
2965
+ return DefaultType$b;
2968
2966
  }
2969
2967
  static get NAME() {
2970
- return NAME$b;
2968
+ return NAME$c;
2971
2969
  }
2972
2970
 
2973
2971
  // Public
@@ -3054,19 +3052,19 @@ class Backdrop extends Config {
3054
3052
  * Constants
3055
3053
  */
3056
3054
 
3057
- const NAME$a = 'focustrap';
3058
- const DATA_KEY$7 = 'coreui.focustrap';
3059
- const EVENT_KEY$7 = `.${DATA_KEY$7}`;
3060
- const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$7}`;
3061
- const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
3055
+ const NAME$b = 'focustrap';
3056
+ const DATA_KEY$8 = 'coreui.focustrap';
3057
+ const EVENT_KEY$8 = `.${DATA_KEY$8}`;
3058
+ const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$8}`;
3059
+ const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$8}`;
3062
3060
  const TAB_KEY = 'Tab';
3063
3061
  const TAB_NAV_FORWARD = 'forward';
3064
3062
  const TAB_NAV_BACKWARD = 'backward';
3065
- const Default$9 = {
3063
+ const Default$a = {
3066
3064
  autofocus: true,
3067
3065
  trapElement: null // The element to trap focus inside of
3068
3066
  };
3069
- const DefaultType$9 = {
3067
+ const DefaultType$a = {
3070
3068
  autofocus: 'boolean',
3071
3069
  trapElement: 'element'
3072
3070
  };
@@ -3085,13 +3083,13 @@ class FocusTrap extends Config {
3085
3083
 
3086
3084
  // Getters
3087
3085
  static get Default() {
3088
- return Default$9;
3086
+ return Default$a;
3089
3087
  }
3090
3088
  static get DefaultType() {
3091
- return DefaultType$9;
3089
+ return DefaultType$a;
3092
3090
  }
3093
3091
  static get NAME() {
3094
- return NAME$a;
3092
+ return NAME$b;
3095
3093
  }
3096
3094
 
3097
3095
  // Public
@@ -3102,7 +3100,7 @@ class FocusTrap extends Config {
3102
3100
  if (this._config.autofocus) {
3103
3101
  this._config.trapElement.focus();
3104
3102
  }
3105
- EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
3103
+ EventHandler.off(document, EVENT_KEY$8); // guard against infinite focus loop
3106
3104
  EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
3107
3105
  EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
3108
3106
  this._isActive = true;
@@ -3112,7 +3110,7 @@ class FocusTrap extends Config {
3112
3110
  return;
3113
3111
  }
3114
3112
  this._isActive = false;
3115
- EventHandler.off(document, EVENT_KEY$7);
3113
+ EventHandler.off(document, EVENT_KEY$8);
3116
3114
  }
3117
3115
 
3118
3116
  // Private
@@ -3256,21 +3254,21 @@ class ScrollBarHelper {
3256
3254
  * Constants
3257
3255
  */
3258
3256
 
3259
- const NAME$9 = 'modal';
3260
- const DATA_KEY$6 = 'coreui.modal';
3261
- const EVENT_KEY$6 = `.${DATA_KEY$6}`;
3262
- const DATA_API_KEY$4 = '.data-api';
3257
+ const NAME$a = 'modal';
3258
+ const DATA_KEY$7 = 'coreui.modal';
3259
+ const EVENT_KEY$7 = `.${DATA_KEY$7}`;
3260
+ const DATA_API_KEY$5 = '.data-api';
3263
3261
  const ESCAPE_KEY$1 = 'Escape';
3264
- const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
3265
- const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$6}`;
3266
- const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
3267
- const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
3268
- const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
3269
- const EVENT_RESIZE$2 = `resize${EVENT_KEY$6}`;
3270
- const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$6}`;
3271
- const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$6}`;
3272
- const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$6}`;
3273
- const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
3262
+ const EVENT_HIDE$5 = `hide${EVENT_KEY$7}`;
3263
+ const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$7}`;
3264
+ const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$7}`;
3265
+ const EVENT_SHOW$5 = `show${EVENT_KEY$7}`;
3266
+ const EVENT_SHOWN$5 = `shown${EVENT_KEY$7}`;
3267
+ const EVENT_RESIZE$2 = `resize${EVENT_KEY$7}`;
3268
+ const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$7}`;
3269
+ const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$7}`;
3270
+ const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$7}`;
3271
+ const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$7}${DATA_API_KEY$5}`;
3274
3272
  const CLASS_NAME_OPEN = 'modal-open';
3275
3273
  const CLASS_NAME_FADE$3 = 'fade';
3276
3274
  const CLASS_NAME_SHOW$6 = 'show';
@@ -3278,13 +3276,13 @@ const CLASS_NAME_STATIC = 'modal-static';
3278
3276
  const OPEN_SELECTOR$1 = '.modal.show';
3279
3277
  const SELECTOR_DIALOG = '.modal-dialog';
3280
3278
  const SELECTOR_MODAL_BODY = '.modal-body';
3281
- const SELECTOR_DATA_TOGGLE$3 = '[data-coreui-toggle="modal"]';
3282
- const Default$8 = {
3279
+ const SELECTOR_DATA_TOGGLE$4 = '[data-coreui-toggle="modal"]';
3280
+ const Default$9 = {
3283
3281
  backdrop: true,
3284
3282
  focus: true,
3285
3283
  keyboard: true
3286
3284
  };
3287
- const DefaultType$8 = {
3285
+ const DefaultType$9 = {
3288
3286
  backdrop: '(boolean|string)',
3289
3287
  focus: 'boolean',
3290
3288
  keyboard: 'boolean'
@@ -3308,13 +3306,13 @@ class Modal extends BaseComponent {
3308
3306
 
3309
3307
  // Getters
3310
3308
  static get Default() {
3311
- return Default$8;
3309
+ return Default$9;
3312
3310
  }
3313
3311
  static get DefaultType() {
3314
- return DefaultType$8;
3312
+ return DefaultType$9;
3315
3313
  }
3316
3314
  static get NAME() {
3317
- return NAME$9;
3315
+ return NAME$a;
3318
3316
  }
3319
3317
 
3320
3318
  // Public
@@ -3353,8 +3351,8 @@ class Modal extends BaseComponent {
3353
3351
  this._queueCallback(() => this._hideModal(), this._element, this._isAnimated());
3354
3352
  }
3355
3353
  dispose() {
3356
- EventHandler.off(window, EVENT_KEY$6);
3357
- EventHandler.off(this._dialog, EVENT_KEY$6);
3354
+ EventHandler.off(window, EVENT_KEY$7);
3355
+ EventHandler.off(this._dialog, EVENT_KEY$7);
3358
3356
  this._backdrop.dispose();
3359
3357
  this._focustrap.deactivate();
3360
3358
  super.dispose();
@@ -3516,7 +3514,7 @@ class Modal extends BaseComponent {
3516
3514
  * Data API implementation
3517
3515
  */
3518
3516
 
3519
- EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$3, function (event) {
3517
+ EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$4, function (event) {
3520
3518
  const target = SelectorEngine.getElementFromSelector(this);
3521
3519
  if (['A', 'AREA'].includes(this.tagName)) {
3522
3520
  event.preventDefault();
@@ -3563,29 +3561,29 @@ defineJQueryPlugin(Modal);
3563
3561
  * ------------------------------------------------------------------------
3564
3562
  */
3565
3563
 
3566
- const NAME$8 = 'navigation';
3567
- const DATA_KEY$5 = 'coreui.navigation';
3568
- const EVENT_KEY$5 = `.${DATA_KEY$5}`;
3569
- const DATA_API_KEY$3 = '.data-api';
3570
- const Default$7 = {
3564
+ const NAME$9 = 'navigation';
3565
+ const DATA_KEY$6 = 'coreui.navigation';
3566
+ const EVENT_KEY$6 = `.${DATA_KEY$6}`;
3567
+ const DATA_API_KEY$4 = '.data-api';
3568
+ const Default$8 = {
3571
3569
  activeLinksExact: true,
3572
3570
  groupsAutoCollapse: true
3573
3571
  };
3574
- const DefaultType$7 = {
3572
+ const DefaultType$8 = {
3575
3573
  activeLinksExact: 'boolean',
3576
3574
  groupsAutoCollapse: '(string|boolean)'
3577
3575
  };
3578
- const CLASS_NAME_ACTIVE$2 = 'active';
3576
+ const CLASS_NAME_ACTIVE$3 = 'active';
3579
3577
  const CLASS_NAME_SHOW$5 = 'show';
3580
3578
  const CLASS_NAME_NAV_GROUP = 'nav-group';
3581
3579
  const CLASS_NAME_NAV_GROUP_TOGGLE = 'nav-group-toggle';
3582
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
3583
- const EVENT_LOAD_DATA_API$4 = `load${EVENT_KEY$5}${DATA_API_KEY$3}`;
3580
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
3581
+ const EVENT_LOAD_DATA_API$4 = `load${EVENT_KEY$6}${DATA_API_KEY$4}`;
3584
3582
  const SELECTOR_NAV_GROUP = '.nav-group';
3585
3583
  const SELECTOR_NAV_GROUP_ITEMS = '.nav-group-items';
3586
3584
  const SELECTOR_NAV_GROUP_TOGGLE = '.nav-group-toggle';
3587
3585
  const SELECTOR_NAV_LINK = '.nav-link';
3588
- const SELECTOR_DATA_NAVIGATION = '[data-coreui="navigation"]';
3586
+ const SELECTOR_DATA_NAVIGATION = '[data-coreui-navigation], [data-coreui="navigation"]';
3589
3587
 
3590
3588
  /**
3591
3589
  * ------------------------------------------------------------------------
@@ -3599,21 +3597,21 @@ class Navigation extends BaseComponent {
3599
3597
  this._config = this._getConfig(config);
3600
3598
  this._setActiveLink();
3601
3599
  this._addEventListeners();
3602
- Data.set(element, DATA_KEY$5, this);
3600
+ Data.set(element, DATA_KEY$6, this);
3603
3601
  }
3604
3602
  // Getters
3605
3603
 
3606
3604
  static get Default() {
3607
- return Default$7;
3605
+ return Default$8;
3608
3606
  }
3609
3607
  static get DATA_KEY() {
3610
- return DATA_KEY$5;
3608
+ return DATA_KEY$6;
3611
3609
  }
3612
3610
  static get DefaultType() {
3613
- return DefaultType$7;
3611
+ return DefaultType$8;
3614
3612
  }
3615
3613
  static get NAME() {
3616
- return NAME$8;
3614
+ return NAME$9;
3617
3615
  }
3618
3616
 
3619
3617
  // Private
@@ -3634,7 +3632,7 @@ class Navigation extends BaseComponent {
3634
3632
  currentUrl = currentUrl.split('#')[0];
3635
3633
  }
3636
3634
  if (this._config.activeLinksExact && element.href === currentUrl) {
3637
- element.classList.add(CLASS_NAME_ACTIVE$2);
3635
+ element.classList.add(CLASS_NAME_ACTIVE$3);
3638
3636
  // eslint-disable-next-line unicorn/no-array-for-each
3639
3637
  Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {
3640
3638
  element.classList.add(CLASS_NAME_SHOW$5);
@@ -3642,7 +3640,7 @@ class Navigation extends BaseComponent {
3642
3640
  });
3643
3641
  }
3644
3642
  if (!this._config.activeLinksExact && currentUrl.startsWith(element.href)) {
3645
- element.classList.add(CLASS_NAME_ACTIVE$2);
3643
+ element.classList.add(CLASS_NAME_ACTIVE$3);
3646
3644
  // eslint-disable-next-line unicorn/no-array-for-each
3647
3645
  Array.from(this._getParents(element, SELECTOR_NAV_GROUP)).forEach(element => {
3648
3646
  element.classList.add(CLASS_NAME_SHOW$5);
@@ -3750,7 +3748,7 @@ class Navigation extends BaseComponent {
3750
3748
  this._slideDown(SelectorEngine.findOne(SELECTOR_NAV_GROUP_ITEMS, toggler.parentNode));
3751
3749
  }
3752
3750
  _addEventListeners() {
3753
- EventHandler.on(this._element, EVENT_CLICK_DATA_API$3, SELECTOR_NAV_GROUP_TOGGLE, event => {
3751
+ EventHandler.on(this._element, EVENT_CLICK_DATA_API$4, SELECTOR_NAV_GROUP_TOGGLE, event => {
3754
3752
  event.preventDefault();
3755
3753
  this._toggleGroupItems(event, this);
3756
3754
  });
@@ -3809,32 +3807,32 @@ defineJQueryPlugin(Navigation);
3809
3807
  * Constants
3810
3808
  */
3811
3809
 
3812
- const NAME$7 = 'offcanvas';
3813
- const DATA_KEY$4 = 'coreui.offcanvas';
3814
- const EVENT_KEY$4 = `.${DATA_KEY$4}`;
3815
- const DATA_API_KEY$2 = '.data-api';
3816
- const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
3810
+ const NAME$8 = 'offcanvas';
3811
+ const DATA_KEY$5 = 'coreui.offcanvas';
3812
+ const EVENT_KEY$5 = `.${DATA_KEY$5}`;
3813
+ const DATA_API_KEY$3 = '.data-api';
3814
+ const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$5}${DATA_API_KEY$3}`;
3817
3815
  const ESCAPE_KEY = 'Escape';
3818
3816
  const CLASS_NAME_SHOW$4 = 'show';
3819
3817
  const CLASS_NAME_SHOWING$1 = 'showing';
3820
3818
  const CLASS_NAME_HIDING = 'hiding';
3821
3819
  const CLASS_NAME_BACKDROP$1 = 'offcanvas-backdrop';
3822
3820
  const OPEN_SELECTOR = '.offcanvas.show';
3823
- const EVENT_SHOW$4 = `show${EVENT_KEY$4}`;
3824
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`;
3825
- const EVENT_HIDE$4 = `hide${EVENT_KEY$4}`;
3826
- const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$4}`;
3827
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`;
3828
- const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`;
3829
- const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`;
3830
- const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$4}`;
3831
- const SELECTOR_DATA_TOGGLE$2 = '[data-coreui-toggle="offcanvas"]';
3832
- const Default$6 = {
3821
+ const EVENT_SHOW$4 = `show${EVENT_KEY$5}`;
3822
+ const EVENT_SHOWN$4 = `shown${EVENT_KEY$5}`;
3823
+ const EVENT_HIDE$4 = `hide${EVENT_KEY$5}`;
3824
+ const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY$5}`;
3825
+ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$5}`;
3826
+ const EVENT_RESIZE$1 = `resize${EVENT_KEY$5}`;
3827
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
3828
+ const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY$5}`;
3829
+ const SELECTOR_DATA_TOGGLE$3 = '[data-coreui-toggle="offcanvas"]';
3830
+ const Default$7 = {
3833
3831
  backdrop: true,
3834
3832
  keyboard: true,
3835
3833
  scroll: false
3836
3834
  };
3837
- const DefaultType$6 = {
3835
+ const DefaultType$7 = {
3838
3836
  backdrop: '(boolean|string)',
3839
3837
  keyboard: 'boolean',
3840
3838
  scroll: 'boolean'
@@ -3855,13 +3853,13 @@ class Offcanvas extends BaseComponent {
3855
3853
 
3856
3854
  // Getters
3857
3855
  static get Default() {
3858
- return Default$6;
3856
+ return Default$7;
3859
3857
  }
3860
3858
  static get DefaultType() {
3861
- return DefaultType$6;
3859
+ return DefaultType$7;
3862
3860
  }
3863
3861
  static get NAME() {
3864
- return NAME$7;
3862
+ return NAME$8;
3865
3863
  }
3866
3864
 
3867
3865
  // Public
@@ -3985,7 +3983,7 @@ class Offcanvas extends BaseComponent {
3985
3983
  * Data API implementation
3986
3984
  */
3987
3985
 
3988
- EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
3986
+ EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
3989
3987
  const target = SelectorEngine.getElementFromSelector(this);
3990
3988
  if (['A', 'AREA'].includes(this.tagName)) {
3991
3989
  event.preventDefault();
@@ -4141,8 +4139,8 @@ function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {
4141
4139
  * Constants
4142
4140
  */
4143
4141
 
4144
- const NAME$6 = 'TemplateFactory';
4145
- const Default$5 = {
4142
+ const NAME$7 = 'TemplateFactory';
4143
+ const Default$6 = {
4146
4144
  allowList: DefaultAllowlist,
4147
4145
  content: {},
4148
4146
  // { selector : text , selector2 : text2 , }
@@ -4152,7 +4150,7 @@ const Default$5 = {
4152
4150
  sanitizeFn: null,
4153
4151
  template: '<div></div>'
4154
4152
  };
4155
- const DefaultType$5 = {
4153
+ const DefaultType$6 = {
4156
4154
  allowList: 'object',
4157
4155
  content: 'object',
4158
4156
  extraClass: '(string|function)',
@@ -4178,13 +4176,13 @@ class TemplateFactory extends Config {
4178
4176
 
4179
4177
  // Getters
4180
4178
  static get Default() {
4181
- return Default$5;
4179
+ return Default$6;
4182
4180
  }
4183
4181
  static get DefaultType() {
4184
- return DefaultType$5;
4182
+ return DefaultType$6;
4185
4183
  }
4186
4184
  static get NAME() {
4187
- return NAME$6;
4185
+ return NAME$7;
4188
4186
  }
4189
4187
 
4190
4188
  // Public
@@ -4280,7 +4278,7 @@ class TemplateFactory extends Config {
4280
4278
  * Constants
4281
4279
  */
4282
4280
 
4283
- const NAME$5 = 'tooltip';
4281
+ const NAME$6 = 'tooltip';
4284
4282
  const DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
4285
4283
  const CLASS_NAME_FADE$2 = 'fade';
4286
4284
  const CLASS_NAME_MODAL = 'modal';
@@ -4309,7 +4307,7 @@ const AttachmentMap = {
4309
4307
  BOTTOM: 'bottom',
4310
4308
  LEFT: isRTL() ? 'right' : 'left'
4311
4309
  };
4312
- const Default$4 = {
4310
+ const Default$5 = {
4313
4311
  allowList: DefaultAllowlist,
4314
4312
  animation: true,
4315
4313
  boundary: 'clippingParents',
@@ -4328,7 +4326,7 @@ const Default$4 = {
4328
4326
  title: '',
4329
4327
  trigger: 'hover focus'
4330
4328
  };
4331
- const DefaultType$4 = {
4329
+ const DefaultType$5 = {
4332
4330
  allowList: 'object',
4333
4331
  animation: 'boolean',
4334
4332
  boundary: '(string|element)',
@@ -4378,13 +4376,13 @@ class Tooltip extends BaseComponent {
4378
4376
 
4379
4377
  // Getters
4380
4378
  static get Default() {
4381
- return Default$4;
4379
+ return Default$5;
4382
4380
  }
4383
4381
  static get DefaultType() {
4384
- return DefaultType$4;
4382
+ return DefaultType$5;
4385
4383
  }
4386
4384
  static get NAME() {
4387
- return NAME$5;
4385
+ return NAME$6;
4388
4386
  }
4389
4387
 
4390
4388
  // Public
@@ -4795,10 +4793,10 @@ defineJQueryPlugin(Tooltip);
4795
4793
  * Constants
4796
4794
  */
4797
4795
 
4798
- const NAME$4 = 'popover';
4796
+ const NAME$5 = 'popover';
4799
4797
  const SELECTOR_TITLE = '.popover-header';
4800
4798
  const SELECTOR_CONTENT = '.popover-body';
4801
- const Default$3 = {
4799
+ const Default$4 = {
4802
4800
  ...Tooltip.Default,
4803
4801
  content: '',
4804
4802
  offset: [0, 8],
@@ -4806,7 +4804,7 @@ const Default$3 = {
4806
4804
  template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>',
4807
4805
  trigger: 'click'
4808
4806
  };
4809
- const DefaultType$3 = {
4807
+ const DefaultType$4 = {
4810
4808
  ...Tooltip.DefaultType,
4811
4809
  content: '(null|string|element|function)'
4812
4810
  };
@@ -4818,13 +4816,13 @@ const DefaultType$3 = {
4818
4816
  class Popover extends Tooltip {
4819
4817
  // Getters
4820
4818
  static get Default() {
4821
- return Default$3;
4819
+ return Default$4;
4822
4820
  }
4823
4821
  static get DefaultType() {
4824
- return DefaultType$3;
4822
+ return DefaultType$4;
4825
4823
  }
4826
4824
  static get NAME() {
4827
- return NAME$4;
4825
+ return NAME$5;
4828
4826
  }
4829
4827
 
4830
4828
  // Overrides
@@ -4879,15 +4877,15 @@ defineJQueryPlugin(Popover);
4879
4877
  * Constants
4880
4878
  */
4881
4879
 
4882
- const NAME$3 = 'scrollspy';
4883
- const DATA_KEY$3 = 'coreui.scrollspy';
4884
- const EVENT_KEY$3 = `.${DATA_KEY$3}`;
4885
- const DATA_API_KEY$1 = '.data-api';
4886
- const EVENT_ACTIVATE = `activate${EVENT_KEY$3}`;
4887
- const EVENT_CLICK = `click${EVENT_KEY$3}`;
4888
- const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$3}${DATA_API_KEY$1}`;
4880
+ const NAME$4 = 'scrollspy';
4881
+ const DATA_KEY$4 = 'coreui.scrollspy';
4882
+ const EVENT_KEY$4 = `.${DATA_KEY$4}`;
4883
+ const DATA_API_KEY$2 = '.data-api';
4884
+ const EVENT_ACTIVATE = `activate${EVENT_KEY$4}`;
4885
+ const EVENT_CLICK = `click${EVENT_KEY$4}`;
4886
+ const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$4}${DATA_API_KEY$2}`;
4889
4887
  const CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
4890
- const CLASS_NAME_ACTIVE$1 = 'active';
4888
+ const CLASS_NAME_ACTIVE$2 = 'active';
4891
4889
  const SELECTOR_DATA_SPY = '[data-coreui-spy="scroll"]';
4892
4890
  const SELECTOR_TARGET_LINKS = '[href]';
4893
4891
  const SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
@@ -4897,7 +4895,7 @@ const SELECTOR_LIST_ITEMS = '.list-group-item';
4897
4895
  const SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`;
4898
4896
  const SELECTOR_DROPDOWN = '.dropdown';
4899
4897
  const SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
4900
- const Default$2 = {
4898
+ const Default$3 = {
4901
4899
  offset: null,
4902
4900
  // TODO: v6 @deprecated, keep it for backwards compatibility reasons
4903
4901
  rootMargin: '0px 0px -25%',
@@ -4905,7 +4903,7 @@ const Default$2 = {
4905
4903
  target: null,
4906
4904
  threshold: [0.1, 0.5, 1]
4907
4905
  };
4908
- const DefaultType$2 = {
4906
+ const DefaultType$3 = {
4909
4907
  offset: '(number|null)',
4910
4908
  // TODO v6 @deprecated, keep it for backwards compatibility reasons
4911
4909
  rootMargin: 'string',
@@ -4937,13 +4935,13 @@ class ScrollSpy extends BaseComponent {
4937
4935
 
4938
4936
  // Getters
4939
4937
  static get Default() {
4940
- return Default$2;
4938
+ return Default$3;
4941
4939
  }
4942
4940
  static get DefaultType() {
4943
- return DefaultType$2;
4941
+ return DefaultType$3;
4944
4942
  }
4945
4943
  static get NAME() {
4946
- return NAME$3;
4944
+ return NAME$4;
4947
4945
  }
4948
4946
 
4949
4947
  // Public
@@ -5068,7 +5066,7 @@ class ScrollSpy extends BaseComponent {
5068
5066
  }
5069
5067
  this._clearActiveClass(this._config.target);
5070
5068
  this._activeTarget = target;
5071
- target.classList.add(CLASS_NAME_ACTIVE$1);
5069
+ target.classList.add(CLASS_NAME_ACTIVE$2);
5072
5070
  this._activateParents(target);
5073
5071
  EventHandler.trigger(this._element, EVENT_ACTIVATE, {
5074
5072
  relatedTarget: target
@@ -5077,22 +5075,22 @@ class ScrollSpy extends BaseComponent {
5077
5075
  _activateParents(target) {
5078
5076
  // Activate dropdown parents
5079
5077
  if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
5080
- SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$1);
5078
+ SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, target.closest(SELECTOR_DROPDOWN)).classList.add(CLASS_NAME_ACTIVE$2);
5081
5079
  return;
5082
5080
  }
5083
5081
  for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {
5084
5082
  // Set triggered links parents as active
5085
5083
  // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor
5086
5084
  for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {
5087
- item.classList.add(CLASS_NAME_ACTIVE$1);
5085
+ item.classList.add(CLASS_NAME_ACTIVE$2);
5088
5086
  }
5089
5087
  }
5090
5088
  }
5091
5089
  _clearActiveClass(parent) {
5092
- parent.classList.remove(CLASS_NAME_ACTIVE$1);
5093
- const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$1}`, parent);
5090
+ parent.classList.remove(CLASS_NAME_ACTIVE$2);
5091
+ const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE$2}`, parent);
5094
5092
  for (const node of activeNodes) {
5095
- node.classList.remove(CLASS_NAME_ACTIVE$1);
5093
+ node.classList.remove(CLASS_NAME_ACTIVE$2);
5096
5094
  }
5097
5095
  }
5098
5096
 
@@ -5127,6 +5125,327 @@ EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
5127
5125
 
5128
5126
  defineJQueryPlugin(ScrollSpy);
5129
5127
 
5128
+ /**
5129
+ * --------------------------------------------------------------------------
5130
+ * CoreUI search-button.js
5131
+ * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5132
+ * --------------------------------------------------------------------------
5133
+ */
5134
+
5135
+
5136
+ /**
5137
+ * Constants
5138
+ */
5139
+
5140
+ const NAME$3 = 'search-button';
5141
+ const DATA_KEY$3 = 'coreui.search-button';
5142
+ const EVENT_KEY$3 = `.${DATA_KEY$3}`;
5143
+ const DATA_API_KEY$1 = '.data-api';
5144
+ const EVENT_BLUR_DATA_API = `blur${EVENT_KEY$3}${DATA_API_KEY$1}`;
5145
+ const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$3}${DATA_API_KEY$1}`;
5146
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$3}${DATA_API_KEY$1}`;
5147
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$3}${DATA_API_KEY$1}`;
5148
+ const EVENT_TRIGGER = `trigger${EVENT_KEY$3}`;
5149
+ const CLASS_NAME_SHORTCUT_KEYS = 'search-button-keys';
5150
+ const CLASS_NAME_SHORTCUT_KEY = 'search-button-key';
5151
+ const CLASS_NAME_ACTIVE$1 = 'active';
5152
+ const SELECTOR_DATA_TOGGLE$2 = '[data-coreui-search-button]';
5153
+ const SELECTOR_EDITABLE_TARGET = 'input, textarea, select, [contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"]';
5154
+ const SELECTOR_PLACEHOLDER = '.search-button-placeholder';
5155
+ const SELECTOR_SHORTCUT_KEY = '.search-button-key';
5156
+ const SELECTOR_SHORTCUT_KEYS = '.search-button-keys';
5157
+ const Default$2 = {
5158
+ preventDefault: true,
5159
+ shortcut: 'meta+/,ctrl+/'
5160
+ };
5161
+ const DefaultType$2 = {
5162
+ preventDefault: 'boolean',
5163
+ shortcut: 'string'
5164
+ };
5165
+ const MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift']);
5166
+ const KEY_ALIASES = {
5167
+ cmd: 'meta',
5168
+ command: 'meta',
5169
+ control: 'ctrl',
5170
+ option: 'alt',
5171
+ return: 'enter',
5172
+ esc: 'escape',
5173
+ spacebar: 'space',
5174
+ ' ': 'space'
5175
+ };
5176
+ const KEY_LABELS = {
5177
+ alt: 'Alt',
5178
+ ctrl: 'Ctrl',
5179
+ meta: '⌘',
5180
+ shift: 'Shift',
5181
+ space: 'Space'
5182
+ };
5183
+
5184
+ /**
5185
+ * Class definition
5186
+ */
5187
+
5188
+ class SearchButton extends BaseComponent {
5189
+ constructor(element, config) {
5190
+ super(element, config);
5191
+ this._shortcutTriggered = false;
5192
+ this._shortcuts = this._parseShortcut(this._config.shortcut);
5193
+ this._preferredShortcut = this._getPreferredShortcut(this._shortcuts);
5194
+ this._syncShortcutKeys();
5195
+ }
5196
+
5197
+ // Getters
5198
+ static get Default() {
5199
+ return Default$2;
5200
+ }
5201
+ static get DefaultType() {
5202
+ return DefaultType$2;
5203
+ }
5204
+ static get NAME() {
5205
+ return NAME$3;
5206
+ }
5207
+
5208
+ // Public
5209
+ trigger() {
5210
+ this._triggerEvent('api');
5211
+ }
5212
+
5213
+ // Private
5214
+ _triggerEvent(trigger) {
5215
+ if (this._isDisabled()) {
5216
+ return;
5217
+ }
5218
+ EventHandler.trigger(this._element, EVENT_TRIGGER, {
5219
+ trigger
5220
+ });
5221
+ }
5222
+ _handleShortcut(event) {
5223
+ if (this._isDisabled() || event.defaultPrevented || event.repeat || this._shouldIgnoreShortcut(event)) {
5224
+ return false;
5225
+ }
5226
+ const matchedShortcut = this._shortcuts.find(shortcut => this._matchesShortcut(shortcut, event));
5227
+ if (!matchedShortcut) {
5228
+ return false;
5229
+ }
5230
+ if (this._config.preventDefault) {
5231
+ event.preventDefault();
5232
+ }
5233
+ this._shortcutTriggered = true;
5234
+ try {
5235
+ this._element.click();
5236
+ } finally {
5237
+ this._shortcutTriggered = false;
5238
+ }
5239
+ return true;
5240
+ }
5241
+ _isDisabled() {
5242
+ return this._element.classList.contains('disabled') || this._element.getAttribute('aria-disabled') === 'true' || this._element.disabled;
5243
+ }
5244
+ _ensureShortcutKeys() {
5245
+ const existingShortcutKeys = this._element.querySelector(SELECTOR_SHORTCUT_KEYS);
5246
+ if (existingShortcutKeys) {
5247
+ return existingShortcutKeys;
5248
+ }
5249
+ const shortcutKeys = document.createElement('span');
5250
+ shortcutKeys.className = CLASS_NAME_SHORTCUT_KEYS;
5251
+ shortcutKeys.setAttribute('aria-hidden', 'true');
5252
+ const placeholder = this._element.querySelector(SELECTOR_PLACEHOLDER);
5253
+ if (placeholder) {
5254
+ placeholder.after(shortcutKeys);
5255
+ return shortcutKeys;
5256
+ }
5257
+ this._element.append(shortcutKeys);
5258
+ return shortcutKeys;
5259
+ }
5260
+ _syncShortcutKeys() {
5261
+ var _this$_preferredShort;
5262
+ const shortcutKeys = this._ensureShortcutKeys();
5263
+ const shortcutTokens = this._formatShortcutTokens(((_this$_preferredShort = this._preferredShortcut) == null ? void 0 : _this$_preferredShort.shortcut) || '').filter(Boolean);
5264
+ shortcutKeys.replaceChildren();
5265
+ for (const key of shortcutTokens) {
5266
+ const shortcutKey = document.createElement('span');
5267
+ shortcutKey.className = CLASS_NAME_SHORTCUT_KEY;
5268
+ shortcutKey.textContent = key;
5269
+ shortcutKey.dataset.coreuiSearchButtonKey = key;
5270
+ shortcutKeys.append(shortcutKey);
5271
+ }
5272
+ }
5273
+ _syncActiveKeys(event) {
5274
+ const pressedKeys = this._getPressedKeys(event);
5275
+ for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {
5276
+ shortcutKey.classList.toggle(CLASS_NAME_ACTIVE$1, pressedKeys.has(shortcutKey.dataset.coreuiSearchButtonKey));
5277
+ }
5278
+ }
5279
+ _clearActiveKeys() {
5280
+ for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {
5281
+ shortcutKey.classList.remove(CLASS_NAME_ACTIVE$1);
5282
+ }
5283
+ }
5284
+ _consumeShortcutTrigger() {
5285
+ const shortcutTriggered = this._shortcutTriggered;
5286
+ this._shortcutTriggered = false;
5287
+ return shortcutTriggered;
5288
+ }
5289
+ _shouldIgnoreShortcut(event) {
5290
+ return this._isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey;
5291
+ }
5292
+ _isEditableTarget(target) {
5293
+ if (!(target instanceof Element)) {
5294
+ return false;
5295
+ }
5296
+ return target.matches(SELECTOR_EDITABLE_TARGET) || target.closest(SELECTOR_EDITABLE_TARGET);
5297
+ }
5298
+ _normalizeKey(key) {
5299
+ return KEY_ALIASES[key.toLowerCase()] || key.toLowerCase();
5300
+ }
5301
+ _parseShortcut(shortcut) {
5302
+ return shortcut.split(',').map(value => value.trim()).filter(Boolean).map(value => {
5303
+ const keys = value.split('+').map(part => this._normalizeKey(part.trim()));
5304
+ const modifiers = {
5305
+ alt: false,
5306
+ ctrl: false,
5307
+ meta: false,
5308
+ shift: false
5309
+ };
5310
+ let key = '';
5311
+ for (const part of keys) {
5312
+ if (MODIFIER_KEYS.has(part)) {
5313
+ modifiers[part] = true;
5314
+ continue;
5315
+ }
5316
+ key = part;
5317
+ }
5318
+ return {
5319
+ key,
5320
+ modifiers,
5321
+ shortcut: value
5322
+ };
5323
+ });
5324
+ }
5325
+ _matchesShortcut(shortcut, event) {
5326
+ if (!shortcut.key || this._normalizeKey(event.key) !== shortcut.key) {
5327
+ return false;
5328
+ }
5329
+ return shortcut.modifiers.alt === event.altKey && shortcut.modifiers.ctrl === event.ctrlKey && shortcut.modifiers.meta === event.metaKey && shortcut.modifiers.shift === event.shiftKey;
5330
+ }
5331
+ _formatShortcutTokens(shortcut) {
5332
+ return shortcut.split('+').map(part => this._normalizeKey(part.trim())).map(part => this._getKeyLabel(part));
5333
+ }
5334
+ _getPlatform() {
5335
+ var _window$navigator$use;
5336
+ return ((_window$navigator$use = window.navigator.userAgentData) == null ? void 0 : _window$navigator$use.platform) || window.navigator.platform || window.navigator.userAgent || '';
5337
+ }
5338
+ _isMacOS() {
5339
+ return /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(this._getPlatform());
5340
+ }
5341
+ _getPreferredShortcut(shortcuts) {
5342
+ return shortcuts.find(shortcut => {
5343
+ return this._isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl;
5344
+ }) || shortcuts[0] || null;
5345
+ }
5346
+ _getPressedKeys(event) {
5347
+ const pressedKeys = new Set();
5348
+ if (event.altKey) {
5349
+ pressedKeys.add(KEY_LABELS.alt);
5350
+ }
5351
+ if (event.ctrlKey) {
5352
+ pressedKeys.add(KEY_LABELS.ctrl);
5353
+ }
5354
+ if (event.metaKey) {
5355
+ pressedKeys.add(KEY_LABELS.meta);
5356
+ }
5357
+ if (event.shiftKey) {
5358
+ pressedKeys.add(KEY_LABELS.shift);
5359
+ }
5360
+ const normalizedKey = this._normalizeKey(event.key);
5361
+ const keyLabel = this._getKeyLabel(normalizedKey);
5362
+ if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {
5363
+ pressedKeys.add(keyLabel);
5364
+ }
5365
+ return pressedKeys;
5366
+ }
5367
+ _getKeyLabel(key) {
5368
+ return KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`);
5369
+ }
5370
+
5371
+ // Static
5372
+ static searchButtonInterface(element, config) {
5373
+ const data = SearchButton.getOrCreateInstance(element, config);
5374
+ if (typeof config === 'string') {
5375
+ if (config.startsWith('_') || typeof data[config] !== 'function') {
5376
+ throw new TypeError(`No method named "${config}"`);
5377
+ }
5378
+ data[config]();
5379
+ }
5380
+ }
5381
+ static jQueryInterface(config) {
5382
+ return this.each(function () {
5383
+ SearchButton.searchButtonInterface(this, config);
5384
+ });
5385
+ }
5386
+ static _initializeDataApi() {
5387
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
5388
+ SearchButton.getOrCreateInstance(button);
5389
+ }
5390
+ }
5391
+ static _handleDataApiClick(event) {
5392
+ event.preventDefault();
5393
+ const button = event.target.closest(SELECTOR_DATA_TOGGLE$2);
5394
+ const data = SearchButton.getOrCreateInstance(button);
5395
+ const shortcutTriggered = data._consumeShortcutTrigger();
5396
+ if (shortcutTriggered) {
5397
+ data._triggerEvent('shortcut');
5398
+ return;
5399
+ }
5400
+ data._triggerEvent('click');
5401
+ }
5402
+ static _handleDataApiKeydown(event) {
5403
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
5404
+ const data = SearchButton.getOrCreateInstance(button);
5405
+ data._syncActiveKeys(event);
5406
+ if (data._handleShortcut(event)) {
5407
+ break;
5408
+ }
5409
+ }
5410
+ }
5411
+ static _handleDataApiKeyup(event) {
5412
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
5413
+ SearchButton.getOrCreateInstance(button)._syncActiveKeys(event);
5414
+ }
5415
+ }
5416
+ static _handleDataApiBlur() {
5417
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE$2)) {
5418
+ SearchButton.getOrCreateInstance(button)._clearActiveKeys();
5419
+ }
5420
+ }
5421
+ }
5422
+
5423
+ /**
5424
+ * Data API implementation
5425
+ */
5426
+
5427
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY$3}${DATA_API_KEY$1}`, () => {
5428
+ SearchButton._initializeDataApi();
5429
+ });
5430
+ EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, event => {
5431
+ SearchButton._handleDataApiClick(event);
5432
+ });
5433
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, event => {
5434
+ SearchButton._handleDataApiKeydown(event);
5435
+ });
5436
+ EventHandler.on(document, EVENT_KEYUP_DATA_API, event => {
5437
+ SearchButton._handleDataApiKeyup(event);
5438
+ });
5439
+ EventHandler.on(window, EVENT_BLUR_DATA_API, () => {
5440
+ SearchButton._handleDataApiBlur();
5441
+ });
5442
+
5443
+ /**
5444
+ * jQuery
5445
+ */
5446
+
5447
+ defineJQueryPlugin(SearchButton);
5448
+
5130
5449
  /**
5131
5450
  * --------------------------------------------------------------------------
5132
5451
  * CoreUI sidebar.js
@@ -5253,13 +5572,13 @@ class Sidebar extends BaseComponent {
5253
5572
  }
5254
5573
  narrow() {
5255
5574
  if (!this._isMobile()) {
5256
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW);
5575
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW);
5257
5576
  this._narrow = true;
5258
5577
  }
5259
5578
  }
5260
5579
  unfoldable() {
5261
5580
  if (!this._isMobile()) {
5262
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
5581
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
5263
5582
  this._unfoldable = true;
5264
5583
  }
5265
5584
  }
@@ -5317,19 +5636,16 @@ class Sidebar extends BaseComponent {
5317
5636
  const rect = this._element.getBoundingClientRect();
5318
5637
  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);
5319
5638
  }
5320
- _addClassName(className) {
5321
- this._element.classList.add(className);
5322
- }
5323
- _clickOutListener(event, sidebar) {
5639
+ _clickOutListener(event) {
5324
5640
  if (event.target.closest(SELECTOR_SIDEBAR) === null) {
5325
5641
  event.preventDefault();
5326
5642
  event.stopPropagation();
5327
- sidebar.hide();
5643
+ this.hide();
5328
5644
  }
5329
5645
  }
5330
5646
  _addClickOutListener() {
5331
5647
  EventHandler.on(document, EVENT_CLICK_DATA_API$1, event => {
5332
- this._clickOutListener(event, this);
5648
+ this._clickOutListener(event);
5333
5649
  });
5334
5650
  }
5335
5651
  _removeClickOutListener() {
@@ -5346,7 +5662,7 @@ class Sidebar extends BaseComponent {
5346
5662
  }
5347
5663
  EventHandler.on(this._element, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, event => {
5348
5664
  event.preventDefault();
5349
- const toggle = Manipulator.getDataAttribute(event.target, 'toggle');
5665
+ const toggle = Manipulator.getDataAttribute(event.target.closest(SELECTOR_DATA_TOGGLE$1), 'toggle');
5350
5666
  if (toggle === 'narrow') {
5351
5667
  this.toggleNarrow();
5352
5668
  }
@@ -5863,5 +6179,5 @@ enableDismissTrigger(Toast);
5863
6179
 
5864
6180
  defineJQueryPlugin(Toast);
5865
6181
 
5866
- export { Alert, Button, Carousel, Chip, ChipInput, Collapse, Dropdown, Modal, Navigation, Offcanvas, Popover, ScrollSpy, Sidebar, Tab, Toast, Tooltip };
6182
+ export { Alert, Button, Carousel, Chip, ChipInput, Collapse, Dropdown, Modal, Navigation, Offcanvas, Popover, ScrollSpy, SearchButton, Sidebar, Tab, Toast, Tooltip };
5867
6183
  //# sourceMappingURL=coreui.esm.js.map