Header component

Hierarchy (view full)

Constructors

Properties

_$root: HTMLElement
_config: any
$menu: HTMLElement
$menuButton: Element
menuIsOpen: boolean = false

Save the opened/closed state for the nav in memory so that we can accurately maintain state when the screen is changed from small to big and back to small

mql: MediaQueryList = null

A global const for storing a matchMedia instance which we'll use to detect when a screen size change happens. We rely on it being null if the feature isn't available to initially apply hidden attributes

elementType: (new () => Element) = HTMLElement
moduleName: string = 'govuk-header'

Name for the component used when initialising using data-module attributes.

Accessors

Methods

  • Private

    Sync menu state

    Uses the global variable menuIsOpen to correctly set the accessible and visual states of the menu and the menu button. Additionally will force the menu to be visible and the menu button to be hidden if the matchMedia is triggered to desktop.

    Returns void

  • Private

    Handle menu button click

    When the menu button is clicked, change the visibility of the menu and then sync the accessibility state and menu button state

    Returns void

  • Override configuration

    Parameters

    • config: {
          [key: string]: unknown;
      }

      config to override

      • [key: string]: unknown

    Returns {
        [key: string]: unknown;
    }

    • overidden config
    • [key: string]: unknown