diff --git a/src/nationalarchives/components/filters/filters.scss b/src/nationalarchives/components/filters/filters.scss
index 8ed59635..f0c2c192 100644
--- a/src/nationalarchives/components/filters/filters.scss
+++ b/src/nationalarchives/components/filters/filters.scss
@@ -12,15 +12,6 @@
&__item {
}
- &__item--selected #{&}__link {
- &,
- &:link,
- &:visited,
- &:hover {
- @include colour.accent;
- }
- }
-
&__link {
padding: 0.125rem 0.75rem;
@@ -40,4 +31,13 @@
@include colour.accent-light;
}
}
+
+ &__item--selected &__link {
+ &,
+ &:link,
+ &:visited,
+ &:hover {
+ @include colour.accent;
+ }
+ }
}
diff --git a/src/nationalarchives/components/global-header/fixtures.json b/src/nationalarchives/components/global-header/fixtures.json
index cd4891ff..f188bd0e 100644
--- a/src/nationalarchives/components/global-header/fixtures.json
+++ b/src/nationalarchives/components/global-header/fixtures.json
@@ -39,7 +39,7 @@
}
]
},
- "html": "",
+ "html": "",
"hidden": false
}
]
diff --git a/src/nationalarchives/components/global-header/global-header.scss b/src/nationalarchives/components/global-header/global-header.scss
index e502d63c..d19f8aaf 100644
--- a/src/nationalarchives/components/global-header/global-header.scss
+++ b/src/nationalarchives/components/global-header/global-header.scss
@@ -216,47 +216,51 @@
}
}
- @include media.on-smaller-than-large {
- &__navigation,
- &__navigation-item,
+ @include media.on-medium {
&__navigation-item-link {
- height: auto;
+ @include typography.relative-font-size(16);
}
- &__navigation-item-link {
- padding-top: 0.375rem;
- padding-bottom: 0.375rem;
+ &--collapse-on-medium &__navigation-wrapper {
+ width: 100%;
+ }
- line-height: inherit;
+ &--collapse-on-medium &__top-navigation-wrapper {
+ flex: 1;
+ order: 2;
}
- }
- @include media.on-medium {
- &__main {
+ &--collapse-on-medium &__main {
padding-bottom: 1rem;
}
- &__logo {
+ &--collapse-on-medium &__logo {
gap: 0.75rem;
}
- &__logo-wrapper {
+ &--collapse-on-medium &__logo-wrapper {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
}
- .tna-logo {
+ &--collapse-on-medium .tna-logo {
width: 5rem;
height: 5rem;
}
- // &__logo-strapline {
+ // &--collapse-on-medium &__logo-strapline {
// line-height: math.div(5rem, 3);
// }
- &__navigation {
+ &--collapse-on-medium &__navigation {
margin-bottom: 0.5rem;
}
+
+ &--collapse-on-medium &__navigation,
+ &--collapse-on-medium &__navigation-item,
+ &--collapse-on-medium &__navigation-item-link {
+ height: auto;
+ }
}
@include media.on-mobile {
@@ -279,8 +283,13 @@
align-items: center;
}
- &__navigation {
+ &__navigation,
+ &__navigation-item,
+ &__navigation-item-link {
height: auto;
+ }
+
+ &__navigation {
margin-top: 0;
columns: 1;
diff --git a/src/nationalarchives/components/global-header/global-header.stories.js b/src/nationalarchives/components/global-header/global-header.stories.js
index 62149500..896437d5 100644
--- a/src/nationalarchives/components/global-header/global-header.stories.js
+++ b/src/nationalarchives/components/global-header/global-header.stories.js
@@ -7,6 +7,7 @@ const argTypes = {
logo: { control: "object" },
topNavigation: { control: "object" },
navigation: { control: "object" },
+ collapseOnMedium: { control: "boolean" },
classes: { control: "text" },
attributes: { control: "object" },
};
@@ -25,12 +26,20 @@ export default {
},
};
-const Template = ({ logo, topNavigation, navigation, classes, attributes }) =>
+const Template = ({
+ logo,
+ topNavigation,
+ navigation,
+ collapseOnMedium,
+ classes,
+ attributes,
+}) =>
Header({
params: {
logo,
topNavigation,
navigation,
+ collapseOnMedium,
classes,
attributes,
},
@@ -174,6 +183,67 @@ Medium.play = async ({ canvasElement }) => {
await expect($navigationToggle).not.toBeVisible();
};
+export const MediumCollapsed = Template.bind({});
+MediumCollapsed.parameters = {
+ viewport: {
+ defaultViewport: "medium",
+ },
+ chromatic: {
+ viewports: [customViewports["medium"].styles.width.replace(/px$/, "")],
+ },
+};
+MediumCollapsed.args = {
+ logo: {
+ strapline: "Design System",
+ href: "#/",
+ },
+ topNavigation: [
+ {
+ text: "Search",
+ href: "#/search",
+ icon: "search",
+ },
+ {
+ text: "Shop",
+ href: "#/shop",
+ icon: "bag-shopping",
+ },
+ {
+ text: "Sign in",
+ href: "#/sign-in",
+ icon: "user",
+ },
+ ],
+ navigation: [
+ {
+ text: "Visit",
+ href: "#/visit",
+ },
+ {
+ text: "What's on",
+ href: "#/whats-on",
+ },
+ {
+ text: "Explore the collection",
+ href: "#/explore-the-collection",
+ },
+ {
+ text: "Using the archives",
+ href: "#/using-the-archives",
+ },
+ {
+ text: "Learn",
+ href: "#/learn",
+ },
+ {
+ text: "Professional guidance & services",
+ href: "#/professional-guidance-and-services",
+ },
+ ],
+ collapseOnMedium: true,
+ classes: "tna-global-header--demo",
+};
+
export const Mobile = Template.bind({});
Mobile.parameters = {
viewport: {
diff --git a/src/nationalarchives/components/global-header/template.njk b/src/nationalarchives/components/global-header/template.njk
index 16052370..0830bb62 100644
--- a/src/nationalarchives/components/global-header/template.njk
+++ b/src/nationalarchives/components/global-header/template.njk
@@ -1,4 +1,7 @@
{%- set containerClasses = [params.classes] if params.classes else [] -%}
+{%- if params.collapseOnMedium -%}
+ {%- set containerClasses = containerClasses.concat('tna-global-header--collapse-on-medium') -%}
+{%- endif -%}