Container

Full width container
Primary 100 (#DBDBDB)
Primary 200 (#A7A5A6)
Primary 300 (#7B7979)
Primary 400 (#4F4C4D)
Primary 500 (#231F20)
Primary 600 (#231F20)
Secondary 200 (#F9F3F2)
Secondary 300 (#F3EBEB)
Secondary 400 (#DCCACB)
Secondary 500 (#BBA2AA)
Secondary 600 (#9B757C)
Secondary 700 (#835C63)
Tertiary 400 (#FBF9F6)
Tertiary 500 (#FBF9F6)
Tertiary 600 (#FBF9F6)
Accent 400 (#231F20)
Accent 500 (#231F20)
Accent 600 (#231F20)
Success (#16A24A)
Error (#DC2626)
Warning (#E9580C)
Background (#FFFFFF)
Surface (#FFFFFF)
Border (#DBDBDB)
Dark (#231F20)
Light (#FFFFFF)
Jost - Thin 100
Jost - ExtraLight 200
Jost - Light 300
Jost - Regular 400
Jost - Medium 500
Jost - Bold 700

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Default color

Custom color

Accordion Trigger
Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam, quos.

Focus Trap Example

The side drawer implements focus trapping to ensure keyboard navigation stays within the drawer when it's open. This is important for accessibility.

Usage:

<!-- Trigger button -->
<button class="btn" data-drawer-target="my-drawer">Open Drawer</button>

<!-- Drawer component -->
<side-drawer id="my-drawer">
  <div>
    <h2>Drawer Content</h2>
    <button>Focusable Button 1</button>
    <button>Focusable Button 2</button>
    <input type="text" placeholder="Focusable input">
  </div>
</side-drawer>

Configuration Options:

  • side - Position of the drawer ("left", "right", or "center", defaults to "left")
  • width - Width of the drawer (defaults to "375px")
  • animation-duration - Duration of open/close animation in milliseconds (defaults to 300)

Example with Configuration:

<!-- Right side drawer -->
<side-drawer 
  id="my-drawer"
  side="right"
  width="400px"
  animation-duration="400">
  <div>Drawer content</div>
</side-drawer>

<!-- Center popup/modal -->
<side-drawer 
  id="my-popup"
  side="center"
  width="500px">
  <div>Popup content</div>
</side-drawer>

Features:

  • Focus is trapped inside the drawer when open
  • Focus returns to the trigger element when closed
  • Escape key closes the drawer
  • Clicking outside closes the drawer
  • Three positioning modes: left slide, right slide, or center popup

Left Drawer Demo

This drawer slides in from the left side.

Press Escape to close

Right Drawer Demo

This drawer slides in from the right side.

Press Escape to close

Center Popup Demo

This appears as a centered popup/modal with scaling animation.

Press Escape to close or click outside

×