@appello/web-ui
Version:
Web ui library for a better development experience
41 lines (40 loc) • 1.25 kB
TypeScript
import './styles.scss';
import React, { ReactElement } from 'react';
import { IconName } from '../../../components';
export interface SidebarItem {
title: string;
icon: IconName;
link: string;
items?: (Omit<SidebarItem, 'icon' | 'items'> & {
navRightContent?: (item: Omit<SidebarItem, 'icon' | 'items'>) => ReactElement;
})[];
navRightContent?: (item: SidebarItem) => ReactElement;
}
export interface SidebarProps {
items: SidebarItem[];
logo: string;
smallLogo?: string;
user?: {
photoPlaceholder?: string;
photo?: string | null;
fullName: string;
email: string;
};
onClickUserProfile?: () => void;
isCollapsed?: boolean;
toggleCollapsed?: (collapse: boolean) => void;
rightHeaderElement?: React.ReactNode;
userInfoRightElement?: React.ReactNode;
onNavigate?: (to: string) => void;
footerTopElement?: React.ReactNode;
footerBottomElement?: React.ReactNode;
logoPath?: string;
isActiveMenu?: (to: string) => boolean;
renderLink?: (props: {
children: React.ReactNode;
className: string;
to: string;
}) => ReactElement;
className?: string;
}
export declare const Sidebar: React.FC<SidebarProps>;