reka-ui
Version:
Vue port for Radix UI Primitives.
10 lines (7 loc) • 320 B
text/typescript
export type CheckedState = boolean | 'indeterminate'
export function isIndeterminate(checked?: CheckedState): checked is 'indeterminate' {
return checked === 'indeterminate'
}
export function getState(checked: CheckedState) {
return isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked'
}