Skip to content

Commit 1125087

Browse files
authored
[Page Header] Remove additionalNavigation prop (#10271)
Closes #10247 Low hanging fruit, not used in web, not mentioned in coverage site either https://coverage.polaris.shopify.io/usage/component?repo=shopify%2Fweb&type=components&element=%3CPage%3E
1 parent b9bcaef commit 1125087

File tree

3 files changed

+9
-43
lines changed

3 files changed

+9
-43
lines changed

.changeset/light-gorillas-smell.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@shopify/polaris': major
3+
---
4+
5+
Removed deprecated additionalNavigation prop on Page Header

polaris-react/src/components/Page/components/Header/Header.tsx

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ export interface HeaderProps extends TitleProps {
5858
secondaryActions?: MenuActionDescriptor[] | React.ReactNode;
5959
/** Collection of page-level groups of secondary actions */
6060
actionGroups?: MenuGroupDescriptor[];
61-
/** @deprecated Additional navigation markup */
62-
additionalNavigation?: React.ReactNode;
6361
// Additional meta data
6462
additionalMetadata?: React.ReactNode | string;
6563
/** Callback that returns true when secondary actions are rolled up into action groups, and false when not */
@@ -78,7 +76,6 @@ export function Header({
7876
titleHidden = false,
7977
primaryAction,
8078
pagination,
81-
additionalNavigation,
8279
backAction,
8380
secondaryActions = [],
8481
actionGroups = [],
@@ -88,13 +85,6 @@ export function Header({
8885
const i18n = useI18n();
8986
const {isNavigationCollapsed} = useMediaQuery();
9087

91-
if (additionalNavigation && process.env.NODE_ENV === 'development') {
92-
// eslint-disable-next-line no-console
93-
console.warn(
94-
'Deprecation: The `additionalNavigation` on Page is deprecated and will be removed in the next major version.',
95-
);
96-
}
97-
9888
const isSingleRow =
9989
!primaryAction &&
10090
!pagination &&
@@ -119,12 +109,6 @@ export function Header({
119109
</div>
120110
) : null;
121111

122-
const additionalNavigationMarkup = additionalNavigation ? (
123-
<InlineStack gap="4" align="end">
124-
<Box printHidden>{additionalNavigation}</Box>
125-
</InlineStack>
126-
) : null;
127-
128112
const pageTitleMarkup = (
129113
<div className={styles.TitleWrapper}>
130114
<Title
@@ -163,7 +147,7 @@ export function Header({
163147
}
164148

165149
const navigationMarkup =
166-
breadcrumbMarkup || paginationMarkup || additionalNavigationMarkup ? (
150+
breadcrumbMarkup || paginationMarkup ? (
167151
<Box
168152
printHidden
169153
paddingBlockEnd="1"
@@ -173,7 +157,6 @@ export function Header({
173157
>
174158
<InlineStack gap="4" align="space-between" blockAlign="center">
175159
{breadcrumbMarkup}
176-
{additionalNavigationMarkup}
177160
{paginationMarkup}
178161
</InlineStack>
179162
</Box>
@@ -197,10 +180,9 @@ export function Header({
197180
title && title.length > LONG_TITLE && styles.longTitle,
198181
);
199182

200-
const {slot1, slot2, slot3, slot4, slot5, slot6} = determineLayout({
183+
const {slot1, slot2, slot3, slot4, slot5} = determineLayout({
201184
actionMenuMarkup,
202185
additionalMetadataMarkup,
203-
additionalNavigationMarkup,
204186
breadcrumbMarkup,
205187
isNavigationCollapsed,
206188
pageTitleMarkup,
@@ -240,12 +222,9 @@ export function Header({
240222
</ConditionalRender>
241223
</div>
242224
</ConditionalRender>
243-
<ConditionalRender condition={[slot5, slot6].some(notNull)}>
225+
<ConditionalRender condition={[slot5].some(notNull)}>
244226
<div className={styles.Row}>
245227
<InlineStack gap="4">{slot5}</InlineStack>
246-
<ConditionalRender condition={slot6 != null}>
247-
<div className={styles.RightAlign}>{slot6}</div>
248-
</ConditionalRender>
249228
</div>
250229
</ConditionalRender>
251230
</div>
@@ -316,7 +295,6 @@ function notNull(value: any) {
316295
function determineLayout({
317296
actionMenuMarkup,
318297
additionalMetadataMarkup,
319-
additionalNavigationMarkup,
320298
breadcrumbMarkup,
321299
isNavigationCollapsed,
322300
pageTitleMarkup,
@@ -326,7 +304,6 @@ function determineLayout({
326304
}: {
327305
actionMenuMarkup: MaybeJSX;
328306
additionalMetadataMarkup: MaybeJSX;
329-
additionalNavigationMarkup: MaybeJSX;
330307
breadcrumbMarkup: MaybeJSX;
331308
isNavigationCollapsed: boolean;
332309
pageTitleMarkup: JSX.Element;
@@ -338,7 +315,7 @@ function determineLayout({
338315
// |----------------------------------------------------|
339316
// | slot1 | slot2 | | slot3 | slot4 |
340317
// |----------------------------------------------------|
341-
// | slot5 | | slot6 |
318+
// | slot5 | |
342319
// |----------------------------------------------------|
343320
//
344321
const layouts = {
@@ -349,7 +326,6 @@ function determineLayout({
349326
slot3: actionMenuMarkup,
350327
slot4: primaryActionMarkup,
351328
slot5: additionalMetadataMarkup,
352-
slot6: additionalNavigationMarkup,
353329
},
354330
condition:
355331
isNavigationCollapsed &&
@@ -364,7 +340,6 @@ function determineLayout({
364340
slot3: actionMenuMarkup,
365341
slot4: primaryActionMarkup,
366342
slot5: additionalMetadataMarkup,
367-
slot6: additionalNavigationMarkup,
368343
},
369344
condition: isNavigationCollapsed,
370345
},
@@ -375,7 +350,6 @@ function determineLayout({
375350
slot3: actionMenuMarkup,
376351
slot4: primaryActionMarkup,
377352
slot5: additionalMetadataMarkup,
378-
slot6: additionalNavigationMarkup,
379353
},
380354
condition:
381355
!isNavigationCollapsed &&
@@ -396,7 +370,6 @@ function determineLayout({
396370
),
397371
slot4: paginationMarkup,
398372
slot5: additionalMetadataMarkup,
399-
slot6: additionalNavigationMarkup,
400373
},
401374
condition: !isNavigationCollapsed,
402375
},

polaris-react/src/components/Page/components/Header/tests/Header.test.tsx

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -181,18 +181,6 @@ describe('<Header />', () => {
181181
});
182182
});
183183

184-
describe('additionalNavigation', () => {
185-
it('renders element if passed', () => {
186-
const TestComponent = () => <div />;
187-
188-
const header = mountWithApp(
189-
<Header {...mockProps} additionalNavigation={<TestComponent />} />,
190-
);
191-
192-
expect(header).toContainReactComponent(TestComponent);
193-
});
194-
});
195-
196184
describe('action menu', () => {
197185
const mockSecondaryActions: HeaderProps['secondaryActions'] = [
198186
{content: 'mock content 1'},

0 commit comments

Comments
 (0)