Skip to content
Uxelith
Sign in
Prov1.0.0Navigation

Sheet

A panel from any edge that follows your finger: swipe or flick it away, rest a bottom sheet at snap points, and let the page behind shrink back. Built on the native modal dialog.

Installs with Uxelith ProHow
Licence
Pro
Packages
2
Updated
10 Oct 2026
Live

Installation

Usage

example.tsx
import { Sheet } from "@/components/sheet"

export function Filters() {
  return (
    <Sheet
      trigger={<button type="button">Filters</button>}
      title="Filters"
      description="Narrow down the results."
    >
      <p>Your filter controls go here.</p>
    </Sheet>
  )
}

Props

PropTypeDefaultDescription
triggerReactElement<button>—Opens the sheet; gets aria-expanded and focus back on close.
titleReactNode—The dialog's heading and accessible name.
descriptionReactNode—Shown under the title; read when it opens.
footerReactNode—Sticky actions at the bottom.
side"right" | "left" | "bottom" | "top""right"The edge it comes from; every side swipes back toward its edge to close.
size"sm" | "md" | "lg""md"Width of a side sheet.
snapPointsnumber[]—Bottom sheet resting heights as fractions of the screen, e.g. [0.5, 0.92].
scaleBackgroundbooleanfalseShrink the element marked data-sheet-background while open.
open / defaultOpenboolean— / falseControlled or initial state.
onOpenChange(open: boolean) => void—Called when it opens or closes.
closeOnOutsideClickbooleantrueClose when the dimmed page is clicked.

Accessibility

  • A native modal <dialog>: focus moves in and is trapped, the page behind is inert, and Escape closes.
  • Labelled by its title and described by its description; the close button is labelled "Close".
  • Focus returns to the trigger, and the page doesn't scroll behind it.
  • Swiping is an extra: the close button and Escape always work, and the snap handle is a button that keyboard users can press to change height.
  • Slides instantly under prefers-reduced-motion; dragging still follows the finger.

Changelog

  1. v1.0.0Latest

    First release.

More in Navigation

All 6 in Navigation
  • NavigationFree

    Accordion

    Questions that spring open to their answers — reversible mid-way — with a hover highlight that glides between titles and a plus that folds into a minus (or a chevron). Single or multiple open, two looks.

  • NavigationFree

    Animated Tabs

    Tabs with an indicator that springs to the selected tab, a hover highlight that follows the pointer, and panels that slide in from the side you're heading to while the height eases to fit. Pill or underline.

  • NavigationPro

    Command Palette

    A ⌘K command menu with ranked fuzzy search and match highlighting. Give it a trigger and the search button grows into the palette and shrinks back on close. Inline or in a dialog.