@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
@@ -0,0 +1,336 @@
1
+ /*!
2
+ * CoreUI search-button.js v5.7.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
+ * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
5
+ */
6
+ (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./util/index.js')) :
8
+ typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './util/index'], factory) :
9
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.SearchButton = factory(global.BaseComponent, global.EventHandler, global.Index));
10
+ })(this, (function (BaseComponent, EventHandler, index_js) { 'use strict';
11
+
12
+ /**
13
+ * --------------------------------------------------------------------------
14
+ * CoreUI search-button.js
15
+ * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)
16
+ * --------------------------------------------------------------------------
17
+ */
18
+
19
+
20
+ /**
21
+ * Constants
22
+ */
23
+
24
+ const NAME = 'search-button';
25
+ const DATA_KEY = 'coreui.search-button';
26
+ const EVENT_KEY = `.${DATA_KEY}`;
27
+ const DATA_API_KEY = '.data-api';
28
+ const EVENT_BLUR_DATA_API = `blur${EVENT_KEY}${DATA_API_KEY}`;
29
+ const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
30
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`;
31
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`;
32
+ const EVENT_TRIGGER = `trigger${EVENT_KEY}`;
33
+ const CLASS_NAME_SHORTCUT_KEYS = 'search-button-keys';
34
+ const CLASS_NAME_SHORTCUT_KEY = 'search-button-key';
35
+ const CLASS_NAME_ACTIVE = 'active';
36
+ const SELECTOR_DATA_TOGGLE = '[data-coreui-search-button]';
37
+ const SELECTOR_EDITABLE_TARGET = 'input, textarea, select, [contenteditable=""], [contenteditable="true"], [contenteditable="plaintext-only"]';
38
+ const SELECTOR_PLACEHOLDER = '.search-button-placeholder';
39
+ const SELECTOR_SHORTCUT_KEY = '.search-button-key';
40
+ const SELECTOR_SHORTCUT_KEYS = '.search-button-keys';
41
+ const Default = {
42
+ preventDefault: true,
43
+ shortcut: 'meta+/,ctrl+/'
44
+ };
45
+ const DefaultType = {
46
+ preventDefault: 'boolean',
47
+ shortcut: 'string'
48
+ };
49
+ const MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift']);
50
+ const KEY_ALIASES = {
51
+ cmd: 'meta',
52
+ command: 'meta',
53
+ control: 'ctrl',
54
+ option: 'alt',
55
+ return: 'enter',
56
+ esc: 'escape',
57
+ spacebar: 'space',
58
+ ' ': 'space'
59
+ };
60
+ const KEY_LABELS = {
61
+ alt: 'Alt',
62
+ ctrl: 'Ctrl',
63
+ meta: '⌘',
64
+ shift: 'Shift',
65
+ space: 'Space'
66
+ };
67
+
68
+ /**
69
+ * Class definition
70
+ */
71
+
72
+ class SearchButton extends BaseComponent {
73
+ constructor(element, config) {
74
+ super(element, config);
75
+ this._shortcutTriggered = false;
76
+ this._shortcuts = this._parseShortcut(this._config.shortcut);
77
+ this._preferredShortcut = this._getPreferredShortcut(this._shortcuts);
78
+ this._syncShortcutKeys();
79
+ }
80
+
81
+ // Getters
82
+ static get Default() {
83
+ return Default;
84
+ }
85
+ static get DefaultType() {
86
+ return DefaultType;
87
+ }
88
+ static get NAME() {
89
+ return NAME;
90
+ }
91
+
92
+ // Public
93
+ trigger() {
94
+ this._triggerEvent('api');
95
+ }
96
+
97
+ // Private
98
+ _triggerEvent(trigger) {
99
+ if (this._isDisabled()) {
100
+ return;
101
+ }
102
+ EventHandler.trigger(this._element, EVENT_TRIGGER, {
103
+ trigger
104
+ });
105
+ }
106
+ _handleShortcut(event) {
107
+ if (this._isDisabled() || event.defaultPrevented || event.repeat || this._shouldIgnoreShortcut(event)) {
108
+ return false;
109
+ }
110
+ const matchedShortcut = this._shortcuts.find(shortcut => this._matchesShortcut(shortcut, event));
111
+ if (!matchedShortcut) {
112
+ return false;
113
+ }
114
+ if (this._config.preventDefault) {
115
+ event.preventDefault();
116
+ }
117
+ this._shortcutTriggered = true;
118
+ try {
119
+ this._element.click();
120
+ } finally {
121
+ this._shortcutTriggered = false;
122
+ }
123
+ return true;
124
+ }
125
+ _isDisabled() {
126
+ return this._element.classList.contains('disabled') || this._element.getAttribute('aria-disabled') === 'true' || this._element.disabled;
127
+ }
128
+ _ensureShortcutKeys() {
129
+ const existingShortcutKeys = this._element.querySelector(SELECTOR_SHORTCUT_KEYS);
130
+ if (existingShortcutKeys) {
131
+ return existingShortcutKeys;
132
+ }
133
+ const shortcutKeys = document.createElement('span');
134
+ shortcutKeys.className = CLASS_NAME_SHORTCUT_KEYS;
135
+ shortcutKeys.setAttribute('aria-hidden', 'true');
136
+ const placeholder = this._element.querySelector(SELECTOR_PLACEHOLDER);
137
+ if (placeholder) {
138
+ placeholder.after(shortcutKeys);
139
+ return shortcutKeys;
140
+ }
141
+ this._element.append(shortcutKeys);
142
+ return shortcutKeys;
143
+ }
144
+ _syncShortcutKeys() {
145
+ var _this$_preferredShort;
146
+ const shortcutKeys = this._ensureShortcutKeys();
147
+ const shortcutTokens = this._formatShortcutTokens(((_this$_preferredShort = this._preferredShortcut) == null ? void 0 : _this$_preferredShort.shortcut) || '').filter(Boolean);
148
+ shortcutKeys.replaceChildren();
149
+ for (const key of shortcutTokens) {
150
+ const shortcutKey = document.createElement('span');
151
+ shortcutKey.className = CLASS_NAME_SHORTCUT_KEY;
152
+ shortcutKey.textContent = key;
153
+ shortcutKey.dataset.coreuiSearchButtonKey = key;
154
+ shortcutKeys.append(shortcutKey);
155
+ }
156
+ }
157
+ _syncActiveKeys(event) {
158
+ const pressedKeys = this._getPressedKeys(event);
159
+ for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {
160
+ shortcutKey.classList.toggle(CLASS_NAME_ACTIVE, pressedKeys.has(shortcutKey.dataset.coreuiSearchButtonKey));
161
+ }
162
+ }
163
+ _clearActiveKeys() {
164
+ for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {
165
+ shortcutKey.classList.remove(CLASS_NAME_ACTIVE);
166
+ }
167
+ }
168
+ _consumeShortcutTrigger() {
169
+ const shortcutTriggered = this._shortcutTriggered;
170
+ this._shortcutTriggered = false;
171
+ return shortcutTriggered;
172
+ }
173
+ _shouldIgnoreShortcut(event) {
174
+ return this._isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey;
175
+ }
176
+ _isEditableTarget(target) {
177
+ if (!(target instanceof Element)) {
178
+ return false;
179
+ }
180
+ return target.matches(SELECTOR_EDITABLE_TARGET) || target.closest(SELECTOR_EDITABLE_TARGET);
181
+ }
182
+ _normalizeKey(key) {
183
+ return KEY_ALIASES[key.toLowerCase()] || key.toLowerCase();
184
+ }
185
+ _parseShortcut(shortcut) {
186
+ return shortcut.split(',').map(value => value.trim()).filter(Boolean).map(value => {
187
+ const keys = value.split('+').map(part => this._normalizeKey(part.trim()));
188
+ const modifiers = {
189
+ alt: false,
190
+ ctrl: false,
191
+ meta: false,
192
+ shift: false
193
+ };
194
+ let key = '';
195
+ for (const part of keys) {
196
+ if (MODIFIER_KEYS.has(part)) {
197
+ modifiers[part] = true;
198
+ continue;
199
+ }
200
+ key = part;
201
+ }
202
+ return {
203
+ key,
204
+ modifiers,
205
+ shortcut: value
206
+ };
207
+ });
208
+ }
209
+ _matchesShortcut(shortcut, event) {
210
+ if (!shortcut.key || this._normalizeKey(event.key) !== shortcut.key) {
211
+ return false;
212
+ }
213
+ return shortcut.modifiers.alt === event.altKey && shortcut.modifiers.ctrl === event.ctrlKey && shortcut.modifiers.meta === event.metaKey && shortcut.modifiers.shift === event.shiftKey;
214
+ }
215
+ _formatShortcutTokens(shortcut) {
216
+ return shortcut.split('+').map(part => this._normalizeKey(part.trim())).map(part => this._getKeyLabel(part));
217
+ }
218
+ _getPlatform() {
219
+ var _window$navigator$use;
220
+ return ((_window$navigator$use = window.navigator.userAgentData) == null ? void 0 : _window$navigator$use.platform) || window.navigator.platform || window.navigator.userAgent || '';
221
+ }
222
+ _isMacOS() {
223
+ return /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(this._getPlatform());
224
+ }
225
+ _getPreferredShortcut(shortcuts) {
226
+ return shortcuts.find(shortcut => {
227
+ return this._isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl;
228
+ }) || shortcuts[0] || null;
229
+ }
230
+ _getPressedKeys(event) {
231
+ const pressedKeys = new Set();
232
+ if (event.altKey) {
233
+ pressedKeys.add(KEY_LABELS.alt);
234
+ }
235
+ if (event.ctrlKey) {
236
+ pressedKeys.add(KEY_LABELS.ctrl);
237
+ }
238
+ if (event.metaKey) {
239
+ pressedKeys.add(KEY_LABELS.meta);
240
+ }
241
+ if (event.shiftKey) {
242
+ pressedKeys.add(KEY_LABELS.shift);
243
+ }
244
+ const normalizedKey = this._normalizeKey(event.key);
245
+ const keyLabel = this._getKeyLabel(normalizedKey);
246
+ if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {
247
+ pressedKeys.add(keyLabel);
248
+ }
249
+ return pressedKeys;
250
+ }
251
+ _getKeyLabel(key) {
252
+ return KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`);
253
+ }
254
+
255
+ // Static
256
+ static searchButtonInterface(element, config) {
257
+ const data = SearchButton.getOrCreateInstance(element, config);
258
+ if (typeof config === 'string') {
259
+ if (config.startsWith('_') || typeof data[config] !== 'function') {
260
+ throw new TypeError(`No method named "${config}"`);
261
+ }
262
+ data[config]();
263
+ }
264
+ }
265
+ static jQueryInterface(config) {
266
+ return this.each(function () {
267
+ SearchButton.searchButtonInterface(this, config);
268
+ });
269
+ }
270
+ static _initializeDataApi() {
271
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE)) {
272
+ SearchButton.getOrCreateInstance(button);
273
+ }
274
+ }
275
+ static _handleDataApiClick(event) {
276
+ event.preventDefault();
277
+ const button = event.target.closest(SELECTOR_DATA_TOGGLE);
278
+ const data = SearchButton.getOrCreateInstance(button);
279
+ const shortcutTriggered = data._consumeShortcutTrigger();
280
+ if (shortcutTriggered) {
281
+ data._triggerEvent('shortcut');
282
+ return;
283
+ }
284
+ data._triggerEvent('click');
285
+ }
286
+ static _handleDataApiKeydown(event) {
287
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE)) {
288
+ const data = SearchButton.getOrCreateInstance(button);
289
+ data._syncActiveKeys(event);
290
+ if (data._handleShortcut(event)) {
291
+ break;
292
+ }
293
+ }
294
+ }
295
+ static _handleDataApiKeyup(event) {
296
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE)) {
297
+ SearchButton.getOrCreateInstance(button)._syncActiveKeys(event);
298
+ }
299
+ }
300
+ static _handleDataApiBlur() {
301
+ for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE)) {
302
+ SearchButton.getOrCreateInstance(button)._clearActiveKeys();
303
+ }
304
+ }
305
+ }
306
+
307
+ /**
308
+ * Data API implementation
309
+ */
310
+
311
+ EventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {
312
+ SearchButton._initializeDataApi();
313
+ });
314
+ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
315
+ SearchButton._handleDataApiClick(event);
316
+ });
317
+ EventHandler.on(document, EVENT_KEYDOWN_DATA_API, event => {
318
+ SearchButton._handleDataApiKeydown(event);
319
+ });
320
+ EventHandler.on(document, EVENT_KEYUP_DATA_API, event => {
321
+ SearchButton._handleDataApiKeyup(event);
322
+ });
323
+ EventHandler.on(window, EVENT_BLUR_DATA_API, () => {
324
+ SearchButton._handleDataApiBlur();
325
+ });
326
+
327
+ /**
328
+ * jQuery
329
+ */
330
+
331
+ index_js.defineJQueryPlugin(SearchButton);
332
+
333
+ return SearchButton;
334
+
335
+ }));
336
+ //# sourceMappingURL=search-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-button.js","sources":["../src/search-button.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI search-button.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { defineJQueryPlugin } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'search-button'\nconst DATA_KEY = 'coreui.search-button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_BLUR_DATA_API = `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_TRIGGER = `trigger${EVENT_KEY}`\n\nconst CLASS_NAME_SHORTCUT_KEYS = 'search-button-keys'\nconst CLASS_NAME_SHORTCUT_KEY = 'search-button-key'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-search-button]'\nconst SELECTOR_EDITABLE_TARGET = 'input, textarea, select, [contenteditable=\"\"], [contenteditable=\"true\"], [contenteditable=\"plaintext-only\"]'\nconst SELECTOR_PLACEHOLDER = '.search-button-placeholder'\nconst SELECTOR_SHORTCUT_KEY = '.search-button-key'\nconst SELECTOR_SHORTCUT_KEYS = '.search-button-keys'\n\nconst Default = {\n preventDefault: true,\n shortcut: 'meta+/,ctrl+/'\n}\n\nconst DefaultType = {\n preventDefault: 'boolean',\n shortcut: 'string'\n}\n\nconst MODIFIER_KEYS = new Set(['alt', 'ctrl', 'meta', 'shift'])\n\nconst KEY_ALIASES = {\n cmd: 'meta',\n command: 'meta',\n control: 'ctrl',\n option: 'alt',\n return: 'enter',\n esc: 'escape',\n spacebar: 'space',\n ' ': 'space'\n}\n\nconst KEY_LABELS = {\n alt: 'Alt',\n ctrl: 'Ctrl',\n meta: '⌘',\n shift: 'Shift',\n space: 'Space'\n}\n\n/**\n * Class definition\n */\n\nclass SearchButton extends BaseComponent {\n constructor(element, config) {\n super(element, config)\n\n this._shortcutTriggered = false\n this._shortcuts = this._parseShortcut(this._config.shortcut)\n this._preferredShortcut = this._getPreferredShortcut(this._shortcuts)\n this._syncShortcutKeys()\n }\n\n // Getters\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n trigger() {\n this._triggerEvent('api')\n }\n\n // Private\n _triggerEvent(trigger) {\n if (this._isDisabled()) {\n return\n }\n\n EventHandler.trigger(this._element, EVENT_TRIGGER, { trigger })\n }\n\n _handleShortcut(event) {\n if (this._isDisabled() || event.defaultPrevented || event.repeat || this._shouldIgnoreShortcut(event)) {\n return false\n }\n\n const matchedShortcut = this._shortcuts.find(shortcut => this._matchesShortcut(shortcut, event))\n\n if (!matchedShortcut) {\n return false\n }\n\n if (this._config.preventDefault) {\n event.preventDefault()\n }\n\n this._shortcutTriggered = true\n\n try {\n this._element.click()\n } finally {\n this._shortcutTriggered = false\n }\n\n return true\n }\n\n _isDisabled() {\n return this._element.classList.contains('disabled') ||\n this._element.getAttribute('aria-disabled') === 'true' ||\n this._element.disabled\n }\n\n _ensureShortcutKeys() {\n const existingShortcutKeys = this._element.querySelector(SELECTOR_SHORTCUT_KEYS)\n\n if (existingShortcutKeys) {\n return existingShortcutKeys\n }\n\n const shortcutKeys = document.createElement('span')\n shortcutKeys.className = CLASS_NAME_SHORTCUT_KEYS\n shortcutKeys.setAttribute('aria-hidden', 'true')\n const placeholder = this._element.querySelector(SELECTOR_PLACEHOLDER)\n\n if (placeholder) {\n placeholder.after(shortcutKeys)\n return shortcutKeys\n }\n\n this._element.append(shortcutKeys)\n return shortcutKeys\n }\n\n _syncShortcutKeys() {\n const shortcutKeys = this._ensureShortcutKeys()\n const shortcutTokens = this._formatShortcutTokens(this._preferredShortcut?.shortcut || '')\n .filter(Boolean)\n\n shortcutKeys.replaceChildren()\n\n for (const key of shortcutTokens) {\n const shortcutKey = document.createElement('span')\n shortcutKey.className = CLASS_NAME_SHORTCUT_KEY\n shortcutKey.textContent = key\n shortcutKey.dataset.coreuiSearchButtonKey = key\n shortcutKeys.append(shortcutKey)\n }\n }\n\n _syncActiveKeys(event) {\n const pressedKeys = this._getPressedKeys(event)\n\n for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {\n shortcutKey.classList.toggle(CLASS_NAME_ACTIVE, pressedKeys.has(shortcutKey.dataset.coreuiSearchButtonKey))\n }\n }\n\n _clearActiveKeys() {\n for (const shortcutKey of this._element.querySelectorAll(SELECTOR_SHORTCUT_KEY)) {\n shortcutKey.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n _consumeShortcutTrigger() {\n const shortcutTriggered = this._shortcutTriggered\n this._shortcutTriggered = false\n return shortcutTriggered\n }\n\n _shouldIgnoreShortcut(event) {\n return this._isEditableTarget(event.target) && !event.ctrlKey && !event.metaKey\n }\n\n _isEditableTarget(target) {\n if (!(target instanceof Element)) {\n return false\n }\n\n return target.matches(SELECTOR_EDITABLE_TARGET) || target.closest(SELECTOR_EDITABLE_TARGET)\n }\n\n _normalizeKey(key) {\n return KEY_ALIASES[key.toLowerCase()] || key.toLowerCase()\n }\n\n _parseShortcut(shortcut) {\n return shortcut\n .split(',')\n .map(value => value.trim())\n .filter(Boolean)\n .map(value => {\n const keys = value.split('+').map(part => this._normalizeKey(part.trim()))\n const modifiers = {\n alt: false,\n ctrl: false,\n meta: false,\n shift: false\n }\n\n let key = ''\n\n for (const part of keys) {\n if (MODIFIER_KEYS.has(part)) {\n modifiers[part] = true\n continue\n }\n\n key = part\n }\n\n return {\n key,\n modifiers,\n shortcut: value\n }\n })\n }\n\n _matchesShortcut(shortcut, event) {\n if (!shortcut.key || this._normalizeKey(event.key) !== shortcut.key) {\n return false\n }\n\n return shortcut.modifiers.alt === event.altKey &&\n shortcut.modifiers.ctrl === event.ctrlKey &&\n shortcut.modifiers.meta === event.metaKey &&\n shortcut.modifiers.shift === event.shiftKey\n }\n\n _formatShortcutTokens(shortcut) {\n return shortcut\n .split('+')\n .map(part => this._normalizeKey(part.trim()))\n .map(part => this._getKeyLabel(part))\n }\n\n _getPlatform() {\n return window.navigator.userAgentData?.platform ||\n window.navigator.platform ||\n window.navigator.userAgent ||\n ''\n }\n\n _isMacOS() {\n return /Mac|iPhone|iPad|iPod|macOS|Macintosh/.test(this._getPlatform())\n }\n\n _getPreferredShortcut(shortcuts) {\n return shortcuts.find(shortcut => {\n return this._isMacOS() ? shortcut.modifiers.meta : shortcut.modifiers.ctrl\n }) || shortcuts[0] || null\n }\n\n _getPressedKeys(event) {\n const pressedKeys = new Set()\n\n if (event.altKey) {\n pressedKeys.add(KEY_LABELS.alt)\n }\n\n if (event.ctrlKey) {\n pressedKeys.add(KEY_LABELS.ctrl)\n }\n\n if (event.metaKey) {\n pressedKeys.add(KEY_LABELS.meta)\n }\n\n if (event.shiftKey) {\n pressedKeys.add(KEY_LABELS.shift)\n }\n\n const normalizedKey = this._normalizeKey(event.key)\n const keyLabel = this._getKeyLabel(normalizedKey)\n\n if (!MODIFIER_KEYS.has(normalizedKey) && event.type === 'keydown') {\n pressedKeys.add(keyLabel)\n }\n\n return pressedKeys\n }\n\n _getKeyLabel(key) {\n return KEY_LABELS[key] || (key.length === 1 ? key.toUpperCase() : `${key.charAt(0).toUpperCase()}${key.slice(1)}`)\n }\n\n // Static\n static searchButtonInterface(element, config) {\n const data = SearchButton.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (config.startsWith('_') || typeof data[config] !== 'function') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n SearchButton.searchButtonInterface(this, config)\n })\n }\n\n static _initializeDataApi() {\n for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE)) {\n SearchButton.getOrCreateInstance(button)\n }\n }\n\n static _handleDataApiClick(event) {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n const data = SearchButton.getOrCreateInstance(button)\n const shortcutTriggered = data._consumeShortcutTrigger()\n\n if (shortcutTriggered) {\n data._triggerEvent('shortcut')\n return\n }\n\n data._triggerEvent('click')\n }\n\n static _handleDataApiKeydown(event) {\n for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE)) {\n const data = SearchButton.getOrCreateInstance(button)\n data._syncActiveKeys(event)\n\n if (data._handleShortcut(event)) {\n break\n }\n }\n }\n\n static _handleDataApiKeyup(event) {\n for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE)) {\n SearchButton.getOrCreateInstance(button)._syncActiveKeys(event)\n }\n }\n\n static _handleDataApiBlur() {\n for (const button of document.querySelectorAll(SELECTOR_DATA_TOGGLE)) {\n SearchButton.getOrCreateInstance(button)._clearActiveKeys()\n }\n }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n SearchButton._initializeDataApi()\n})\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n SearchButton._handleDataApiClick(event)\n})\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, event => {\n SearchButton._handleDataApiKeydown(event)\n})\n\nEventHandler.on(document, EVENT_KEYUP_DATA_API, event => {\n SearchButton._handleDataApiKeyup(event)\n})\n\nEventHandler.on(window, EVENT_BLUR_DATA_API, () => {\n SearchButton._handleDataApiBlur()\n})\n\n/**\n * jQuery\n */\n\ndefineJQueryPlugin(SearchButton)\n\nexport default SearchButton\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","EVENT_BLUR_DATA_API","EVENT_CLICK_DATA_API","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","EVENT_TRIGGER","CLASS_NAME_SHORTCUT_KEYS","CLASS_NAME_SHORTCUT_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","SELECTOR_EDITABLE_TARGET","SELECTOR_PLACEHOLDER","SELECTOR_SHORTCUT_KEY","SELECTOR_SHORTCUT_KEYS","Default","preventDefault","shortcut","DefaultType","MODIFIER_KEYS","Set","KEY_ALIASES","cmd","command","control","option","return","esc","spacebar","KEY_LABELS","alt","ctrl","meta","shift","space","SearchButton","BaseComponent","constructor","element","config","_shortcutTriggered","_shortcuts","_parseShortcut","_config","_preferredShortcut","_getPreferredShortcut","_syncShortcutKeys","trigger","_triggerEvent","_isDisabled","EventHandler","_element","_handleShortcut","event","defaultPrevented","repeat","_shouldIgnoreShortcut","matchedShortcut","find","_matchesShortcut","click","classList","contains","getAttribute","disabled","_ensureShortcutKeys","existingShortcutKeys","querySelector","shortcutKeys","document","createElement","className","setAttribute","placeholder","after","append","_this$_preferredShort","shortcutTokens","_formatShortcutTokens","filter","Boolean","replaceChildren","key","shortcutKey","textContent","dataset","coreuiSearchButtonKey","_syncActiveKeys","pressedKeys","_getPressedKeys","querySelectorAll","toggle","has","_clearActiveKeys","remove","_consumeShortcutTrigger","shortcutTriggered","_isEditableTarget","target","ctrlKey","metaKey","Element","matches","closest","_normalizeKey","toLowerCase","split","map","value","trim","keys","part","modifiers","altKey","shiftKey","_getKeyLabel","_getPlatform","_window$navigator$use","window","navigator","userAgentData","platform","userAgent","_isMacOS","test","shortcuts","add","normalizedKey","keyLabel","type","length","toUpperCase","charAt","slice","searchButtonInterface","data","getOrCreateInstance","startsWith","TypeError","jQueryInterface","each","_initializeDataApi","button","_handleDataApiClick","_handleDataApiKeydown","_handleDataApiKeyup","_handleDataApiBlur","on","defineJQueryPlugin"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI sidebar.js v5.6.0 (https://coreui.io)
2
+ * CoreUI sidebar.js 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
  */
@@ -135,13 +135,13 @@
135
135
  }
136
136
  narrow() {
137
137
  if (!this._isMobile()) {
138
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW);
138
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW);
139
139
  this._narrow = true;
140
140
  }
141
141
  }
142
142
  unfoldable() {
143
143
  if (!this._isMobile()) {
144
- this._addClassName(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
144
+ this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE);
145
145
  this._unfoldable = true;
146
146
  }
147
147
  }
@@ -199,19 +199,16 @@
199
199
  const rect = this._element.getBoundingClientRect();
200
200
  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);
201
201
  }
202
- _addClassName(className) {
203
- this._element.classList.add(className);
204
- }
205
- _clickOutListener(event, sidebar) {
202
+ _clickOutListener(event) {
206
203
  if (event.target.closest(SELECTOR_SIDEBAR) === null) {
207
204
  event.preventDefault();
208
205
  event.stopPropagation();
209
- sidebar.hide();
206
+ this.hide();
210
207
  }
211
208
  }
212
209
  _addClickOutListener() {
213
210
  EventHandler.on(document, EVENT_CLICK_DATA_API, event => {
214
- this._clickOutListener(event, this);
211
+ this._clickOutListener(event);
215
212
  });
216
213
  }
217
214
  _removeClickOutListener() {
@@ -228,7 +225,7 @@
228
225
  }
229
226
  EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {
230
227
  event.preventDefault();
231
- const toggle = Manipulator.getDataAttribute(event.target, 'toggle');
228
+ const toggle = Manipulator.getDataAttribute(event.target.closest(SELECTOR_DATA_TOGGLE), 'toggle');
232
229
  if (toggle === 'narrow') {
233
230
  this.toggleNarrow();
234
231
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sources":["../src/sidebar.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI sidebar.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin } from './util/index.js'\nimport Backdrop from './util/backdrop.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'sidebar'\nconst DATA_KEY = 'coreui.sidebar'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {}\n\nconst DefaultType = {}\n\nconst CLASS_NAME_BACKDROP = 'sidebar-backdrop'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SIDEBAR_NARROW = 'sidebar-narrow'\nconst CLASS_NAME_SIDEBAR_OVERLAID = 'sidebar-overlaid'\nconst CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE = 'sidebar-narrow-unfoldable'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = 'resize'\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_CLOSE = '[data-coreui-close=\"sidebar\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle]'\n\nconst SELECTOR_SIDEBAR = '.sidebar'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Sidebar extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._show = this._isVisible()\n this._mobile = this._isMobile()\n this._overlaid = this._isOverlaid()\n this._narrow = this._isNarrow()\n this._unfoldable = this._isUnfoldable()\n this._backdrop = this._initializeBackDrop()\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n show() {\n EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (this._element.classList.contains(CLASS_NAME_HIDE)) {\n this._element.classList.remove(CLASS_NAME_HIDE)\n }\n\n if (this._overlaid) {\n this._element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (this._isMobile()) {\n this._element.classList.add(CLASS_NAME_SHOW)\n this._backdrop.show()\n new ScrollBarHelper().hide()\n }\n\n const complete = () => {\n if (this._isVisible() === true) {\n this._show = true\n if (this._isMobile() || this._isOverlaid()) {\n this._addClickOutListener()\n }\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n }\n\n this._queueCallback(complete, this._element, true)\n }\n\n hide() {\n EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n if (this._isMobile()) {\n this._backdrop.hide()\n new ScrollBarHelper().reset()\n }\n\n if (!this._isMobile() && !this._overlaid) {\n this._element.classList.add(CLASS_NAME_HIDE)\n }\n\n const complete = () => {\n if (this._isVisible() === false) {\n this._show = false\n if (this._isMobile() || this._isOverlaid()) {\n this._removeClickOutListener()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n }\n\n this._queueCallback(complete, this._element, true)\n }\n\n toggle() {\n if (this._isVisible()) {\n this.hide()\n return\n }\n\n this.show()\n }\n\n narrow() {\n if (!this._isMobile()) {\n this._addClassName(CLASS_NAME_SIDEBAR_NARROW)\n this._narrow = true\n }\n }\n\n unfoldable() {\n if (!this._isMobile()) {\n this._addClassName(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE)\n this._unfoldable = true\n }\n }\n\n reset() {\n if (!this._isMobile()) {\n if (this._narrow) {\n this._element.classList.remove(CLASS_NAME_SIDEBAR_NARROW)\n this._narrow = false\n }\n\n if (this._unfoldable) {\n this._element.classList.remove(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE)\n this._unfoldable = false\n }\n }\n }\n\n toggleNarrow() {\n if (this._narrow) {\n this.reset()\n return\n }\n\n this.narrow()\n }\n\n toggleUnfoldable() {\n if (this._unfoldable) {\n this.reset()\n return\n }\n\n this.unfoldable()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: this._isMobile(),\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _isMobile() {\n return Boolean(window.getComputedStyle(this._element, null).getPropertyValue('--cui-is-mobile'))\n }\n\n _isNarrow() {\n return this._element.classList.contains(CLASS_NAME_SIDEBAR_NARROW)\n }\n\n _isOverlaid() {\n return this._element.classList.contains(CLASS_NAME_SIDEBAR_OVERLAID)\n }\n\n _isUnfoldable() {\n return this._element.classList.contains(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE)\n }\n\n _isVisible() {\n const rect = this._element.getBoundingClientRect()\n return (\n rect.top >= 0 && rect.left >= 0 && Math.floor(rect.bottom) <= (window.innerHeight || document.documentElement.clientHeight) && Math.floor(rect.right) <= (window.innerWidth || document.documentElement.clientWidth)\n )\n }\n\n _addClassName(className) {\n this._element.classList.add(className)\n }\n\n _clickOutListener(event, sidebar) {\n if (event.target.closest(SELECTOR_SIDEBAR) === null) {\n event.preventDefault()\n event.stopPropagation()\n sidebar.hide()\n }\n }\n\n _addClickOutListener() {\n EventHandler.on(document, EVENT_CLICK_DATA_API, event => {\n this._clickOutListener(event, this)\n })\n }\n\n _removeClickOutListener() {\n EventHandler.off(document, EVENT_CLICK_DATA_API)\n }\n\n // Sidebar navigation\n _addEventListeners() {\n if (this._mobile && this._show) {\n this._addClickOutListener()\n }\n\n if (this._overlaid && this._show) {\n this._addClickOutListener()\n }\n\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n const toggle = Manipulator.getDataAttribute(event.target, 'toggle')\n\n if (toggle === 'narrow') {\n this.toggleNarrow()\n }\n\n if (toggle === 'unfoldable') {\n this.toggleUnfoldable()\n }\n })\n\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_DATA_CLOSE, event => {\n event.preventDefault()\n this.hide()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isMobile() && this._isVisible()) {\n this.hide()\n this._backdrop = this._initializeBackDrop()\n }\n })\n }\n\n // Static\n\n static sidebarInterface(element, config) {\n const data = Sidebar.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Sidebar.sidebarInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_SIDEBAR))) {\n Sidebar.sidebarInterface(element)\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Sidebar)\n\nexport default Sidebar\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","DefaultType","CLASS_NAME_BACKDROP","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SIDEBAR_NARROW","CLASS_NAME_SIDEBAR_OVERLAID","CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE","EVENT_HIDE","EVENT_HIDDEN","EVENT_RESIZE","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_LOAD_DATA_API","SELECTOR_DATA_CLOSE","SELECTOR_DATA_TOGGLE","SELECTOR_SIDEBAR","Sidebar","BaseComponent","constructor","element","config","_config","_getConfig","_show","_isVisible","_mobile","_isMobile","_overlaid","_isOverlaid","_narrow","_isNarrow","_unfoldable","_isUnfoldable","_backdrop","_initializeBackDrop","_addEventListeners","show","EventHandler","trigger","_element","classList","contains","remove","add","ScrollBarHelper","hide","complete","_addClickOutListener","_queueCallback","reset","_removeClickOutListener","toggle","narrow","_addClassName","unfoldable","toggleNarrow","toggleUnfoldable","Backdrop","className","isVisible","isAnimated","rootElement","parentNode","clickCallback","Boolean","window","getComputedStyle","getPropertyValue","rect","getBoundingClientRect","top","left","Math","floor","bottom","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","_clickOutListener","event","sidebar","target","closest","preventDefault","stopPropagation","on","off","Manipulator","getDataAttribute","sidebarInterface","data","getOrCreateInstance","TypeError","jQueryInterface","each","Array","from","querySelectorAll","defineJQueryPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.js","sources":["../src/sidebar.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI sidebar.js\n * Licensed under MIT (https://github.com/coreui/coreui/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport { defineJQueryPlugin } from './util/index.js'\nimport Backdrop from './util/backdrop.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'sidebar'\nconst DATA_KEY = 'coreui.sidebar'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst Default = {}\n\nconst DefaultType = {}\n\nconst CLASS_NAME_BACKDROP = 'sidebar-backdrop'\nconst CLASS_NAME_HIDE = 'hide'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SIDEBAR_NARROW = 'sidebar-narrow'\nconst CLASS_NAME_SIDEBAR_OVERLAID = 'sidebar-overlaid'\nconst CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE = 'sidebar-narrow-unfoldable'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = 'resize'\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_CLOSE = '[data-coreui-close=\"sidebar\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-coreui-toggle]'\n\nconst SELECTOR_SIDEBAR = '.sidebar'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Sidebar extends BaseComponent {\n constructor(element, config) {\n super(element)\n\n this._config = this._getConfig(config)\n this._show = this._isVisible()\n this._mobile = this._isMobile()\n this._overlaid = this._isOverlaid()\n this._narrow = this._isNarrow()\n this._unfoldable = this._isUnfoldable()\n this._backdrop = this._initializeBackDrop()\n this._addEventListeners()\n }\n\n // Getters\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n static get NAME() {\n return NAME\n }\n\n // Public\n\n show() {\n EventHandler.trigger(this._element, EVENT_SHOW)\n\n if (this._element.classList.contains(CLASS_NAME_HIDE)) {\n this._element.classList.remove(CLASS_NAME_HIDE)\n }\n\n if (this._overlaid) {\n this._element.classList.add(CLASS_NAME_SHOW)\n }\n\n if (this._isMobile()) {\n this._element.classList.add(CLASS_NAME_SHOW)\n this._backdrop.show()\n new ScrollBarHelper().hide()\n }\n\n const complete = () => {\n if (this._isVisible() === true) {\n this._show = true\n if (this._isMobile() || this._isOverlaid()) {\n this._addClickOutListener()\n }\n\n EventHandler.trigger(this._element, EVENT_SHOWN)\n }\n }\n\n this._queueCallback(complete, this._element, true)\n }\n\n hide() {\n EventHandler.trigger(this._element, EVENT_HIDE)\n\n if (this._element.classList.contains(CLASS_NAME_SHOW)) {\n this._element.classList.remove(CLASS_NAME_SHOW)\n }\n\n if (this._isMobile()) {\n this._backdrop.hide()\n new ScrollBarHelper().reset()\n }\n\n if (!this._isMobile() && !this._overlaid) {\n this._element.classList.add(CLASS_NAME_HIDE)\n }\n\n const complete = () => {\n if (this._isVisible() === false) {\n this._show = false\n if (this._isMobile() || this._isOverlaid()) {\n this._removeClickOutListener()\n }\n\n EventHandler.trigger(this._element, EVENT_HIDDEN)\n }\n }\n\n this._queueCallback(complete, this._element, true)\n }\n\n toggle() {\n if (this._isVisible()) {\n this.hide()\n return\n }\n\n this.show()\n }\n\n narrow() {\n if (!this._isMobile()) {\n this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW)\n this._narrow = true\n }\n }\n\n unfoldable() {\n if (!this._isMobile()) {\n this._element.classList.add(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE)\n this._unfoldable = true\n }\n }\n\n reset() {\n if (!this._isMobile()) {\n if (this._narrow) {\n this._element.classList.remove(CLASS_NAME_SIDEBAR_NARROW)\n this._narrow = false\n }\n\n if (this._unfoldable) {\n this._element.classList.remove(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE)\n this._unfoldable = false\n }\n }\n }\n\n toggleNarrow() {\n if (this._narrow) {\n this.reset()\n return\n }\n\n this.narrow()\n }\n\n toggleUnfoldable() {\n if (this._unfoldable) {\n this.reset()\n return\n }\n\n this.unfoldable()\n }\n\n // Private\n\n _initializeBackDrop() {\n return new Backdrop({\n className: CLASS_NAME_BACKDROP,\n isVisible: this._isMobile(),\n isAnimated: true,\n rootElement: this._element.parentNode,\n clickCallback: () => this.hide()\n })\n }\n\n _isMobile() {\n return Boolean(window.getComputedStyle(this._element, null).getPropertyValue('--cui-is-mobile'))\n }\n\n _isNarrow() {\n return this._element.classList.contains(CLASS_NAME_SIDEBAR_NARROW)\n }\n\n _isOverlaid() {\n return this._element.classList.contains(CLASS_NAME_SIDEBAR_OVERLAID)\n }\n\n _isUnfoldable() {\n return this._element.classList.contains(CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE)\n }\n\n _isVisible() {\n const rect = this._element.getBoundingClientRect()\n return (\n rect.top >= 0 && rect.left >= 0 && Math.floor(rect.bottom) <= (window.innerHeight || document.documentElement.clientHeight) && Math.floor(rect.right) <= (window.innerWidth || document.documentElement.clientWidth)\n )\n }\n\n _clickOutListener(event) {\n if (event.target.closest(SELECTOR_SIDEBAR) === null) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n }\n }\n\n _addClickOutListener() {\n EventHandler.on(document, EVENT_CLICK_DATA_API, event => {\n this._clickOutListener(event)\n })\n }\n\n _removeClickOutListener() {\n EventHandler.off(document, EVENT_CLICK_DATA_API)\n }\n\n // Sidebar navigation\n _addEventListeners() {\n if (this._mobile && this._show) {\n this._addClickOutListener()\n }\n\n if (this._overlaid && this._show) {\n this._addClickOutListener()\n }\n\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n event.preventDefault()\n const toggle = Manipulator.getDataAttribute(event.target.closest(SELECTOR_DATA_TOGGLE), 'toggle')\n\n if (toggle === 'narrow') {\n this.toggleNarrow()\n }\n\n if (toggle === 'unfoldable') {\n this.toggleUnfoldable()\n }\n })\n\n EventHandler.on(this._element, EVENT_CLICK_DATA_API, SELECTOR_DATA_CLOSE, event => {\n event.preventDefault()\n this.hide()\n })\n\n EventHandler.on(window, EVENT_RESIZE, () => {\n if (this._isMobile() && this._isVisible()) {\n this.hide()\n this._backdrop = this._initializeBackDrop()\n }\n })\n }\n\n // Static\n\n static sidebarInterface(element, config) {\n const data = Sidebar.getOrCreateInstance(element, config)\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n }\n\n static jQueryInterface(config) {\n return this.each(function () {\n Sidebar.sidebarInterface(this, config)\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n for (const element of Array.from(document.querySelectorAll(SELECTOR_SIDEBAR))) {\n Sidebar.sidebarInterface(element)\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\ndefineJQueryPlugin(Sidebar)\n\nexport default Sidebar\n"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","Default","DefaultType","CLASS_NAME_BACKDROP","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SIDEBAR_NARROW","CLASS_NAME_SIDEBAR_OVERLAID","CLASS_NAME_SIDEBAR_NARROW_UNFOLDABLE","EVENT_HIDE","EVENT_HIDDEN","EVENT_RESIZE","EVENT_SHOW","EVENT_SHOWN","EVENT_CLICK_DATA_API","EVENT_LOAD_DATA_API","SELECTOR_DATA_CLOSE","SELECTOR_DATA_TOGGLE","SELECTOR_SIDEBAR","Sidebar","BaseComponent","constructor","element","config","_config","_getConfig","_show","_isVisible","_mobile","_isMobile","_overlaid","_isOverlaid","_narrow","_isNarrow","_unfoldable","_isUnfoldable","_backdrop","_initializeBackDrop","_addEventListeners","show","EventHandler","trigger","_element","classList","contains","remove","add","ScrollBarHelper","hide","complete","_addClickOutListener","_queueCallback","reset","_removeClickOutListener","toggle","narrow","unfoldable","toggleNarrow","toggleUnfoldable","Backdrop","className","isVisible","isAnimated","rootElement","parentNode","clickCallback","Boolean","window","getComputedStyle","getPropertyValue","rect","getBoundingClientRect","top","left","Math","floor","bottom","innerHeight","document","documentElement","clientHeight","right","innerWidth","clientWidth","_clickOutListener","event","target","closest","preventDefault","stopPropagation","on","off","Manipulator","getDataAttribute","sidebarInterface","data","getOrCreateInstance","TypeError","jQueryInterface","each","Array","from","querySelectorAll","defineJQueryPlugin"],"mappings":"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"}
package/js/dist/tab.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI tab.js v5.6.0 (https://coreui.io)
2
+ * CoreUI tab.js 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
  */
package/js/dist/toast.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI toast.js v5.6.0 (https://coreui.io)
2
+ * CoreUI toast.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI tooltip.js v5.6.0 (https://coreui.io)
2
+ * CoreUI tooltip.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI backdrop.js v5.6.0 (https://coreui.io)
2
+ * CoreUI backdrop.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI component-functions.js v5.6.0 (https://coreui.io)
2
+ * CoreUI component-functions.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI config.js v5.6.0 (https://coreui.io)
2
+ * CoreUI config.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI focustrap.js v5.6.0 (https://coreui.io)
2
+ * CoreUI focustrap.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI index.js v5.6.0 (https://coreui.io)
2
+ * CoreUI index.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI sanitizer.js v5.6.0 (https://coreui.io)
2
+ * CoreUI sanitizer.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI scrollbar.js v5.6.0 (https://coreui.io)
2
+ * CoreUI scrollbar.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI swipe.js v5.6.0 (https://coreui.io)
2
+ * CoreUI swipe.js 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
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * CoreUI template-factory.js v5.6.0 (https://coreui.io)
2
+ * CoreUI template-factory.js 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
  */
package/js/index.esm.js CHANGED
@@ -17,6 +17,7 @@ export { default as Navigation } from './src/navigation.js'
17
17
  export { default as Offcanvas } from './src/offcanvas.js'
18
18
  export { default as Popover } from './src/popover.js'
19
19
  export { default as ScrollSpy } from './src/scrollspy.js'
20
+ export { default as SearchButton } from './src/search-button.js'
20
21
  export { default as Sidebar } from './src/sidebar.js'
21
22
  export { default as Tab } from './src/tab.js'
22
23
  export { default as Toast } from './src/toast.js'