@@ -16,6 +16,7 @@ export interface BreadcrumbsProps {
1616 delimiter : Delimiter ;
1717 isSmall ?: boolean ;
1818 onCrumbClick : ( item : string ) => void ;
19+ portalElement ?: HTMLElement ;
1920 rootId : string ;
2021}
2122
@@ -46,12 +47,13 @@ function getBreadcrumb(
4647 isLast : boolean ,
4748 onCrumbClick : ( item : string ) => void ,
4849 delimiter : Delimiter ,
50+ portalElement ?: HTMLElement ,
4951) {
5052 if ( Array . isArray ( crumbs ) ) {
5153 const condensed = delimiter !== DELIMITER_CARET ;
5254 return (
5355 < span className = "be-breadcrumb-more" >
54- < BreadcrumbDropdown crumbs = { crumbs } onCrumbClick = { onCrumbClick } />
56+ < BreadcrumbDropdown crumbs = { crumbs } onCrumbClick = { onCrumbClick } portalElement = { portalElement } />
5557 < BreadcrumbDelimiter delimiter = { condensed ? DELIMITER_SLASH : DELIMITER_CARET } />
5658 </ span >
5759 ) ;
@@ -61,7 +63,7 @@ function getBreadcrumb(
6163 return < Breadcrumb delimiter = { delimiter } isLast = { isLast } name = { name } onClick = { ( ) => onCrumbClick ( id ) } /> ;
6264}
6365
64- const Breadcrumbs = ( { rootId , crumbs, onCrumbClick , delimiter, isSmall = false } : BreadcrumbsProps ) => {
66+ const Breadcrumbs = ( { crumbs, delimiter, isSmall = false , onCrumbClick , portalElement , rootId } : BreadcrumbsProps ) => {
6567 const { formatMessage } = useIntl ( ) ;
6668
6769 if ( ! rootId || crumbs . length === 0 ) {
@@ -86,14 +88,17 @@ const Breadcrumbs = ({ rootId, crumbs, onCrumbClick, delimiter, isSmall = false
8688
8789 // Always show the second last/parent breadcrumb when there are at least 2 crumbs.
8890 const secondLastBreadcrumb =
89- length > 1 ? getBreadcrumb ( filteredCrumbs [ length - 2 ] , false , onCrumbClick , delimiter ) : null ;
91+ length > 1 ? getBreadcrumb ( filteredCrumbs [ length - 2 ] , false , onCrumbClick , delimiter , portalElement ) : null ;
9092
9193 // Only show the more dropdown when there were at least 4 crumbs.
9294 const moreBreadcrumbs =
93- length > 3 ? getBreadcrumb ( filteredCrumbs . slice ( 1 , length - 2 ) , false , onCrumbClick , delimiter ) : null ;
95+ length > 3
96+ ? getBreadcrumb ( filteredCrumbs . slice ( 1 , length - 2 ) , false , onCrumbClick , delimiter , portalElement )
97+ : null ;
9498
9599 // Only show the root breadcrumb when there are at least 3 crumbs.
96- const firstBreadcrumb = length > 2 ? getBreadcrumb ( filteredCrumbs [ 0 ] , false , onCrumbClick , delimiter ) : null ;
100+ const firstBreadcrumb =
101+ length > 2 ? getBreadcrumb ( filteredCrumbs [ 0 ] , false , onCrumbClick , delimiter , portalElement ) : null ;
97102
98103 return (
99104 < div className = "be-breadcrumbs" >
0 commit comments