StylishInteractionPolicy

data class StylishInteractionPolicy(val minimumTarget: Dp = DefaultStylishDimensions.iconButtonMinSize, val focusRingWidth: Dp = DefaultStylishDimensions.focusRingWidth, val pressedScale: Float = DefaultStylishAnimationTokens.pressedScale, val stateLayerEnabled: Boolean = true, val focusRingEnabled: Boolean = true, val pressScaleEnabled: Boolean = true)

The cross-component interaction contract used by Stylish UI.

Keeping interaction behavior in one immutable value prevents each component family from inventing a different minimum target, focus ring, or press response. Components may still override the policy for a deliberate platform-specific treatment, but the defaults remain identical across atoms, molecules, organisms, and patterns.

Constructors

Link copied to clipboard
constructor(minimumTarget: Dp = DefaultStylishDimensions.iconButtonMinSize, focusRingWidth: Dp = DefaultStylishDimensions.focusRingWidth, pressedScale: Float = DefaultStylishAnimationTokens.pressedScale, stateLayerEnabled: Boolean = true, focusRingEnabled: Boolean = true, pressScaleEnabled: Boolean = true)

Properties

Link copied to clipboard

Whether custom surfaces should draw the shared focus ring.

Link copied to clipboard

Width of the keyboard focus indicator.

Link copied to clipboard

Minimum size of an actionable target.

Link copied to clipboard

Scale applied while an actionable surface is pressed.

Link copied to clipboard

Whether custom surfaces should use the shared press-scale response.

Link copied to clipboard

Whether custom surfaces should draw a state-layer overlay.