UNPKG

@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
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 };