@esri/calcite-components
Version:
Web Components for Esri's Calcite Design System.
54 lines (53 loc) • 2.99 kB
TypeScript
import { EventEmitter, VNode } from "../../stencil-public-runtime";
import { LoadableComponent } from "../../utils/loadable";
/**
* @slot logo - A slot for adding a `calcite-logo` component to the primary navigation level.
* @slot user - A slot for adding a `calcite-user` component to the primary navigation level.
* @slot progress - A slot for adding a `calcite-progress` component to the primary navigation level.
* @slot navigation-action - A slot for adding a `calcite-action` component to the primary navigation level.
* @slot content-start - A slot for adding a `calcite-menu`, `calcite-action`, or other interactive elements in the start position of any navigation level.
* @slot content-center - A slot for adding a `calcite-menu`, `calcite-action`, or other interactive elements in the center position of the primary navigation level.
* @slot content-end - A slot for adding a `calcite-menu`, `calcite-action`, or other interactive elements in the end position of any navigation level.
* @slot navigation-secondary - A slot for adding a `calcite-navigation` component in the secondary navigation level. Components rendered here will not display `calcite-navigation-logo` or `calcite-navigation-user` components.
* @slot navigation-tertiary - A slot for adding a `calcite-navigation` component in the tertiary navigation level. Components rendered here will not display `calcite-navigation-logo` or `calcite-navigation-user` components.
*/
export declare class CalciteNavigation implements LoadableComponent {
el: HTMLCalciteNavigationElement;
/**
* When `navigationAction` is `true`, specifies the label of the `calcite-action`.
*/
label: string;
/**
* When `true`, displays a `calcite-action` and emits a `calciteNavActionSelect` event on selection change.
*/
navigationAction: boolean;
logoSlotHasElements: boolean;
navigationActionSlotHasElements: boolean;
primaryContentCenterSlotHasElements: boolean;
primaryContentEndSlotHasElements: boolean;
primaryContentStartSlotHasElements: boolean;
progressSlotHasElement: boolean;
secondarySlotHasElements: boolean;
tertiarySlotHasElements: boolean;
userSlotHasElements: boolean;
navigationActionEl: HTMLCalciteActionElement;
/** When `navigationAction` is true, emits when the displayed action selection changes.*/
calciteNavigationActionSelect: EventEmitter<void>;
/** When `navigation-action` is `true`, sets focus on the component's action element. */
setFocus(): Promise<void>;
componentWillLoad(): void;
componentDidLoad(): void;
private actionClickHandler;
private handleUserSlotChange;
private handleLogoSlotChange;
private handleContentStartSlotChange;
private handleContentEndSlotChange;
private handleContentCenterSlotChange;
private handleSecondarySlotChange;
private handleTertiarySlotChange;
private handleMenuActionSlotChange;
private handleProgressSlotChange;
private isPrimaryLevel;
renderMenuAction(): VNode;
render(): VNode;
}