@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
1 lines • 2.96 kB
Source Map (JSON)
{"version":3,"file":"Breadcrumb.mjs","names":[],"sources":["../../../src/dashboard/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport { styles } from './style';\nimport type { BreadcrumbItem, BreadcrumbProps } from './type';\n\nfunction CrumbLink({\n className,\n item,\n renderLink,\n}: {\n className: string;\n item: BreadcrumbItem;\n renderLink?: BreadcrumbProps['renderLink'];\n}) {\n const href = item.href ?? '#';\n if (renderLink && item.href) {\n return renderLink({\n children: item.label,\n className,\n href: item.href,\n onClick: item.onClick,\n });\n }\n return (\n <a\n className={className}\n href={href}\n onClick={(event) => {\n if (!item.onClick) return;\n event.preventDefault();\n item.onClick();\n }}\n >\n {item.label}\n </a>\n );\n}\n\nfunction Breadcrumb({ items, label = 'Breadcrumb', renderLink }: BreadcrumbProps) {\n return (\n <nav aria-label={label} className={styles.root}>\n {items.map((item, index) => {\n const last = index === items.length - 1;\n const linked = Boolean(item.href) && !last;\n return (\n <span className={item.optional ? styles.optional : undefined} key={`${index}`}>\n {linked ? (\n <CrumbLink className={styles.link} item={item} renderLink={renderLink} />\n ) : (\n <span\n aria-current={last ? 'page' : undefined}\n className={last ? styles.page : styles.ancestor}\n title={typeof item.label === 'string' ? item.label : undefined}\n >\n {item.label}\n </span>\n )}\n {index < items.length - 1 ? (\n <span aria-hidden className={styles.separator}>\n /\n </span>\n ) : null}\n </span>\n );\n })}\n </nav>\n );\n}\n\nBreadcrumb.displayName = 'Breadcrumb';\n\nexport default Breadcrumb;\n"],"mappings":";;;;AAKA,SAAS,UAAU,EACjB,WACA,MACA,cAKC;CACD,MAAM,OAAO,KAAK,QAAQ;CAC1B,IAAI,cAAc,KAAK,MACrB,OAAO,WAAW;EAChB,UAAU,KAAK;EACf;EACA,MAAM,KAAK;EACX,SAAS,KAAK;CAChB,CAAC;CAEH,OACE,oBAAC,KAAD;EACa;EACL;EACN,UAAU,UAAU;GAClB,IAAI,CAAC,KAAK,SAAS;GACnB,MAAM,eAAe;GACrB,KAAK,QAAQ;EACf;EAEC,UAAA,KAAK;CACL,CAAA;AAEP;AAEA,SAAS,WAAW,EAAE,OAAO,QAAQ,cAAc,cAA+B;CAChF,OACE,oBAAC,OAAD;EAAK,cAAY;EAAO,WAAW,OAAO;EACvC,UAAA,MAAM,KAAK,MAAM,UAAU;GAC1B,MAAM,OAAO,UAAU,MAAM,SAAS;GACtC,MAAM,SAAS,QAAQ,KAAK,IAAI,KAAK,CAAC;GACtC,OACE,qBAAC,QAAD;IAAM,WAAW,KAAK,WAAW,OAAO,WAAW,KAAA;IAAnD,UAAA,CACG,SACC,oBAAC,WAAD;KAAW,WAAW,OAAO;KAAY;KAAkB;IAAa,CAAA,IAExE,oBAAC,QAAD;KACE,gBAAc,OAAO,SAAS,KAAA;KAC9B,WAAW,OAAO,OAAO,OAAO,OAAO;KACvC,OAAO,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,KAAA;KAEpD,UAAA,KAAK;IACF,CAAA,GAEP,QAAQ,MAAM,SAAS,IACtB,oBAAC,QAAD;KAAM,eAAA;KAAY,WAAW,OAAO;KAAW,UAAA;IAEzC,CAAA,IACJ,IACA;GAjB6D,GAAA,GAAG,OAiBhE;EAEV,CAAC;CACE,CAAA;AAET;AAEA,WAAW,cAAc"}