Skip to content
Components
@app-studio/components

Sidebar

A versatile layout component for navigation or content, typically positioned at the screen edges.

View component source

Import

ts
import { Sidebar } from '@app-studio/components';

New to the library? Complete installation and provider setup first.

Interactive examples

Try the component, then open Code to copy the complete example.

INTERACTIVE EXAMPLE

Loading preview…

Props

Required props are marked below. A dash indicates an unspecified default. Design system configuration can override implementation defaults.

Scroll horizontally to see every column.

Sidebar
PropTypeDefaultDescription
children Required
View typestring | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | React.ReactPortal | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null
—Content rendered inside the component.Source
positionPosition
"left""right"
—Position of the element or notification.Source
sizeSize
"sm""md""lg""xl"
—Size preset for the component.Source
variantVariant
"outline""default""elevated""subtle""filled"
—Visual treatment of the component.Source
defaultExpandedboolean—See the type and source declaration for this property.Source
expandedboolean—See the type and source declaration for this property.Source
onExpandedChange((expanded: boolean) => void)—See the type and source declaration for this property.Source
fixedboolean—See the type and source declaration for this property.Source
hasBackdropboolean—See the type and source declaration for this property.Source
showToggleButtonboolean—See the type and source declaration for this property.Source
expandedWidthstring | number—See the type and source declaration for this property.Source
collapsedWidthstring | number—See the type and source declaration for this property.Source
breakpointnumber—See the type and source declaration for this property.Source
breakpointBehaviorBreakpointBehavior
"overlay""collapse""hide"
—See the type and source declaration for this property.Source
elevationElevation
"medium""none""low""high"
—See the type and source declaration for this property.Source
transitionPresetTransitionPreset
"slow""fast""normal""bounce"
—See the type and source declaration for this property.Source
ariaLabelstring—Accessible name for the control, especially when it has no visible label.Source
viewsSidebarStyles—Style overrides for the named internal parts.Source

Sidebar.Header

Scroll horizontally to see every column.

Sidebar.Header
PropTypeDefaultDescription
children Required
View typestring | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | React.ReactPortal | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null
—Content rendered inside the component.Source
showToggleButtonboolean—See the type and source declaration for this property.Source
views{ header?: ViewProps; toggleButton?: ViewProps; toggleButtonIcon?: ViewProps; }—Style overrides for the named internal parts.Source

Sidebar.Content

Scroll horizontally to see every column.

Sidebar.Content
PropTypeDefaultDescription
children Required
View typestring | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | React.ReactPortal | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null
—Content rendered inside the component.Source
views{ content?: ViewProps; }—Style overrides for the named internal parts.Source

Sidebar.Footer

Scroll horizontally to see every column.

Sidebar.Footer
PropTypeDefaultDescription
children Required
View typestring | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | React.ReactPortal | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null
—Content rendered inside the component.Source
views{ footer?: ViewProps; }—Style overrides for the named internal parts.Source

For shared layout, color, and responsive properties, read Styling & composition and Responsive layouts. Additional native element attributes depend on the target platform.

Usage guidance

  • Give controls a visible label or an accessible name, and verify keyboard interaction. See Accessibility.
  • For controlled inputs, update the value from the callback shown in the props table. Keep application state in your component or form library.
  • These previews run in the browser. Check React Native setup for platform requirements and differences.
Browse documentation source