@js-smart/ng-kit
Version:
Reusable Angular components built with Angular Material and Bootstrap 5.x, Utility classes/functions for Date, Form and String operations
1,101 lines (1,052 loc) • 47.2 kB
TypeScript
import * as _angular_core from '@angular/core';
import { OnInit, ChangeDetectorRef, OnDestroy, OnChanges, AfterContentChecked, ElementRef, SimpleChanges, ViewContainerRef, ComponentRef, WritableSignal } from '@angular/core';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { ThemePalette, MatOptionSelectionChange } from '@angular/material/core';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
import { MatPaginator } from '@angular/material/paginator';
import { MatTableDataSource } from '@angular/material/table';
import { MatIconRegistry } from '@angular/material/icon';
import { DomSanitizer } from '@angular/platform-browser';
import { MatDialogRef } from '@angular/material/dialog';
import { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';
interface ProgressState {
isLoading: boolean;
isSuccess: boolean;
isError: boolean;
isComplete?: boolean;
message: string;
}
type AlertType = 'info' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'dark' | 'light';
/**
* Boostrap Alert component that can be used to alert messages to the user
*
* @author Pavan Kumar Jadda
* @since 12.0.0
*/
declare class AlertComponent implements OnInit {
cdr: ChangeDetectorRef;
/**
* Type of the BootStrap Alert. Following values are supported. See BootStrap docs for more information
*/
type: _angular_core.InputSignal<AlertType>;
/**
* Is alert visible or open
*/
isOpen: _angular_core.InputSignal<boolean>;
/**
* Writable signal for isOpen
*/
open: _angular_core.WritableSignal<boolean>;
/**
* If set, displays an inline “Close” button
*/
dismissible: _angular_core.InputSignal<boolean>;
/**
* If set, dismisses the alert after Dismiss Timeout
*/
dismissOnTimeout: _angular_core.InputSignal<boolean>;
/**
* Number in milliseconds, after which alert will be closed. Default value is 5000 ms
*/
dismissTimeout: _angular_core.InputSignal<number>;
/**
* Additional classes to be added to the alert. This can be used to add custom styles to the alert
*/
class: _angular_core.InputSignal<string>;
/**
* Emits when the alert is closed.
*/
closed: _angular_core.OutputEmitterRef<void>;
constructor();
/**
* Initialize the component and settings
*
* @author Pavan Kumar Jadda
* @since 12.0.0
*/
ngOnInit(): void;
/**
* Closes BootStrap Alert if not open
*
* @author Pavan Kumar Jadda
* @since 12.0.0
*/
closeAlert(): void;
/**
* Opens Bootstrap Alert
*
* @author Pavan Kumar Jadda
* @since 12.0.0
*/
private openAlert;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AlertComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AlertComponent, "lib-alert, alert", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "dismissOnTimeout": { "alias": "dismissOnTimeout"; "required": false; "isSignal": true; }; "dismissTimeout": { "alias": "dismissTimeout"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
}
type Size = 'default' | 'small' | 'medium' | 'large';
interface Spinner {
bdColor?: string;
size?: Size;
color?: string;
type?: string;
fullScreen?: boolean;
zIndex?: number;
template?: string;
showSpinner?: boolean;
}
declare class NgxSpinner {
name?: string;
bdColor?: string;
size?: Size;
color?: string;
type?: string;
class?: string;
divCount?: number;
divArray?: number[];
fullScreen?: boolean;
show?: boolean;
zIndex?: number;
template?: string;
showSpinner?: boolean;
constructor(init?: Partial<NgxSpinner>);
}
declare class NgxSpinnerService {
/**
* Spinner observable
*
* @memberof NgxSpinnerService
*/
spinnerObservable: BehaviorSubject<NgxSpinner | undefined>;
/**
* Creates an instance of NgxSpinnerService.
* @memberof NgxSpinnerService
*/
/**
* Get subscription of desired spinner
* @memberof NgxSpinnerService
**/
getSpinner(name: string): Observable<NgxSpinner>;
/**
* To show spinner
*
* @memberof NgxSpinnerService
*/
show(name?: string, spinner?: Spinner): Promise<unknown>;
/**
* To hide spinner
*
* @memberof NgxSpinnerService
*/
hide(name?: string, debounce?: number): Promise<unknown>;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxSpinnerService, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NgxSpinnerService>;
}
declare class NgxSpinnerComponent implements OnDestroy, OnInit {
private readonly spinnerService;
private readonly changeDetector;
/**
* To set backdrop color
* Only supports RGBA color format
*/
bdColor: _angular_core.InputSignal<string>;
/**
* To set spinner size
*/
size: _angular_core.InputSignal<Size>;
/**
* To set spinner color(DEFAULTS.SPINNER_COLOR)
*/
color: _angular_core.InputSignal<string>;
/**
* To set type of spinner
*/
type: _angular_core.InputSignal<string>;
/**
* To toggle fullscreen mode
*/
fullScreen: _angular_core.InputSignal<boolean>;
/**
* Spinner name
*/
name: _angular_core.InputSignal<string>;
/**
* z-index value
*/
zIndex: _angular_core.InputSignal<number>;
/**
* Custom template for spinner/loader
*/
template: _angular_core.InputSignal<string>;
/**
* Show/Hide the spinner
*/
showSpinner: _angular_core.InputSignal<boolean>;
/**
* To enable/disable animation
*/
disableAnimation: _angular_core.InputSignal<boolean>;
/**
* Spinner Object
*/
spinner: NgxSpinner;
/**
* Array for spinner's div
*/
divArray: number[];
/**
* Counter for div
*/
divCount: number;
/**
* Show spinner
**/
show: boolean;
/**
* Unsubscribe from spinner's observable
**/
ngUnsubscribe: Subject<void>;
/**
* Element Reference
*/
spinnerDOM: any;
/**
* Creates an instance of NgxSpinnerComponent.
*/
constructor(spinnerService: NgxSpinnerService, changeDetector: ChangeDetectorRef);
handleKeyboardEvent(event: KeyboardEvent): void;
/**
* Initialization method
*/
ngOnInit(): void;
/**
* To set default ngx-spinner options
*/
setDefaultOptions: () => void;
/**
* To get class for spinner
*/
getClass(type: string, size: Size): string;
/**
* Check if input variables have changed
*/
onInputChange(): void;
/**
* Component destroy event
*/
ngOnDestroy(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxSpinnerComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxSpinnerComponent, "ngx-spinner", never, { "bdColor": { "alias": "bdColor"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "fullScreen": { "alias": "fullScreen"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; "showSpinner": { "alias": "showSpinner"; "required": false; "isSignal": true; }; "disableAnimation": { "alias": "disableAnimation"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}
declare class SpinnerComponent {
/**
* Use Boostrap Spinner. Default `true`
*/
bootstrapSpinner: _angular_core.InputSignal<boolean>;
/**
* Diameter of the Angular Material spinner
*/
diameter: _angular_core.InputSignal<number>;
/**
* Color of the Angular Material spinner
*/
color: _angular_core.InputSignal<ThemePalette>;
/**
* Stroke Width of the Angular Material spinner
*/
strokeWidth: _angular_core.InputSignal<number>;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SpinnerComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpinnerComponent, "spinner,lib-spinner", never, { "bootstrapSpinner": { "alias": "bootstrapSpinner"; "required": false; "isSignal": true; }; "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
/**
* Reusable Auto Complete component that extends MatAutoComplete to show Clear icon and Arrow buttons
*
* @author Pavan Kumar Jadda
* @since 12.0.0
*/
declare class AutocompleteComponent implements OnInit, OnChanges, AfterContentChecked, ControlValueAccessor {
/**
* Gets reference inputAutoComplete HTML attribute
*/
inputAutoComplete: ElementRef;
cdRef: ChangeDetectorRef;
/**
* Internal form control for the autocomplete
*/
control: FormControl<string | null>;
/**
* Label of the AutoComplete
*/
label: _angular_core.InputSignal<string>;
/**
* Placeholder of the AutoComplete
*/
placeHolder: _angular_core.InputSignal<string>;
/**
* Appearance of the AutoComplete, defaults to `fill`
*/
appearance: _angular_core.InputSignal<string>;
/**
* List of CSS classes that need to applied to autocomplete
*/
classes: _angular_core.InputSignal<string>;
/**
* Attribute of the Object whose value would be shown when searching for data. Defaults to `ID`
*/
bindLabel: _angular_core.InputSignal<string>;
/**
* Attribute of the Object whose value would be used for search
*/
bindValue: _angular_core.InputSignal<string>;
/**
* Function that maps an option's control value to its display value in the trigger.
*/
displayWith: ((value: any) => string) | null;
/**
* Specifies if the autocomplete is required. Default is not required.
*/
required: _angular_core.InputSignal<boolean>;
/**
* Specifies if the autocomplete is disabled. Default is not required.
*/
disabled: _angular_core.InputSignal<boolean>;
/**
* List of Objects that need to be bind and searched for
*/
data: _angular_core.InputSignal<any[] | string[] | undefined>;
/**
* Emit selected value on selection changes
*/
onSelectionChange: _angular_core.OutputEmitterRef<any>;
/**
* BehaviorSubject that shows the current active arrow icon
*/
arrowIconSubject: BehaviorSubject<string>;
/**
* Filtered options when user types
*/
filteredOptions: Observable<any[] | undefined> | undefined;
writeValue(value: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
ngAfterContentChecked(): void;
ngOnInit(): void;
ngOnChanges(_changes: SimpleChanges): void;
clearInput(evt: any): void;
openOrClosePanel(evt: any, trigger: MatAutocompleteTrigger): void;
displayFn(object: any): string;
emitSelectedValue($event: MatOptionSelectionChange): void;
private onChange;
private onTouched;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutocompleteComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutocompleteComponent, "autocomplete, lib-autocomplete", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; "bindLabel": { "alias": "bindLabel"; "required": false; "isSignal": true; }; "bindValue": { "alias": "bindValue"; "required": false; "isSignal": true; }; "displayWith": { "alias": "displayWith"; "required": false; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; }, { "onSelectionChange": "onSelectionChange"; }, never, never, true, never>;
}
declare class PrintOptions {
printSectionId: string;
printTitle: string;
useExistingCss: boolean;
bodyClass: string;
openNewTab: boolean;
previewOnly: boolean;
closeWindow: boolean;
printDelay: number;
constructor(options?: Partial<PrintOptions>);
}
/**
* Reusable Angular directory that prints given contents of HTML element
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
declare class NgxPrintDirective<T = unknown> {
document: Document;
/**
* ID of the HTML element those contents need to be printed
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
printSectionId: string | undefined;
/**
* Title of the HTML element those contents need to be printed
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
printTitle: string | undefined;
/**
* If `true`, uses CSS of HTMl element, otherwise no CSS applied
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
useExistingCss: boolean;
/**
* A delay in milliseconds to force the print dialog to wait before opened. Default: 0
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
printDelay: number;
/**
* Instance of the Mat Table Data Source
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
matTableDataSource: MatTableDataSource<T>;
/**
* Instance of the Mat Paginator
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
paginator: MatPaginator;
/**
* ID of the Mat Paginator
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
paginatorId: string;
/**
* HTML tag ID of the Mat-Table Input Filter
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
inputFilterId: string;
/**
* If `true`, referenced table is Mat-Table
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
isMatTable: boolean;
/**
* If `true` Mat-Table paginator will be hidden
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
hideMatTablePaginator: boolean;
printStyleArray: string[];
printOptions: PrintOptions;
/**
* List of Style sheet files
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
private styleSheetFileArray;
/**
* Prevents the print dialog from opening on the window
*
* @memberof NgxPrintDirective
*/
set previewOnly(value: boolean);
/**
* List of CSS properties that needs to be applied while printing the document
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
set printStyle({ values }: PrintStyleParams);
/**
* Sets given style sheet files to print document
*
* @param cssList Comma separated value of CSS file names
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
set styleSheetFile(cssList: string);
/**
* Build link HTMl tag based on given file name
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
private static linkTagFn;
/**
* Gets HTML element by tag name
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
private static getElementTag;
/**
* Print the element upon clicking the button
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
print(): void;
/**
* Hide Mat Paginator before Printing
*
* @since 12.0.1
* @author Pavan Kumar Jadda
*/
private hideMatPaginatorBeforePrinting;
/**
* Show Mat Paginator after Printing
*
* @since 12.0.1
* @author Pavan Kumar Jadda
*/
private showMatPaginatorAfterPrinting;
/**
* @returns the string that create the stylesheet which will be injected later within <style></style> tag. Join/replace to transform an array objects to css-styled string
*
* @since 12.0.0
* @author Pavan Kumar Jadda
*/
private returnStyleValues;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxPrintDirective<any>, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgxPrintDirective<any>, "button[ngxPrint], button[print]", never, { "printSectionId": { "alias": "printSectionId"; "required": false; }; "printTitle": { "alias": "printTitle"; "required": false; }; "useExistingCss": { "alias": "useExistingCss"; "required": false; }; "printDelay": { "alias": "printDelay"; "required": false; }; "matTableDataSource": { "alias": "matTableDataSource"; "required": false; }; "paginator": { "alias": "paginator"; "required": false; }; "paginatorId": { "alias": "paginatorId"; "required": false; }; "inputFilterId": { "alias": "inputFilterId"; "required": false; }; "isMatTable": { "alias": "isMatTable"; "required": false; }; "hideMatTablePaginator": { "alias": "hideMatTablePaginator"; "required": false; }; "previewOnly": { "alias": "previewOnly"; "required": false; }; "printStyle": { "alias": "printStyle"; "required": false; }; "styleSheetFile": { "alias": "styleSheetFile"; "required": false; }; }, {}, never, never, true, never>;
}
interface PrintStyleParams {
values: Record<string, Record<string, string>>;
}
declare class PreventMultipleClicksDirective implements OnInit, OnDestroy {
throttleTime: _angular_core.InputSignal<number>;
throttleClick: _angular_core.OutputEmitterRef<Event>;
private readonly clicks;
private subscription;
/**
* Intercepts click event and stops default navigation. After first click set {@link throttleTime} to 2000 to prevent duplicate clicks
*
* @param event DOM event
*
* @author Pavan Kumar Jadda
* @since 2.3.27
*/
clickEvent(event: Event): void;
ngOnInit(): void;
ngOnDestroy(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PreventMultipleClicksDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PreventMultipleClicksDirective, "[preventMultipleClicks]", never, { "throttleTime": { "alias": "throttleTime"; "required": false; "isSignal": true; }; }, { "throttleClick": "throttleClick"; }, never, never, true, never>;
}
declare abstract class BaseButtonDirective implements OnInit {
icon: _angular_core.InputSignal<string>;
loadingLabel: _angular_core.InputSignal<string>;
loading: _angular_core.InputSignal<boolean>;
elementRef: ElementRef<any>;
document: Document;
protected originalText: _angular_core.WritableSignal<string>;
protected iconSpan: _angular_core.WritableSignal<HTMLElement | null>;
constructor();
ngOnInit(): void;
/**
* Create icon element if icon name is provided
*/
protected createIcon(): void;
/**
* Update content of the button
*/
protected updateContent(): void;
/**
* Show loading state. Add spinner and loadingLabel text
*/
protected showLoadingState(element: HTMLElement): void;
/**
* Show normal state. Add icon and original text
*/
protected showNormalState(element: HTMLElement): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BaseButtonDirective, never, never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class BaseButtonComponent {
/**
* Is search in progress and loading the data
*/
loading: _angular_core.InputSignalWithTransform<boolean, boolean | undefined>;
/**
* Is button disabled
*/
disabled: _angular_core.InputSignal<boolean>;
/**
* Type of the button. Following values are supported. See BootStrap docs for more information
* <pre>
* 1. button
* 2. submit
* </pre>
*/
type: _angular_core.InputSignal<string>;
/**
* If set, shows when action in Progress
*/
loadingLabel: _angular_core.InputSignal<string>;
/**
* If set, shows when Delete is not in progress
*/
label: _angular_core.InputSignal<string>;
/**
* If set, shows the icon. Otherwise, shows delete icon
*/
icon: _angular_core.InputSignal<string>;
/**
* If set, shows material icon otherwise hides the icons
*/
showIcon: _angular_core.InputSignal<boolean>;
/**
* If set, sets the style of the button
*/
style: _angular_core.InputSignal<any>;
/**
* If set, sets the class of the button
*/
classes: _angular_core.InputSignal<string>;
/**
* If set, sets the data-cy attribute for the button
*/
dataCy: _angular_core.InputSignal<string>;
/**
* Output event when button is clicked
*/
onClick: _angular_core.OutputEmitterRef<MouseEvent>;
/**
* Output event when button is focused
*/
onFocus: _angular_core.OutputEmitterRef<FocusEvent>;
/**
* Output event when button is blurred
*/
onBlur: _angular_core.OutputEmitterRef<FocusEvent>;
/**
* Output event when key is pressed
*/
onKeyDown: _angular_core.OutputEmitterRef<KeyboardEvent>;
/**
* Output event when key is up
*/
onKeyUp: _angular_core.OutputEmitterRef<KeyboardEvent>;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseButtonComponent, "ng-component", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; "dataCy": { "alias": "dataCy"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; }, never, never, true, never>;
}
declare class BsLinkButtonComponent extends BaseButtonComponent {
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsLinkButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsLinkButtonComponent, "bs-link-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class BsLinkButtonDirective {
icon: _angular_core.InputSignal<string>;
elementRef: ElementRef<any>;
document: Document;
constructor();
private updateContent;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsLinkButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsLinkButtonDirective, "[bsLinkButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class CloseButtonDirective {
elementRef: ElementRef<any>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CloseButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CloseButtonDirective, "[closeButton]", never, {}, {}, never, never, true, never>;
}
declare class DeleteButtonComponent extends BaseButtonComponent {
loadingLabel: _angular_core.InputSignal<string>;
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DeleteButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeleteButtonComponent, "delete-button", never, { "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class DeleteButtonDirective extends BaseButtonDirective {
icon: _angular_core.InputSignal<string>;
loadingLabel: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DeleteButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DeleteButtonDirective, "[deleteButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class EditBsButtonComponent extends BaseButtonComponent {
label: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditBsButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditBsButtonComponent, "edit-bs-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class EditSolidSvgComponent {
constructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer);
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditSolidSvgComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditSolidSvgComponent, "edit-solid-svg", never, {}, {}, never, never, true, never>;
}
declare class EditBsButtonDirective implements OnInit {
elementRef: ElementRef<any>;
viewContainerRef: ViewContainerRef;
document: Document;
protected originalText: _angular_core.WritableSignal<string>;
protected iconComponentRef: _angular_core.WritableSignal<ComponentRef<EditSolidSvgComponent> | null>;
ngOnInit(): void;
private updateContent;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditBsButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<EditBsButtonDirective, "[editBsButton]", never, {}, {}, never, never, true, never>;
}
declare class EditButtonComponent extends BaseButtonComponent {
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditButtonComponent, "edit-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class EditButtonDirective extends BaseButtonDirective {
icon: _angular_core.InputSignal<string>;
loadingLabel: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<EditButtonDirective, "[editButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class EditSvgIconButtonComponent extends BaseButtonComponent {
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditSvgIconButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditSvgIconButtonComponent, "edit-svg-icon-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class EditSvgIconButtonDirective implements OnInit {
elementRef: ElementRef<any>;
viewContainerRef: ViewContainerRef;
document: Document;
protected originalText: _angular_core.WritableSignal<string>;
protected iconComponentRef: _angular_core.WritableSignal<ComponentRef<EditSolidSvgComponent> | null>;
ngOnInit(): void;
private updateContent;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditSvgIconButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<EditSvgIconButtonDirective, "[editSvgIconButton]", never, {}, {}, never, never, true, never>;
}
declare class ExcelExportButtonComponent {
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExcelExportButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ExcelExportButtonComponent, "excel-export-button", never, {}, {}, never, never, true, never>;
}
declare class ExcelExportButtonDirective extends BaseButtonDirective {
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExcelExportButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ExcelExportButtonDirective, "[excelExportButton]", never, {}, {}, never, never, true, never>;
}
declare class ManageButtonComponent extends BaseButtonComponent {
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ManageButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ManageButtonComponent, "manage-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class ManageButtonDirective extends BaseButtonDirective {
icon: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ManageButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ManageButtonDirective, "[manageButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class PdfExportButtonComponent {
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PdfExportButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PdfExportButtonComponent, "pdf-export-button", never, {}, {}, never, never, true, never>;
}
declare class PdfExportButtonDirective extends BaseButtonDirective {
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PdfExportButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PdfExportButtonDirective, "[pdfExportButton]", never, {}, {}, never, never, true, never>;
}
declare class PrimaryButtonComponent extends BaseButtonComponent {
loadingLabel: _angular_core.InputSignal<string>;
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
showIcon: _angular_core.InputSignal<boolean>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PrimaryButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PrimaryButtonComponent, "primary-button", never, { "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class PrimaryButtonDirective extends BaseButtonDirective {
icon: _angular_core.InputSignal<string>;
loadingLabel: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PrimaryButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PrimaryButtonDirective, "[primaryButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class SavePrimaryButtonComponent extends BaseButtonComponent {
loadingLabel: _angular_core.InputSignal<string>;
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SavePrimaryButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SavePrimaryButtonComponent, "save-primary-button", never, { "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class SavePrimaryButtonDirective extends BaseButtonDirective {
icon: _angular_core.InputSignal<string>;
loadingLabel: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SavePrimaryButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SavePrimaryButtonDirective, "[savePrimaryButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class SearchButtonComponent extends BaseButtonComponent {
loadingLabel: _angular_core.InputSignal<string>;
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SearchButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SearchButtonComponent, "search-button", never, { "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class SuccessButtonComponent extends BaseButtonComponent {
loadingLabel: _angular_core.InputSignal<string>;
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuccessButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SuccessButtonComponent, "success-button", never, { "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class SuccessButtonDirective extends BaseButtonDirective {
icon: _angular_core.InputSignal<string>;
loadingLabel: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SuccessButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SuccessButtonDirective, "[successButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class ViewButtonComponent extends BaseButtonComponent {
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ViewButtonComponent, "view-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class ViewButtonDirective extends BaseButtonDirective {
icon: _angular_core.InputSignal<string>;
loadingLabel: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ViewButtonDirective, "[viewButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class ViewPrimaryButtonComponent extends BaseButtonComponent {
label: _angular_core.InputSignal<string>;
icon: _angular_core.InputSignal<string>;
classes: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewPrimaryButtonComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ViewPrimaryButtonComponent, "view-primary-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class ViewPrimaryButtonDirective extends BaseButtonDirective {
icon: _angular_core.InputSignal<string>;
constructor();
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ViewPrimaryButtonDirective, never>;
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ViewPrimaryButtonDirective, "[viewPrimaryButton]", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
declare class ConfirmDialogComponent {
data: ConfirmDialogData;
dialogRef: MatDialogRef<ConfirmDialogComponent>;
title: string;
message: string;
constructor(data: ConfirmDialogData, dialogRef: MatDialogRef<ConfirmDialogComponent>);
onDismiss(): void;
onConfirm(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmDialogComponent, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConfirmDialogComponent, "app-confirm-dialog", never, {}, {}, never, never, true, never>;
}
/**
* Class to represent confirm dialog model.
*/
interface ConfirmDialogData {
title: string;
message: string;
}
declare class MatSnackBarService {
snackBar: MatSnackBar;
/**
* Duration (in milliseconds) of the Snack Bar to be open. Defaults to 5 seconds (5000 milliseconds)
*/
duration: number;
/**
* Horizontal Position of the MatSnackBar. Defaults to right side
*/
horizontalPosition: MatSnackBarHorizontalPosition;
/**
* Vertical Position of the MatSnackBar. Defaults to top of the page
*/
verticalPosition: MatSnackBarVerticalPosition;
/**
* Opens Success Snack Bar
*
* @param message Message to display on Snack Bar
* @param options Options of the Snack Bar
*
* @author Pavan Kumar Jadda
* @since 2.2.3
*/
success(message: string, options?: MatSnackBarOptions): void;
/**
* Opens Error Snack Bar
*
* @param message Message to display on Snack Bar
* @param options Options of the Snack Bar
*
* @author Pavan Kumar Jadda
* @since 2.2.3
*/
error(message: string, options?: MatSnackBarOptions): void;
/**
* Opens Generic Snack Bar
*
* @param message Message to display on Snack Bar
*
* @author Pavan Kumar Jadda
* @since 2.2.3
*/
open(message: string): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MatSnackBarService, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MatSnackBarService>;
}
/**
* MatSnackBarOptions for Snack Bar
*
* Available panelClass options:
* - 'success-snackbar': Green background (default for success)
* - 'error-snackbar': Red background (default for error)
* - 'light-success-snackbar': Light green background
* - 'light-error-snackbar': Light red background
* - 'primary-snackbar': Primary theme color
* - 'info-snackbar': Blue background
* - 'warning-snackbar': Yellow background
* - Custom CSS class names for additional styling
*
* @author Pavan Kumar Jadda
* @since 2.7.19
*/
interface MatSnackBarOptions {
duration?: number;
horizontalPosition?: MatSnackBarHorizontalPosition;
verticalPosition?: MatSnackBarVerticalPosition;
panelClass?: string | string[];
}
interface IdType {
id: number;
}
/**
* A core entity store class that stores a list of objects. This has list of methods to perform CRUD operations on the list of objects.
*
* @author Pavan Kumar Jadda
* @since 17.1.0
*/
declare class EntityStore<T extends IdType> {
_data: _angular_core.WritableSignal<T[]>;
data: _angular_core.Signal<T[]>;
/**
* Find an item in the store by id
*
* @param id The id of the item to be found
*
* @returns The item if found, undefined otherwise
*
* @author Pavan Kumar Jadda
* @since 17.1.0
*/
findById(id: number): T | undefined;
/**
* Set the list of items in the store with the new data
*
* @param data The new list of items to be stored
*
* @author Pavan Kumar Jadda
* @since 17.1.0
*/
setData(data: T[]): void;
/**
* Update an item in the store. If the item does not exist in new list, add it. Otherwise, update it.
*
* @param data The item to added or updated
*
* @author Pavan Kumar Jadda
* @since 17.1.0
*/
upsert(data: T): void;
/**
* Update or insert the given list of items in the store
*
* @param newData The list of items to be updated or inserted
*
* @author Pavan Kumar Jadda
* @since 17.1.0
*/
upsertMulti(newData: T[]): void;
/**
* Remove an item from the store
*
* @param id The id of the item to be removed
*
* @author Pavan Kumar Jadda
* @since 17.1.0
*/
remove(id: number): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<EntityStore<any>, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<EntityStore<any>>;
}
/**
* A core store class that can be used to store any object
*
* @author Pavan Kumar Jadda
* @since 17.1.0
*/
declare class Store<T extends object> {
_data: _angular_core.WritableSignal<T | null>;
data: _angular_core.Signal<T | null>;
initialize(initialData: T): void;
/**
* Update the data in the store with the new data
*
* @param newData The new data to be stored/updated
*
* @author Pavan Kumar Jadda
* @since 17.1.0
*/
update(newData: T): void;
clear(): void;
getData(): T | null;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Store<any>, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<Store<any>>;
}
/**
* Initialize Loading or Update ProgressState
*
* @return Updated State Object
*
* @author Pavan Kumar Jadda
* @since 2.7.16
*/
declare const initializeState: () => WritableSignal<ProgressState>;
/**
* Initialize Loading or Update ProgressState
*
* @param progressState Object to initialize
* @return ProgressState Updated State Object
*
* @author Pavan Kumar Jadda
* @since 2.7.16
*/
declare const markLoading: (progressState: WritableSignal<ProgressState>) => void;
/**
* Update state as isSuccess
*
* @return ProgressState Updated State Object
*
* @author Pavan Kumar Jadda
* @since 2.7.16
*/
declare const markSuccess: (progressState: WritableSignal<ProgressState>, message?: string) => void;
/**
* Update state as failure or isError
*
* @return ProgressState Updated State Object
*
* @author Pavan Kumar Jadda
* @since 2.7.16
*/
declare const markError: (progressState: WritableSignal<ProgressState>, message?: string) => void;
export { AlertComponent, AutocompleteComponent, BaseButtonDirective, BsLinkButtonComponent, BsLinkButtonDirective, CloseButtonDirective, ConfirmDialogComponent, DeleteButtonComponent, DeleteButtonDirective, EditBsButtonComponent, EditBsButtonDirective, EditButtonComponent, EditButtonDirective, EditSolidSvgComponent, EditSvgIconButtonComponent, EditSvgIconButtonDirective, EntityStore, ExcelExportButtonComponent, ExcelExportButtonDirective, ManageButtonComponent, ManageButtonDirective, MatSnackBarService, NgxPrintDirective, NgxSpinnerComponent, NgxSpinnerService, PdfExportButtonComponent, PdfExportButtonDirective, PreventMultipleClicksDirective, PrimaryButtonComponent, PrimaryButtonDirective, SavePrimaryButtonComponent, SavePrimaryButtonDirective, SearchButtonComponent, SpinnerComponent, Store, SuccessButtonComponent, SuccessButtonDirective, ViewButtonComponent, ViewButtonDirective, ViewPrimaryButtonComponent, ViewPrimaryButtonDirective, initializeState, markError, markLoading, markSuccess };
export type { AlertType, ConfirmDialogData, MatSnackBarOptions, ProgressState };