/** * @license * * Copyright IBM Corp. 2020, 2025 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import { LitElement, TemplateResult } from 'lit'; import { MastheadL1, MastheadLogoData, MastheadProfileItem, L0MenuItem, L0Megamenu, MegapanelLinkGroup } from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/translateAPI'; import { MASTHEAD_AUTH_METHOD } from '../../internal/vendor/@carbon/ibmdotcom-services-store/types/profileAPI.js'; import './masthead'; import './masthead-l1'; import './masthead-l1-cta'; import './masthead-l1-name'; import './masthead-menu-button'; import './masthead-contact'; import './masthead-global-bar'; import './masthead-profile'; import './masthead-profile-item'; import './masthead-cart'; import './megamenu-language-selector'; import './megamenu'; import './megamenu-heading'; import './megamenu-top-nav-menu'; import './skip-to-content'; import './top-nav'; import './top-nav-l1'; import './top-nav-name'; import './top-nav-item'; import './top-nav-menu'; import './top-nav-menu-item'; import './left-nav'; import '../search-with-typeahead/search-with-typeahead'; import '../search-with-typeahead/search-with-typeahead-item'; import { MEGAMENU_LAYOUT_SCHEME } from './defs'; /** * Globally-scoped Contact Module variable. * * @see https://github.ibm.com/live-advisor/cm-app */ export interface CMApp { version: string; ready: boolean; init: Function; minimize: Function; refresh: Function; register: Function; deregister: Function; fireEvent: Function; update: Function; props: { eventHandlers: any; events: CustomEvent[]; getLoadedBundle: Function; }; } declare const C4DMastheadComposite_base: { new (...args: any[]): { _handles: Set; connectedCallback(): void; disconnectedCallback(): void; accessKey: string; readonly accessKeyLabel: string; autocapitalize: string; dir: string; draggable: boolean; hidden: boolean; inert: boolean; innerText: string; lang: string; readonly offsetHeight: number; readonly offsetLeft: number; readonly offsetParent: Element | null; readonly offsetTop: number; readonly offsetWidth: number; outerText: string; popover: string | null; spellcheck: boolean; title: string; translate: boolean; attachInternals(): ElementInternals; click(): void; hidePopover(): void; showPopover(): void; togglePopover(force?: boolean): boolean; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; readonly attributes: NamedNodeMap; readonly classList: DOMTokenList; className: string; readonly clientHeight: number; readonly clientLeft: number; readonly clientTop: number; readonly clientWidth: number; id: string; readonly localName: string; readonly namespaceURI: string | null; onfullscreenchange: ((this: Element, ev: Event) => any) | null; onfullscreenerror: ((this: Element, ev: Event) => any) | null; outerHTML: string; readonly ownerDocument: Document; readonly part: DOMTokenList; readonly prefix: string | null; readonly scrollHeight: number; scrollLeft: number; scrollTop: number; readonly scrollWidth: number; readonly shadowRoot: ShadowRoot | null; slot: string; readonly tagName: string; attachShadow(init: ShadowRootInit): ShadowRoot; checkVisibility(options?: CheckVisibilityOptions): boolean; closest(selector: K): HTMLElementTagNameMap[K] | null; closest(selector: K): SVGElementTagNameMap[K] | null; closest(selector: K): MathMLElementTagNameMap[K] | null; closest(selectors: string): E | null; computedStyleMap(): StylePropertyMapReadOnly; getAttribute(qualifiedName: string): string | null; getAttributeNS(namespace: string | null, localName: string): string | null; getAttributeNames(): string[]; getAttributeNode(qualifiedName: string): Attr | null; getAttributeNodeNS(namespace: string | null, localName: string): Attr | null; getBoundingClientRect(): DOMRect; getClientRects(): DOMRectList; getElementsByClassName(classNames: string): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf; hasAttribute(qualifiedName: string): boolean; hasAttributeNS(namespace: string | null, localName: string): boolean; hasAttributes(): boolean; hasPointerCapture(pointerId: number): boolean; insertAdjacentElement(where: InsertPosition, element: Element): Element | null; insertAdjacentHTML(position: InsertPosition, text: string): void; insertAdjacentText(where: InsertPosition, data: string): void; matches(selectors: string): boolean; releasePointerCapture(pointerId: number): void; removeAttribute(qualifiedName: string): void; removeAttributeNS(namespace: string | null, localName: string): void; removeAttributeNode(attr: Attr): Attr; requestFullscreen(options?: FullscreenOptions): Promise; requestPointerLock(): void; scroll(options?: ScrollToOptions): void; scroll(x: number, y: number): void; scrollBy(options?: ScrollToOptions): void; scrollBy(x: number, y: number): void; scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void; scrollTo(options?: ScrollToOptions): void; scrollTo(x: number, y: number): void; setAttribute(qualifiedName: string, value: string): void; setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; setAttributeNode(attr: Attr): Attr | null; setAttributeNodeNS(attr: Attr): Attr | null; setHTMLUnsafe(html: string): void; setPointerCapture(pointerId: number): void; toggleAttribute(qualifiedName: string, force?: boolean): boolean; webkitMatchesSelector(selectors: string): boolean; readonly baseURI: string; readonly childNodes: NodeListOf; readonly firstChild: ChildNode | null; readonly isConnected: boolean; readonly lastChild: ChildNode | null; readonly nextSibling: ChildNode | null; readonly nodeName: string; readonly nodeType: number; nodeValue: string | null; readonly parentElement: HTMLElement | null; readonly parentNode: ParentNode | null; readonly previousSibling: ChildNode | null; textContent: string | null; appendChild(node: T_1): T_1; cloneNode(deep?: boolean): Node; compareDocumentPosition(other: Node): number; contains(other: Node | null): boolean; getRootNode(options?: GetRootNodeOptions): Node; hasChildNodes(): boolean; insertBefore(node: T_1, child: Node | null): T_1; isDefaultNamespace(namespace: string | null): boolean; isEqualNode(otherNode: Node | null): boolean; isSameNode(otherNode: Node | null): boolean; lookupNamespaceURI(prefix: string | null): string | null; lookupPrefix(namespace: string | null): string | null; normalize(): void; removeChild(child: T_1): T_1; replaceChild(node: Node, child: T_1): T_1; readonly ELEMENT_NODE: 1; readonly ATTRIBUTE_NODE: 2; readonly TEXT_NODE: 3; readonly CDATA_SECTION_NODE: 4; readonly ENTITY_REFERENCE_NODE: 5; readonly ENTITY_NODE: 6; readonly PROCESSING_INSTRUCTION_NODE: 7; readonly COMMENT_NODE: 8; readonly DOCUMENT_NODE: 9; readonly DOCUMENT_TYPE_NODE: 10; readonly DOCUMENT_FRAGMENT_NODE: 11; readonly NOTATION_NODE: 12; readonly DOCUMENT_POSITION_DISCONNECTED: 1; readonly DOCUMENT_POSITION_PRECEDING: 2; readonly DOCUMENT_POSITION_FOLLOWING: 4; readonly DOCUMENT_POSITION_CONTAINS: 8; readonly DOCUMENT_POSITION_CONTAINED_BY: 16; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32; dispatchEvent(event: Event): boolean; ariaAtomic: string | null; ariaAutoComplete: string | null; ariaBrailleLabel: string | null; ariaBrailleRoleDescription: string | null; ariaBusy: string | null; ariaChecked: string | null; ariaColCount: string | null; ariaColIndex: string | null; ariaColSpan: string | null; ariaCurrent: string | null; ariaDescription: string | null; ariaDisabled: string | null; ariaExpanded: string | null; ariaHasPopup: string | null; ariaHidden: string | null; ariaInvalid: string | null; ariaKeyShortcuts: string | null; ariaLabel: string | null; ariaLevel: string | null; ariaLive: string | null; ariaModal: string | null; ariaMultiLine: string | null; ariaMultiSelectable: string | null; ariaOrientation: string | null; ariaPlaceholder: string | null; ariaPosInSet: string | null; ariaPressed: string | null; ariaReadOnly: string | null; ariaRequired: string | null; ariaRoleDescription: string | null; ariaRowCount: string | null; ariaRowIndex: string | null; ariaRowSpan: string | null; ariaSelected: string | null; ariaSetSize: string | null; ariaSort: string | null; ariaValueMax: string | null; ariaValueMin: string | null; ariaValueNow: string | null; ariaValueText: string | null; role: string | null; animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation; getAnimations(options?: GetAnimationsOptions): Animation[]; after(...nodes: (Node | string)[]): void; before(...nodes: (Node | string)[]): void; remove(): void; replaceWith(...nodes: (Node | string)[]): void; innerHTML: string; readonly nextElementSibling: Element | null; readonly previousElementSibling: Element | null; readonly childElementCount: number; readonly children: HTMLCollection; readonly firstElementChild: Element | null; readonly lastElementChild: Element | null; append(...nodes: (Node | string)[]): void; prepend(...nodes: (Node | string)[]): void; querySelector(selectors: K): HTMLElementTagNameMap[K] | null; querySelector(selectors: K): SVGElementTagNameMap[K] | null; querySelector(selectors: K): MathMLElementTagNameMap[K] | null; querySelector(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; querySelector(selectors: string): E | null; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: string): NodeListOf; replaceChildren(...nodes: (Node | string)[]): void; readonly assignedSlot: HTMLSlotElement | null; readonly attributeStyleMap: StylePropertyMap; readonly style: CSSStyleDeclaration; contentEditable: string; enterKeyHint: string; inputMode: string; readonly isContentEditable: boolean; onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onauxclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null; onbeforetoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null; onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null; onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null; onended: ((this: GlobalEventHandlers, ev: Event) => any) | null; onerror: OnErrorEventHandler; onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null; ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null; oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null; onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onload: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null; onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null; onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null; onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null; onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null; onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null; onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null; onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null; onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null; onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null; ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null; ontoggle: ((this: GlobalEventHandlers, ev: Event) => any) | null; ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null; autofocus: boolean; readonly dataset: DOMStringMap; nonce?: string; tabIndex: number; blur(): void; focus(options?: FocusOptions): void; }; _hostListeners: { [listenerName: string]: { [type: string]: { options?: boolean | AddEventListenerOptions; }; }; }; } & typeof LitElement; /** * Component that renders masthead from links, etc. data. * * @element c4d-masthead-composite * @csspart view-all - Targets all view-all elements. Usage: `c4d-masthead-composite::part(view-all)` * @csspart view-all-left - Targets the view all left. Usage: `c4d-masthead-composite::part(view-all-left)` * @csspart view-all-right - Targets the view all right. Usage: `c4d-masthead-composite::part(view-all-right)` * @csspart view-all-bottom - Targets the view all bottom. Usage: `c4d-masthead-composite::part(view-all-bottom)` * @csspart l0-view-all-products-arrow - Targets the view all products arrow icon. Usage: `c4d-masthead-composite::part(l0-view-all-products-arrow)` */ declare class C4DMastheadComposite extends C4DMastheadComposite_base { /** * Renders L1 menu based on l1Data & screen width. * * @returns {TemplateResult | undefined} */ protected _renderL1(): TemplateResult<1> | undefined; /** * Renders masthead logo * * @returns {TemplateResult} A template fragment representing the logo. */ protected _renderLogo(): TemplateResult<1>; /** * Render MegaMenu content * * @param menu megamenu data object * @param _parentKey parent key * @param layout layout selection to render the megamenu with * @returns {TemplateResult} A template fragment representing a megamenu. */ protected _renderMegaMenu(menu: L0Megamenu, _parentKey: any, layout?: MEGAMENU_LAYOUT_SCHEME): TemplateResult; protected get ArrowIcon(): ({ children, ...attrs }?: { children?: import("lit-html").SVGTemplateResult; [attr: string]: any; }) => import("lit-html").SVGTemplateResult; /** * Render MegaMenu content in tabbed layout. * * @param menu megamenu data object * @param _parentKey key that identifies parent nav item * @returns {TemplateResult} A template fragment representing a tabbed megamenu. */ protected _renderMegaMenuTabbed(menu: L0Megamenu, _parentKey: any): TemplateResult<1>; /** * Render individual tabpanel in a tabbed megamenu. * * @param menuItem menuItem data object * @returns {TemplateResult} A template fragment representing a megamenu tabpanel. */ protected _renderMegamenuTabPanel(menuItem: any): TemplateResult<1>; /** * Render MegaMenu content in listing layout. * * @param menu megamenu data object * @param _parentKey key that identifies parent nav item * @returns {TemplateResult} A template fragment representing a listing megamenu. */ protected _renderMegaMenuListing(menu: L0Megamenu, _parentKey: any): TemplateResult<1>; /** * Render a Megapanel link group. * * @param group megamenu link group * @returns {TemplateResult} A template fragment representing a megapanel link group. */ protected _renderMegapanelLinkGroup(group: MegapanelLinkGroup, options?: { headingLevel?: Number; autoid?: String; }): TemplateResult<1>; /** * Renders the left nav menus sections * * @param object heading heading of menu section * @param object.menuItems menu items * @param object.heading heading heading of menu section * @param object.isSubmenu determines whether menu section is a submenu section * @param object.showBackButton Determines whether to show back button * @param object.sectionTitle title of menu section * @param object.sectionUrl section title url of menu section * @param object.sectionId id of menu section * @returns {TemplateResult} A template fragment representing the left nav menu * sections. */ protected _renderLeftNavMenuSections({ menuItems, heading, isSubmenu, showBackButton, sectionTitle, sectionUrl, sectionId, }: { menuItems: any; heading: any; isSubmenu?: boolean | undefined; showBackButton?: boolean | undefined; sectionTitle?: string | undefined; sectionUrl?: string | undefined; sectionId?: string | undefined; }): TemplateResult<1>; /** * checks if menu item's children url match the current url path, if so return the menu item and its children * * @returns {object} selectedItems */ protected _selectedLeftNavItems(): ({ menu, key, parentItemUrl, }: { menu?: { url: string; megapanelContent: { quickLinks: { links: { url: string; }[]; }; }; }[] | undefined; key?: string | undefined; parentItemUrl?: string | undefined; }) => { level0: string; level1: string; level2: string; }; /** * Renders the left nav menus * * @param menuItems The options. * @param autoid Base autoid to be applied to the menu items * @returns {TemplateResult} A template fragment representing the left nav. */ protected _renderLeftNav(): TemplateResult<1>; /** * Renders the mobile menu button. * * @returns {TemplateResult} A template fragment representing the menu button. */ protected _renderMenuButton(): TemplateResult<1>; /** * Checks if there is a child item in the menu section that matches current * url and returns true for first valid result. * * @param menuItem a top level L0 menu item * @returns boolean */ protected _isActiveMenuItem(menuItem: L0MenuItem): boolean; /** * Renders the top navigation bar. * * @returns {TemplateResult} A template fragment representing the top nav. */ protected _renderTopNav(): TemplateResult<1> | undefined; /** * Renders a nav item. * * @param item The item to render * @param i The index of the item in a series * @param autoid The unique id to assign to the item * @returns {TemplateResult} A template fragment representing a nav item. */ protected _renderNavItem(item: L0MenuItem, i: any, autoid: any): TemplateResult; /** * Sets the active megamenu upon user interaction. * * @param event The event. */ protected _loadMegamenu: (event: CustomEvent) => void; protected _handleL1DropdownToggle({ detail }: CustomEvent): void; /** * Sets the active megamenu tabpanel upon user interaction. * * @param event The event. */ protected _loadMegamenuTabPanel(event: any): void; /** * Stores a reference of the globally-scoped CM_APP object within the masthead. */ protected _getContactModuleReference: () => void; contactModuleApp?: CMApp; /** * Performs actions on left nav button toggle. */ protected _handleMenuButtonToggle: (event: any) => void; /** * Sets a CSS value for the position of the L0's bottom edge. */ protected _setCustomPropertyL0BottomEdge(): void; /** * Gets localized platform URL. * * @returns {string} A URL. */ private _getPlatformUrl; /** * Renders the platform title. * * @returns {TemplateResult} A template fragment representing the platform title. */ protected _renderPlatformTitle(): TemplateResult<1> | undefined; /** * Renders the masthead search. * * @returns {TemplateResult} A template fragment representing the search bar. */ protected _renderSearch(): "" | TemplateResult<1>; /** * Renders the contact button. * * @returns {TemplateResult} A template fragment representing the contact button. */ protected _renderContact(): TemplateResult<1> | undefined; protected _renderLanguageSelector(): TemplateResult<1> | undefined; protected _renderCart(): TemplateResult<1> | undefined; /** * Gets the appropriate profile items for the current masthead state. * * @returns An array of profile items or undefined. */ protected _getProfileItems(): MastheadProfileItem[] | undefined; /** * Renders the profile menu. * * @returns {TemplateResult} A template fragment representing the profile menu. */ protected _renderProfileMenu(): "" | TemplateResult<1>; /** * Whether the nav should load as `left-nav` or `top-nav` */ _isMobileVersion: boolean; /** * The index of a megamenu that should be visible. */ _activeMegamenuIndex?: number; /** * The index of a megamenu's tabpanel that should be visible. */ _activeMegamenuTabKey?: string; /** * Custom contact module typing */ contactType: string; /** * `true` if there is a profile. */ hasProfile: string; /** * `true` if there is a search. */ hasSearch: string; /** * `true` to activate the search box. */ activateSearch: boolean; /** * `true` sets search to active when page loads. */ searchOpenOnload: boolean; /** * Sets a default query in the masthead's search input. */ initialSearchTerm?: string; /** * The profile items for authenticated state. */ authenticatedProfileItems?: MastheadProfileItem[]; /** * Text for Contact us button */ contactUsButton?: MastheadProfileItem; /** * The platform name. */ platform: string; /** * The platform url. Accepts both a string or an object with a specific URL for each locale. */ platformUrl?: any; /** * The search results to show in the UI. */ currentSearchResults: string[]; currentUrlPath?: string; /** * The custom profile login link. */ customProfileLogin?: string; /** * The boolean to use a custom search API. */ customTypeaheadAPI: boolean; /** * The `aria-label` attribute for the top-level container. */ mastheadAssistiveText: string; /** * The `aria-label` attribute for the menu bar UI. */ menuBarAssistiveText: string; /** * The skip-to-content link text. */ skipToContentText: string; /** * The skip-to-content href. */ skipToContentHref: string; /** * The `aria-label` attribute for the header menu button in its active state. */ menuButtonAssistiveTextActive: string; /** * The `aria-label` attribute for the header menu button in its active state. */ menuButtonAssistiveTextInactive: string; /** * The parameters passed to the search-with-typeahead for search scope */ scopeParameters: any; /** * The English title of the selected nav item. */ selectedMenuItem: string; /** * The English title of the selected nav item in the L1. */ selectedMenuItemL1: string; /** * The profile items for unauthenticated state. */ unauthenticatedProfileItems?: MastheadProfileItem[]; /** * Specify translation endpoint if not using default c4d endpoint. */ dataEndpoint?: string; /** * The throttle timeout to run query upon user input. */ inputTimeout: number; /** * The language used for query. */ language?: string; /** * Logo data */ logoData?: MastheadLogoData; /** * The navigation links. * * @deprecated This property name is ambiguous. Use the l0Data prop instead. */ navLinks?: L0MenuItem[]; /** * Data for l0. */ l0Data?: L0MenuItem[]; /** * Temporary getter to fetch data until navLinks prop is phased out. */ getL0Data(): L0MenuItem[]; /** * Data for l1. */ l1Data?: MastheadL1; /** * `true` to open the search dropdown. */ openSearchDropdown: boolean; /** * Value to display when the input has an empty `value`. */ searchPlaceholder?: string; /** * `true` if Contact us should be shown. */ hasContact: string; /** * `true` if Language Selector should be shown. */ hasLanguageSelector: string; /** * `true` if Cart should be shown. */ hasCart: boolean; /** * Label for the cart icon. */ cartLabel: string; /** * The selected authentication method, either `profile-api` (default), `cookie`, or `docs-api`. */ authMethod: MASTHEAD_AUTH_METHOD; /** * The user authentication status. */ userStatus: string; get userIsAuthenticated(): boolean; /** * A reference to the c4d-masthead element. */ mastheadRef: any; /** * Resize observer to trigger container height recalculations. * * @private */ private _heightResizeObserver; /** * Prevents resize observer from blocking main thread. */ private _resizeObserverThrottle?; /** * Throttled callback for _heightResizeObserver. */ protected _resizeObserverCallback(): void; /** * Sets root element's height equal to the height of the fixed masthead elements. */ protected _setContainerHeight(): void; firstUpdated(): void; updated(changedProperties: any): void; disconnectedCallback(): void; render(): TemplateResult<1>; protected createRenderRoot(): this; /** * The name of the CSS custom property to track bottom edge position. */ static get customPropertyL0BottomEdge(): string; static styles: any; } export default C4DMastheadComposite; //# sourceMappingURL=masthead-composite.d.ts.map