Bottom sheets
The SheetModel contract: the same widgets, different chrome.
A sheet reuses the whole widget system. The header and footer stay fixed while sections scroll between them.
config#
Presenting#
Inline sheets ride inside an open_bottom_sheet action under the sheet key. Sheets that need a network round trip are a host concern: register a handler for your own action type, fetch the sheet JSON, then present it.
A dismiss action inside a sheet closes that sheet, which is how footer Done buttons work with zero code.