primeng
Version:
PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB
167 lines (166 loc) • 6.62 kB
TypeScript
import { AfterContentInit, ElementRef, EventEmitter, QueryList } from '@angular/core';
import { PrimeTemplate } from 'primeng/api';
import { BaseComponent } from 'primeng/basecomponent';
import { Nullable, VoidListener } from 'primeng/ts-helpers';
import { SplitterResizeEndEvent, SplitterResizeStartEvent } from './splitter.interface';
import { SplitterStyle } from './style/splitterstyle';
import * as i0 from "@angular/core";
import * as i1 from "primeng/api";
export declare class SplitterPanel extends BaseComponent {
splitter: import("@angular/core").Signal<any>;
nestedState: import("@angular/core").Signal<any>;
static ɵfac: i0.ɵɵFactoryDeclaration<SplitterPanel, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<SplitterPanel, "p-splitter-panel", never, {}, {}, ["splitter"], ["*"], true, never>;
}
/**
* Splitter is utilized to separate and resize panels.
* @group Components
*/
export declare class Splitter extends BaseComponent implements AfterContentInit {
/**
* Style class of the component.
* @group Props
*/
styleClass: string | undefined;
/**
* Style class of the panel.
* @group Props
*/
panelStyleClass: string | undefined;
/**
* Inline style of the component.
* @group Props
*/
style: {
[klass: string]: any;
} | null | undefined;
/**
* Inline style of the panel.
* @group Props
*/
panelStyle: {
[klass: string]: any;
} | null | undefined;
/**
* Defines where a stateful splitter keeps its state, valid values are 'session' for sessionStorage and 'local' for localStorage.
* @group Props
*/
stateStorage: string | undefined;
/**
* Storage identifier of a stateful Splitter.
* @group Props
*/
stateKey: string | undefined | null;
/**
* Orientation of the panels. Valid values are 'horizontal' and 'vertical'.
* @group Props
*/
layout: string | undefined;
/**
* Size of the divider in pixels.
* @group Props
*/
gutterSize: number;
/**
* Step factor to increment/decrement the size of the panels while pressing the arrow keys.
* @group Props
*/
step: number;
/**
* Minimum size of the elements relative to 100%.
* @group Props
*/
minSizes: number[];
/**
* Size of the elements relative to 100%.
* @group Props
*/
get panelSizes(): number[];
set panelSizes(val: number[]);
/**
* Callback to invoke when resize ends.
* @param {SplitterResizeEndEvent} event - Custom panel resize end event
* @group Emits
*/
onResizeEnd: EventEmitter<SplitterResizeEndEvent>;
/**
* Callback to invoke when resize starts.
* @param {SplitterResizeStartEvent} event - Custom panel resize start event
* @group Emits
*/
onResizeStart: EventEmitter<SplitterResizeStartEvent>;
containerViewChild: Nullable<ElementRef>;
templates: QueryList<PrimeTemplate>;
panelChildren: QueryList<ElementRef>;
nested: boolean;
panels: any[];
dragging: boolean;
mouseMoveListener: VoidListener;
mouseUpListener: VoidListener;
touchMoveListener: VoidListener;
touchEndListener: VoidListener;
size: Nullable<number>;
gutterElement: Nullable<ElementRef | HTMLElement>;
startPos: Nullable<number>;
prevPanelElement: Nullable<ElementRef | HTMLElement>;
nextPanelElement: Nullable<ElementRef | HTMLElement>;
nextPanelSize: Nullable<number>;
prevPanelSize: Nullable<number>;
_panelSizes: number[];
prevPanelIndex: Nullable<number>;
timer: any;
prevSize: any;
_componentStyle: SplitterStyle;
ngOnInit(): void;
ngAfterContentInit(): void;
ngAfterViewInit(): void;
resizeStart(event: TouchEvent | MouseEvent, index: number, isKeyDown?: boolean): void;
onResize(event: MouseEvent, step?: number, isKeyDown?: boolean): void;
resizeEnd(event: MouseEvent | TouchEvent): void;
onGutterMouseDown(event: MouseEvent, index: number): void;
onGutterTouchStart(event: TouchEvent, index: number): void;
onGutterTouchMove(event: any): void;
onGutterTouchEnd(event: TouchEvent): void;
repeat(event: any, index: any, step: any): void;
setTimer(event: any, index: any, step: any): void;
clearTimer(): void;
onGutterKeyUp(event: any): void;
onGutterKeyDown(event: any, index: any): void;
validateResize(newPrevPanelSize: number, newNextPanelSize: number): boolean;
bindMouseListeners(): void;
bindTouchListeners(): void;
unbindMouseListeners(): void;
unbindTouchListeners(): void;
clear(): void;
isNested(): boolean;
isStateful(): boolean;
getStorage(): Storage;
saveState(): void;
restoreState(): boolean;
containerClass(): {
'p-splitter p-component': boolean;
'p-splitter-horizontal': boolean;
'p-splitter-vertical': boolean;
};
panelContainerClass(): {
'p-splitterpanel': boolean;
'p-splitterpanel-nested': boolean;
};
gutterStyle(): {
width: string;
height?: undefined;
} | {
height: string;
width?: undefined;
};
horizontal(): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<Splitter, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<Splitter, "p-splitter", never, { "styleClass": { "alias": "styleClass"; "required": false; }; "panelStyleClass": { "alias": "panelStyleClass"; "required": false; }; "style": { "alias": "style"; "required": false; }; "panelStyle": { "alias": "panelStyle"; "required": false; }; "stateStorage": { "alias": "stateStorage"; "required": false; }; "stateKey": { "alias": "stateKey"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "gutterSize": { "alias": "gutterSize"; "required": false; }; "step": { "alias": "step"; "required": false; }; "minSizes": { "alias": "minSizes"; "required": false; }; "panelSizes": { "alias": "panelSizes"; "required": false; }; }, { "onResizeEnd": "onResizeEnd"; "onResizeStart": "onResizeStart"; }, ["templates", "panelChildren"], never, true, never>;
static ngAcceptInputType_gutterSize: unknown;
static ngAcceptInputType_step: unknown;
}
export declare class SplitterModule {
static ɵfac: i0.ɵɵFactoryDeclaration<SplitterModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<SplitterModule, never, [typeof Splitter, typeof SplitterPanel, typeof i1.SharedModule], [typeof Splitter, typeof SplitterPanel, typeof i1.SharedModule]>;
static ɵinj: i0.ɵɵInjectorDeclaration<SplitterModule>;
}