diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index aa193d368..2255445ca 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -11,4 +11,7 @@ packages/dotcom-build-sass/ @financial-times/origami-core @financial-times/platf
# The Pro Personalisation and Discovery are responsible for the pro navigation - UI header's dropdown navigation
-packages/dotcom-ui-header/src/components/dropdown-navigation @financial-times/platforms @financial-times/professional-personalisation-and-discovery
\ No newline at end of file
+packages/dotcom-ui-header/src/components/dropdown-navigation @financial-times/platforms @financial-times/professional-personalisation-and-discovery
+
+# The Pro Personalisation and Discovery are responsible for the pro bar in the new Header Coving of Layout
+packages/dotcom-ui-layout/src/components/professional/headerCoving @financial-times/platforms @financial-times/professional-personalisation-and-discovery
diff --git a/packages/dotcom-ui-layout/README.md b/packages/dotcom-ui-layout/README.md
index 84afff0ef..7563ba9d5 100644
--- a/packages/dotcom-ui-layout/README.md
+++ b/packages/dotcom-ui-layout/README.md
@@ -86,6 +86,8 @@ This component includes styles written in Sass which includes the styles the [he
| footerOptions | TFooterProps | true | `undefined` | Pass options to the footer component |
| footerComponent | ReactElement | true | `undefined` | Pass a custom footer |
| contents | string | true | `undefined` | A prerendered string of HTML used to insert the page contents when not using JSX composition |
+| options | TLayoutProps | true | `undefined` | Pass options to the layout component |
+| options.showProBar | boolean | true | `undefined` | Enable rendering of FT Pro Bar in the header coving area. |
\* Navigation data is required to render all [header] variants except for `"logo-only"`. Navigation data is required to render all built in [footer] components. It is recommended to integrate the [navigation package] with your application to get navigation data.
diff --git a/packages/dotcom-ui-layout/browser.js b/packages/dotcom-ui-layout/browser.js
index bf5db6f9e..c551649a8 100644
--- a/packages/dotcom-ui-layout/browser.js
+++ b/packages/dotcom-ui-layout/browser.js
@@ -1,5 +1,6 @@
import * as footer from '@financial-times/dotcom-ui-footer/browser'
import * as header from '@financial-times/dotcom-ui-header/browser'
+import { ProBar } from './src/components/professional/headerCoving'
// Polyfill for :focus-visible https://github.com/WICG/focus-visible
// NOTE: v5 of this polyfill is not yet supported by o-normalise
// https://github.com/WICG/focus-visible/pull/196/files
@@ -9,4 +10,5 @@ import 'focus-visible'
export function init({ headerOptions = {}, footerOptions = {} } = {}) {
header.init(headerOptions)
footer.init(footerOptions)
+ ProBar.init()
}
diff --git a/packages/dotcom-ui-layout/src/components/Layout.tsx b/packages/dotcom-ui-layout/src/components/Layout.tsx
index 5df395221..3be0f79a0 100644
--- a/packages/dotcom-ui-layout/src/components/Layout.tsx
+++ b/packages/dotcom-ui-layout/src/components/Layout.tsx
@@ -10,6 +10,7 @@ import {
import { TNavigationData } from '@financial-times/dotcom-types-navigation'
import { Footer, LegalFooter, TFooterOptions } from '@financial-times/dotcom-ui-footer/component'
import Template from './Template'
+import { HeaderCoving } from './professional/headerCoving'
enum Headers {
simple = HeaderSimple,
@@ -23,6 +24,10 @@ enum Footers {
legal = LegalFooter
}
+export type TLayoutOptions = {
+ showProBar?: boolean
+}
+
export type TLayoutProps = {
navigationData?: TNavigationData
headerOptions?: THeaderOptions
@@ -37,6 +42,7 @@ export type TLayoutProps = {
footerAfter?: string | React.ReactNode
children?: React.ReactNode
contents?: string
+ options?: TLayoutOptions
}
export function Layout({
@@ -52,7 +58,8 @@ export function Layout({
footerComponent,
footerAfter,
children,
- contents
+ contents,
+ options
}: TLayoutProps) {
let header = null
let drawer = null
@@ -101,6 +108,7 @@ export function Layout({