"use client" import * as React from "react" import { Link, useNavigate } from "react-router-dom" import { cn } from "@/lib/utils" import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "@/components/ui/breadcrumb" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { Input } from "@/components/ui/input" import { HorizontalScrollRegion } from "@/components/ui/horizontal-scroll-region" import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover" import { FILTER_LIST_SEARCH_THRESHOLD } from "@exxatdesignux/ui/lib/filter-list-search-threshold" export interface PageBreadcrumbMenuOption { id: string label: string href?: string onSelect?: () => void selected?: boolean } export interface PageBreadcrumbTrailItem { label: string href?: string /** Peer options — renders a switcher instead of a static link or label. */ menu?: PageBreadcrumbMenuOption[] menuAriaLabel?: string } export interface PageBreadcrumbBackProps { /** Destination label (e.g. "Question hub") — shown after the back icon. */ label: string href: string className?: string } export interface PageBreadcrumbTrailProps { /** Linkable ancestors (e.g. Question hub). */ items?: PageBreadcrumbTrailItem[] /** * Final segment in the trail. Omit when the current page is the `PageHeader` * `

` — use ancestors-only above the title (no duplicate label). */ currentPage?: string /** Switch among peer records on the current page segment (detail routes). */ currentPageMenu?: PageBreadcrumbMenuOption[] currentPageMenuAriaLabel?: string /** * `header` — SiteHeader: ancestors + `currentPage` on one line. * `content` — ancestors only, above `PageHeader` title. */ variant?: "header" | "content" className?: string } function BreadcrumbMenuOptionMarker({ selected }: { selected?: boolean }) { return selected ? (