@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.umd.js
CHANGED
|
@@ -3456,6 +3456,7 @@
|
|
|
3456
3456
|
const optionId = `${this._uniqueId}-option-${index}`;
|
|
3457
3457
|
if (this._optionRenderer) {
|
|
3458
3458
|
const rendered = this._optionRenderer(item, index, this._rendererHelpers);
|
|
3459
|
+
// Ensure the returned element has the correct classes and listeners
|
|
3459
3460
|
const optionElement = this._normalizeCustomOptionElement(rendered, {
|
|
3460
3461
|
index,
|
|
3461
3462
|
value: getValue(item),
|
|
@@ -3498,10 +3499,30 @@
|
|
|
3498
3499
|
}
|
|
3499
3500
|
_normalizeCustomOptionElement(element, meta) {
|
|
3500
3501
|
const optionEl = element instanceof HTMLElement ? element : document.createElement('div');
|
|
3501
|
-
|
|
3502
|
-
optionEl.classList.
|
|
3503
|
-
|
|
3504
|
-
|
|
3502
|
+
// Add both semantic namespaced classes and the legacy internal classes that CSS uses
|
|
3503
|
+
optionEl.classList.add('smilodon-option', 'option');
|
|
3504
|
+
// Toggle state classes
|
|
3505
|
+
const isSelected = meta.selected;
|
|
3506
|
+
const isActive = meta.active;
|
|
3507
|
+
const isDisabled = meta.disabled;
|
|
3508
|
+
if (isSelected) {
|
|
3509
|
+
optionEl.classList.add('smilodon-option--selected', 'selected');
|
|
3510
|
+
}
|
|
3511
|
+
else {
|
|
3512
|
+
optionEl.classList.remove('smilodon-option--selected', 'selected');
|
|
3513
|
+
}
|
|
3514
|
+
if (isActive) {
|
|
3515
|
+
optionEl.classList.add('smilodon-option--active', 'active');
|
|
3516
|
+
}
|
|
3517
|
+
else {
|
|
3518
|
+
optionEl.classList.remove('smilodon-option--active', 'active');
|
|
3519
|
+
}
|
|
3520
|
+
if (isDisabled) {
|
|
3521
|
+
optionEl.classList.add('smilodon-option--disabled', 'disabled');
|
|
3522
|
+
}
|
|
3523
|
+
else {
|
|
3524
|
+
optionEl.classList.remove('smilodon-option--disabled', 'disabled');
|
|
3525
|
+
}
|
|
3505
3526
|
if (!optionEl.hasAttribute('data-selectable')) {
|
|
3506
3527
|
optionEl.setAttribute('data-selectable', '');
|
|
3507
3528
|
}
|