UNPKG

@neuctra/ui

Version:

A modern, responsive, customizable React UI component library powered by Tailwind CSS and Vite.

68 lines (67 loc) 2.86 kB
import { default as React, ReactNode, CSSProperties } from 'react'; import { ButtonProps } from './Button'; export interface DrawerProps { isOpen: boolean; onClose: () => void; children?: ReactNode; renderContent?: (close: () => void) => ReactNode; position?: "left" | "right" | "top" | "bottom"; size?: string; disableOverlayClose?: boolean; /** Also block Escape. Defaults to `disableOverlayClose`. */ disableEscapeClose?: boolean; /** Accessible name for the dialog when no DrawerHeader is used. */ ariaLabel?: string; overlayClassName?: string; overlayStyle?: CSSProperties; /** Applied to the sliding panel that hosts the drawer content. */ panelClassName?: string; } export declare function Drawer({ isOpen, onClose, children, renderContent, position, size, disableOverlayClose, disableEscapeClose, ariaLabel, overlayClassName, overlayStyle, panelClassName, }: DrawerProps): import("react/jsx-runtime").JSX.Element; export interface DrawerContentProps { children: ReactNode; className?: string; style?: CSSProperties; } export declare function DrawerContent({ children, className, style, }: DrawerContentProps): import("react/jsx-runtime").JSX.Element; export declare function DrawerBody({ children, className, style, }: { children: ReactNode; className?: string; style?: CSSProperties; }): import("react/jsx-runtime").JSX.Element; export interface DrawerHeaderProps { title?: string; icon?: ReactNode; onClose?: () => void; className?: string; style?: CSSProperties; titleWrapperClassName?: string; titleClassName?: string; closeButtonClassName?: string; } export declare function DrawerHeader({ title, icon, onClose, className, style, titleWrapperClassName, titleClassName, closeButtonClassName, }: DrawerHeaderProps): import("react/jsx-runtime").JSX.Element; export declare function DrawerFooter({ children, className, style, }: { children: ReactNode; className?: string; style?: CSSProperties; }): import("react/jsx-runtime").JSX.Element; export interface DrawerTriggerProps extends ButtonProps { children: React.ReactNode; drawerContent: (props: { close: () => void; }) => React.ReactNode; /** Forwarded to the underlying <Drawer />. */ drawerProps?: Omit<DrawerProps, "isOpen" | "onClose" | "children">; } export declare function DrawerTriggerButton({ children, drawerContent, drawerProps, onClick, ...props }: DrawerTriggerProps): import("react/jsx-runtime").JSX.Element; export interface DrawerButtonProps { label?: string; icon?: ReactNode; iconPosition?: "left" | "right"; onClick?: () => void; className?: string; style?: React.CSSProperties; labelClassName?: string; iconClassName?: string; } export declare const DrawerButton: React.FC<DrawerButtonProps>;