overlaystexulinot agent-emittableapp
Drawer
drawer
Bottom or edge drawer with optional drag dismiss.
Live examples
Bottom drawer
Bottom drawer
Loading demo…
Props
| Name | Kind | Required | Default | Description |
|---|---|---|---|---|
size | enum (sm, md, lg, xl) | no | "md" | — |
side | enum (top, right, bottom, left, start, end, center) | no | "bottom" | — |
dismissOutside | boolean | no | false | Non-modal panels only; a Drawer is modal and always dismisses outside |
closeOnEscape | boolean | no | false | Non-modal panels only; a Drawer is modal and always closes on Escape |
class | string | no | — | — |
children | slot | no | — | — |
Keyboard
| Key | Action |
|---|---|
— | See accessibility notes for keyboard behavior. |
Accessibility
- Same focus model as sheet; prefer labelled titles.
Evidence for drawer
Latest committed gates for drawer (as of 2026-10-23). Static snapshot — not live CI.
Behavior
n/ano behavior scenario
No dedicated behavior scenario for this catalog id (a styled or display surface, covered by its unit and axe tests).
Size (gzip)
@texuli/primitives/drawer · budget 4.00 KiB
Budget from texuli.budgets.json; re-measure with `pnpm size --filter <entry>`.
Axe
documented
tests/e2e/site-component-pages.spec.tsdocs/quality (a11y-*)
Site component pages axe gate; package-level a11y docs under docs/quality when present.
Browsers
chromiumwebkitmobile
Playwright projects: Desktop Chrome, Desktop Safari, Pixel 7. Firefox is a known gap on this host.
When to use
Use when
- Mobile sheets that feel like drawers
Don’t use when
Prefer another component
- Desktop side navigation (use sidebar)