Skip to content

FEAT: Sheet component #57

@Arnimag

Description

@Arnimag

User Story

In order to use a consistent and accessible UI building block
As a customer or content manager
I want to open and close a side sheet (drawer) from a trigger or via external control, featuring a configurable side, scrollable content, and optional header/footer sections.

Acceptance Criteria

  • Sheet successfully opens via a trigger and closes through a dedicated close control or overlay click.
  • Header, body, and footer areas are clearly defined and visible when provided.
  • Body content is scrollable when it exceeds the available vertical space.
  • The entrance side (e.g., left, right) is configurable via props.
  • The component supports being open on initial load or having its open state controlled by external logic.
  • When the sheet is open, keyboard focus is trapped within the component (Tab cycles only within the sheet).
  • Pressing the Escape key or the close button dismisses the sheet and returns focus to the original trigger.
  • The sheet uses role="dialog" and is properly named via aria-label or aria-labelledby
  • Looks and works consistent across all supported browsers and devices.
  • Can be viewed and manipulable in Storybook.

Background & Resources

https://demo.shopin.dev/storybook/?path=/story/ui-sheet--showcase

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions