@lifespikes/ui
Version:
Lifespikes ui
34 lines (33 loc) • 1.16 kB
TypeScript
import React, { FC, ForwardRefExoticComponent, HTMLAttributes, ReactNode } from 'react';
import { UseDiscloseReturn } from '@lifespikes/ui';
export interface SidebarItem {
id?: string;
label: string;
onClick?: () => void;
href?: string;
as?: React.ComponentType<any> | string | ForwardRefExoticComponent<any>;
children?: SidebarItem[];
current?: boolean;
toBottomPosition?: boolean;
icon?: ForwardRefExoticComponent<any> | string | FC<HTMLAttributes<any>>;
}
export interface SidebarProps {
items: SidebarItem[];
logo?: string;
renderLogo?: () => ReactNode;
renderMenuButton?: (props: UseDiscloseReturn) => ReactNode;
hasMenuButton?: boolean;
modal?: UseDiscloseReturn;
}
export type SidebarRefType = UseDiscloseReturn;
export interface SidebarListProps {
items: SidebarItem[];
className?: string;
}
export declare const Sidebar: React.MemoExoticComponent<React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<{
isOpen: boolean;
onOpen: () => void;
onClose: () => void;
onToggle: () => void;
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
}>>>;