'use client' import { ForwardedRef, forwardRef, type AnchorHTMLAttributes, type ReactNode } from 'react' import { Link } from 'react-router-dom' import { PktIcon } from '../icon/Icon' export interface IBreadcrumbs { text: string href: string } export interface IPktBreadcrumbs extends AnchorHTMLAttributes { breadcrumbs: IBreadcrumbs[] navigationType?: 'router' | 'anchor' renderLink?: (args: { href: string className: string children: ReactNode props: AnchorHTMLAttributes }) => ReactNode } export const PktBreadcrumbs = forwardRef( ( { breadcrumbs, navigationType, renderLink, className, ...props }: IPktBreadcrumbs, ref: ForwardedRef, ) => { const slicedBreadcrumbs = breadcrumbs // Define the backLink function const backLink = slicedBreadcrumbs[slicedBreadcrumbs.length - 2] // Define the classes const classes = [className, 'pkt-breadcrumbs'].filter(Boolean).join(' ') // Create a default renderLink implementation based on navigationType const linkRenderer = renderLink || (navigationType === 'router' ? ({ href, className, children, props }) => ( {children} ) : ({ href, className, children, props }) => ( {children} )) // Mobile and desktop have different markup return ( ) }, ) PktBreadcrumbs.displayName = 'PktBreadcrumbs'