Swirski UI

Hook

useDisclosure

Boolean open/close/toggle state for dialogs, drawers, popovers and custom disclosure UI.

Import

import { useDisclosure } from "@swirski/ui";

Preview

Live render

useDisclosure

Preview
Disclosure state

Returns opened plus open, close, toggle and set handlers.

Usage

const [opened, handlers] = useDisclosure(false);

<Button onClick={handlers.toggle}>
  {opened ? "Close" : "Open"}
</Button>

Props

3 documented
PropTypeDefaultNotes
defaultOpenedbooleanfalseInitial uncontrolled disclosure state.
options.valueboolean-Controlled disclosure state.
options.onChange(opened: boolean) => void-Called whenever state changes.

Returns

5 documented
ValueTypeNotes
openedbooleanCurrent disclosure state.
handlers.open() => voidSets the disclosure state to open.
handlers.close() => voidSets the disclosure state to closed.
handlers.toggle() => voidFlips the current disclosure state.
handlers.set(opened: boolean) => voidSets the disclosure state directly.
Previous: usePortalRootNext: useControllableState