import React from 'react' import Button from '../../Button/Button' import Mdash from '../../Mdash/Mdash' import Popover from '../../Popover/Popover' import TrimText from '../../TrimText/TrimText' import { BreadcrumbArrow, BreadcrumbPopoverContent, TextUnderline, } from '../Common/BreadcrumbCommonComponents' import { type BreadcrumbsProps, type BreadcrumbType, } from '../Common/BreadcrumbTypes' import styles from './_desktop-breadcrumbs.module.scss' import { breadcrumbBackButtonCallout } from '../Common/BreadcrumbsService' import { c } from '../../../translations/LibraryTranslationService' const DesktopBreadcrumbs = ({ breadcrumbs, characterLimit = 15, // Desktop Breadcrumbs have a default character limit of 15. This can be overridden by passing in a `characterLimit` to Breadcrumbs. callout, backButtonProps, textUnderlineCharacterLimit, // No default set here. This can be set by passing in a `textUnderlineCharacterLimit` to Breadcrumbs. qaTestId = 'desktop-breadcrumbs', }: BreadcrumbsProps): React.JSX.Element => { const lastBreadcrumb = breadcrumbs[breadcrumbs.length - 1] const backButtonText = backButtonProps?.text || 'Back' const Breadcrumb = ({ breadcrumb }: { breadcrumb: BreadcrumbType }) => ( ) const Standard = () => ( <> {breadcrumbs.map((b, i) => { if (b.name) { if (breadcrumbs.length - 1 !== i) { return ( ) } else { return ( ) } } else { return } })} ) const Extended = () => ( <> ( setVisible(false)} callout={callout} isDesktop /> )} > {({ setVisible }) => (
)}
{lastBreadcrumb.name ? ( ) : ( )} ) return (
{breadcrumbs.length > 3 ? Extended() : Standard()} {breadcrumbs.length > 1 ? ( backButtonProps?.confirmation ? ( ) : ( ) ) : null}
) } export default DesktopBreadcrumbs