Drawer
Slide-in panel from any screen edge.
Generated from the package's public source.
API
Backdropcomponent
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Backdrop(props: DrawerBackdropProps): Element
Props
class?stringstyle?string | CSSProperties
Closecomponent
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Close(props: DrawerCloseProps): Element
Props
aria-label?string— Accessible label. Required when children are icon-only/non-text.class?stringref?(el: HTMLButtonElement) => voidstyle?string | CSSProperties
children: Element
Contentcomponent
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Content(props: DrawerContentProps): Element
Props
class?stringref?(el: HTMLDivElement) => voidstyle?string | CSSProperties
children: Element
Descriptioncomponent
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Description(props: DrawerDescriptionProps): Element
Props
class?string
children: Element
DrawerBackdropPropsinterface
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Props
class?stringstyle?string | CSSProperties
DrawerClosePropsinterface
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Props
aria-label?string— Accessible label. Required when children are icon-only/non-text.class?stringref?(el: HTMLButtonElement) => voidstyle?string | CSSProperties
children: Element
DrawerContentPropsinterface
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Props
class?stringref?(el: HTMLDivElement) => voidstyle?string | CSSProperties
children: Element
DrawerContextValueinterface
Props
contentIdstringdescriptionIdstringdismissiblebooleanmodalbooleanopenAccessor<boolean>phaseAccessor<PresencePhase>presentAccessor<boolean>requestOpenChange(next: boolean, details: ChangeDetails<DisclosureReason>) => voidshouldScaleBackgroundbooleansideDrawerSidesnapPointsnumber[] | undefinedtitleIdstringtriggerIdstring
DrawerDescriptionPropsinterface
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Props
class?string
children: Element
DrawerRootPropsinterface
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Props
defaultOpen?boolean— Default open state (uncontrolled).dismissible?boolean— Whether the drawer can be dismissed by swipe/click-outside. Default: true.modal?boolean— Whether the drawer is modal. Default: true.onOpenChange?(open: boolean, details: ChangeDetails<DisclosureReason>) => void— Called when open state change is requested.open?Accessor<boolean>— Controlled open state.shouldScaleBackground?boolean— Whether the background should scale when drawer opens. Default: false.side?DrawerSide— Edge from which the drawer slides. Default: "right".snapPoints?number[]— Discrete snap point positions (as percentages 0–100).
children: Element
DrawerSidetype
The edge from which the drawer slides in.
DrawerTitlePropsinterface
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Props
class?string
children: Element
DrawerTriggerPropsinterface
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Props
aria-label?string— Accessible label. Required when children are icon-only/non-text.class?stringref?(el: HTMLButtonElement) => voidstyle?string | CSSProperties
children: Element
Rootcomponent
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Root(props: DrawerRootProps): Element
Props
defaultOpen?boolean— Default open state (uncontrolled).dismissible?boolean— Whether the drawer can be dismissed by swipe/click-outside. Default: true.modal?boolean— Whether the drawer is modal. Default: true.onOpenChange?(open: boolean, details: ChangeDetails<DisclosureReason>) => void— Called when open state change is requested.open?Accessor<boolean>— Controlled open state.shouldScaleBackground?boolean— Whether the background should scale when drawer opens. Default: false.side?DrawerSide— Edge from which the drawer slides. Default: "right".snapPoints?number[]— Discrete snap point positions (as percentages 0–100).
children: Element
Titlecomponent
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Title(props: DrawerTitleProps): Element
Props
class?string
children: Element
Triggercomponent
@solidiom/drawer — Headless slide-in drawer primitive. Parts: Root, Trigger, Backdrop, Content, Close, Title, Description.
Trigger(props: DrawerTriggerProps): Element
Props
aria-label?string— Accessible label. Required when children are icon-only/non-text.class?stringref?(el: HTMLButtonElement) => voidstyle?string | CSSProperties
children: Element