Enforce inactive pulldown visuals while preserving selection
This commit is contained in:
@@ -707,7 +707,7 @@
|
|||||||
|
|
||||||
options.forEach((option) => {
|
options.forEach((option) => {
|
||||||
option.classList.toggle('sg-checkbox-field--inactive-selectable', !isActive);
|
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';
|
target.dataset.open = 'false';
|
||||||
trigger.setAttribute('aria-expanded', 'false');
|
trigger.setAttribute('aria-expanded', 'false');
|
||||||
@@ -951,12 +951,14 @@
|
|||||||
|
|
||||||
trigger.textContent = selectedCount > 0 ? `${labelBase} (${selectedCount})` : labelBase;
|
trigger.textContent = selectedCount > 0 ? `${labelBase} (${selectedCount})` : labelBase;
|
||||||
const isActivatableActive = demo.dataset.activatable === 'true' && demo.dataset.componentState === 'active';
|
const isActivatableActive = demo.dataset.activatable === 'true' && demo.dataset.componentState === 'active';
|
||||||
trigger.classList.toggle('sg-pulldown--selected', selectedCount > 0 || isActivatableActive);
|
const isActivatableInactive = demo.dataset.activatable === 'true' && demo.dataset.componentState !== 'active';
|
||||||
trigger.classList.toggle('sg-form-active', selectedCount > 0 || isActivatableActive);
|
const showActiveState = !isActivatableInactive && (selectedCount > 0 || isActivatableActive);
|
||||||
trigger.classList.toggle('sg-pulldown--inactive-selectable', 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(
|
trigger.setAttribute(
|
||||||
'aria-label',
|
'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