{{-- An M3 bottom sheet: secondary content or actions anchored to the bottom of the screen. Modal by default: over a scrim, the page inert and still, dismissed by the scrim, Escape, or a downward drag on its handle (or anywhere on the sheet when its content is scrolled to the top). `standard` makes it part of the page instead — no scrim, nothing inert, and it stays until closed. The open state works as for ``: `wire:model` (a flag or an id, written back `false` or `null` on close) or `open` in the surrounding Alpine scope; `close()` is in scope inside it. SheetBottomTokens (androidx Compose Material 3, Apache-2.0): surface-container-low, extra-large top corners, elevation 1, a 32×4px drag handle in on-surface-variant; 640px wide at most, centred on a wide screen; it rises on emphasized decelerate. `title` and `actions` as on a dialog. `height` caps it (default: 90% of the screen); content scrolls inside. --}} @props([ 'title' => null, 'standard' => false, 'height' => '90dvh', ]) @php $model = $attributes->wire('model')->value() ?: null; $id = $attributes->get('id') ?? 'material-bottom-sheet-'.substr(md5($model.'|'.$title), 0, 10); @endphp
@unless ($standard) @endunless