Interaction
Model component actions and navigation behavior explicitly.
FInteraction distinguishes no interaction, an action, and navigation. Navigation adds the expected affordance; an ordinary action does not.
FDataRow(
label: .string("Exercises"),
value: .int(8),
interaction: .navigation(haptic: .light) {
showExercises()
}
)
Application code remains responsible for authorization, business rules, navigation state, and mutation results. A hidden or disabled control is feedback, not authorization.