goobs-frontend
Version:
A comprehensive React-based libary for building modern web applications
78 lines • 3.17 kB
TypeScript
import { ReactNode, FC } from 'react';
export interface DrawerStyles {
/** Theme variant: 'light' (default), 'dark', or 'sacred' (sacred adds the animated glyph canvas). */
theme?: 'light' | 'dark' | 'sacred';
/** Panel background when variant is 'permanent'. */
permanentBackground?: string;
/** Panel box shadow when variant is 'permanent'. */
permanentBoxShadow?: string;
/** Panel backdrop-filter when variant is 'permanent'. */
permanentBackdropFilter?: string;
/** Panel background-image when variant is 'permanent'. */
permanentBackgroundImage?: string;
/** Panel background for non-permanent variants. */
temporaryBackground?: string;
/** Panel box shadow for non-permanent variants. */
temporaryBoxShadow?: string;
/** Panel backdrop-filter for non-permanent variants. */
temporaryBackdropFilter?: string;
/** Panel background-image for non-permanent variants. */
temporaryBackgroundImage?: string;
/** Backdrop background color (temporary variant only). */
backdropBackgroundColor?: string;
/** Backdrop backdrop-filter (temporary variant only). */
backdropBackdropFilter?: string;
/** Panel width (applies to both vertical and horizontal anchors). */
width?: string;
/** Panel height (applies to both vertical and horizontal anchors). */
height?: string;
/** Panel CSS `top` offset; numbers are treated as px. */
top?: string | number;
/** Panel padding. */
padding?: string;
/** Panel margin. */
margin?: string;
/** Panel z-index. */
zIndex?: number;
/** Backdrop z-index. */
backdropZIndex?: number;
/** Replaces the slide transition with `transform <duration> <easing>`. */
transitionDuration?: string;
/** Easing used with transitionDuration (default ease-in-out); ignored without it. */
transitionEasing?: string;
/** Dims the panel to 50% opacity and disables pointer events. */
disabled?: boolean;
/** @deprecated No-op since the CSS-module migration — scheduled for removal. */
outline?: boolean;
/** Panel max-width. */
maxWidth?: string;
/** Panel min-width. */
minWidth?: string;
/** Panel max-height. */
maxHeight?: string;
/** Panel min-height. */
minHeight?: string;
/** Forces the drawer to the left edge, overriding the `anchor` prop. */
forceLeft?: boolean;
/** Forces the drawer to the right edge, overriding the `anchor` prop (forceLeft wins if both set). */
forceRight?: boolean;
}
export interface DrawerProps {
/** Whether the drawer is open */
open?: boolean;
/** Callback fired when the drawer requests to be closed */
onClose?: () => void;
/** Which side the drawer opens from */
anchor?: 'left' | 'right' | 'top' | 'bottom';
/** The variant of the drawer */
variant?: 'permanent' | 'persistent' | 'temporary';
/** Drawer content */
children?: ReactNode;
/** Component styling */
styles?: DrawerStyles;
/** Additional props */
[key: string]: any;
}
declare const Drawer: FC<DrawerProps>;
export default Drawer;
//# sourceMappingURL=index.d.ts.map