@smilodon/core 1.3.11 → 1.3.13
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.
- package/dist/index.cjs +25 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +25 -4
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/dist/index.umd.js +25 -4
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +1 -1
- package/dist/index.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -3452,6 +3452,7 @@ class EnhancedSelect extends HTMLElement {
|
|
|
3452
3452
|
const optionId = `${this._uniqueId}-option-${index}`;
|
|
3453
3453
|
if (this._optionRenderer) {
|
|
3454
3454
|
const rendered = this._optionRenderer(item, index, this._rendererHelpers);
|
|
3455
|
+
// Ensure the returned element has the correct classes and listeners
|
|
3455
3456
|
const optionElement = this._normalizeCustomOptionElement(rendered, {
|
|
3456
3457
|
index,
|
|
3457
3458
|
value: getValue(item),
|
|
@@ -3494,10 +3495,30 @@ class EnhancedSelect extends HTMLElement {
|
|
|
3494
3495
|
}
|
|
3495
3496
|
_normalizeCustomOptionElement(element, meta) {
|
|
3496
3497
|
const optionEl = element instanceof HTMLElement ? element : document.createElement('div');
|
|
3497
|
-
|
|
3498
|
-
optionEl.classList.
|
|
3499
|
-
|
|
3500
|
-
|
|
3498
|
+
// Add both semantic namespaced classes and the legacy internal classes that CSS uses
|
|
3499
|
+
optionEl.classList.add('smilodon-option', 'option');
|
|
3500
|
+
// Toggle state classes
|
|
3501
|
+
const isSelected = meta.selected;
|
|
3502
|
+
const isActive = meta.active;
|
|
3503
|
+
const isDisabled = meta.disabled;
|
|
3504
|
+
if (isSelected) {
|
|
3505
|
+
optionEl.classList.add('smilodon-option--selected', 'selected');
|
|
3506
|
+
}
|
|
3507
|
+
else {
|
|
3508
|
+
optionEl.classList.remove('smilodon-option--selected', 'selected');
|
|
3509
|
+
}
|
|
3510
|
+
if (isActive) {
|
|
3511
|
+
optionEl.classList.add('smilodon-option--active', 'active');
|
|
3512
|
+
}
|
|
3513
|
+
else {
|
|
3514
|
+
optionEl.classList.remove('smilodon-option--active', 'active');
|
|
3515
|
+
}
|
|
3516
|
+
if (isDisabled) {
|
|
3517
|
+
optionEl.classList.add('smilodon-option--disabled', 'disabled');
|
|
3518
|
+
}
|
|
3519
|
+
else {
|
|
3520
|
+
optionEl.classList.remove('smilodon-option--disabled', 'disabled');
|
|
3521
|
+
}
|
|
3501
3522
|
if (!optionEl.hasAttribute('data-selectable')) {
|
|
3502
3523
|
optionEl.setAttribute('data-selectable', '');
|
|
3503
3524
|
}
|