@keenthemes/ktui 1.0.10 → 1.0.12

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 (139) hide show
  1. package/README.md +2 -2
  2. package/dist/ktui.js +1283 -1100
  3. package/dist/ktui.min.js +1 -1
  4. package/dist/ktui.min.js.map +1 -1
  5. package/examples/select/basic-usage.html +43 -0
  6. package/examples/select/combobox-icons.html +58 -0
  7. package/examples/select/combobox.html +46 -0
  8. package/examples/select/description.html +69 -0
  9. package/examples/select/disable-option.html +43 -0
  10. package/examples/select/disable-select.html +34 -0
  11. package/examples/select/icon-description.html +56 -0
  12. package/examples/select/icon-multiple.html +58 -0
  13. package/examples/select/icon.html +58 -0
  14. package/examples/select/max-selection.html +39 -0
  15. package/examples/select/modal.html +70 -0
  16. package/examples/select/multiple.html +42 -0
  17. package/examples/select/placeholder.html +43 -0
  18. package/examples/select/remote-data.html +32 -0
  19. package/examples/select/search.html +49 -0
  20. package/examples/select/tags-icons.html +58 -0
  21. package/examples/select/tags-selected.html +59 -0
  22. package/examples/select/tags.html +58 -0
  23. package/examples/select/template-customization.html +65 -0
  24. package/examples/select/test.html +94 -0
  25. package/examples/toast/example.html +427 -0
  26. package/lib/cjs/components/component.js +1 -1
  27. package/lib/cjs/components/component.js.map +1 -1
  28. package/lib/cjs/components/datatable/datatable.js +22 -6
  29. package/lib/cjs/components/datatable/datatable.js.map +1 -1
  30. package/lib/cjs/components/modal/modal.js +0 -4
  31. package/lib/cjs/components/modal/modal.js.map +1 -1
  32. package/lib/cjs/components/select/combobox.js +38 -120
  33. package/lib/cjs/components/select/combobox.js.map +1 -1
  34. package/lib/cjs/components/select/config.js +4 -16
  35. package/lib/cjs/components/select/config.js.map +1 -1
  36. package/lib/cjs/components/select/dropdown.js +10 -49
  37. package/lib/cjs/components/select/dropdown.js.map +1 -1
  38. package/lib/cjs/components/select/index.js +2 -1
  39. package/lib/cjs/components/select/index.js.map +1 -1
  40. package/lib/cjs/components/select/option.js +21 -4
  41. package/lib/cjs/components/select/option.js.map +1 -1
  42. package/lib/cjs/components/select/remote.js +1 -37
  43. package/lib/cjs/components/select/remote.js.map +1 -1
  44. package/lib/cjs/components/select/search.js +11 -41
  45. package/lib/cjs/components/select/search.js.map +1 -1
  46. package/lib/cjs/components/select/select.js +213 -326
  47. package/lib/cjs/components/select/select.js.map +1 -1
  48. package/lib/cjs/components/select/tags.js +39 -31
  49. package/lib/cjs/components/select/tags.js.map +1 -1
  50. package/lib/cjs/components/select/templates.js +120 -179
  51. package/lib/cjs/components/select/templates.js.map +1 -1
  52. package/lib/cjs/components/select/types.js +0 -12
  53. package/lib/cjs/components/select/types.js.map +1 -1
  54. package/lib/cjs/components/select/utils.js +204 -257
  55. package/lib/cjs/components/select/utils.js.map +1 -1
  56. package/lib/cjs/components/toast/index.js +10 -0
  57. package/lib/cjs/components/toast/index.js.map +1 -0
  58. package/lib/cjs/components/toast/toast.js +543 -0
  59. package/lib/cjs/components/toast/toast.js.map +1 -0
  60. package/lib/cjs/components/toast/types.js +7 -0
  61. package/lib/cjs/components/toast/types.js.map +1 -0
  62. package/lib/cjs/helpers/dom.js +24 -0
  63. package/lib/cjs/helpers/dom.js.map +1 -1
  64. package/lib/cjs/index.js +5 -1
  65. package/lib/cjs/index.js.map +1 -1
  66. package/lib/esm/components/component.js +1 -1
  67. package/lib/esm/components/component.js.map +1 -1
  68. package/lib/esm/components/datatable/datatable.js +22 -6
  69. package/lib/esm/components/datatable/datatable.js.map +1 -1
  70. package/lib/esm/components/modal/modal.js +0 -4
  71. package/lib/esm/components/modal/modal.js.map +1 -1
  72. package/lib/esm/components/select/combobox.js +39 -121
  73. package/lib/esm/components/select/combobox.js.map +1 -1
  74. package/lib/esm/components/select/config.js +3 -15
  75. package/lib/esm/components/select/config.js.map +1 -1
  76. package/lib/esm/components/select/dropdown.js +10 -49
  77. package/lib/esm/components/select/dropdown.js.map +1 -1
  78. package/lib/esm/components/select/index.js +1 -1
  79. package/lib/esm/components/select/index.js.map +1 -1
  80. package/lib/esm/components/select/option.js +21 -4
  81. package/lib/esm/components/select/option.js.map +1 -1
  82. package/lib/esm/components/select/remote.js +1 -37
  83. package/lib/esm/components/select/remote.js.map +1 -1
  84. package/lib/esm/components/select/search.js +12 -42
  85. package/lib/esm/components/select/search.js.map +1 -1
  86. package/lib/esm/components/select/select.js +214 -327
  87. package/lib/esm/components/select/select.js.map +1 -1
  88. package/lib/esm/components/select/tags.js +39 -31
  89. package/lib/esm/components/select/tags.js.map +1 -1
  90. package/lib/esm/components/select/templates.js +119 -178
  91. package/lib/esm/components/select/templates.js.map +1 -1
  92. package/lib/esm/components/select/types.js +1 -11
  93. package/lib/esm/components/select/types.js.map +1 -1
  94. package/lib/esm/components/select/utils.js +201 -255
  95. package/lib/esm/components/select/utils.js.map +1 -1
  96. package/lib/esm/components/toast/index.js +6 -0
  97. package/lib/esm/components/toast/index.js.map +1 -0
  98. package/lib/esm/components/toast/toast.js +540 -0
  99. package/lib/esm/components/toast/toast.js.map +1 -0
  100. package/lib/esm/components/toast/types.js +6 -0
  101. package/lib/esm/components/toast/types.js.map +1 -0
  102. package/lib/esm/helpers/dom.js +24 -0
  103. package/lib/esm/helpers/dom.js.map +1 -1
  104. package/lib/esm/index.js +3 -0
  105. package/lib/esm/index.js.map +1 -1
  106. package/package.json +8 -6
  107. package/src/components/alert/alert.css +20 -2
  108. package/src/components/badge/badge.css +5 -0
  109. package/src/components/component.ts +4 -0
  110. package/src/components/datatable/datatable.ts +24 -16
  111. package/src/components/drawer/drawer.css +1 -1
  112. package/src/components/input/input.css +3 -1
  113. package/src/components/link/link.css +2 -2
  114. package/src/components/modal/modal.css +18 -2
  115. package/src/components/modal/modal.ts +0 -5
  116. package/src/components/select/combobox.ts +42 -149
  117. package/src/components/select/config.ts +38 -33
  118. package/src/components/select/dropdown.ts +8 -55
  119. package/src/components/select/index.ts +1 -1
  120. package/src/components/select/option.ts +28 -7
  121. package/src/components/select/remote.ts +2 -42
  122. package/src/components/select/search.ts +14 -54
  123. package/src/components/select/select.css +49 -0
  124. package/src/components/select/select.ts +231 -437
  125. package/src/components/select/tags.ts +40 -37
  126. package/src/components/select/templates.ts +166 -303
  127. package/src/components/select/types.ts +0 -10
  128. package/src/components/select/utils.ts +214 -304
  129. package/src/components/table/table.css +1 -1
  130. package/src/components/textarea/textarea.css +2 -1
  131. package/src/components/toast/index.ts +7 -0
  132. package/src/components/toast/toast.css +60 -0
  133. package/src/components/toast/toast.ts +605 -0
  134. package/src/components/toast/types.ts +169 -0
  135. package/src/helpers/dom.ts +30 -0
  136. package/src/index.ts +4 -0
  137. package/styles/main.css +3 -0
  138. package/styles/vars.css +138 -0
  139. package/styles.css +1 -0
@@ -2,6 +2,7 @@
2
2
  * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes
3
3
  * Copyright 2025 by Keenthemes Inc
4
4
  */
5
+ // utils.ts
5
6
  import { defaultTemplates } from './templates';
6
7
  /**
7
8
  * Format a number as a currency string
@@ -42,6 +43,17 @@ export function filterOptions(options, query, config, dropdownElement, onVisible
42
43
  option.setAttribute('style', styleAttr.replace(/display:\s*[^;]+;?/gi, '').trim());
43
44
  }
44
45
  }
46
+ // Clear highlights by restoring original text content
47
+ if (option.dataset && option.dataset.originalText) {
48
+ option.innerHTML = option.dataset.originalText;
49
+ }
50
+ else {
51
+ option.innerHTML = option.textContent || '';
52
+ }
53
+ // Remove the cache if present
54
+ if (option.dataset && option.dataset.originalText) {
55
+ delete option.dataset.originalText;
56
+ }
45
57
  visibleOptionsCount++;
46
58
  }
47
59
  // Call the callback with the visible count if provided
@@ -55,6 +67,8 @@ export function filterOptions(options, query, config, dropdownElement, onVisible
55
67
  var option = options_2[_b];
56
68
  var optionText = ((_a = option.textContent) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || '';
57
69
  var isMatch = optionText.includes(query.toLowerCase());
70
+ // Check if option is disabled
71
+ var isDisabled = option.classList.contains('disabled') || option.getAttribute('aria-disabled') === 'true';
58
72
  if (isMatch || query.trim() === '') {
59
73
  // Show option by removing the hidden class and any display inline styles
60
74
  option.classList.remove('hidden');
@@ -71,22 +85,11 @@ export function filterOptions(options, query, config, dropdownElement, onVisible
71
85
  }
72
86
  }
73
87
  visibleOptionsCount++;
74
- // Apply highlighting if needed - but preserve the option structure
75
- if (isMatch && config.searchHighlight && query.trim() !== '') {
76
- // Clone option elements that contain icons or descriptions
77
- var hasIcon = option.querySelector('[data-kt-select-option-icon]') !== null;
78
- var hasDescription = option.querySelector('[data-kt-select-option-description]') !== null;
79
- if (hasIcon || hasDescription) {
80
- // Only highlight the text part without changing structure
81
- var titleElement = option.querySelector('[data-kt-option-title]');
82
- if (titleElement) {
83
- highlightTextInElement(titleElement, query, config);
84
- }
85
- }
86
- else {
87
- // Simple option with just text - standard highlighting
88
- highlightTextInElement(option, query, config);
88
+ if (config.searchHighlight && query.trim() !== '') {
89
+ if (option.dataset && !option.dataset.originalText) {
90
+ option.dataset.originalText = option.innerHTML;
89
91
  }
92
+ highlightTextInElementDebounced(option, query, config);
90
93
  }
91
94
  }
92
95
  else {
@@ -123,37 +126,39 @@ export function highlightTextInElement(element, query, config) {
123
126
  if (!element || !query || query.trim() === '')
124
127
  return;
125
128
  var queryLower = query.toLowerCase();
126
- function walk(node) {
127
- var _a;
128
- if (node.nodeType === Node.TEXT_NODE) {
129
- var text = node.nodeValue || '';
130
- var textLower = text.toLowerCase();
131
- var matchIndex = textLower.indexOf(queryLower);
132
- if (matchIndex !== -1) {
133
- var before = text.slice(0, matchIndex);
134
- var match = text.slice(matchIndex, matchIndex + query.length);
135
- var after = text.slice(matchIndex + query.length);
136
- var frag = document.createDocumentFragment();
137
- if (before)
138
- frag.appendChild(document.createTextNode(before));
139
- // Use the highlight template, which returns an HTMLElement
140
- var highlightSpan = defaultTemplates.highlight(config, match);
141
- frag.appendChild(highlightSpan);
142
- if (after)
143
- frag.appendChild(document.createTextNode(after));
144
- (_a = node.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(frag, node);
145
- // Only highlight the first occurrence in this node
146
- }
147
- }
148
- else if (node.nodeType === Node.ELEMENT_NODE) {
149
- // Don't re-highlight already highlighted nodes
150
- if (node.classList.contains('highlight'))
151
- return;
152
- Array.from(node.childNodes).forEach(walk);
153
- }
129
+ var text = element.textContent || '';
130
+ if (!text)
131
+ return;
132
+ // Escape regex special characters in query
133
+ var escapedQuery = query.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
134
+ var regex = new RegExp(escapedQuery, 'gi');
135
+ // Replace all matches with the highlight template
136
+ var lastIndex = 0;
137
+ var result = '';
138
+ var match;
139
+ var matches = [];
140
+ while ((match = regex.exec(text)) !== null) {
141
+ matches.push({ start: match.index, end: regex.lastIndex });
142
+ }
143
+ if (matches.length === 0) {
144
+ element.innerHTML = text;
145
+ return;
146
+ }
147
+ for (var i = 0; i < matches.length; i++) {
148
+ var _a = matches[i], start = _a.start, end = _a.end;
149
+ // Add text before match
150
+ result += text.slice(lastIndex, start);
151
+ // Add highlighted match using template
152
+ var highlighted = defaultTemplates.highlight(config, text.slice(start, end)).outerHTML;
153
+ result += highlighted;
154
+ lastIndex = end;
154
155
  }
155
- walk(element);
156
+ // Add remaining text
157
+ result += text.slice(lastIndex);
158
+ element.innerHTML = result;
156
159
  }
160
+ // Debounced version for performance
161
+ export var highlightTextInElementDebounced = debounce(highlightTextInElement, 100);
157
162
  /**
158
163
  * Focus manager for keyboard navigation
159
164
  * Consolidates redundant focus management logic into shared functions
@@ -162,16 +167,14 @@ var FocusManager = /** @class */ (function () {
162
167
  function FocusManager(element, optionsSelector, config) {
163
168
  if (optionsSelector === void 0) { optionsSelector = '[data-kt-select-option]'; }
164
169
  this._focusedOptionIndex = null;
170
+ this._onFocusChange = null;
165
171
  this._element = element;
166
172
  this._optionsSelector = optionsSelector;
167
173
  this._eventManager = new EventManager();
168
- // Use config values if provided, otherwise fallback to defaults
169
- this._focusClass = (config === null || config === void 0 ? void 0 : config.focusClass) || 'option-focused';
170
- this._hoverClass = (config === null || config === void 0 ? void 0 : config.hoverClass) || 'hovered';
171
- this._bgClass = (config === null || config === void 0 ? void 0 : config.bgClass) || 'bg-blue-50';
172
- this._fontClass = (config === null || config === void 0 ? void 0 : config.fontClass) || 'font-medium';
173
174
  // Add click handler to update focus state when options are clicked
174
175
  this._setupOptionClickHandlers();
176
+ this._focusClass = 'focus'; // or whatever your intended class is
177
+ this._hoverClass = 'hover'; // or your intended class
175
178
  }
176
179
  /**
177
180
  * Set up click handlers for all options to update focus state
@@ -183,15 +186,6 @@ var FocusManager = /** @class */ (function () {
183
186
  var target = e.target;
184
187
  var optionElement = target.closest(_this._optionsSelector);
185
188
  if (optionElement) {
186
- // First clear all focus
187
- _this.resetFocus();
188
- // Then update the focused index based on the clicked option
189
- var options = _this.getVisibleOptions();
190
- var clickedIndex = options.indexOf(optionElement);
191
- if (clickedIndex >= 0) {
192
- _this._focusedOptionIndex = clickedIndex;
193
- _this.applyFocus(options[clickedIndex]);
194
- }
195
189
  }
196
190
  });
197
191
  };
@@ -213,24 +207,88 @@ var FocusManager = /** @class */ (function () {
213
207
  });
214
208
  };
215
209
  /**
216
- * Focus the next visible option
210
+ * Focus the first visible option
217
211
  */
218
- FocusManager.prototype.focusNext = function () {
212
+ FocusManager.prototype.focusFirst = function () {
219
213
  var options = this.getVisibleOptions();
220
214
  if (options.length === 0)
221
215
  return null;
222
- this.resetFocus();
223
- if (this._focusedOptionIndex === null) {
224
- this._focusedOptionIndex = 0;
216
+ for (var i = 0; i < options.length; i++) {
217
+ var option = options[i];
218
+ if (!option.classList.contains('disabled') && option.getAttribute('aria-disabled') !== 'true') {
219
+ this.resetFocus();
220
+ this._focusedOptionIndex = i;
221
+ this.applyFocus(option);
222
+ this.scrollIntoView(option);
223
+ return option;
224
+ }
225
225
  }
226
- else {
227
- this._focusedOptionIndex =
228
- (this._focusedOptionIndex + 1) % options.length;
226
+ return null;
227
+ };
228
+ /**
229
+ * Focus the last visible option
230
+ */
231
+ FocusManager.prototype.focusLast = function () {
232
+ var options = this.getVisibleOptions();
233
+ if (options.length === 0)
234
+ return null;
235
+ for (var i = options.length - 1; i >= 0; i--) {
236
+ var option = options[i];
237
+ if (!option.classList.contains('disabled') && option.getAttribute('aria-disabled') !== 'true') {
238
+ this.resetFocus();
239
+ this._focusedOptionIndex = i;
240
+ this.applyFocus(option);
241
+ this.scrollIntoView(option);
242
+ return option;
243
+ }
244
+ }
245
+ return null;
246
+ };
247
+ /**
248
+ * Focus the next visible option that matches the search string
249
+ */
250
+ FocusManager.prototype.focusByString = function (str) {
251
+ var _a, _b, _c;
252
+ var options = this.getVisibleOptions();
253
+ if (options.length === 0)
254
+ return null;
255
+ var lowerStr = str.toLowerCase();
256
+ var startIdx = ((_a = this._focusedOptionIndex) !== null && _a !== void 0 ? _a : -1) + 1;
257
+ for (var i = 0; i < options.length; i++) {
258
+ var idx = (startIdx + i) % options.length;
259
+ var option = options[idx];
260
+ if (!option.classList.contains('disabled') &&
261
+ option.getAttribute('aria-disabled') !== 'true' &&
262
+ (((_b = option.textContent) === null || _b === void 0 ? void 0 : _b.toLowerCase().startsWith(lowerStr)) || ((_c = option.dataset.value) === null || _c === void 0 ? void 0 : _c.toLowerCase().startsWith(lowerStr)))) {
263
+ this._focusedOptionIndex = idx;
264
+ this.applyFocus(option);
265
+ this.scrollIntoView(option);
266
+ return option;
267
+ }
229
268
  }
230
- var option = options[this._focusedOptionIndex];
231
- this.applyFocus(option);
232
- this.scrollIntoView(option);
233
- return option;
269
+ return null;
270
+ };
271
+ /**
272
+ * Focus the next visible option
273
+ */
274
+ FocusManager.prototype.focusNext = function () {
275
+ var options = this.getVisibleOptions();
276
+ if (options.length === 0)
277
+ return null;
278
+ var idx = this._focusedOptionIndex === null ? 0 : (this._focusedOptionIndex + 1) % options.length;
279
+ var startIdx = idx;
280
+ do {
281
+ var option = options[idx];
282
+ if (!option.classList.contains('disabled') && option.getAttribute('aria-disabled') !== 'true') {
283
+ this.resetFocus();
284
+ this._focusedOptionIndex = idx;
285
+ this.applyFocus(option);
286
+ this.scrollIntoView(option);
287
+ return option;
288
+ }
289
+ idx = (idx + 1) % options.length;
290
+ } while (idx !== startIdx);
291
+ return null;
234
292
  };
235
293
  /**
236
294
  * Focus the previous visible option
@@ -239,18 +297,20 @@ var FocusManager = /** @class */ (function () {
239
297
  var options = this.getVisibleOptions();
240
298
  if (options.length === 0)
241
299
  return null;
242
- this.resetFocus();
243
- if (this._focusedOptionIndex === null) {
244
- this._focusedOptionIndex = options.length - 1;
245
- }
246
- else {
247
- this._focusedOptionIndex =
248
- (this._focusedOptionIndex - 1 + options.length) % options.length;
249
- }
250
- var option = options[this._focusedOptionIndex];
251
- this.applyFocus(option);
252
- this.scrollIntoView(option);
253
- return option;
300
+ var idx = this._focusedOptionIndex === null ? options.length - 1 : (this._focusedOptionIndex - 1 + options.length) % options.length;
301
+ var startIdx = idx;
302
+ do {
303
+ var option = options[idx];
304
+ if (!option.classList.contains('disabled') && option.getAttribute('aria-disabled') !== 'true') {
305
+ this.resetFocus();
306
+ this._focusedOptionIndex = idx;
307
+ this.applyFocus(option);
308
+ this.scrollIntoView(option);
309
+ return option;
310
+ }
311
+ idx = (idx - 1 + options.length) % options.length;
312
+ } while (idx !== startIdx);
313
+ return null;
254
314
  };
255
315
  /**
256
316
  * Apply focus to a specific option
@@ -258,27 +318,23 @@ var FocusManager = /** @class */ (function () {
258
318
  FocusManager.prototype.applyFocus = function (option) {
259
319
  if (!option)
260
320
  return;
261
- // Remove focus from all options first
321
+ if (option.classList.contains('disabled') || option.getAttribute('aria-disabled') === 'true') {
322
+ return;
323
+ }
262
324
  this.resetFocus();
263
- // Add focus to this option
264
325
  option.classList.add(this._focusClass);
265
326
  option.classList.add(this._hoverClass);
266
- option.classList.add(this._bgClass);
267
- option.classList.add(this._fontClass);
327
+ this._triggerFocusChange();
268
328
  };
269
329
  /**
270
330
  * Reset focus on all options
271
331
  */
272
332
  FocusManager.prototype.resetFocus = function () {
273
333
  var _this = this;
274
- // Find all elements with the focus classes
275
- var focusedElements = this._element.querySelectorAll(".".concat(this._focusClass, ", .").concat(this._hoverClass, ", .").concat(this._bgClass, ", .").concat(this._fontClass));
276
- // Remove classes from all elements
334
+ var focusedElements = this._element.querySelectorAll(".".concat(this._focusClass, ", .").concat(this._hoverClass));
335
+ // Remove focus and hover classes from all options
277
336
  focusedElements.forEach(function (element) {
278
- element.classList.remove(_this._focusClass);
279
- element.classList.remove(_this._hoverClass);
280
- element.classList.remove(_this._bgClass);
281
- element.classList.remove(_this._fontClass);
337
+ element.classList.remove(_this._focusClass, _this._hoverClass);
282
338
  });
283
339
  // Reset index if visible options have changed
284
340
  var visibleOptions = this.getVisibleOptions();
@@ -293,7 +349,7 @@ var FocusManager = /** @class */ (function () {
293
349
  FocusManager.prototype.scrollIntoView = function (option) {
294
350
  if (!option)
295
351
  return;
296
- var container = this._element.querySelector('[data-kt-select-options-container]');
352
+ var container = this._element.querySelector('[data-kt-select-options]');
297
353
  if (!container)
298
354
  return;
299
355
  var optionRect = option.getBoundingClientRect();
@@ -344,6 +400,17 @@ var FocusManager = /** @class */ (function () {
344
400
  FocusManager.prototype.setFocusedIndex = function (index) {
345
401
  this._focusedOptionIndex = index;
346
402
  };
403
+ /**
404
+ * Set a callback to be called when focus changes
405
+ */
406
+ FocusManager.prototype.setOnFocusChange = function (cb) {
407
+ this._onFocusChange = cb;
408
+ };
409
+ FocusManager.prototype._triggerFocusChange = function () {
410
+ if (this._onFocusChange) {
411
+ this._onFocusChange(this.getFocusedOption(), this._focusedOptionIndex);
412
+ }
413
+ };
347
414
  /**
348
415
  * Clean up event listeners
349
416
  */
@@ -355,166 +422,6 @@ var FocusManager = /** @class */ (function () {
355
422
  return FocusManager;
356
423
  }());
357
424
  export { FocusManager };
358
- /**
359
- * Shared keyboard navigation handler for dropdown options
360
- * Can be used by both combobox and search modules
361
- */
362
- export function handleDropdownKeyNavigation(event, select, config, callbacks) {
363
- try {
364
- // Get the dropdown state
365
- var isDropdownOpen = select._dropdownIsOpen;
366
- // Log the event to help debug
367
- var origin_1 = 'handleDropdownKeyNavigation';
368
- if (select.getConfig && select.getConfig().debug)
369
- console.log("[".concat(origin_1, "] Key: ").concat(event.key, ", Dropdown open: ").concat(isDropdownOpen));
370
- // Handle basic keyboard navigation
371
- switch (event.key) {
372
- case 'ArrowDown':
373
- if (!isDropdownOpen) {
374
- if (select.getConfig && select.getConfig().debug)
375
- console.log("[".concat(origin_1, "] Opening dropdown on ArrowDown"));
376
- select.openDropdown();
377
- // Focus the first option after opening
378
- setTimeout(function () {
379
- select._focusNextOption();
380
- }, 50);
381
- }
382
- else if (callbacks === null || callbacks === void 0 ? void 0 : callbacks.onArrowDown) {
383
- if (select.getConfig && select.getConfig().debug)
384
- console.log("[".concat(origin_1, "] Using custom onArrowDown callback"));
385
- callbacks.onArrowDown();
386
- }
387
- else {
388
- if (select.getConfig && select.getConfig().debug)
389
- console.log("[".concat(origin_1, "] Using default _focusNextOption"));
390
- var focusedOption = select._focusNextOption();
391
- // Ensure we have a focused option
392
- if (focusedOption) {
393
- if (select.getConfig && select.getConfig().debug)
394
- console.log("[".concat(origin_1, "] Focused next option:"), focusedOption);
395
- }
396
- }
397
- event.preventDefault();
398
- break;
399
- case 'ArrowUp':
400
- if (!isDropdownOpen) {
401
- if (select.getConfig && select.getConfig().debug)
402
- console.log("[".concat(origin_1, "] Opening dropdown on ArrowUp"));
403
- select.openDropdown();
404
- // Focus the last option after opening
405
- setTimeout(function () {
406
- select._focusPreviousOption();
407
- }, 50);
408
- }
409
- else if (callbacks === null || callbacks === void 0 ? void 0 : callbacks.onArrowUp) {
410
- if (select.getConfig && select.getConfig().debug)
411
- console.log("[".concat(origin_1, "] Using custom onArrowUp callback"));
412
- callbacks.onArrowUp();
413
- }
414
- else {
415
- if (select.getConfig && select.getConfig().debug)
416
- console.log("[".concat(origin_1, "] Using default _focusPreviousOption"));
417
- var focusedOption = select._focusPreviousOption();
418
- // Ensure we have a focused option
419
- if (focusedOption) {
420
- if (select.getConfig && select.getConfig().debug)
421
- console.log("[".concat(origin_1, "] Focused previous option:"), focusedOption);
422
- }
423
- }
424
- event.preventDefault();
425
- break;
426
- case 'Enter':
427
- // Prevent form submission
428
- event.preventDefault();
429
- if (isDropdownOpen) {
430
- if (select.getConfig && select.getConfig().debug)
431
- console.log("[".concat(origin_1, "] Enter pressed with dropdown open"));
432
- // For combobox mode, ensure we update the input value directly
433
- var isCombobox = select.getConfig().mode === 'combobox';
434
- var comboboxModule = select._comboboxModule;
435
- if (callbacks === null || callbacks === void 0 ? void 0 : callbacks.onEnter) {
436
- if (select.getConfig && select.getConfig().debug)
437
- console.log("[".concat(origin_1, "] Using custom onEnter callback"));
438
- callbacks.onEnter();
439
- }
440
- else {
441
- if (select.getConfig && select.getConfig().debug)
442
- console.log("[".concat(origin_1, "] Using default selectFocusedOption"));
443
- // Make sure there is a focused option before trying to select it
444
- if (select._focusManager &&
445
- select._focusManager.getFocusedOption()) {
446
- select.selectFocusedOption();
447
- }
448
- else {
449
- // If no option is focused, try to focus the first one
450
- var focusedOption = select._focusNextOption();
451
- // Only select if an option was successfully focused
452
- if (focusedOption) {
453
- select.selectFocusedOption();
454
- }
455
- }
456
- }
457
- // Close dropdown after selection if not multiple and closeOnSelect is true
458
- if (!config.multiple && config.closeOnSelect !== false) {
459
- if (select.getConfig && select.getConfig().debug)
460
- console.log("[".concat(origin_1, "] Closing dropdown after selection"));
461
- select.closeDropdown();
462
- }
463
- }
464
- else {
465
- // If dropdown is closed, open it on Enter
466
- if (select.getConfig && select.getConfig().debug)
467
- console.log("[".concat(origin_1, "] Opening dropdown on Enter"));
468
- select.openDropdown();
469
- // Focus the first option after opening
470
- setTimeout(function () {
471
- select._focusNextOption();
472
- }, 50);
473
- }
474
- break;
475
- case 'Tab':
476
- // Only handle tab if dropdown is open
477
- if (isDropdownOpen) {
478
- if (select.getConfig && select.getConfig().debug)
479
- console.log("[".concat(origin_1, "] Closing dropdown on Tab"));
480
- select.closeDropdown();
481
- if (callbacks === null || callbacks === void 0 ? void 0 : callbacks.onClose) {
482
- callbacks.onClose();
483
- }
484
- // Don't prevent default tab behavior - let it move focus naturally
485
- }
486
- break;
487
- case 'Escape':
488
- // Only handle escape if dropdown is open
489
- if (isDropdownOpen) {
490
- if (select.getConfig && select.getConfig().debug)
491
- console.log("[".concat(origin_1, "] Closing dropdown on Escape"));
492
- select.closeDropdown();
493
- if (callbacks === null || callbacks === void 0 ? void 0 : callbacks.onClose) {
494
- callbacks.onClose();
495
- }
496
- event.preventDefault(); // Prevent other escape handlers
497
- }
498
- break;
499
- case ' ': // Space key
500
- // If dropdown is closed, space should open it (but not if in combobox mode)
501
- if (!isDropdownOpen && !(select.getConfig().mode === 'combobox')) {
502
- if (select.getConfig && select.getConfig().debug)
503
- console.log("[".concat(origin_1, "] Opening dropdown on Space"));
504
- select.openDropdown();
505
- // Focus the first option after opening
506
- setTimeout(function () {
507
- select._focusNextOption();
508
- }, 50);
509
- event.preventDefault();
510
- }
511
- break;
512
- }
513
- }
514
- catch (error) {
515
- console.error('Error in keyboard navigation handler:', error);
516
- }
517
- }
518
425
  /**
519
426
  * Centralized event listener management
520
427
  */
@@ -571,7 +478,7 @@ var EventManager = /** @class */ (function () {
571
478
  // Go through each event type
572
479
  this._boundHandlers.forEach(function (eventMap, event) {
573
480
  // For each event type, go through each handler
574
- eventMap.forEach(function (boundHandler, originalHandler) {
481
+ eventMap.forEach(function (boundHandler) {
575
482
  element.removeEventListener(event, boundHandler);
576
483
  });
577
484
  });
@@ -595,4 +502,43 @@ export function debounce(func, delay) {
595
502
  timeout = setTimeout(function () { return func.apply(void 0, args); }, delay);
596
503
  };
597
504
  }
505
+ /**
506
+ * Replaces all {{key}} in the template with the corresponding value from the data object.
507
+ * If a key is missing in data, replaces with an empty string.
508
+ */
509
+ export function renderTemplateString(template, data) {
510
+ return template.replace(/{{(\w+)}}/g, function (_, key) {
511
+ return data[key] !== undefined && data[key] !== null ? String(data[key]) : '';
512
+ });
513
+ }
514
+ // Type-to-search buffer utility for keyboard navigation
515
+ var TypeToSearchBuffer = /** @class */ (function () {
516
+ function TypeToSearchBuffer(timeout) {
517
+ if (timeout === void 0) { timeout = 500; }
518
+ this.buffer = '';
519
+ this.lastTime = 0;
520
+ this.timeout = timeout;
521
+ }
522
+ TypeToSearchBuffer.prototype.push = function (char) {
523
+ var now = Date.now();
524
+ if (now - this.lastTime > this.timeout) {
525
+ this.buffer = '';
526
+ }
527
+ this.buffer += char;
528
+ this.lastTime = now;
529
+ };
530
+ TypeToSearchBuffer.prototype.getBuffer = function () {
531
+ return this.buffer;
532
+ };
533
+ TypeToSearchBuffer.prototype.clear = function () {
534
+ this.buffer = '';
535
+ };
536
+ return TypeToSearchBuffer;
537
+ }());
538
+ export { TypeToSearchBuffer };
539
+ export function stringToElement(html) {
540
+ var template = document.createElement('template');
541
+ template.innerHTML = html.trim();
542
+ return template.content.firstElementChild;
543
+ }
598
544
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/select/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/select/utils.ts"],"names":[],"mappings":"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"}