@oslokommune/punkt-elements
Version:
Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo
87 lines (86 loc) • 2.81 kB
TypeScript
import { PktElementWithSlot } from '../../base-elements/element-with-slot';
import { PropertyValues, TemplateResult } from 'lit';
import { User, Representing, UserMenuItem, THeaderMenu, TLogOutButtonPlacement, THeaderPosition, THeaderScrollBehavior, TSlotMenuVariant, IPktHeader, Booleanish } from './types';
export declare class PktHeaderService 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;
private isMobile;
private isTablet;
private openMenu;
private isHidden;
private componentWidth;
private alignSlotRight;
private alignSearchRight;
private headerRef;
private userContainerRef;
private slotContainerRef;
private searchContainerRef;
private slotContentRef;
private searchMenuRef;
private resizeObserver?;
private lastScrollPosition;
private savedScrollY;
private lastFocusedElement;
private shouldRestoreFocus;
connectedCallback(): void;
disconnectedCallback(): void;
firstUpdated(): void;
updated(changedProperties: PropertyValues): void;
private setupResizeObserver;
private updateIsMobile;
private updateIsTablet;
private updateScrollLock;
private lockScroll;
private unlockScroll;
private setupScrollListener;
private handleScroll;
private handleClickOutside;
private handleFocusOut;
private handleEscapeKey;
private restoreFocus;
private checkDropdownAlignment;
private handleMenuToggle;
private handleLogoClick;
private handleServiceClick;
private handleLogout;
private handleSearch;
private handleSearchChange;
private handleSearchInputChange;
private handleSearchKeyDown;
private get formattedLastLoggedIn();
private get isFixed();
private get shouldHideOnScroll();
private get showLogoutInHeader();
private get showLogoutInUserMenu();
private renderLogo;
private renderServiceName;
private renderSlotContainer;
private renderSearch;
private renderUserButton;
private renderHeader;
render(): TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'pkt-header-service': PktHeaderService;
}
}