UNPKG

mithril-materialized

Version:
54 lines (53 loc) 1.81 kB
import { FactoryComponent, Attributes } from 'mithril'; export interface BreadcrumbItemAttrs { /** Text content of the breadcrumb item */ text?: string; /** URL for the breadcrumb item */ href?: string; /** Whether this item is the current/active item */ active?: boolean; /** Click handler for the breadcrumb item */ onclick?: (e: Event) => void; /** Icon name (material icons) */ icon?: string; /** Custom class for the item */ className?: string; /** Whether this item is disabled */ disabled?: boolean; } export interface BreadcrumbAttrs extends Attributes { /** Array of breadcrumb items */ items: BreadcrumbItemAttrs[]; /** Custom separator between items */ separator?: string; /** Custom class for the breadcrumb container */ className?: string; /** Whether to show icons */ showIcons?: boolean; /** Maximum number of items to show before collapsing */ maxItems?: number; /** Whether to show home icon for first item */ showHome?: boolean; } /** * Breadcrumb Component * Displays a navigation path showing the user's location within a site hierarchy */ export declare const Breadcrumb: FactoryComponent<BreadcrumbAttrs>; /** * Simple Breadcrumb utility for common use cases */ export declare const createBreadcrumb: (path: string, basePath?: string) => BreadcrumbItemAttrs[]; /** * Breadcrumb utilities */ export declare class BreadcrumbManager { /** * Create breadcrumb items from a route path */ static fromRoute(route: string, routeConfig?: Record<string, string>): BreadcrumbItemAttrs[]; /** * Create breadcrumb items from a hierarchical object */ static fromHierarchy(hierarchy: any[], textKey?: string, pathKey?: string): BreadcrumbItemAttrs[]; }