useDialogStore
Creates a dialog store to control the state of Dialog components.
Code examples
<button onClick={dialog.toggle}>Open dialog</button>
Optional Props
defaultOpen
boolean | undefined = false
Whether the content should be visible by default.
disclosure
DisclosureStore | null | undefined
A reference to another disclosure store that controls another disclosure
component to keep them in sync. Element states like contentElement and
disclosureElement won't be synced. For that, use the
store prop
instead.
Live examples




open
boolean = false
Whether the content is visible.
Live examples




setMounted
((mounted: boolean) => void) | undefined
A callback that gets called when the mounted state changes.
Code examples
const [mounted, setMounted] = useState(false);
setOpen
((open: boolean) => void) | undefined
A callback that gets called when the
open state
changes.
Code examples
const [open, setOpen] = useState(false);
store
Store<Partial<S>> | undefined
Another store object that will be kept in sync with the original store.
Live examples
animated
animatednumber | boolean | undefined
Deprecated: Manually setting the animated prop is no longer necessary.
This will be removed in a future release.
Determines whether the content should animate when it is shown or hidden.
If
true, theanimatingstate will betruewhen the content is shown or hidden and it will wait for a CSS animation/transition to end before becomingfalse.If it's set to a number, the
animatingstate will betruewhen the content is shown or hidden and it will wait for the number of milliseconds to pass before becomingfalse.
Return Props
setOpen
SetState<boolean>
Sets the open
state.
Live examples
Code examples
store.setOpen(true);
store.setOpen((open) => !open);
show
() => void
Sets the open
state to true.
Live examples




hide
() => void
Sets the open
state to false.
Live examples


toggle
() => void
Toggles the
open state.
stopAnimation
stopAnimation() => void
Deprecated: Use setState("animating", false) instead.
Sets the animating state to false, which will automatically set the
mounted state to false if it was true. This means that the content
element can be safely unmounted.
setContentElement
SetState<HTMLElement | null>
Sets the contentElement state.
setDisclosureElement
SetState<HTMLElement | null>
Sets the disclosureElement state.
Live examples
disclosure
DisclosureStore | null | undefined
A reference to another disclosure store that controls another disclosure
component to keep them in sync. Element states like contentElement and
disclosureElement won't be synced. For that, use the
store prop
instead.
Live examples




getState
() => S
Returns the current store state.
setState
<K extends keyof S>(key: K, value: SetStateAction<S[K]>) => void
Sets a state value.
useState
useStateUseState<StoreState<T>>
Deprecated: Use
useStoreState instead.
Re-renders the component when the state changes and returns the current state.