/** * Breadcrumb — the trail of where you are in a hierarchy. * * A row of links back up the tree, ending in the page you are on. The last * crumb is not a link: you cannot navigate to where you already are, so it is * a plain, current-marked label rather than a dead tappable target. * * The separators are the component's job, not yours. `Breadcrumb.List` drops a * chevron between each crumb it holds, so a trail is just its items — there is * no separator to forget, mis-order, or leave dangling at the end. Change the * glyph once with `separator` on the root and every gap follows. * * ```tsx * * * * Home * * * Projects * * * PanelUI * * * * ``` * * A deep trail on a narrow phone does not wrap into a paragraph: give the list * a `maxItems` and it keeps the first and last crumbs, folding the middle into * a single ellipsis. Hand the ellipsis an `onEllipsisPress` and it becomes the * handle for a menu of the hidden steps. */ import { type ReactNode } from 'react'; import { View, type ViewProps } from 'react-native'; import { type AnimatedPressableProps } from '../../primitives/animated-pressable.js'; import { type TextProps } from '../../primitives/text.js'; type BreadcrumbSize = 'sm' | 'default'; export interface BreadcrumbProps extends ViewProps { className?: string; /** Text density for every crumb. `sm` for a dense header bar. */ size?: BreadcrumbSize; /** * The glyph `Breadcrumb.List` places between crumbs. Defaults to a chevron; * pass a `/`, a slash, or any node to change every gap at once. */ separator?: ReactNode; children?: ReactNode; } export interface BreadcrumbListProps extends ViewProps { className?: string; /** * Collapse the trail once it holds more than this many crumbs, so a deep * path never wraps into a block of text on a narrow screen. The first * `itemsBeforeCollapse` and last `itemsAfterCollapse` survive; the middle * folds into a single ellipsis. */ maxItems?: number; /** How many leading crumbs to keep when collapsing. Default 1. */ itemsBeforeCollapse?: number; /** How many trailing crumbs to keep when collapsing. Default 1. */ itemsAfterCollapse?: number; /** * Makes the collapsed ellipsis pressable — the handle for a menu listing the * hidden steps. Without it the ellipsis is a static marker. */ onEllipsisPress?: () => void; children?: ReactNode; } export interface BreadcrumbItemProps extends ViewProps { className?: string; children?: ReactNode; } export interface BreadcrumbLinkProps extends Omit { className?: string; /** Text style for the crumb's label. */ textClassName?: string; children?: ReactNode; } export interface BreadcrumbPageProps extends TextProps { className?: string; } export interface BreadcrumbSeparatorProps extends ViewProps { className?: string; /** Override the glyph for this one gap. Falls back to the root's separator. */ children?: ReactNode; } export interface BreadcrumbEllipsisProps extends Omit { className?: string; } export declare const Breadcrumb: import("react").ForwardRefExoticComponent> & { List: import("react").ForwardRefExoticComponent>; Item: import("react").ForwardRefExoticComponent>; Link: import("react").ForwardRefExoticComponent>; Page: import("react").ForwardRefExoticComponent>; Separator: import("react").ForwardRefExoticComponent>; Ellipsis: import("react").ForwardRefExoticComponent>; }; export {}; //# sourceMappingURL=index.d.ts.map