@medalsocial/meda
Version:
Shared Meda UI shell and runtime package.
33 lines (32 loc) • 1.18 kB
TypeScript
import type { LucideIcon } from 'lucide-react';
import type { AnchorHTMLAttributes, ReactNode } from 'react';
export interface IconRailItem {
id: string;
label: string;
icon: LucideIcon;
to: string;
badge?: ReactNode;
}
export interface IconRailRenderLinkArgs {
item: IconRailItem;
isActive: boolean;
className: string;
children: ReactNode;
linkProps: AnchorHTMLAttributes<HTMLAnchorElement>;
}
export type IconRailLabelVisibility = 'tooltip' | 'visible';
export interface IconRailProps {
mainItems: IconRailItem[];
utilityItems?: IconRailItem[];
footer?: ReactNode;
activeId?: string;
renderLink?: (args: IconRailRenderLinkArgs) => ReactNode;
labelVisibility?: IconRailLabelVisibility;
className?: string;
}
export interface RailDividerProps {
pinnedBottom: boolean;
onToggle: () => void;
}
export declare function RailDivider({ pinnedBottom, onToggle }: RailDividerProps): import("react/jsx-runtime").JSX.Element;
export declare function IconRail({ mainItems, utilityItems, footer, activeId, renderLink, labelVisibility, className, }: IconRailProps): import("react/jsx-runtime").JSX.Element | null;