UNPKG

@yamada-ui/react

Version:

React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion

48 lines 1.68 kB
//#region src/hooks/use-disclosure/use-disclosure.d.ts type DisclosureCallback<Y, M> = [Y] extends [never] ? () => M : undefined extends Y ? (value?: Y) => M : (value: Y) => M; interface UseDisclosureProps<Y = never, M = never, D = Promise<void> | void, H = Promise<void> | void> { /** * If `true`, the element will be initially opened. */ defaultOpen?: boolean; /** * If `true`, the element will be opened. */ open?: boolean; /** * The timing of the open and close. * * @default 'after' */ timing?: "after" | "before"; /** * Callback invoked to close the element. */ onClose?: DisclosureCallback<M, H>; /** * Callback invoked to open the element. */ onOpen?: DisclosureCallback<Y, D>; } /** * `useDisclosure` is a custom hook that helps handle common open/close or toggle scenarios. * It can be used to control components such as `Modal`, `Dialog`, `Drawer`, etc. * * @see https://yamada-ui.com/docs/hooks/use-disclosure */ declare const useDisclosure: <Y = never, M = never, D = Promise<void> | void, H = Promise<void> | void>({ defaultOpen, open: controlledOpen, timing, onClose: onCloseProp, onOpen: onOpenProp }?: UseDisclosureProps<Y, M, D, H>) => { open: boolean; onClose: DisclosureCallback<M, H>; onOpen: DisclosureCallback<Y, D>; onToggle: DisclosureCallback<M, H> | DisclosureCallback<Y, D>; }; type UseDisclosureReturn<Y = never, M = never, D = Promise<void> | void, H = Promise<void> | void> = ReturnType<typeof useDisclosure<Y, M, D, H>>; //#endregion export { DisclosureCallback, UseDisclosureProps, UseDisclosureReturn, useDisclosure }; //# sourceMappingURL=use-disclosure.d.ts.map