Skip to content

Commit dbe2b58

Browse files
authored
fix(DynamicPageTitle): spread breadcrumbs if only child (#5001)
Fixes #5000
1 parent 98111a7 commit dbe2b58

File tree

3 files changed

+48
-3
lines changed

3 files changed

+48
-3
lines changed

packages/main/src/components/DynamicPageTitle/DynamicPageTitle.cy.tsx

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useRef, useState } from 'react';
22
import type { DynamicPageTitlePropTypes } from '../..';
3-
import { DynamicPage, ObjectPage, Title } from '../..';
3+
import { Breadcrumbs, BreadcrumbsItem, DynamicPage, ObjectPage, Title } from '../..';
44
import { Button } from '../../webComponents/index.js';
55
import { DynamicPageTitle } from './';
66

@@ -102,4 +102,46 @@ describe('DynamicPageTitle', () => {
102102
cy.get('[data-component-name="ToolbarOverflowButton"]').should('be.visible');
103103
});
104104
});
105+
106+
it('breadcrumbs spread', () => {
107+
[true, false].forEach((isObjectPage) => {
108+
cy.viewport(1920, 1080);
109+
cy.mount(
110+
<PageComponent
111+
isObjectPage={isObjectPage}
112+
dynamicPageTitleProps={{
113+
navigationActions: undefined,
114+
breadcrumbs: (
115+
<Breadcrumbs data-testid="breadcrumbs">
116+
{new Array(14).fill(1337).map((item, index) => (
117+
<BreadcrumbsItem key={index}>{`BreadcrumbsItem ${index}`}</BreadcrumbsItem>
118+
))}
119+
</Breadcrumbs>
120+
)
121+
}}
122+
/>
123+
);
124+
// no nav actions
125+
cy.findByTestId('breadcrumbs').parent().should('have.css', 'width', '1808px' /*100%*/);
126+
cy.mount(
127+
<PageComponent
128+
isObjectPage={isObjectPage}
129+
dynamicPageTitleProps={{
130+
breadcrumbs: (
131+
<Breadcrumbs data-testid="breadcrumbs">
132+
{new Array(14).fill(1337).map((item, index) => (
133+
<BreadcrumbsItem key={index}>{`BreadcrumbsItem ${index}`}</BreadcrumbsItem>
134+
))}
135+
</Breadcrumbs>
136+
)
137+
}}
138+
/>
139+
);
140+
// nav actions in actions toolbar
141+
cy.findByTestId('breadcrumbs').parent().should('have.css', 'width', '1808px' /*100%*/);
142+
cy.viewport(1000, 1000);
143+
// w/ nav actions
144+
cy.findByTestId('breadcrumbs').parent().should('have.css', 'width', '460px' /*50% (min-width)*/);
145+
});
146+
});
105147
});

packages/main/src/components/DynamicPageTitle/DynamicPageTitle.jss.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,10 @@ export const DynamicPageTitleStyles = {
3030
},
3131
breadcrumbs: {
3232
minWidth: '50%',
33-
padding: '0.5rem 0 0.25rem 0'
33+
padding: '0.5rem 0 0.25rem 0',
34+
'&:only-child': {
35+
width: '100%'
36+
}
3437
},
3538
titleMainSection: {
3639
overflowX: 'hidden',

packages/main/src/components/DynamicPageTitle/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ const DynamicPageTitle = forwardRef<HTMLDivElement, DynamicPageTitlePropTypes>((
223223
{breadcrumbs}
224224
</div>
225225
)}
226-
{showNavigationInTopArea && (
226+
{navigationActions && showNavigationInTopArea && (
227227
<Toolbar
228228
tabIndex={undefined}
229229
role={undefined}

0 commit comments

Comments
 (0)