diff --git a/.changeset/smooth-bats-jump.md b/.changeset/smooth-bats-jump.md
new file mode 100644
index 00000000000..a7e6f64b623
--- /dev/null
+++ b/.changeset/smooth-bats-jump.md
@@ -0,0 +1,5 @@
+---
+'@shopify/polaris': patch
+---
+
+[Page] prevent vertical content shift of header with metadata and actions
diff --git a/polaris-react/src/components/Page/Page.stories.tsx b/polaris-react/src/components/Page/Page.stories.tsx
index adcf16fcbb2..c0154af001d 100644
--- a/polaris-react/src/components/Page/Page.stories.tsx
+++ b/polaris-react/src/components/Page/Page.stories.tsx
@@ -1,20 +1,20 @@
import React from 'react';
import type {ComponentMeta} from '@storybook/react';
import {
- DeleteMinor,
- PlusMinor,
ArrowDownMinor,
+ DeleteMinor,
ExternalMinor,
- ViewMinor,
MobileVerticalDotsMajor,
+ PlusMinor,
+ ViewMinor,
} from '@shopify/polaris-icons';
import {
Badge,
Button,
LegacyCard,
+ LegacyStack,
Page,
PageActions,
- LegacyStack,
} from '@shopify/polaris';
export default {
@@ -346,3 +346,31 @@ export function WithContentAfterTitle() {
);
}
+
+export function WithContentAfterTitleAndSubtitle() {
+ return (
+
+ All locations
+
+ }
+ subtitle="Created: May 3, 2019 to June 2, 2019"
+ primaryAction={{content: 'Save', disabled: true}}
+ secondaryActions={[
+ {content: 'Duplicate'},
+ {content: 'View on your store'},
+ ]}
+ pagination={{
+ hasPrevious: true,
+ hasNext: true,
+ }}
+ >
+
+ Credit card information
+
+
+ );
+}
diff --git a/polaris-react/src/components/Page/components/Header/components/Title/Title.scss b/polaris-react/src/components/Page/components/Header/components/Title/Title.scss
index ff53c322e6b..9c7ce334072 100644
--- a/polaris-react/src/components/Page/components/Header/components/Title/Title.scss
+++ b/polaris-react/src/components/Page/components/Header/components/Title/Title.scss
@@ -6,22 +6,13 @@
font-weight: var(--p-font-weight-bold);
font-size: var(--p-font-size-500);
line-height: var(--p-font-line-height-600);
-}
-
-.TitleWithSubtitle {
- margin-top: 0;
-}
-.SubTitle {
- margin-top: var(--p-space-050);
- color: var(--p-color-text-secondary);
-
- &.SubtitleCompact {
- margin-top: var(--p-space-050);
+ &.TitleWithSubtitle {
+ margin-top: 0;
}
}
-.TitleWithMetadataWrapper {
+.TitleWrapper {
display: flex;
flex-wrap: wrap;
align-items: center;
@@ -37,9 +28,13 @@
display: inline;
}
}
+}
- .TitleMetadata {
- margin-top: 0;
- vertical-align: bottom;
+.SubTitle {
+ margin-top: var(--p-space-050);
+ color: var(--p-color-text-secondary);
+
+ &.SubtitleCompact {
+ margin-top: var(--p-space-050);
}
}
diff --git a/polaris-react/src/components/Page/components/Header/components/Title/Title.tsx b/polaris-react/src/components/Page/components/Header/components/Title/Title.tsx
index 00d6149a5c8..b3f2e0f9ebf 100644
--- a/polaris-react/src/components/Page/components/Header/components/Title/Title.tsx
+++ b/polaris-react/src/components/Page/components/Header/components/Title/Title.tsx
@@ -1,6 +1,7 @@
import React from 'react';
import {classNames} from '../../../../../../utilities/css';
+import {Bleed} from '../../../../../Bleed';
import {Text} from '../../../../../Text';
import styles from './Title.scss';
@@ -30,16 +31,14 @@ export function Title({
const titleMarkup = title ?
{title}
: null;
const titleMetadataMarkup = titleMetadata ? (
- {titleMetadata}
+ {titleMetadata}
) : null;
- const wrappedTitleMarkup = titleMetadata ? (
-
+ const wrappedTitleMarkup = (
+
{titleMarkup}
{titleMetadataMarkup}
- ) : (
- titleMarkup
);
const subtitleMarkup = subtitle ? (