@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.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
- optionEl.classList.add('smilodon-option');
3502
- optionEl.classList.toggle('smilodon-option--selected', meta.selected);
3503
- optionEl.classList.toggle('smilodon-option--active', meta.active);
3504
- optionEl.classList.toggle('smilodon-option--disabled', meta.disabled);
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
  }