/** * @license EUPL-1.2+ * Copyright Gemeente Amsterdam */ import type { AnchorHTMLAttributes, ElementType, HTMLAttributes, ReactNode } from 'react'; import type { IconProps } from '../Icon'; import type { LogoBrand } from '../Logo'; import type { LogoBrandConfig } from '../Logo/Logo'; export type PageHeaderProps = { /** The name of the application. */ readonly brandName?: string; /** * A shorter form of the name of the application. * Provide this only together with a `brandName`. */ readonly brandNameShort?: string; /** * Whether the mega menu is open initially. * Ignored when `open` is provided. * @default false */ readonly defaultOpen?: boolean; /** The accessible name of the logo. */ readonly logoAccessibleName?: string; /** The name of the brand for which to display the logo. */ readonly logoBrand?: LogoBrand | LogoBrandConfig; /** The url for the link on the logo. */ readonly logoLink?: string; /** The React component or intrinsic element to use for the logo link. */ readonly logoLinkComponent?: ElementType; /** The accessible text for the link on the logo. */ readonly logoLinkTitle?: string; /** * An icon to display instead of the default icon. * Websites for the City of Amsterdam must use the default icon. * @default PageHeaderMenuIcon */ readonly menuButtonIcon?: IconProps['svg']; /** The visible text for the menu button. */ readonly menuButtonText?: string; /** The text for screen readers when the button hides the menu. */ readonly menuButtonTextForHide?: string; /** The text for screen readers when the button shows the menu. */ readonly menuButtonTextForShow?: string; /** A slot for the menu items. Use PageHeader.MenuLink here. */ readonly menuItems?: ReactNode; /** * The accessible label for the navigation section. * @default Hoofdmenu */ readonly navigationLabel?: string; /** Hides the menu button on wide windows. */ readonly noMenuButtonOnWideWindow?: boolean; /** Callback fired when the mega menu is opened or closed. Receives the new open state. */ readonly onOpenChange?: (open: boolean) => void; /** * Whether the mega menu is open. * When provided, the component is controlled and internal state is ignored. */ readonly open?: boolean; } & Readonly>; /** * Conveys the identity and authority of the website through a logo and optional navigation links. * * @see {@link https://designsystem.amsterdam/?path=/docs/components-containers-page-header--docs Page Header docs at Amsterdam Design System} */ export declare const PageHeader: import("react").ForwardRefExoticComponent<{ /** The name of the application. */ readonly brandName?: string; /** * A shorter form of the name of the application. * Provide this only together with a `brandName`. */ readonly brandNameShort?: string; /** * Whether the mega menu is open initially. * Ignored when `open` is provided. * @default false */ readonly defaultOpen?: boolean; /** The accessible name of the logo. */ readonly logoAccessibleName?: string; /** The name of the brand for which to display the logo. */ readonly logoBrand?: LogoBrand | LogoBrandConfig; /** The url for the link on the logo. */ readonly logoLink?: string; /** The React component or intrinsic element to use for the logo link. */ readonly logoLinkComponent?: ElementType; /** The accessible text for the link on the logo. */ readonly logoLinkTitle?: string; /** * An icon to display instead of the default icon. * Websites for the City of Amsterdam must use the default icon. * @default PageHeaderMenuIcon */ readonly menuButtonIcon?: IconProps["svg"]; /** The visible text for the menu button. */ readonly menuButtonText?: string; /** The text for screen readers when the button hides the menu. */ readonly menuButtonTextForHide?: string; /** The text for screen readers when the button shows the menu. */ readonly menuButtonTextForShow?: string; /** A slot for the menu items. Use PageHeader.MenuLink here. */ readonly menuItems?: ReactNode; /** * The accessible label for the navigation section. * @default Hoofdmenu */ readonly navigationLabel?: string; /** Hides the menu button on wide windows. */ readonly noMenuButtonOnWideWindow?: boolean; /** Callback fired when the mega menu is opened or closed. Receives the new open state. */ readonly onOpenChange?: (open: boolean) => void; /** * Whether the mega menu is open. * When provided, the component is controlled and internal state is ignored. */ readonly open?: boolean; } & Readonly> & import("react").RefAttributes> & { GridCellNarrowWindowOnly: import("react").ForwardRefExoticComponent>; MenuLink: import("react").ForwardRefExoticComponent<{ readonly fixed?: boolean; readonly icon?: IconProps["svg"]; readonly linkComponent?: ElementType; } & Readonly>> & import("react").RefAttributes>; };