Column { // define dependent checkboxes states val (state, onStateChange) = remember { mutableStateOf(true) } val (state2, onStateChange2) = remember { mutableStateOf(true) }
// TriStateCheckbox state reflects state of dependent checkboxes val parentState = remember(state, state2) { if (state && state2) ToggleableState.On elseif (!state && !state2) ToggleableState.Off else ToggleableState.Indeterminate } // click on TriStateCheckbox can set state for dependent checkboxes val onParentClick = { val s = parentState != ToggleableState.On onStateChange(s) onStateChange2(s) }