50 lines
1.5 KiB
TypeScript
50 lines
1.5 KiB
TypeScript
import React from 'react';
|
|
export interface SidebarProps {
|
|
opened: boolean;
|
|
onClose: () => void;
|
|
title: string;
|
|
width?: number;
|
|
position?: 'left' | 'right';
|
|
headerActions?: React.ReactNode;
|
|
footer?: React.ReactNode;
|
|
children: React.ReactNode;
|
|
zIndex?: number;
|
|
offsetTop?: number;
|
|
backgroundColor?: string;
|
|
borderColor?: string;
|
|
animationDuration?: string;
|
|
'aria-label'?: string;
|
|
}
|
|
declare const Sidebar: React.FC<SidebarProps>;
|
|
export default Sidebar;
|
|
export interface FormSidebarWrapperProps extends Omit<SidebarProps, 'children'> {
|
|
children: React.ReactNode;
|
|
cancelLabel?: string;
|
|
submitLabel?: string;
|
|
onCancel?: () => void;
|
|
onSubmit?: () => void;
|
|
submitDisabled?: boolean;
|
|
showFooterActions?: boolean;
|
|
}
|
|
export declare const FormSidebarWrapper: React.FC<FormSidebarWrapperProps>;
|
|
export interface DetailsSidebarProps extends Omit<SidebarProps, 'title'> {
|
|
itemName: string;
|
|
itemType?: string;
|
|
editButton?: React.ReactNode;
|
|
deleteButton?: React.ReactNode;
|
|
status?: React.ReactNode;
|
|
}
|
|
export declare const DetailsSidebar: React.FC<DetailsSidebarProps>;
|
|
export interface QuickSidebarProps extends Omit<SidebarProps, 'children'> {
|
|
content: React.ReactNode;
|
|
actions?: React.ReactNode;
|
|
}
|
|
export declare const QuickSidebar: React.FC<QuickSidebarProps>;
|
|
export declare const useSidebar: (initialOpened?: boolean) => {
|
|
opened: boolean;
|
|
open: () => void;
|
|
close: () => void;
|
|
toggle: () => void;
|
|
setOpened: React.Dispatch<React.SetStateAction<boolean>>;
|
|
};
|