Route-controlled sheet

Open from URL state, cold-open without a trigger, and update navigation only after exit motion completes.

Local preview
Play in StackBlitz

Settings belong to the route.

Open the sheet, then use browser Back. The URL remains the source of truth.

The route is settled.

What stays true

  • URL state owns open
  • Explicit focus targets
  • Navigation follows exit completion

Try it deliberately

  • Reload with ?panel=settings to exercise the triggerless path.
  • The real trigger wins when it exists; the page landmark is the cold-open fallback.