ComponentsSheet

overlaystexulinot agent-emittableapp

Sheet

sheet

Edge-anchored modal panel (drawer-like sheet).

Live examples

Start edge

Start edge

Loading demo…

Props

Public props for Sheet
NameKindRequiredDefaultDescription
sizeenum (sm, md, lg, xl)no"md"—
sideenum (top, right, bottom, left, start, end, center)no"start"—
modalbooleannotruefalse: a non-modal panel (no focus trap, inert or scroll lock)
dismissOutsidebooleannofalseNon-modal only: close on a press or focus outside (never on the trigger)
closeOnEscapebooleannofalseNon-modal only: close on Escape anywhere, not just from inside
classstringno——
childrenslotno——

Keyboard

Keyboard behavior for Sheet
KeyAction
EscapeFocus trapped while open; Escape dismisses.

Accessibility

  • Focus trapped while open; Escape dismisses.

Evidence for sheet

Latest committed gates for sheet (as of 2026-10-23). Static snapshot — not live CI.

Behavior

checkedscenario sheet

10 checks

Rows in tests/behavior/scenarios/sheet.spec.ts, held to the WAI-ARIA APG pattern, run on Chromium, WebKit and the Pixel 7.

Size (gzip)

@texuli/primitives/sheet · budget 16.0 KiB

Budget from texuli.budgets.json; re-measure with `pnpm size --filter <entry>`.

Axe

documented

  • tests/e2e/site-component-pages.spec.ts
  • docs/quality (a11y-*)

Site component pages axe gate; package-level a11y docs under docs/quality when present.

Browsers

  • chromium
  • webkit
  • mobile

Playwright projects: Desktop Chrome, Desktop Safari, Pixel 7. Firefox is a known gap on this host.

When to use

Use when

  • Mobile filters, detail rails, edge panels

Don’t use when

Prefer another component

  • Centered modal forms (use dialog)