Trigger: label (Button)
Openers use registry Button with the same theme and mode as the drawer — not plain HTML buttons.
Trigger: icon only (IconButton)
Trigger: icon + label (Button)
Trigger button variants
Side: left (navigation)
Side: right (default)
Animation variants
enterAnimationVariant — open and close each panel to compare fluid spring motion (default, spring, zoom) vs legacy ease presets.
API
| Prop | Required | Type | Default | Description |
|---|---|---|---|---|
| theme | Optional | SiteTheme | atelier | Visual theme. |
| mode | Optional | "light" | "dark" | light | Color mode for panel tokens. |
| open / onClose | Optional | boolean + callback | — | Controlled visibility. |
| side | Optional | "left" | "right" | right | Slide-in edge. |
| title / description | Optional | string | — | Dialog labeling. |
| footer | Optional | ReactNode | — | Sticky action row — use themed Button components. |
| enterAnimationVariant | Optional | EnterAnimationVariant | default | Panel enter/exit — default and spring use fluid spring physics (Animate UI–style); zoom is a stronger pop; subtle keeps legacy ease motion; fade, slide-*, scale, or none. |