UNPKG

analytica-frontend-lib

Version:

Repositório público dos componentes utilizados nas plataformas da Analytica Ensino

45 lines 1.63 kB
import { type BreadcrumbItem } from '../breadcrumbStore/index'; /** * Interface para configuração de um nível de breadcrumb dinâmico (com dados) */ export interface BreadcrumbLevelWithData<T = any> { /** Dados do nível atual */ data: T | null; /** ID extraído da URL para comparação */ urlId?: string; /** Função para obter o ID dos dados */ getId: (data: T) => string; /** Função para obter o nome dos dados */ getName: (data: T) => string; /** Função para construir a URL do breadcrumb */ getUrl: (data: T, previousIds: string[]) => string; } /** * Interface para configuração de um nível de breadcrumb estático (sem dados) */ export interface BreadcrumbLevelStatic { /** Breadcrumb estático */ breadcrumb: BreadcrumbItem; /** ID extraído da URL para validação (se não estiver na URL, não mostra) */ urlId?: string; } /** * Union type para aceitar ambos os tipos de breadcrumb */ export type BreadcrumbLevel<T = any> = BreadcrumbLevelWithData<T> | BreadcrumbLevelStatic; /** * Configuração do builder de breadcrumbs */ export interface BreadcrumbBuilderConfig { /** Namespace único para este breadcrumb */ namespace: string; /** Breadcrumb inicial (raiz) */ root: BreadcrumbItem; /** Níveis hierárquicos de breadcrumbs (cada um pode ter tipo diferente) */ levels: BreadcrumbLevel<any>[]; } export declare const useBreadcrumbBuilder: (config: BreadcrumbBuilderConfig) => { breadcrumbs: BreadcrumbItem[]; sliceBreadcrumbs: (index: number) => void; }; //# sourceMappingURL=useBreadcrumbBuilder.d.ts.map