Enforce inactive pulldown visuals while preserving selection
This commit is contained in:
@@ -707,7 +707,7 @@
|
||||
|
||||
options.forEach((option) => {
|
||||
option.classList.toggle('sg-checkbox-field--inactive-selectable', !isActive);
|
||||
option.classList.toggle('sg-form-active', option.getAttribute('aria-checked') === 'true');
|
||||
option.classList.toggle('sg-form-active', isActive && option.getAttribute('aria-checked') === 'true');
|
||||
});
|
||||
target.dataset.open = 'false';
|
||||
trigger.setAttribute('aria-expanded', 'false');
|
||||
@@ -951,12 +951,14 @@
|
||||
|
||||
trigger.textContent = selectedCount > 0 ? `${labelBase} (${selectedCount})` : labelBase;
|
||||
const isActivatableActive = demo.dataset.activatable === 'true' && demo.dataset.componentState === 'active';
|
||||
trigger.classList.toggle('sg-pulldown--selected', selectedCount > 0 || isActivatableActive);
|
||||
trigger.classList.toggle('sg-form-active', selectedCount > 0 || isActivatableActive);
|
||||
trigger.classList.toggle('sg-pulldown--inactive-selectable', selectedCount === 0 && !isActivatableActive);
|
||||
const isActivatableInactive = demo.dataset.activatable === 'true' && demo.dataset.componentState !== 'active';
|
||||
const showActiveState = !isActivatableInactive && (selectedCount > 0 || isActivatableActive);
|
||||
trigger.classList.toggle('sg-pulldown--selected', showActiveState);
|
||||
trigger.classList.toggle('sg-form-active', showActiveState);
|
||||
trigger.classList.toggle('sg-pulldown--inactive-selectable', !showActiveState);
|
||||
trigger.setAttribute(
|
||||
'aria-label',
|
||||
selectedCount > 0 || isActivatableActive ? 'Pulldown mit aktiver Auswahl' : 'Pulldown ohne aktive Auswahl'
|
||||
showActiveState ? 'Pulldown mit aktiver Auswahl' : 'Pulldown ohne aktive Auswahl'
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user