Hold To Confirm
`HoldToConfirm` is reserved for consequential actions where sustained intent is genuinely useful, such as permanently deleting a project or stopping a critical process.
Live example
Try the interaction before reading the recipe.
real component · keyboard-safe
Purpose
HoldToConfirm is reserved for consequential actions where sustained intent is genuinely useful, such as permanently deleting a project or stopping a critical process.
Do not use it for ordinary save, submit, navigation, purchase or repetitive actions. It is not a decorative progress button and must not replace a clear confirmation dialog when consequences need explanation.
Pointer, touch, Space and Enter can hold; early release cancels. Progress is explicit, disabled state is respected and reduced motion becomes a clear two-press confirmation. Keep duration near 0.8–1.5 seconds and explain the consequence beside the control.
Source: packages/skills/forms/hold-to-confirm.md