/** * `` — root → current, as antd breadcrumbs. * * Every caption goes through `renderCategoryLabel`, which is the one place * this skin decides between "translate this" and "print this": a category's * `name` is a translation KEY unless the row says `translatable: false` * (`catalog/labels.ts`). A skin that called `t()` unconditionally would print * the stored string for an untranslatable category twice-wrapped, and one that * never called it would show `category.electronics` at a visitor. */ import type { ReactElement } from "react"; import type { CategoryCrumbInput } from "../headless/CategoryBreadcrumbs.js"; import type { LinkComponentProp } from "./CategoryLink.js"; import type { ThemeModeProp } from "./types.js"; export interface CategoryBreadcrumbsBarProps extends ThemeModeProp, LinkComponentProp { readonly slug?: string; readonly categoryId?: number | null; /** Path prefix for a crumb's link. Default `/c`. */ readonly basePath?: string; /** * What the bar does when the catalogue could not be read, or when the slug * resolves to nothing. * * `"state"` (default): say so — this bar is sometimes mounted alone, in a * header, and a silent header is a silent failure. `"quiet"`: render * nothing, for a PAGE that states the same fact under it. `` * passes `"quiet"`, which is why one outage no longer produces a bare red * sentence with a blue link on top of a designed error panel, and why an * unknown slug is not announced twice. */ readonly onAbsent?: "state" | "quiet"; /** * Which crumbs render as plain text instead of a link — see * `CategoryCrumb.linked`. Forwarded verbatim to ``; * omitted, a TRANSPARENT WRAPPER ancestor (`catalog/wrapper.ts`) is * unlinked automatically. Supplied, this predicate is the only thing * consulted — see `CategoryBreadcrumbsProps.unlink`. */ readonly unlink?: (crumb: CategoryCrumbInput) => boolean; /** * Hold the trail that is on the glass while the next category's rows are in * flight, instead of swapping it for the skeleton. Default `false` — a bar * mounted alone in a header keeps the behaviour it has. * * `` passes `true` (and the id of the frame it is HOLDING), * because a page that keeps its heading, its sub-categories and its * listings across a sibling press, and blanks the one row above them to a * skeleton, is the same rebuild the page's own `keepPrevious` removed — * just narrower. The kept trail carries `data-stapel-load-refreshing="true"` * (``) until the newer rows land, so the wait is stated * without being drawn as an absence. */ readonly keepPrevious?: boolean; } export declare function CategoryBreadcrumbsBar(props: CategoryBreadcrumbsBarProps): ReactElement; //# sourceMappingURL=CategoryBreadcrumbsBar.d.ts.map