implementation
Implement in your agent
# Implement Bottom sheet in your agent ## Objective Implement Bottom sheet for this verified behavior: A mobile-oriented surface attached to the bottom edge that can open to stable heights and may support dragging. ## Prerequisites - Inspect the repository, design system, and existing tests first. - Preserve unrelated changes and keep the file scope bounded. - Confirm that Bottom sheet matches the need before writing code. ## Required behavior - Touch dragging moves the sheet between stable heights while controls remain keyboard operable. - While modal, keyboard focus stays inside the surface until it closes. - Escape closes the temporary surface and returns focus to a sensible control. ## States to cover - Sheet closed — Sheet closed - Sheet at half height — Sheet at half height - Sheet at full height — Sheet at full height ## Accessibility - The primary control or named region for Bottom sheet has a stable accessible name from visible text or an explicit programmatic label; placeholder text and tooltips are not names. - Focus enters the modal sheet, remains inside, and returns to the Filters opener after closing. - Close control, Escape, and a downward gesture past the documented threshold dismiss; accidental small drags snap back. - Tab reaches all controls - Buttons provide expand and collapse alternatives - Escape closes the modal sheet ## Non-goals - Desktop side placement is the defining behavior - Dragging is the only way to reach content or close ## Acceptance criteria - The surface is visibly anchored to the bottom - Every drag action has a button or keyboard equivalent - Snap points reveal meaningful stable states - Keyboard alternatives and focus restoration are verified
sha256:de1305b07d91f130e03f512feac2808a448a894e096d3ede822a86a28bab043e