01
Basic sheet
Start with local state and a content-sized destination.
Open basic sheet reciperecipe library
Every recipe runs against the public package API and includes the complete implementation, behavior notes, and related guidance.
01
Start with local state and a content-sized destination.
Open basic sheet recipe02
Keep the open state in your application when other UI depends on it.
Open controlled state recipe03
Control compact and expanded destinations with stable identifiers.
Open named snap points recipe04
Let measured content define the sheet destination as it changes.
Open content height recipe05
Coordinate sheet gestures with a long, keyboard-scrollable region.
Open long scrolling content recipe06
Keep form submission explicit while virtual keyboards resize the viewport.
Open form and keyboard recipe07
Contain the sheet within an application-owned rendering boundary.
Open custom portal target recipe08
Keep the surrounding page interactive beside a persistent sheet.
Open non-modal panel recipe09
Honor the operating system preference without maintaining a second component.
Open reduced motion recipe10
Replace every visual decision while retaining the mechanical layer.
Open complete custom theme recipe11
Ship a dark surface that does not depend on the operating system preference.
Open explicit dark theme recipe12
Require a deliberate choice before closing a destructive workflow.
Open explicit confirmation recipe