@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
77 lines (76 loc) • 5.57 kB
TypeScript
import { EventEmitter, QueryList, TemplateRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { Breadcrumb } from '../breadcrumbs/index';
import { PageHeaderIconMenu } from './interfaces';
import { PageHeaderNavigationItem } from './navigation/navigation.component';
import { PageHeaderNavigation } from './page-header.service';
import * as i0 from "@angular/core";
export type PageHeaderNavigationAlignment = 'left' | 'right' | 'center';
export declare class PageHeaderComponent {
private readonly _colorService;
private readonly _pageHeaderService;
/** The path to an image to display as the product logo in the left corner. */
logo: string;
/** The product acronym to display in the left corner. This will only be displayed if logo is unset; otherwise it will be used as the alt text for the logo. */
header: string;
/** The optional header to display on the left side of the masthead. */
subheader: string;
/** The alignment of the primary navigation tabs. */
alignment: PageHeaderNavigationAlignment;
/** Determines whether or not to display the page header in the regular or condensed form. */
condensed: boolean;
/** The list of icon menus to display in the top right area of the page header. */
iconMenus: PageHeaderIconMenu[];
/** Determines whether or not a back button should be visible in the page header. */
backVisible: boolean;
/** The alignment of the secondary navigation tabs. */
secondaryNavigationAlignment: PageHeaderNavigationAlignment;
/** If set, the first child item will get selected when the parent item is selected. */
set secondaryNavigationAutoselect(value: boolean);
get secondaryNavigationAutoselect(): boolean;
/** The primary navigation tabs. Use the children property in combination with [secondaryNavigation]="true" to include secondary navigation tabs. */
set items(items: PageHeaderNavigationItem[]);
/** Whether to show a second level of navigation for any items with children. */
set secondaryNavigation(enabled: boolean);
get secondaryNavigation(): boolean;
/** The optional set of breadcrumbs to display on the left side of the masthead. */
set crumbs(crumbs: Breadcrumb[]);
get crumbs(): Breadcrumb[];
/**
* The style of the breadcrumbs.
* - standard: The breadcrumbs use the same styling as the navigation tabs.
* - small: The breadcrumbs use a smaller font, and case is not adjusted.
*/
crumbsStyle: 'standard' | 'small';
/** The logo background color. This can either be the name of a color from the color palette, or a CSS color value. */
set logoBackground(color: string);
get logoBackground(): string;
/** The logo text color, when a product acronym is specified via header. This can either be the name of a color from the color palette, or a CSS color value. */
set logoForeground(color: string);
get logoForeground(): string;
get _hasLogoClick(): boolean;
/** Emit whenever the back button is clicked */
backClick: EventEmitter<MouseEvent>;
/** Emit whenever the product logo in the left corner is clicked. */
logoClick: EventEmitter<Event>;
/** Access a custom subheader template */
subheaderTemplate: TemplateRef<void>;
/** Define a custom logo template */
logoTemplate: TemplateRef<void>;
/** Define a leading content secondary navigation template */
secondaryNavigationLeadingContentTemplate: TemplateRef<void>;
/** Define a trailing content secondary navigation template */
secondaryNavigationTrailingContentTemplate: TemplateRef<void>;
/** Access all the custom menu TemplateRefs */
customMenus: QueryList<TemplateRef<void>>;
/** The currently selected page header item */
selected$: BehaviorSubject<PageHeaderNavigationItem>;
/** The currently selected root menu item - this may be different from selected$ if a child menu item is selected */
selectedRoot$: BehaviorSubject<PageHeaderNavigationItem>;
private _crumbs;
private _logoBackground;
private _logoForeground;
select(item: PageHeaderNavigation, navigate: boolean): void;
static ɵfac: i0.ɵɵFactoryDeclaration<PageHeaderComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<PageHeaderComponent, "ux-page-header", ["ux-page-header"], { "logo": { "alias": "logo"; "required": false; }; "header": { "alias": "header"; "required": false; }; "subheader": { "alias": "subheader"; "required": false; }; "alignment": { "alias": "alignment"; "required": false; }; "condensed": { "alias": "condensed"; "required": false; }; "iconMenus": { "alias": "iconMenus"; "required": false; }; "backVisible": { "alias": "backVisible"; "required": false; }; "secondaryNavigationAlignment": { "alias": "secondaryNavigationAlignment"; "required": false; }; "secondaryNavigationAutoselect": { "alias": "secondaryNavigationAutoselect"; "required": false; }; "items": { "alias": "items"; "required": false; }; "secondaryNavigation": { "alias": "secondaryNavigation"; "required": false; }; "crumbs": { "alias": "crumbs"; "required": false; }; "crumbsStyle": { "alias": "crumbsStyle"; "required": false; }; "logoBackground": { "alias": "logoBackground"; "required": false; }; "logoForeground": { "alias": "logoForeground"; "required": false; }; }, { "backClick": "backClick"; "logoClick": "logoClick"; }, ["subheaderTemplate", "logoTemplate", "secondaryNavigationLeadingContentTemplate", "secondaryNavigationTrailingContentTemplate", "customMenus"], never, false, never>;
}