mithril-materialized
Version:
A materialize library for mithril.
54 lines (53 loc) • 1.81 kB
TypeScript
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[];
}