@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
75 lines (74 loc) • 2 kB
text/typescript
import { ModalRootProps } from "../Modal/atoms.mjs";
import { CSSProperties, ReactNode } from "react";
import { MotionProps } from "motion/react";
//#region src/base-ui/FloatingPanel/type.d.ts
type FloatingPanelPlacement = 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
type FloatingPanelOffset = number | string | {
x?: number | string;
y?: number | string;
};
interface FloatingPanelSize {
height: number;
width: number;
}
interface FloatingPanelProps {
actions?: ReactNode;
afterClose?: () => void;
ariaLabel?: string;
children?: ReactNode;
className?: string;
classNames?: {
backdrop?: string;
actions?: string;
body?: string;
close?: string;
footer?: string;
header?: string;
panel?: string;
resizeHandle?: string;
title?: string;
wrapper?: string;
};
closable?: boolean;
closeIcon?: ReactNode;
closeLabel?: string;
defaultOpen?: boolean;
footer?: ReactNode;
getContainer?: false | HTMLElement | null;
height?: number | string;
keyboard?: boolean;
mask?: boolean;
maskClosable?: boolean;
maxHeight?: number;
maxWidth?: number;
minHeight?: number;
minWidth?: number;
modal?: boolean;
motionProps?: MotionProps;
offset?: FloatingPanelOffset;
onClose?: () => void;
onOpenChange?: ModalRootProps['onOpenChange'];
onResize?: (size: FloatingPanelSize) => void;
onResizeEnd?: (size: FloatingPanelSize) => void;
open?: boolean;
placement?: FloatingPanelPlacement;
resizable?: boolean;
styles?: {
actions?: CSSProperties;
backdrop?: CSSProperties;
body?: CSSProperties;
close?: CSSProperties;
footer?: CSSProperties;
header?: CSSProperties;
panel?: CSSProperties;
resizeHandle?: CSSProperties;
title?: CSSProperties;
wrapper?: CSSProperties;
};
title?: ReactNode;
width?: number | string;
zIndex?: number;
}
//#endregion
export { FloatingPanelOffset, FloatingPanelPlacement, FloatingPanelProps };
//# sourceMappingURL=type.d.mts.map