@nova-ui/bits
Version:
SolarWinds Nova Framework
124 lines (123 loc) • 5.68 kB
TypeScript
import { AnimationBuilder } from "@angular/animations";
import { AfterViewInit, ChangeDetectorRef, EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, SimpleChanges } from "@angular/core";
import { PanelBackgroundColor, PanelModes } from "./public-api";
import * as i0 from "@angular/core";
export declare class PanelComponent implements AfterViewInit, OnChanges, OnInit, OnDestroy {
private renderer;
private builder;
private changeDetectorRef;
static ANIMATION_TIME: number;
static RESIZE_DIRECTIVE_WIDTH: string;
static SIZE_VALUES: any;
/**
* Use this attribute to set the mode of the panel, by default is set to 'static',
* collapsible mode allows panel to be opened or collapsed, 'hoverable' mode make panel displayed with the hover,
* 'closable' allows to close panel by click.
*/
panelMode: PanelModes;
/**
* Use this attribute to set the text for the header if transclusion of custom header content is not being used.
*/
heading: string;
/**
* Set this to true in order to set the collapsed state of the side pane
*/
set isCollapsed(value: boolean);
get isCollapsed(): boolean;
/**
* Show sidebar over content if displacePrimaryContent = false, show sidebar near content if displacePrimaryContent = true
*/
displacePrimaryContent: boolean;
/**
* Set this to true in order to hide the side pane. This may be useful if you want to use nui-panel but want to
* show the left pane conditionally.
*/
set isHidden(value: boolean);
get isHidden(): boolean;
/**
* Define orientation of a panel. Possible values are: "right", "left", "top", "bottom"
*/
orientation: string;
/**
* Use this attribute to make side pane resizable.
*/
isResizable: boolean;
/**
* Use this attribute to remove default padding from header.
*/
headerPadding: boolean;
/**
* Use this attribute to remove default padding from side pane body.
*/
sidePaneBodyPadding: boolean;
/**
* Use this attribute to set pane right border dark color.
*/
darkBorder: boolean;
/**
* Use this attribute to set the desired size for the side pane in pixels. The default is 250px.
*/
paneSize: string;
panelBackgroundColor: PanelBackgroundColor;
paneCollapsedSize: string;
paneMinSize: string;
paneMaxSize: string;
collapsed: EventEmitter<boolean>;
hidden: EventEmitter<boolean>;
private panelMainContent;
private headerContent;
private footerContent;
private sidePaneContainer;
displayFooter: boolean;
displayPanelHeader: boolean;
isCollapsible: boolean;
isClosable: boolean;
isHoverable: boolean;
isAnimating: boolean;
private _isCollapsed;
private _isHidden;
private toggles;
private togglesSubscription;
private _expandAnimationFactory?;
private _collapseAnimationFactory?;
private lastAnimationPlayer?;
constructor(renderer: Renderer2, builder: AnimationBuilder, changeDetectorRef: ChangeDetectorRef);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
onSizeChanged(newSize: string): void;
get panelClass(): string;
get paneDirectionHorizontal(): boolean;
get mainIcon(): string;
toggleEnter(): void;
toggleLeave(): void;
isPanelResizable(): boolean;
toggleHideOrCollapsed(): void;
private toggleCollapsed;
private defineIsCollapsed;
getResizeDirection(): string | undefined;
getPaneSizeMeasurement(): string;
get paneBodyWidth(): string;
get paneBodyHeight(): string;
handleContentMargin(): void;
applyBoundarySizes(): void;
removeMinSize(): void;
toggleCollapsedOnClick(): void;
get sizeParameter(): string;
get showDefaultIcon(): boolean;
private defineState;
private defineSizes;
private get panelState();
private checkPanelEmbeddedContent;
private updatePaneContainerSizeWithoutAnimation;
private getPaneContainerElement;
private getPanelMainContentElement;
private get expandAnimationFactory();
private get collapseAnimationFactory();
private buildAnimationFactory;
private destroyLastAnimationPlayer;
private destroyAnimationFactories;
static ɵfac: i0.ɵɵFactoryDeclaration<PanelComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<PanelComponent, "nui-panel", never, { "panelMode": { "alias": "panelMode"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "displacePrimaryContent": { "alias": "displacePrimaryContent"; "required": false; }; "isHidden": { "alias": "isHidden"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "isResizable": { "alias": "isResizable"; "required": false; }; "headerPadding": { "alias": "headerPadding"; "required": false; }; "sidePaneBodyPadding": { "alias": "sidePaneBodyPadding"; "required": false; }; "darkBorder": { "alias": "darkBorder"; "required": false; }; "paneSize": { "alias": "paneSize"; "required": false; }; "panelBackgroundColor": { "alias": "panelBackgroundColor"; "required": false; }; "paneCollapsedSize": { "alias": "paneCollapsedSize"; "required": false; }; "paneMinSize": { "alias": "paneMinSize"; "required": false; }; "paneMaxSize": { "alias": "paneMaxSize"; "required": false; }; }, { "collapsed": "collapsed"; "hidden": "hidden"; }, never, ["[nuiPanelEmbeddedIcon]", "[nuiPanelEmbeddedHeading]", "[nuiPanelEmbeddedBody]", "[nuiPanelEmbeddedFooter]", "*"], false, never>;
}