@oslokommune/punkt-elements
Version:
Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo
53 lines (52 loc) • 1.83 kB
TypeScript
import { PktElementWithSlot } from '../../base-elements/element-with-slot';
import { PropertyValues } from 'lit';
import { User, Representing, UserMenuItem, THeaderMenu, TLogOutButtonPlacement, THeaderPosition, THeaderScrollBehavior, TSlotMenuVariant, IPktHeader, Booleanish } from './types';
/**
* PktHeader - Main header component for Oslo kommune services
*
* This component provides a complete header solution with:
* - Logo and service name
* - User menu with login/logout functionality
* - Search functionality
* - Responsive mobile menu
* - Fixed positioning with scroll-to-hide
*
* TODO: Add `type` prop to switch between `service` and `global` header types
*/
export declare class PktHeader extends PktElementWithSlot<IPktHeader> implements IPktHeader {
serviceName?: string;
serviceLink?: string;
logoLink?: string;
searchPlaceholder: string;
searchValue: string;
mobileBreakpoint: number;
tabletBreakpoint: number;
openedMenu: THeaderMenu;
logOutButtonPlacement: TLogOutButtonPlacement;
position: THeaderPosition;
scrollBehavior: THeaderScrollBehavior;
slotMenuVariant: TSlotMenuVariant;
slotMenuText: string;
hideLogo: Booleanish;
compact: Booleanish;
showSearch: Booleanish;
canChangeRepresentation: Booleanish;
hasLogOut: Booleanish;
user?: User;
userMenu?: UserMenuItem[];
representing?: Representing;
userMenuFooter?: UserMenuItem[];
userOptions?: UserMenuItem[];
firstUpdated(changedProperties: PropertyValues): void;
private emitDeprecationWarnings;
/**
* Convert deprecated props to new props
*/
private get effectiveUserMenu();
render(): import('lit-html').TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'pkt-header': PktHeader;
}
}