Behavioural Tokens
The behavioural token encodes through data structure (rather than naming convention) the relationship between tokens used in default, hover and active states.
Many design systems will have, somewhere in the semantic layer, tokens that look something like this:
Primitives/Primary/300Primitives/Primary/1100Primitives/Primary/400Primitives/Primary/1000Primitives/Primary/500Primitives/Primary/900Primitives/Secondary/300Primitives/Secondary/1100Primitives/Secondary/400Primitives/Secondary/1000Primitives/Secondary/500Primitives/Secondary/900There's a clear intent here, expressed through the naming, that a component using a background color of Semantics/Primary/Background/Default should also use a background color of Semantics/Primary/Background/Hover when in hover state (if applicable) and likewise for active state.
However, there's no easy way to apply this to a component that doesn't require the designer to manually select each one.
The behavioural token exists to fill this void:
Semantics/Primary/Background/DefaultSemantics/Primary/Background/HoverSemantics/Primary/Background/ActiveSemantics/Primary/Foreground/DefaultSemantics/Primary/Foreground/HoverSemantics/Primary/Foreground/ActiveSemantics/Primary/Border/DefaultSemantics/Primary/Border/HoverSemantics/Primary/Border/ActiveSemantics/Secondary/Background/DefaultSemantics/Secondary/Background/HoverSemantics/Secondary/Background/ActiveSemantics/Secondary/Foreground/DefaultSemantics/Secondary/Foreground/HoverSemantics/Secondary/Foreground/ActiveSemantics/Secondary/Border/DefaultSemantics/Secondary/Border/HoverSemantics/Secondary/Border/ActiveNow, consumers can reference Semantics/Primary/Background, and have a mode to switch between states.