Stylish Tree
fun <T> StylishTree(nodes: List<StylishTreeNode<T>>, modifier: Modifier = Modifier, expandedIds: Set<Any> = emptySet(), onExpandedIdsChange: (Set<Any>) -> Unit? = null, selectedId: Any? = null, onSelectedIdChange: (Any) -> Unit? = null)
A controlled tree whose flattened visible rows are virtualized by LazyColumn.
fun <T> StylishTree(nodes: List<StylishTreeNode<T>>, state: StylishTreeState, onStateChange: (StylishTreeState) -> Unit, modifier: Modifier = Modifier)
Controlled tree overload using a single hoisted state object and pure actions. Use this form when navigation state must be persisted, replayed, or shared with a view-model/store. The legacy expanded/selected callbacks remain source-compatible.