Dialog

Modal dialog with backdrop, focus trapping, and escape-to-close.

Example

Props

NameTypeDefaultRequiredDescription
openbooleanRequiredControls dialog visibility
onClose() => voidRequiredCalled when dialog should close
closeOnBackdropClickbooleantrueNoClose when clicking outside
closeOnEscapebooleantrueNoClose when pressing Escape

Accessibility

  • role="dialog" with aria-modal="true"
  • Focus trap keeps focus within dialog
  • Body scroll lock while open
  • Returns focus to trigger on close
  • Renders via portal to escape stacking contexts

Related Tokens

--dialog-surface--dialog-border--dialog-backdrop