DocsPricingMy accountBuy Now
UI COMPONENTS / Dialog

Dialog. trap the focus.

Accessible modal dialogs opened from any trigger by shared ID.

Root + 5 atoms / Accessible / Composable

Dialog · runtimeATOMIC

Looping preview · focus trap + return focus

Why it's good

Behavior, handled.

Dialog owns the parts that are tedious and easy to get wrong – so you can focus on the layout and the brand.

  • Focus trap and return focus
  • Remote trigger pairing
  • Escape and overlay dismiss
  • ARIA modal wiring
Compositions

Dialog becomes patterns.

Different structures made from the same atoms.

Remote modalATOMIC
  • Page CTA
    • Dialog Triggerbtn
      • Dialogroot
        • Dialog Titleatom
          • Dialog Descriptionatom
            • Dialog Closebtn
              • Default Slotslot

            Remote modal

            Dialog Trigger opens a Dialog by shared ID, so the button and dialog surface can live in different parts of the layout.

            Component model
            Confirm flowATOMIC
            • Confirm Action
              • Dialog Triggerbtn
                • Dialogroot
                  • Dialog Titleatom
                    • Dialog Descriptionatom
                      • Default Slotslot
                        • Dialog Closebtn

                      Confirm flow

                      A confirmation keeps accessible naming in Dialog Title and Dialog Description while custom controls live in the default slot.

                      Component model
                      Command panelATOMIC
                      • Command Dialog
                        • Dialogroot
                          • Dialog Titleatom
                            • Default Slotslot
                              • Dialog Closebtn

                            Command panel

                            Dialog can host a dense command surface in its default slot while Dialog Close remains the family close control.

                            Component model
                            Ready?

                            Stop rebuilding Dialog.