@js-smart/ng-kit 20.6.0 → 20.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/js-smart-ng-kit.mjs +21 -18
- package/fesm2022/js-smart-ng-kit.mjs.map +1 -1
- package/index.d.ts +8 -3
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, ChangeDetectorRef, input, signal, output, effect, Component, Pipe, Injectable, HostListener, ViewChild, forwardRef, Input, Optional, Directive, ElementRef, ViewContainerRef, Inject, computed } from '@angular/core';
|
|
2
|
+
import { inject, ChangeDetectorRef, input, signal, output, effect, Component, Pipe, Injectable, HostListener, ViewChild, forwardRef, Input, Optional, DOCUMENT, Directive, ElementRef, ViewContainerRef, Inject, computed } from '@angular/core';
|
|
3
3
|
import { trigger, state, transition, style, animate } from '@angular/animations';
|
|
4
4
|
import { BehaviorSubject, Subject, throttleTime } from 'rxjs';
|
|
5
5
|
import { filter, takeUntil, startWith, map } from 'rxjs/operators';
|
|
@@ -602,6 +602,7 @@ class PrintOptions {
|
|
|
602
602
|
*/
|
|
603
603
|
class NgxPrintDirective {
|
|
604
604
|
constructor() {
|
|
605
|
+
this.document = inject(DOCUMENT);
|
|
605
606
|
/**
|
|
606
607
|
* If `true`, uses CSS of HTMl element, otherwise no CSS applied
|
|
607
608
|
*
|
|
@@ -670,8 +671,7 @@ class NgxPrintDirective {
|
|
|
670
671
|
*/
|
|
671
672
|
set printStyle({ values }) {
|
|
672
673
|
for (const key in values) {
|
|
673
|
-
if (
|
|
674
|
-
// @ts-ignore
|
|
674
|
+
if (Object.prototype.hasOwnProperty.call(values, key)) {
|
|
675
675
|
this.printStyleArray.push((key + JSON.stringify(values[key])).replace(/['"]+/g, ''));
|
|
676
676
|
}
|
|
677
677
|
}
|
|
@@ -745,7 +745,7 @@ class NgxPrintDirective {
|
|
|
745
745
|
links = NgxPrintDirective.getElementTag('link');
|
|
746
746
|
}
|
|
747
747
|
if (this.printSectionId) {
|
|
748
|
-
printContents = document.getElementById(this.printSectionId)?.innerHTML;
|
|
748
|
+
printContents = this.document.getElementById(this.printSectionId)?.innerHTML;
|
|
749
749
|
popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');
|
|
750
750
|
popupWin?.document.open();
|
|
751
751
|
popupWin?.document.write(`
|
|
@@ -787,10 +787,10 @@ class NgxPrintDirective {
|
|
|
787
787
|
*/
|
|
788
788
|
hideMatPaginatorBeforePrinting() {
|
|
789
789
|
// @ts-ignore
|
|
790
|
-
document.getElementById(this.paginatorId).style.display = 'none';
|
|
791
|
-
if (document.getElementById(this.inputFilterId) != null) {
|
|
790
|
+
this.document.getElementById(this.paginatorId).style.display = 'none';
|
|
791
|
+
if (this.document.getElementById(this.inputFilterId) != null) {
|
|
792
792
|
// @ts-ignore
|
|
793
|
-
document.getElementById(this.inputFilterId).style.display = 'none';
|
|
793
|
+
this.document.getElementById(this.inputFilterId).style.display = 'none';
|
|
794
794
|
}
|
|
795
795
|
}
|
|
796
796
|
/**
|
|
@@ -802,10 +802,10 @@ class NgxPrintDirective {
|
|
|
802
802
|
showMatPaginatorAfterPrinting() {
|
|
803
803
|
this.matTableDataSource.paginator = this.paginator;
|
|
804
804
|
// @ts-ignore
|
|
805
|
-
document.getElementById(this.paginatorId).style.display = 'block';
|
|
806
|
-
if (document.getElementById(this.inputFilterId) != null) {
|
|
805
|
+
this.document.getElementById(this.paginatorId).style.display = 'block';
|
|
806
|
+
if (this.document.getElementById(this.inputFilterId) != null) {
|
|
807
807
|
// @ts-ignore
|
|
808
|
-
document.getElementById(this.inputFilterId).style.display = 'block';
|
|
808
|
+
this.document.getElementById(this.inputFilterId).style.display = 'block';
|
|
809
809
|
}
|
|
810
810
|
}
|
|
811
811
|
/**
|
|
@@ -902,6 +902,7 @@ class BaseButtonDirective {
|
|
|
902
902
|
this.loadingLabel = input('Loading...', ...(ngDevMode ? [{ debugName: "loadingLabel" }] : []));
|
|
903
903
|
this.loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
904
904
|
this.elementRef = inject(ElementRef);
|
|
905
|
+
this.document = inject(DOCUMENT);
|
|
905
906
|
this.originalText = signal('', ...(ngDevMode ? [{ debugName: "originalText" }] : []));
|
|
906
907
|
this.iconSpan = signal(null, ...(ngDevMode ? [{ debugName: "iconSpan" }] : []));
|
|
907
908
|
this.elementRef.nativeElement.classList.add('btn');
|
|
@@ -920,7 +921,7 @@ class BaseButtonDirective {
|
|
|
920
921
|
*/
|
|
921
922
|
createIcon() {
|
|
922
923
|
if (this.icon()) {
|
|
923
|
-
const iconElement = document.createElement('mat-icon');
|
|
924
|
+
const iconElement = this.document.createElement('mat-icon');
|
|
924
925
|
iconElement.classList.add('mat-icon', 'material-icons', 'pe-2');
|
|
925
926
|
iconElement.textContent = this.icon();
|
|
926
927
|
this.iconSpan.set(iconElement);
|
|
@@ -944,13 +945,13 @@ class BaseButtonDirective {
|
|
|
944
945
|
*/
|
|
945
946
|
showLoadingState(element) {
|
|
946
947
|
// Create a new span element
|
|
947
|
-
const newSpan = document.createElement('span');
|
|
948
|
+
const newSpan = this.document.createElement('span');
|
|
948
949
|
// Set its text content
|
|
949
950
|
newSpan.classList.add('spinner-border', 'spinner-border-sm', 'me-2');
|
|
950
951
|
newSpan.setAttribute('role', 'status');
|
|
951
952
|
// Append the new element to the host element
|
|
952
953
|
element.appendChild(newSpan);
|
|
953
|
-
element.appendChild(document.createTextNode(this.loadingLabel()));
|
|
954
|
+
element.appendChild(this.document.createTextNode(this.loadingLabel()));
|
|
954
955
|
element.setAttribute('disabled', 'true');
|
|
955
956
|
}
|
|
956
957
|
/**
|
|
@@ -963,7 +964,7 @@ class BaseButtonDirective {
|
|
|
963
964
|
element.appendChild(iconElement);
|
|
964
965
|
}
|
|
965
966
|
// Append text node instead of setting textContent (which overwrites the icon)
|
|
966
|
-
element.appendChild(document.createTextNode(this.originalText()));
|
|
967
|
+
element.appendChild(this.document.createTextNode(this.originalText()));
|
|
967
968
|
element.removeAttribute('disabled');
|
|
968
969
|
}
|
|
969
970
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: BaseButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
@@ -1104,6 +1105,7 @@ class BsLinkButtonDirective {
|
|
|
1104
1105
|
constructor() {
|
|
1105
1106
|
this.icon = input('search', ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
1106
1107
|
this.elementRef = inject(ElementRef);
|
|
1108
|
+
this.document = inject(DOCUMENT);
|
|
1107
1109
|
this.elementRef.nativeElement.classList.add('btn', 'text-primary');
|
|
1108
1110
|
effect(() => {
|
|
1109
1111
|
this.updateContent();
|
|
@@ -1112,7 +1114,7 @@ class BsLinkButtonDirective {
|
|
|
1112
1114
|
updateContent() {
|
|
1113
1115
|
// if icon present, add material-icons class and set text content
|
|
1114
1116
|
if (this.icon()) {
|
|
1115
|
-
const iconSpan = document.createElement('span');
|
|
1117
|
+
const iconSpan = this.document.createElement('span');
|
|
1116
1118
|
iconSpan.classList.add('material-icons', 'pe-2');
|
|
1117
1119
|
iconSpan.textContent = this.icon();
|
|
1118
1120
|
this.elementRef.nativeElement.appendChild(iconSpan);
|
|
@@ -1293,6 +1295,7 @@ class EditBsButtonDirective {
|
|
|
1293
1295
|
constructor() {
|
|
1294
1296
|
this.elementRef = inject(ElementRef);
|
|
1295
1297
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
1298
|
+
this.document = inject(DOCUMENT);
|
|
1296
1299
|
this.originalText = signal('', ...(ngDevMode ? [{ debugName: "originalText" }] : []));
|
|
1297
1300
|
this.iconComponentRef = signal(null, ...(ngDevMode ? [{ debugName: "iconComponentRef" }] : []));
|
|
1298
1301
|
}
|
|
@@ -1312,7 +1315,7 @@ class EditBsButtonDirective {
|
|
|
1312
1315
|
this.elementRef.nativeElement.textContent = '';
|
|
1313
1316
|
this.elementRef.nativeElement.appendChild(componentRef.location.nativeElement);
|
|
1314
1317
|
// Add text after the icon
|
|
1315
|
-
this.elementRef.nativeElement.appendChild(document.createTextNode(' ' + this.originalText()));
|
|
1318
|
+
this.elementRef.nativeElement.appendChild(this.document.createTextNode(' ' + this.originalText()));
|
|
1316
1319
|
}
|
|
1317
1320
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditBsButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1318
1321
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.0", type: EditBsButtonDirective, isStandalone: true, selector: "[editBsButton]", ngImport: i0 }); }
|
|
@@ -1441,6 +1444,7 @@ class EditSvgIconButtonDirective {
|
|
|
1441
1444
|
constructor() {
|
|
1442
1445
|
this.elementRef = inject(ElementRef);
|
|
1443
1446
|
this.viewContainerRef = inject(ViewContainerRef);
|
|
1447
|
+
this.document = inject(DOCUMENT);
|
|
1444
1448
|
this.originalText = signal('', ...(ngDevMode ? [{ debugName: "originalText" }] : []));
|
|
1445
1449
|
this.iconComponentRef = signal(null, ...(ngDevMode ? [{ debugName: "iconComponentRef" }] : []));
|
|
1446
1450
|
}
|
|
@@ -1461,8 +1465,7 @@ class EditSvgIconButtonDirective {
|
|
|
1461
1465
|
// Clear the original content and append the icon component
|
|
1462
1466
|
this.elementRef.nativeElement.textContent = '';
|
|
1463
1467
|
this.elementRef.nativeElement.appendChild(componentRef.location.nativeElement);
|
|
1464
|
-
|
|
1465
|
-
this.elementRef.nativeElement.appendChild(document.createTextNode(' ' + this.originalText()));
|
|
1468
|
+
this.elementRef.nativeElement.appendChild(this.document.createTextNode(' ' + this.originalText()));
|
|
1466
1469
|
}
|
|
1467
1470
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditSvgIconButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1468
1471
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.0", type: EditSvgIconButtonDirective, isStandalone: true, selector: "[editSvgIconButton]", ngImport: i0 }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js-smart-ng-kit.mjs","sources":["../../../projects/ng-kit/src/lib/components/alert/alert.component.ts","../../../projects/ng-kit/src/lib/components/alert/alert.component.html","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.enum.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/safe-html.pipe.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.service.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.component.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.component.html","../../../projects/ng-kit/src/lib/components/spinner/spinner.component.ts","../../../projects/ng-kit/src/lib/components/spinner/spinner.component.html","../../../projects/ng-kit/src/lib/components/autocomplete/autocomplete.component.ts","../../../projects/ng-kit/src/lib/components/autocomplete/autocomplete.component.html","../../../projects/ng-kit/src/lib/directives/ngx-print/print-options.ts","../../../projects/ng-kit/src/lib/directives/ngx-print/ngx-print.directive.ts","../../../projects/ng-kit/src/lib/directives/prevent-multiple-clicks/prevent-multiple-clicks.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/base-button/base-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/base-button/base-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/bs-link-button/bs-link-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/bs-link-button/bs-link-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/close-button/close-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/delete-button/delete-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/delete-button/delete-button.directive.ts","../../../projects/ng-kit/src/lib/svg-icons/edit-solid-svg/edit-solid-svg.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-bs-button/edit-bs-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-bs-button/edit-bs-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-button/edit-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-button/edit-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-svg-icon-button/edit-svg-icon-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-svg-icon-button/edit-svg-icon-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/excel-export-button/excel-export-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/excel-export-button/excel-export-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/manage-button/manage-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/manage-button/manage-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/pdf-export-button/pdf-export-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/pdf-export-button/pdf-export-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/primary-button/primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/primary-button/primary-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/save-primary-button/save-primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/save-primary-button/save-primary-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/search-button/search-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/success-button/success-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/success-button/success-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/view-button/view-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/view-button/view-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/view-primary-button/view-primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/view-primary-button/view-primary-button.directive.ts","../../../projects/ng-kit/src/lib/components/confirm-dialog/confirm-dialog.component.ts","../../../projects/ng-kit/src/lib/components/snack-bar/error-snack-bar/error-snack-bar.component.ts","../../../projects/ng-kit/src/lib/components/snack-bar/success-snack-bar/success-snack-bar.component.ts","../../../projects/ng-kit/src/lib/services/mat-snack-bar.service.ts","../../../projects/ng-kit/src/lib/store/entity-store.ts","../../../projects/ng-kit/src/lib/store/store.ts","../../../projects/ng-kit/src/lib/util/progress-util.ts","../../../projects/ng-kit/src/js-smart-ng-kit.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, effect, inject, input, type OnInit, output, signal } from '@angular/core';\n\nexport type AlertType = 'info' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'dark' | 'light';\n\n/**\n * Boostrap Alert component that can be used to alert messages to the user\n *\n * @author Pavan Kumar Jadda\n * @since 12.0.0\n */\n@Component({\n\tselector: 'lib-alert, alert',\n\ttemplateUrl: './alert.component.html',\n\tstyleUrls: ['./alert.component.scss'],\n})\nexport class AlertComponent implements OnInit {\n\tcdr = inject(ChangeDetectorRef);\n\t/**\n\t * Type of the BootStrap Alert. Following values are supported. See BootStrap docs for more information\n\t */\n\ttype = input<AlertType>('info');\n\n\t/**\n\t * Is alert visible or open\n\t */\n\tisOpen = input(true);\n\n\t/**\n\t * Writable signal for isOpen\n\t */\n\topen = signal(this.isOpen());\n\n\t/**\n\t * If set, displays an inline “Close” button\n\t */\n\tdismissible = input(true);\n\n\t/**\n\t * If set, dismisses the alert after Dismiss Timeout\n\t */\n\tdismissOnTimeout = input(true);\n\n\t/**\n\t * Number in milliseconds, after which alert will be closed. Default value is 5000 ms\n\t */\n\tdismissTimeout = input(5000);\n\n\t/**\n\t * Additional classes to be added to the alert. This can be used to add custom styles to the alert\n\t */\n\tclass = input('');\n\n\t/**\n\t * Emits when the alert is closed.\n\t */\n\tclosed = output<void>();\n\n\tconstructor() {\n\t\t// React to isOpen input changes\n\t\teffect(() => {\n\t\t\tthis.open.set(this.isOpen());\n\t\t});\n\t}\n\n\t/**\n\t * Initialize the component and settings\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tngOnInit(): void {\n\t\tthis.openAlert();\n\n\t\tif (this.dismissOnTimeout()) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.closeAlert();\n\t\t\t\tthis.cdr.markForCheck();\n\t\t\t}, this.dismissTimeout());\n\t\t}\n\t}\n\n\t/**\n\t * Closes BootStrap Alert if not open\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tcloseAlert(): void {\n\t\tif (!this.isOpen()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.open.set(false);\n\t\tthis.closed.emit();\n\t}\n\n\t/**\n\t * Opens Bootstrap Alert\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tprivate openAlert(): void {\n\t\tthis.open.set(true);\n\t}\n}\n","@if (open()) {\n\t<div class=\"row {{ class() }}\">\n\t\t<div class=\"col-xs-12 col-sm-12 col-md-auto mx-auto\">\n\t\t\t<div class=\"alert alert-{{ type() }} alert-dismissible alert_div\" role=\"alert\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t\t@if (dismissible()) {\n\t\t\t\t\t<button (click)=\"closeAlert()\" aria-label=\"Close\" class=\"btn-close\" data-bs-dismiss=\"alert\" type=\"button\"></button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n}\n","export const LOADERS = {\n\t'ball-clip-rotate': 1,\n};\n\nexport const DEFAULTS = {\n\tBD_COLOR: 'rgba(51,51,51,0.8)',\n\tSPINNER_COLOR: '#fff',\n\tSPINNER_TYPE: 'ball-clip-rotate',\n\tZ_INDEX: 99999,\n};\n\nexport const PRIMARY_SPINNER = 'primary';\n\nexport type Size = 'default' | 'small' | 'medium' | 'large';\n\nexport interface Spinner {\n\tbdColor?: string;\n\tsize?: Size;\n\tcolor?: string;\n\ttype?: string;\n\tfullScreen?: boolean;\n\tzIndex?: number;\n\ttemplate?: string;\n\tshowSpinner?: boolean;\n}\n\nexport class NgxSpinner {\n\tname?: string;\n\tbdColor?: string;\n\tsize?: Size;\n\tcolor?: string;\n\ttype?: string;\n\tclass?: string;\n\tdivCount?: number;\n\tdivArray?: number[];\n\tfullScreen?: boolean;\n\tshow?: boolean;\n\tzIndex?: number;\n\ttemplate?: string;\n\tshowSpinner?: boolean;\n\n\tconstructor(init?: Partial<NgxSpinner>) {\n\t\tObject.assign(this, init);\n\t}\n}\n","import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'safeHtml',\n\tstandalone: true,\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\tconstructor(private _sanitizer: DomSanitizer) {}\n\n\ttransform(v: string): SafeHtml | undefined {\n\t\tif (v) {\n\t\t\treturn this._sanitizer.bypassSecurityTrustHtml(v);\n\t\t}\n\t\treturn undefined;\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { NgxSpinner, PRIMARY_SPINNER, Spinner } from './ngx-spinner.enum';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class NgxSpinnerService {\n\t/**\n\t * Spinner observable\n\t *\n\t * @memberof NgxSpinnerService\n\t */\n\t// private spinnerObservable = new ReplaySubject<NgxSpinner>(1);\n\tpublic spinnerObservable = new BehaviorSubject<NgxSpinner | undefined>(undefined);\n\n\t/**\n\t * Creates an instance of NgxSpinnerService.\n\t * @memberof NgxSpinnerService\n\t */\n\n\t/**\n\t * Get subscription of desired spinner\n\t * @memberof NgxSpinnerService\n\t **/\n\tgetSpinner(name: string): Observable<NgxSpinner> {\n\t\t// @ts-ignore\n\t\treturn this.spinnerObservable.asObservable().pipe(filter((x) => x?.name === name));\n\t}\n\n\t/**\n\t * To show spinner\n\t *\n\t * @memberof NgxSpinnerService\n\t */\n\tshow(name: string = PRIMARY_SPINNER, spinner?: Spinner) {\n\t\treturn new Promise((resolve, _reject) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (spinner && Object.keys(spinner).length) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tspinner['name'] = name;\n\t\t\t\t\tthis.spinnerObservable.next(new NgxSpinner({ ...spinner, show: true }));\n\t\t\t\t\tresolve(true);\n\t\t\t\t} else {\n\t\t\t\t\tthis.spinnerObservable.next(new NgxSpinner({ name, show: true }));\n\t\t\t\t\tresolve(true);\n\t\t\t\t}\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\t/**\n\t * To hide spinner\n\t *\n\t * @memberof NgxSpinnerService\n\t */\n\thide(name: string = PRIMARY_SPINNER, debounce = 10) {\n\t\treturn new Promise((resolve, _reject) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.spinnerObservable.next(new NgxSpinner({ name, show: false }));\n\t\t\t\tresolve(true);\n\t\t\t}, debounce);\n\t\t});\n\t}\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectorRef, Component, HostListener, input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DEFAULTS, LOADERS, NgxSpinner, PRIMARY_SPINNER, Size } from './ngx-spinner.enum';\nimport { NgxSpinnerService } from './ngx-spinner.service';\nimport { SafeHtmlPipe } from './safe-html.pipe';\n\n@Component({\n\tselector: 'ngx-spinner',\n\timports: [SafeHtmlPipe],\n\ttemplateUrl: 'ngx-spinner.component.html',\n\tstyleUrls: ['ngx-spinner.component.css'],\n\tanimations: [\n\t\ttrigger('fadeIn', [\n\t\t\tstate('in', style({ opacity: 1 })),\n\t\t\ttransition(':enter', [style({ opacity: 0 }), animate(300)]),\n\t\t\ttransition(':leave', animate(200, style({ opacity: 0 }))),\n\t\t]),\n\t],\n})\nexport class NgxSpinnerComponent implements OnDestroy, OnInit {\n\t/**\n\t * To set backdrop color\n\t * Only supports RGBA color format\n\t */\n\tbdColor = input<string>(DEFAULTS.BD_COLOR);\n\n\t/**\n\t * To set spinner size\n\t */\n\tsize = input<Size>('large');\n\n\t/**\n\t * To set spinner color(DEFAULTS.SPINNER_COLOR)\n\t */\n\tcolor = input<string>(DEFAULTS.SPINNER_COLOR);\n\n\t/**\n\t * To set type of spinner\n\t */\n\ttype = input<string>(DEFAULTS.SPINNER_TYPE);\n\n\t/**\n\t * To toggle fullscreen mode\n\t */\n\tfullScreen = input<boolean>(true);\n\n\t/**\n\t * Spinner name\n\t */\n\tname = input<string>(PRIMARY_SPINNER);\n\n\t/**\n\t * z-index value\n\t */\n\tzIndex = input<number>(DEFAULTS.Z_INDEX);\n\n\t/**\n\t * Custom template for spinner/loader\n\t */\n\ttemplate = input<string>('');\n\n\t/**\n\t * Show/Hide the spinner\n\t */\n\tshowSpinner = input<boolean>(false);\n\n\t/**\n\t * To enable/disable animation\n\t */\n\tdisableAnimation = input<boolean>(false);\n\n\t/**\n\t * Spinner Object\n\t */\n\tspinner: NgxSpinner = new NgxSpinner();\n\n\t/**\n\t * Array for spinner's div\n\t */\n\tdivArray: number[] = [];\n\n\t/**\n\t * Counter for div\n\t */\n\tdivCount = 0;\n\n\t/**\n\t * Show spinner\n\t **/\n\tshow = false;\n\n\t/**\n\t * Unsubscribe from spinner's observable\n\t **/\n\tngUnsubscribe = new Subject<void>();\n\n\t/**\n\t * Element Reference\n\t */\n\t// @ts-ignore\n\t@ViewChild('overlay') spinnerDOM;\n\n\t/**\n\t * Creates an instance of NgxSpinnerComponent.\n\t */\n\tconstructor(\n\t\tprivate readonly spinnerService: NgxSpinnerService,\n\t\tprivate readonly changeDetector: ChangeDetectorRef,\n\t) {}\n\n\t@HostListener('document:keydown', ['$event'])\n\thandleKeyboardEvent(event: KeyboardEvent): void {\n\t\tif (this.spinnerDOM?.nativeElement) {\n\t\t\tevent.returnValue = false;\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Initialization method\n\t */\n\tngOnInit(): void {\n\t\tthis.setDefaultOptions();\n\t\tthis.spinnerService\n\t\t\t.getSpinner(this.name())\n\t\t\t.pipe(takeUntil(this.ngUnsubscribe))\n\t\t\t.subscribe((spinner: NgxSpinner) => {\n\t\t\t\tthis.setDefaultOptions();\n\t\t\t\tObject.assign(this.spinner, spinner);\n\t\t\t\tif (spinner.show) {\n\t\t\t\t\tthis.onInputChange();\n\t\t\t\t}\n\t\t\t\tthis.changeDetector.detectChanges();\n\t\t\t});\n\t}\n\n\t/**\n\t * To set default ngx-spinner options\n\t */\n\tsetDefaultOptions = (): void => {\n\t\tthis.spinner = new NgxSpinner({\n\t\t\tname: this.name(),\n\t\t\tbdColor: this.bdColor(),\n\t\t\tsize: this.size(),\n\t\t\tcolor: this.color(),\n\t\t\ttype: this.type(),\n\t\t\tfullScreen: this.fullScreen(),\n\t\t\tdivArray: this.divArray,\n\t\t\tdivCount: this.divCount,\n\t\t\tshow: this.show,\n\t\t\tzIndex: this.zIndex(),\n\t\t\ttemplate: this.template(),\n\t\t\tshowSpinner: this.showSpinner(),\n\t\t});\n\t};\n\n\t/**\n\t * To get class for spinner\n\t */\n\tgetClass(type: string, size: Size): string {\n\t\t// @ts-ignore\n\t\tthis.spinner.divCount = LOADERS[type];\n\t\tthis.spinner.divArray = Array(this.spinner.divCount)\n\t\t\t.fill(0)\n\t\t\t.map((_x, i) => i);\n\t\tlet sizeClass = '';\n\t\tswitch (size.toLowerCase()) {\n\t\t\tcase 'small':\n\t\t\t\tsizeClass = 'la-sm';\n\t\t\t\tbreak;\n\t\t\tcase 'medium':\n\t\t\t\tsizeClass = 'la-2x';\n\t\t\t\tbreak;\n\t\t\tcase 'large':\n\t\t\t\tsizeClass = 'la-3x';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\treturn 'la-' + type + ' ' + sizeClass;\n\t}\n\n\t/**\n\t * Check if input variables have changed\n\t */\n\tonInputChange(): void {\n\t\tthis.spinner.class = this.getClass(this.spinner.type ?? DEFAULTS.SPINNER_TYPE, this.spinner.size ?? 'default');\n\t}\n\n\t/**\n\t * Component destroy event\n\t */\n\tngOnDestroy(): void {\n\t\tthis.ngUnsubscribe.next();\n\t\tthis.ngUnsubscribe.complete();\n\t}\n}\n","@if (spinner.show) {\n\t<div\n\t\t#overlay\n\t\t[@.disabled]=\"disableAnimation()\"\n\t\t[@fadeIn]=\"'in'\"\n\t\t[style.background-color]=\"spinner.bdColor\"\n\t\t[style.position]=\"spinner.fullScreen ? 'fixed' : 'absolute'\"\n\t\t[style.z-index]=\"spinner.zIndex\"\n\t\tclass=\"ngx-spinner-overlay\">\n\t\t@if (spinner.show) {\n\t\t\t<div [class]=\"spinner.class\" [style.color]=\"spinner.color\">\n\t\t\t\t@for (index of spinner.divArray; track index) {\n\t\t\t\t\t<div></div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t\t@if (template()) {\n\t\t\t<div [innerHTML]=\"template() | safeHtml\"></div>\n\t\t}\n\t\t<div [style.z-index]=\"spinner.zIndex\" class=\"loading-text\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n}\n","import { Component, input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n\tselector: 'spinner,lib-spinner',\n\timports: [MatProgressSpinnerModule],\n\ttemplateUrl: './spinner.component.html',\n\tstyleUrls: ['./spinner.component.scss'],\n})\nexport class SpinnerComponent {\n\t/**\n\t * Use Boostrap Spinner. Default `true`\n\t */\n\tbootstrapSpinner = input(true);\n\n\t/**\n\t * Diameter of the Angular Material spinner\n\t */\n\tdiameter = input(50);\n\n\t/**\n\t * Color of the Angular Material spinner\n\t */\n\tcolor = input<ThemePalette>('primary');\n\n\t/**\n\t * Stroke Width of the Angular Material spinner\n\t */\n\tstrokeWidth = input(5);\n}\n","<!-- Angular Material Spinner -->\n@if (!bootstrapSpinner()) {\n\t<mat-spinner [color]=\"color()\" [diameter]=\"diameter()\" [strokeWidth]=\"strokeWidth()\" class=\"mx-auto\"> </mat-spinner>\n}\n\n<!-- Bootstrap Spinner -->\n@if (bootstrapSpinner()) {\n\t<div class=\"d-flex justify-content-center\">\n\t\t<div class=\"spinner-border bs-spinner\" role=\"status\"></div>\n\t</div>\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n\tAfterContentChecked,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tInput,\n\tinput,\n\tOnChanges,\n\tOnInit,\n\tOptional,\n\toutput,\n\tSimpleChanges,\n\tViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionSelectionChange } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\n\n/**\n * Reusable Auto Complete component that extends MatAutoComplete to show Clear icon and Arrow buttons\n *\n * @author Pavan Kumar Jadda\n * @since 12.0.0\n */\n@Component({\n\tselector: 'autocomplete, lib-autocomplete',\n\timports: [ReactiveFormsModule, MatFormFieldModule, MatAutocompleteModule, MatInputModule, MatButtonModule, MatIconModule, AsyncPipe],\n\ttemplateUrl: './autocomplete.component.html',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => AutocompleteComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class AutocompleteComponent implements OnInit, OnChanges, AfterContentChecked, ControlValueAccessor {\n\t/**\n\t * Gets reference inputAutoComplete HTML attribute\n\t */\n\t@ViewChild('inputAutoComplete') inputAutoComplete!: ElementRef;\n\n\tcdRef = inject(ChangeDetectorRef);\n\n\t/**\n\t * Internal form control for the autocomplete\n\t */\n\tcontrol = new FormControl('');\n\n\t/**\n\t * Label of the AutoComplete\n\t */\n\tlabel = input('');\n\n\t/**\n\t * Placeholder of the AutoComplete\n\t */\n\tplaceHolder = input('');\n\n\t/**\n\t * Appearance of the AutoComplete, defaults to `fill`\n\t */\n\tappearance = input('fill');\n\n\t/**\n\t * List of CSS classes that need to applied to autocomplete\n\t */\n\tclasses = input('');\n\n\t/**\n\t * Attribute of the Object whose value would be shown when searching for data. Defaults to `ID`\n\t */\n\tbindLabel = input('');\n\n\t/**\n\t * Attribute of the Object whose value would be used for search\n\t */\n\tbindValue = input('id');\n\n\t/**\n\t * Function that maps an option's control value to its display value in the trigger.\n\t */\n\t@Input() @Optional() displayWith: ((value: any) => string) | null = null;\n\n\t/**\n\t * Specifies if the autocomplete is required. Default is not required.\n\t */\n\trequired = input(false);\n\n\t/**\n\t * Specifies if the autocomplete is disabled. Default is not required.\n\t */\n\tdisabled = input(false);\n\n\t/**\n\t * List of Objects that need to be bind and searched for\n\t */\n\tdata = input<string[] | any[]>();\n\n\t/**\n\t * Emit selected value on selection changes\n\t */\n\tonSelectionChange = output<any>();\n\n\t/**\n\t * BehaviorSubject that shows the current active arrow icon\n\t */\n\tarrowIconSubject = new BehaviorSubject('arrow_drop_down');\n\n\t/**\n\t * Filtered options when user types\n\t */\n\tfilteredOptions: Observable<any[] | undefined> | undefined;\n\n\twriteValue(value: any): void {\n\t\tthis.control.setValue(value, { emitEvent: false });\n\t}\n\n\tregisterOnChange(fn: any): void {\n\t\tthis.onChange = fn;\n\t\t// Forward value changes from internal control to parent form\n\t\tthis.control.valueChanges.subscribe((value) => fn(value));\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tif (isDisabled) {\n\t\t\tthis.control.disable();\n\t\t} else {\n\t\t\tthis.control.enable();\n\t\t}\n\t}\n\n\tngAfterContentChecked(): void {\n\t\tthis.cdRef.detectChanges();\n\t}\n\n\tngOnInit() {\n\t\tthis.filteredOptions = this.control.valueChanges.pipe(\n\t\t\tstartWith(''),\n\t\t\tmap((value) => (typeof value === 'string' ? value : value !== null ? value[this.bindLabel()] : '')),\n\t\t\tmap(\n\t\t\t\t(propertyName) =>\n\t\t\t\t\tthis.data()?.filter((option) => {\n\t\t\t\t\t\treturn typeof option === 'string'\n\t\t\t\t\t\t\t? option?.toLowerCase().startsWith(propertyName.toLowerCase())\n\t\t\t\t\t\t\t: option[this.bindLabel()]?.toLowerCase().indexOf(propertyName.toLowerCase()) === 0;\n\t\t\t\t\t}) ?? this.data()?.slice(),\n\t\t\t),\n\t\t);\n\t}\n\n\tngOnChanges(_changes: SimpleChanges): void {\n\t\tthis.displayFn = this.displayFn.bind(this);\n\t}\n\n\tclearInput(evt: any): void {\n\t\tevt.stopPropagation();\n\t\tthis.control.reset();\n\t\tthis.onChange(null);\n\t\tthis.inputAutoComplete?.nativeElement.focus();\n\t}\n\n\topenOrClosePanel(evt: any, trigger: MatAutocompleteTrigger): void {\n\t\tevt.stopPropagation();\n\t\tif (trigger.panelOpen) {\n\t\t\ttrigger.closePanel();\n\t\t} else {\n\t\t\ttrigger.openPanel();\n\t\t}\n\t}\n\n\tdisplayFn(object: any): string {\n\t\tif (this.displayWith !== undefined && this.displayWith !== null && typeof this.displayWith === 'function') {\n\t\t\tthis.displayFn = this.displayWith.bind(this);\n\t\t\treturn this.displayWith(object);\n\t\t} else {\n\t\t\tif (typeof object === 'string') {\n\t\t\t\treturn object;\n\t\t\t}\n\t\t\treturn object?.[this.bindLabel()] ? object[this.bindLabel()] : '';\n\t\t}\n\t}\n\n\temitSelectedValue($event: MatOptionSelectionChange) {\n\t\tthis.onSelectionChange.emit($event.source.value);\n\t\tthis.onChange($event.source.value);\n\t\tthis.onTouched();\n\t}\n\n\t// ControlValueAccessor implementation\n\tprivate onChange: (value: any) => void = () => {};\n\n\tprivate onTouched: () => void = () => {};\n}\n","<div>\n\t<mat-form-field appearance=\"fill\" class=\"{{ classes() }}\">\n\t\t<mat-label>{{ label() }}</mat-label>\n\t\t<input\n\t\t\t#inputAutoComplete\n\t\t\t#trigger=\"matAutocompleteTrigger\"\n\t\t\t[formControl]=\"control\"\n\t\t\t[matAutocomplete]=\"auto\"\n\t\t\t[placeholder]=\"placeHolder()\"\n\t\t\t[required]=\"required()\"\n\t\t\tmatInput\n\t\t\ttype=\"text\" />\n\n\t\t<div matSuffix style=\"display: flex\">\n\t\t\t@if (control.value) {\n\t\t\t\t<button (click)=\"clearInput($event)\" aria-label=\"Clear\" mat-icon-button type=\"button\">\n\t\t\t\t\t<mat-icon>clear</mat-icon>\n\t\t\t\t</button>\n\t\t\t}\n\t\t\t<button (click)=\"openOrClosePanel($event, trigger)\" aria-label=\"Clear\" mat-icon-button type=\"button\">\n\t\t\t\t<mat-icon>{{ arrowIconSubject.getValue() }}</mat-icon>\n\t\t\t</button>\n\t\t</div>\n\n\t\t<mat-autocomplete\n\t\t\t#auto=\"matAutocomplete\"\n\t\t\t(closed)=\"arrowIconSubject.next('arrow_drop_down')\"\n\t\t\t(opened)=\"arrowIconSubject.next('arrow_drop_up')\"\n\t\t\t(optionSelected)=\"arrowIconSubject.next('arrow_drop_down')\"\n\t\t\t[displayWith]=\"displayFn\">\n\t\t\t@for (option of filteredOptions | async; track option[bindValue()]) {\n\t\t\t\t<mat-option (onSelectionChange)=\"emitSelectedValue($event)\" [value]=\"option\">\n\t\t\t\t\t@if (typeof option === 'string') {\n\t\t\t\t\t\t<ng-container>{{ option }}</ng-container>\n\t\t\t\t\t} @else if (typeof option === 'object') {\n\t\t\t\t\t\t<ng-container>{{ option[bindLabel()] }}</ng-container>\n\t\t\t\t\t}\n\t\t\t\t</mat-option>\n\t\t\t}\n\t\t</mat-autocomplete>\n\t</mat-form-field>\n</div>\n","export class PrintOptions {\n\tprintSectionId = '';\n\tprintTitle = '';\n\tuseExistingCss = false;\n\tbodyClass = '';\n\topenNewTab = false;\n\tpreviewOnly = false;\n\tcloseWindow = true;\n\tprintDelay = 0;\n\n\tconstructor(options?: Partial<PrintOptions>) {\n\t\tif (options) {\n\t\t\tObject.assign(this, options);\n\t\t}\n\t}\n}\n","import { Directive, HostListener, Input } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { PrintOptions } from './print-options';\n\n/**\n * Reusable Angular directory that prints given contents of HTML element\n *\n * @since 12.0.0\n * @author Pavan Kumar Jadda\n */\n@Directive({\n\tselector: 'button[ngxPrint], button[print]',\n\tstandalone: true,\n})\nexport class NgxPrintDirective {\n\t/**\n\t * ID of the HTML element those contents need to be printed\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() printSectionId: string | undefined;\n\t/**\n\t * Title of the HTML element those contents need to be printed\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() printTitle: string | undefined;\n\t/**\n\t * If `true`, uses CSS of HTMl element, otherwise no CSS applied\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() useExistingCss = false;\n\t/**\n\t * A delay in milliseconds to force the print dialog to wait before opened. Default: 0\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() printDelay = 0;\n\t/**\n\t * Instance of the Mat Table Data Source\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() matTableDataSource!: MatTableDataSource<any>;\n\t/**\n\t * Instance of the Mat Paginator\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() paginator!: MatPaginator;\n\t/**\n\t * ID of the Mat Paginator\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() paginatorId = '';\n\t/**\n\t * HTML tag ID of the Mat-Table Input Filter\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() inputFilterId = '';\n\t/**\n\t * If `true`, referenced table is Mat-Table\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() isMatTable = false;\n\t/**\n\t * If `true` Mat-Table paginator will be hidden\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() hideMatTablePaginator = false;\n\n\tpublic printStyleArray = [];\n\tprintOptions = new PrintOptions();\n\n\t/**\n\t * List of Style sheet files\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate styleSheetFileArray = '';\n\n\t/**\n\t * Prevents the print dialog from opening on the window\n\t *\n\t * @memberof NgxPrintDirective\n\t */\n\t@Input() set previewOnly(value: boolean) {\n\t\tthis.printOptions = { ...this.printOptions, previewOnly: value };\n\t}\n\n\t/**\n\t * List of CSS properties that needs to be applied while printing the document\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input()\n\tset printStyle({ values }: PrintStyleParams) {\n\t\tfor (const key in values) {\n\t\t\tif (values.hasOwnProperty(key)) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tthis.printStyleArray.push((key + JSON.stringify(values[key])).replace(/['\"]+/g, ''));\n\t\t\t}\n\t\t}\n\t\tthis.returnStyleValues();\n\t}\n\n\t/**\n\t * Sets given style sheet files to print document\n\t *\n\t * @param cssList Comma separated value of CSS file names\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input()\n\tset styleSheetFile(cssList: string) {\n\t\tif (cssList.indexOf(',') !== -1) {\n\t\t\tconst cssFileArray = cssList.split(',');\n\t\t\tfor (const cssFileName of cssFileArray) {\n\t\t\t\tthis.styleSheetFileArray = this.styleSheetFileArray + NgxPrintDirective.linkTagFn(cssFileName);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.styleSheetFileArray = NgxPrintDirective.linkTagFn(cssList);\n\t\t}\n\t}\n\n\t/**\n\t * Build link HTMl tag based on given file name\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate static linkTagFn(cssFileName: string): string {\n\t\treturn `<link rel=\"stylesheet\" type=\"text/css\" href=\"${cssFileName}\">`;\n\t}\n\n\t/**\n\t * Gets HTML element by tag name\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate static getElementTag(tag: keyof HTMLElementTagNameMap): string {\n\t\tconst html: string[] = [];\n\t\tconst elements = document.getElementsByTagName(tag);\n\t\t// @ts-ignore\n\t\tfor (const element of elements) {\n\t\t\thtml.push(element.outerHTML);\n\t\t}\n\t\treturn html.join('\\r\\n');\n\t}\n\n\t/**\n\t * Print the element upon clicking the button\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@HostListener('click')\n\tpublic print(): void {\n\t\t//Hide paginator for Material table\n\t\tif (this.isMatTable && this.hideMatTablePaginator && this.matTableDataSource) {\n\t\t\tthis.matTableDataSource.paginator = null;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tif (this.isMatTable) {\n\t\t\t\tthis.hideMatPaginatorBeforePrinting();\n\t\t\t}\n\n\t\t\t// Do something after\n\t\t\tlet printContents;\n\t\t\tlet popupWin;\n\t\t\tlet styles = '';\n\t\t\tlet links = '';\n\n\t\t\tif (this.useExistingCss) {\n\t\t\t\tstyles = NgxPrintDirective.getElementTag('style');\n\t\t\t\tlinks = NgxPrintDirective.getElementTag('link');\n\t\t\t}\n\t\t\tif (this.printSectionId) {\n\t\t\t\tprintContents = document.getElementById(this.printSectionId)?.innerHTML;\n\t\t\t\tpopupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\n\t\t\t\tpopupWin?.document.open();\n\t\t\t\tpopupWin?.document.write(`\n <html lang=\"en-us\">\n <head>\n <title>${this.printTitle ? this.printTitle : ''}</title>\n ${this.returnStyleValues()}\n ${this.styleSheetFileArray}\n ${styles}\n ${links}\n </head>\n <body>\n ${printContents}\n <script defer>\n function triggerPrint() {\n window.removeEventListener('load', triggerPrint, false);\n setTimeout(() => {\n window.print();\n setTimeout(function() { window.close(); }, 0);\n }, ${this.printDelay});\n }\n window.addEventListener('load', triggerPrint, false);\n </script>\n </body>\n </html>`);\n\n\t\t\t\tpopupWin?.document.close();\n\n\t\t\t\t//Revert back the mat-paginator after printing\n\t\t\t\tif (this.isMatTable) {\n\t\t\t\t\tthis.showMatPaginatorAfterPrinting();\n\t\t\t\t}\n\t\t\t}\n\t\t}, 1000); //1 second timeout to hide paginator\n\t}\n\n\t/**\n\t * Hide Mat Paginator before Printing\n\t *\n\t * @since 12.0.1\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate hideMatPaginatorBeforePrinting() {\n\t\t// @ts-ignore\n\t\tdocument.getElementById(this.paginatorId).style.display = 'none';\n\t\tif (document.getElementById(this.inputFilterId) != null) {\n\t\t\t// @ts-ignore\n\t\t\tdocument.getElementById(this.inputFilterId).style.display = 'none';\n\t\t}\n\t}\n\n\t/**\n\t * Show Mat Paginator after Printing\n\t *\n\t * @since 12.0.1\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate showMatPaginatorAfterPrinting() {\n\t\tthis.matTableDataSource.paginator = this.paginator;\n\t\t// @ts-ignore\n\t\tdocument.getElementById(this.paginatorId).style.display = 'block';\n\t\tif (document.getElementById(this.inputFilterId) != null) {\n\t\t\t// @ts-ignore\n\t\t\tdocument.getElementById(this.inputFilterId).style.display = 'block';\n\t\t}\n\t}\n\n\t/**\n\t * @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\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate returnStyleValues() {\n\t\treturn `<style> ${this.printStyleArray.join(' ').replace(/,/g, ';')} </style>`;\n\t}\n}\n\ninterface PrintStyleParams {\n\tvalues: Record<string, Record<string, string>>;\n}\n","import { Directive, HostListener, input, OnDestroy, OnInit, output } from '@angular/core';\nimport { Subject, Subscription, throttleTime } from 'rxjs';\n\n@Directive({\n\tselector: '[preventMultipleClicks]',\n\tstandalone: true,\n})\nexport class PreventMultipleClicksDirective implements OnInit, OnDestroy {\n\tthrottleTime = input(2000);\n\tthrottleClick = output<Event>();\n\tprivate readonly clicks = new Subject<Event>();\n\tprivate subscription: Subscription | undefined;\n\n\t/**\n\t * Intercepts click event and stops default navigation. After first click set {@link throttleTime} to 2000 to prevent duplicate clicks\n\t *\n\t * @param event DOM event\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.3.27\n\t */\n\t@HostListener('click', ['$event'])\n\tclickEvent(event: Event) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.clicks.next(event);\n\t}\n\n\tngOnInit() {\n\t\tthis.subscription = this.clicks.pipe(throttleTime(this.throttleTime())).subscribe((e) => this.throttleClick.emit(e));\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription?.unsubscribe();\n\t}\n}\n","import { Directive, effect, ElementRef, inject, input, OnInit, signal } from '@angular/core';\n\n@Directive()\nexport abstract class BaseButtonDirective implements OnInit {\n\ticon = input<string>('');\n\tloadingLabel = input<string>('Loading...');\n\tloading = input<boolean>(false);\n\telementRef = inject(ElementRef);\n\n\tprotected originalText = signal('');\n\tprotected iconSpan = signal<HTMLElement | null>(null);\n\n\tconstructor() {\n\t\tthis.elementRef.nativeElement.classList.add('btn');\n\n\t\teffect(() => {\n\t\t\tthis.updateContent();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\t// Capture original text before creating icon\n\t\tthis.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Button');\n\n\t\t// Create icon after capturing text\n\t\tthis.createIcon();\n\t}\n\n\t/**\n\t * Create icon element if icon name is provided\n\t */\n\tprotected createIcon(): void {\n\t\tif (this.icon()) {\n\t\t\tconst iconElement = document.createElement('mat-icon');\n\t\t\ticonElement.classList.add('mat-icon', 'material-icons', 'pe-2');\n\t\t\ticonElement.textContent = this.icon();\n\t\t\tthis.iconSpan.set(iconElement);\n\t\t}\n\t}\n\n\t/**\n\t * Update content of the button\n\t */\n\tprotected updateContent(): void {\n\t\tconst element = this.elementRef.nativeElement;\n\t\telement.innerHTML = '';\n\n\t\tif (this.loading()) {\n\t\t\tthis.showLoadingState(element);\n\t\t} else {\n\t\t\tthis.showNormalState(element);\n\t\t}\n\t}\n\n\t/**\n\t * Show loading state. Add spinner and loadingLabel text\n\t */\n\tprotected showLoadingState(element: HTMLElement): void {\n\t\t// Create a new span element\n\t\tconst newSpan = document.createElement('span');\n\n\t\t// Set its text content\n\t\tnewSpan.classList.add('spinner-border', 'spinner-border-sm', 'me-2');\n\t\tnewSpan.setAttribute('role', 'status');\n\n\t\t// Append the new element to the host element\n\t\telement.appendChild(newSpan);\n\t\telement.appendChild(document.createTextNode(this.loadingLabel()));\n\t\telement.setAttribute('disabled', 'true');\n\t}\n\n\t/**\n\t * Show normal state. Add icon and original text\n\t */\n\tprotected showNormalState(element: HTMLElement): void {\n\t\t// Add icon and original text\n\t\tconst iconElement = this.iconSpan();\n\t\tif (iconElement) {\n\t\t\telement.appendChild(iconElement);\n\t\t}\n\n\t\t// Append text node instead of setting textContent (which overwrites the icon)\n\t\telement.appendChild(document.createTextNode(this.originalText()));\n\t\telement.removeAttribute('disabled');\n\t}\n}\n","import { Component, input, output } from '@angular/core';\n\n@Component({\n\tstandalone: true,\n\ttemplate: ``,\n})\nexport class BaseButtonComponent {\n\t/**\n\t * Is search in progress and loading the data\n\t */\n\tloading = input(false, { transform: (value: boolean | undefined) => value ?? false });\n\n\t/**\n\t * Is button disabled\n\t */\n\tdisabled = input<boolean>(false);\n\n\t/**\n\t * Type of the button. Following values are supported. See BootStrap docs for more information\n\t * <pre>\n\t * 1. button\n\t * 2. submit\n\t * </pre>\n\t */\n\ttype = input('button');\n\n\t/**\n\t * If set, shows when action in Progress\n\t */\n\tloadingLabel = input('Saving...');\n\n\t/**\n\t * If set, shows when Delete is not in progress\n\t */\n\tlabel = input('Save');\n\n\t/**\n\t * If set, shows the icon. Otherwise, shows delete icon\n\t */\n\ticon = input('save');\n\n\t/**\n\t * If set, shows material icon otherwise hides the icons\n\t */\n\tshowIcon = input(true);\n\n\t/**\n\t * If set, sets the style of the button\n\t */\n\tstyle = input<any | null | undefined>();\n\n\t/**\n\t * If set, sets the class of the button\n\t */\n\tclasses = input('btn');\n\n\t/**\n\t * If set, sets the data-cy attribute for the button\n\t */\n\tdataCy = input('save-button');\n\n\t/**\n\t * Output event when button is clicked\n\t */\n\tonClick = output<MouseEvent>();\n\n\t/**\n\t * Output event when button is focused\n\t */\n\tonFocus = output<FocusEvent>();\n\n\t/**\n\t * Output event when button is blurred\n\t */\n\tonBlur = output<FocusEvent>();\n\n\t/**\n\t * Output event when key is pressed\n\t */\n\tonKeyDown = output<KeyboardEvent>();\n\n\t/**\n\t * Output event when key is up\n\t */\n\tonKeyUp = output<KeyboardEvent>();\n}\n","import { Component, input } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatAnchor } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'bs-link-button',\n\timports: [MatIcon, MatAnchor],\n\ttemplate: `\n\t\t<a\n\t\t\ttype=\"{{ type() }}\"\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'bs-link-button'\"\n\t\t\tmat-button>\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</a>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class BsLinkButtonComponent extends BaseButtonComponent {\n\toverride label = input('Edit');\n\toverride icon = input('search');\n\toverride classes = input('btn text-primary');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\n\n@Directive({\n\tselector: '[bsLinkButton]',\n})\nexport class BsLinkButtonDirective {\n\ticon = input<string>('search');\n\telementRef = inject(ElementRef);\n\n\tconstructor() {\n\t\tthis.elementRef.nativeElement.classList.add('btn', 'text-primary');\n\n\t\teffect(() => {\n\t\t\tthis.updateContent();\n\t\t});\n\t}\n\n\tprivate updateContent(): void {\n\t\t// if icon present, add material-icons class and set text content\n\t\tif (this.icon()) {\n\t\t\tconst iconSpan = document.createElement('span');\n\t\t\ticonSpan.classList.add('material-icons', 'pe-2');\n\t\t\ticonSpan.textContent = this.icon();\n\t\t\tthis.elementRef.nativeElement.appendChild(iconSpan);\n\t\t}\n\t}\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n\tselector: '[closeButton]',\n})\nexport class CloseButtonDirective {\n\telementRef = inject(ElementRef);\n\n\tconstructor() {\n\t\tthis.elementRef.nativeElement.classList.add('secondary-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'delete-button',\n\timports: [MatButtonModule, MatIconModule],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled() || loading()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'delete-button'\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class DeleteButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Deleting...');\n\toverride label = input('Delete');\n\toverride icon = input('delete');\n\toverride classes = input('delete-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[deleteButton]',\n})\nexport class DeleteButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('delete');\n\toverride loadingLabel = input<string>('Deleting...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('delete-button');\n\t}\n}\n","import { Component } from '@angular/core';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nconst EDIT_ICON = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M490.3 40.4C512.2 62.27 512.2 97.73 490.3 119.6L460.3 149.7L362.3 51.72L392.4 21.66C414.3-.2135 449.7-.2135 471.6 21.66L490.3 40.4zM172.4 241.7L339.7 74.34L437.7 172.3L270.3 339.6C264.2 345.8 256.7 350.4 248.4 353.2L159.6 382.8C150.1 385.6 141.5 383.4 135 376.1C128.6 370.5 126.4 361 129.2 352.4L158.8 263.6C161.6 255.3 166.2 247.8 172.4 241.7V241.7zM192 63.1C209.7 63.1 224 78.33 224 95.1C224 113.7 209.7 127.1 192 127.1H96C78.33 127.1 64 142.3 64 159.1V416C64 433.7 78.33 448 96 448H352C369.7 448 384 433.7 384 416V319.1C384 302.3 398.3 287.1 416 287.1C433.7 287.1 448 302.3 448 319.1V416C448 469 405 512 352 512H96C42.98 512 0 469 0 416V159.1C0 106.1 42.98 63.1 96 63.1H192z\"/>\n</svg>\n`;\n\n@Component({\n\tselector: 'edit-solid-svg',\n\timports: [MatIconModule],\n\ttemplate: ` <mat-icon aria-hidden=\"false\" aria-label=\"Edit\" svgIcon=\"edit-solid\" class=\"pe-2 align-bottom\"></mat-icon> `,\n})\nexport class EditSolidSvgComponent {\n\tconstructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n\t\ticonRegistry.addSvgIconLiteral('edit-solid', sanitizer.bypassSecurityTrustHtml(EDIT_ICON));\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { EditSolidSvgComponent } from '../../../svg-icons/edit-solid-svg/edit-solid-svg.component';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'edit-bs-button',\n\timports: [MatButtonModule, MatIconModule, EditSolidSvgComponent],\n\ttemplate: `\n\t\t<button\n\t\t\tcolor=\"primary\"\n\t\t\ttype=\"{{ type() }}\"\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'edit-bs-button'\"\n\t\t\tmat-button>\n\t\t\t<edit-solid-svg></edit-solid-svg>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class EditBsButtonComponent extends BaseButtonComponent {\n\toverride label = input('Edit');\n\toverride classes = input('text-primary');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { ComponentRef, Directive, ElementRef, inject, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { EditSolidSvgComponent } from '../../../svg-icons/edit-solid-svg/edit-solid-svg.component';\n\n@Directive({\n\tselector: '[editBsButton]',\n})\nexport class EditBsButtonDirective implements OnInit {\n\telementRef = inject(ElementRef);\n\tviewContainerRef = inject(ViewContainerRef);\n\tprotected originalText = signal('');\n\tprotected iconComponentRef = signal<ComponentRef<EditSolidSvgComponent> | null>(null);\n\n\tngOnInit(): void {\n\t\t// Add the btn class first\n\t\tthis.elementRef.nativeElement.classList.add('btn', 'text-primary');\n\n\t\t// Capture original text before creating icon\n\t\tthis.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Edit');\n\n\t\t// Update content to show icon and text\n\t\tthis.updateContent();\n\t}\n\n\tprivate updateContent(): void {\n\t\t// Create the EditSolidSvgComponent properly using Angular's component system\n\t\tconst componentRef = this.viewContainerRef.createComponent(EditSolidSvgComponent);\n\t\tthis.iconComponentRef.set(componentRef);\n\n\t\t// Clear the original content and append the icon component\n\t\tthis.elementRef.nativeElement.textContent = '';\n\t\tthis.elementRef.nativeElement.appendChild(componentRef.location.nativeElement);\n\n\t\t// Add text after the icon\n\t\tthis.elementRef.nativeElement.appendChild(document.createTextNode(' ' + this.originalText()));\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatIcon } from '@angular/material/icon';\nimport { MatButton } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'edit-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'edit-button'\"\n\t\t\tmat-raised-button>\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class EditButtonComponent extends BaseButtonComponent {\n\toverride label = input('Edit');\n\toverride icon = input('edit');\n\toverride classes = input('primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[editButton]',\n})\nexport class EditButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('edit');\n\toverride loadingLabel = input<string>('Editing...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('primary-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { EditSolidSvgComponent } from '../../../svg-icons/edit-solid-svg/edit-solid-svg.component';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'edit-svg-icon-button',\n\timports: [MatButton, EditSolidSvgComponent],\n\ttemplate: `\n\t\t<button\n\t\t\ttype=\"{{ type() }}\"\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'edit-svg-icon-button'\"\n\t\t\tmat-raised-button>\n\t\t\t<edit-solid-svg></edit-solid-svg>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class EditSvgIconButtonComponent extends BaseButtonComponent {\n\toverride label = input('Edit');\n\toverride icon = input('edit');\n\toverride classes = input('primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { ComponentRef, Directive, ElementRef, inject, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { EditSolidSvgComponent } from '../../../svg-icons/edit-solid-svg/edit-solid-svg.component';\n\n@Directive({\n\tselector: '[editSvgIconButton]',\n})\nexport class EditSvgIconButtonDirective implements OnInit {\n\telementRef = inject(ElementRef);\n\tviewContainerRef = inject(ViewContainerRef);\n\n\tprotected originalText = signal('');\n\tprotected iconComponentRef = signal<ComponentRef<EditSolidSvgComponent> | null>(null);\n\n\tngOnInit(): void {\n\t\t// Add Material Design button classes\n\t\tthis.elementRef.nativeElement.classList.add('mat-raised-button', 'primary-button');\n\n\t\t// Capture original text before creating icon\n\t\tthis.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Edit');\n\n\t\t// Set data-cy attribute for testing\n\t\tthis.elementRef.nativeElement.setAttribute('data-cy', 'edit-svg-icon-button');\n\n\t\t// Update content to show icon and text\n\t\tthis.updateContent();\n\t}\n\n\tprivate updateContent(): void {\n\t\t// Create the EditSolidSvgComponent properly using Angular's component system\n\t\tconst componentRef = this.viewContainerRef.createComponent(EditSolidSvgComponent);\n\t\tthis.iconComponentRef.set(componentRef);\n\n\t\t// Clear the original content and append the icon component\n\t\tthis.elementRef.nativeElement.textContent = '';\n\t\tthis.elementRef.nativeElement.appendChild(componentRef.location.nativeElement);\n\n\t\t// Add text after the icon\n\t\tthis.elementRef.nativeElement.appendChild(document.createTextNode(' ' + this.originalText()));\n\t}\n}\n","import { Component } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n\tselector: 'excel-export-button',\n\timports: [MatButtonModule],\n\ttemplate: ` <button class=\"excel-export-button\" mat-raised-button type=\"button\" data-cy=\"excel-export-button\">Excel</button> `,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n\tstyles: [\n\t\t`\n\t\t\t.excel-export-button {\n\t\t\t\tmargin-left: 20px !important;\n\t\t\t\tmargin-right: 20px !important;\n\t\t\t\twidth: 100px;\n\t\t\t\tcolor: white !important;\n\t\t\t\tbackground-color: darkgreen !important;\n\t\t\t\tborder-radius: 24px !important;\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class ExcelExportButtonComponent {}\n","import { Directive } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[excelExportButton]',\n})\nexport class ExcelExportButtonDirective extends BaseButtonDirective {\n\tconstructor() {\n\t\tsuper();\n\t\tconst styles = [\n\t\t\t{ property: 'margin-left', value: '20px' },\n\t\t\t{ property: 'margin-right', value: '20px' },\n\t\t\t{ property: 'width', value: '100px' },\n\t\t\t{ property: 'color', value: 'white' },\n\t\t\t{ property: 'background-color', value: 'darkgreen' },\n\t\t\t{ property: 'border-radius', value: '24px' },\n\t\t];\n\n\t\tstyles.forEach((style) => {\n\t\t\tthis.elementRef.nativeElement.style[style.property] = style.value;\n\t\t});\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'manage-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'manage-button'\">\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class ManageButtonComponent extends BaseButtonComponent {\n\toverride label = input('Manage');\n\toverride icon = input('settings');\n\toverride classes = input('mr-3 btn btn-secondary secondary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[manageButton]',\n})\nexport class ManageButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('settings');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('mr-3');\n\t\tthis.elementRef.nativeElement.classList.add('secondary-button');\n\t}\n}\n","import { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n\tselector: 'pdf-export-button',\n\timports: [MatButtonModule],\n\ttemplate: ` <button class=\"pdf-export-button\" mat-raised-button type=\"button\" data-cy=\"pdf-export-button\">PDF</button> `,\n\tstyles: [\n\t\t`\n\t\t\t.pdf-export-button {\n\t\t\t\tmargin-left: 20px !important;\n\t\t\t\twidth: 100px;\n\t\t\t\tcolor: white !important;\n\t\t\t\tbackground-color: #a3071b !important;\n\t\t\t\tborder-radius: 24px !important;\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class PdfExportButtonComponent {}\n","import { Directive } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[pdfExportButton]',\n})\nexport class PdfExportButtonDirective extends BaseButtonDirective {\n\tconstructor() {\n\t\tsuper();\n\t\tconst styles = [\n\t\t\t{ property: 'margin-left', value: '20px' },\n\t\t\t{ property: 'width', value: '100px' },\n\t\t\t{ property: 'color', value: 'white' },\n\t\t\t{ property: 'background-color', value: '#a3071b' },\n\t\t\t{ property: 'border-radius', value: '24px' },\n\t\t];\n\n\t\tstyles.forEach((style) => {\n\t\t\tthis.elementRef.nativeElement.style[style.property] = style.value;\n\t\t});\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'primary-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled() || loading()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'primary-button'\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading() && showIcon()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class PrimaryButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Saving...');\n\toverride label = input('Save');\n\toverride icon = input('save');\n\toverride showIcon = input(false);\n\toverride classes = input('btn-primary primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[primaryButton]',\n})\nexport class PrimaryButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('save');\n\toverride loadingLabel = input<string>('Saving...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('btn-primary');\n\t\tthis.elementRef.nativeElement.classList.add('primary-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\nimport { MatIcon } from '@angular/material/icon';\nimport { MatButton } from '@angular/material/button';\n\n@Component({\n\tselector: 'save-primary-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled() || loading()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'save-primary-button'\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class SavePrimaryButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Saving...');\n\toverride label = input('Save');\n\toverride icon = input('save');\n\toverride classes = input('btn-primary primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[savePrimaryButton]',\n})\nexport class SavePrimaryButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('save');\n\toverride loadingLabel = input<string>('Saving...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('btn-primary');\n\t\tthis.elementRef.nativeElement.classList.add('primary-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'search-button',\n\timports: [MatButtonModule, MatIconModule],\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"btn btn-primary primary-button {{ loading() || disabled() ? 'disabled' : '' }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\tmat-raised-button\n\t\t\ttype=\"{{ type() }}\"\n\t\t\tdata-cy=\"primary-button\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class SearchButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Searching...');\n\toverride label = input('Search');\n\toverride icon = input('search');\n\toverride classes = input('btn-primary primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n\tselector: 'success-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t[disabled]=\"disabled() || loading()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'success-button'\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n})\nexport class SuccessButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Updating...');\n\toverride label = input('Update');\n\toverride icon = input('save');\n\toverride classes = input('success-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[successButton]',\n})\nexport class SuccessButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('save');\n\toverride loadingLabel = input<string>('Updating...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('success-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatButton } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'view-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tcolor=\"primary\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\tmat-button>\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class ViewButtonComponent extends BaseButtonComponent {\n\toverride label = input('View');\n\toverride icon = input('visibility');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[viewButton]',\n})\nexport class ViewButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('visibility');\n\toverride loadingLabel = input<string>('Loading...');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'view-primary-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'view-button'\">\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class ViewPrimaryButtonComponent extends BaseButtonComponent {\n\toverride label = input('View');\n\toverride icon = input('visibility');\n\toverride classes = input('btn-primary primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[viewPrimaryButton]',\n})\nexport class ViewPrimaryButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('visibility');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('btn-primary');\n\t\tthis.elementRef.nativeElement.classList.add('primary-button');\n\t}\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\n\n@Component({\n\tselector: 'app-confirm-dialog',\n\timports: [MatButtonModule, MatDividerModule, MatDialogModule],\n\ttemplate: `\n\t\t<div class=\"mat-dialog-title\" style=\"text-align: center\">\n\t\t\t<h3 class=\"m-3 mat-headline-5\t\">{{ title }}</h3>\n\t\t</div>\n\n\t\t<mat-divider></mat-divider>\n\t\t<div mat-dialog-content style=\"margin: 20px\">\n\t\t\t<p>{{ message }}</p>\n\t\t</div>\n\n\t\t<div align=\"end\" class=\"modal-footer\" mat-dialog-actions>\n\t\t\t<button (click)=\"onDismiss()\" mat-raised-button>No</button>\n\t\t\t<button (click)=\"onConfirm()\" class=\"primary-button\" mat-raised-button>Yes</button>\n\t\t</div>\n\t`,\n\tstyles: [],\n})\nexport class ConfirmDialogComponent {\n\ttitle: string;\n\tmessage: string;\n\n\tconstructor(\n\t\t@Inject(MAT_DIALOG_DATA) public data: ConfirmDialogData,\n\t\tpublic dialogRef: MatDialogRef<ConfirmDialogComponent>,\n\t) {\n\t\t// Update view with given values\n\t\tthis.title = data.title;\n\t\tthis.message = data.message;\n\t}\n\n\tonDismiss() {\n\t\t// Close the dialog, return true\n\t\tthis.dialogRef.close(false);\n\t}\n\n\tonConfirm() {\n\t\t// Close the dialog, return true\n\t\tthis.dialogRef.close(true);\n\t}\n}\n\n/**\n * Class to represent confirm dialog model.\n */\nexport interface ConfirmDialogData {\n\ttitle: string;\n\tmessage: string;\n}\n","import { Component, Inject } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n\tselector: 'app-error-snack-bar',\n\timports: [MatIconModule, MatButtonModule],\n\ttemplate: `\n\t\t<div class=\"app-flex-center error-snackbar\">\n\t\t\t<mat-icon style=\"font-size:1.3rem\">error</mat-icon>\n\t\t\t<label>{{ data.message }}</label>\n\t\t\t<button style=\"margin-left: auto\" (click)=\"close()\" mat-icon-button>\n\t\t\t\t<mat-icon>close</mat-icon>\n\t\t\t</button>\n\t\t</div>\n\t`,\n\tstyleUrls: ['../../../../assets/app-mat-snack-bar.css'],\n})\nexport class ErrorSnackBarComponent {\n\tconstructor(\n\t\tpublic msb: MatSnackBarRef<ErrorSnackBarComponent>,\n\t\t@Inject(MAT_SNACK_BAR_DATA) public data: { message: string; action?: string },\n\t) {}\n\n\t/**\n\t * Close the Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.7.18\n\t */\n\tclose(): void {\n\t\tthis.msb.dismissWithAction();\n\t}\n}\n","import { Component, Inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n\tselector: 'app-success-snack-bar',\n\timports: [MatButtonModule, MatIconModule],\n\ttemplate: `\n\t\t<div class=\"app-flex-center success-snackbar\">\n\t\t\t<mat-icon style=\"font-size:1.3rem\">check_circle</mat-icon>\n\t\t\t<label>{{ data.message }}</label>\n\t\t\t<button style=\"margin-left: auto\" (click)=\"close()\" mat-icon-button>\n\t\t\t\t<mat-icon>close</mat-icon>\n\t\t\t</button>\n\t\t</div>\n\t`,\n\tstyleUrls: ['../../../../assets/app-mat-snack-bar.css'],\n})\nexport class SuccessSnackBarComponent {\n\tconstructor(\n\t\tpublic msb: MatSnackBarRef<SuccessSnackBarComponent>,\n\t\t@Inject(MAT_SNACK_BAR_DATA) public data: { message: string; action?: string },\n\t) {}\n\n\t/**\n\t * Close the Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.7.18\n\t */\n\tclose(): void {\n\t\tthis.msb.dismissWithAction();\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\nimport { ErrorSnackBarComponent } from '../components/snack-bar/error-snack-bar/error-snack-bar.component';\nimport { SuccessSnackBarComponent } from '../components/snack-bar/success-snack-bar/success-snack-bar.component';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class MatSnackBarService {\n\tsnackBar = inject(MatSnackBar);\n\t/**\n\t * Duration (in milliseconds) of the Snack Bar to be open. Defaults to 5 seconds (5000 milliseconds)\n\t */\n\tduration = 5000;\n\n\t/**\n\t * Horizontal Position of the MatSnackBar. Defaults to right side\n\t */\n\thorizontalPosition: MatSnackBarHorizontalPosition = 'right';\n\n\t/**\n\t * Vertical Position of the MatSnackBar. Defaults to top of the page\n\t */\n\tverticalPosition: MatSnackBarVerticalPosition = 'top';\n\n\t/**\n\t * Opens Success Snack Bar\n\t *\n\t * @param message Message to display on Snack Bar\n\t * @param options Options of the Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.2.3\n\t */\n\tsuccess(message: string, options?: MatSnackBarOptions): void {\n\t\tthis.snackBar.openFromComponent(SuccessSnackBarComponent, {\n\t\t\tdata: { message },\n\t\t\tduration: options?.duration ?? this.duration,\n\t\t\tpanelClass: options?.panelClass ?? 'success-snackbar',\n\t\t\thorizontalPosition: options?.horizontalPosition ?? this.horizontalPosition,\n\t\t\tverticalPosition: options?.verticalPosition ?? this.verticalPosition,\n\t\t});\n\t}\n\n\t/**\n\t * Opens Error Snack Bar\n\t *\n\t * @param message Message to display on Snack Bar\n\t * @param options Options of the Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.2.3\n\t */\n\terror(message: string, options?: MatSnackBarOptions): void {\n\t\tthis.snackBar.openFromComponent(ErrorSnackBarComponent, {\n\t\t\tdata: { message },\n\t\t\tduration: options?.duration ?? this.duration,\n\t\t\tpanelClass: options?.panelClass ?? 'error-snackbar',\n\t\t\thorizontalPosition: options?.horizontalPosition ?? this.horizontalPosition,\n\t\t\tverticalPosition: options?.verticalPosition ?? this.verticalPosition,\n\t\t});\n\t}\n\n\t/**\n\t * Opens Generic Snack Bar\n\t *\n\t * @param message Message to display on Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.2.3\n\t */\n\topen(message: string): void {\n\t\tthis.snackBar.open(message, 'Close', {\n\t\t\tduration: this.duration,\n\t\t\thorizontalPosition: this.horizontalPosition,\n\t\t\tverticalPosition: this.verticalPosition,\n\t\t});\n\t}\n}\n\n/**\n * MatSnackBarOptions for Snack Bar\n *\n * Available panelClass options:\n * - 'success-snackbar': Green background (default for success)\n * - 'error-snackbar': Red background (default for error)\n * - 'light-success-snackbar': Light green background\n * - 'light-error-snackbar': Light red background\n * - 'primary-snackbar': Primary theme color\n * - 'info-snackbar': Blue background\n * - 'warning-snackbar': Yellow background\n * - Custom CSS class names for additional styling\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.19\n */\nexport interface MatSnackBarOptions {\n\tduration?: number;\n\thorizontalPosition?: MatSnackBarHorizontalPosition;\n\tverticalPosition?: MatSnackBarVerticalPosition;\n\tpanelClass?: string | string[];\n}\n","import { computed, Injectable, signal } from '@angular/core';\nimport { IdType } from '../types/id-type';\n\n/**\n * 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.\n *\n * @author Pavan Kumar Jadda\n * @since 17.1.0\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class EntityStore<T extends IdType> {\n\t_data = signal<T[]>([]);\n\n\t// The data property is a computed property that returns the value of the _data signal\n\tdata = computed(() => this._data());\n\n\t/**\n\t * Find an item in the store by id\n\t *\n\t * @param id The id of the item to be found\n\t *\n\t * @returns The item if found, undefined otherwise\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tfindById(id: number): T | undefined {\n\t\treturn this._data().find((item) => item.id === id);\n\t}\n\n\t/**\n\t * Set the list of items in the store with the new data\n\t *\n\t * @param data The new list of items to be stored\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tsetData(data: T[]): void {\n\t\tthis._data.set(data);\n\t}\n\n\t/**\n\t * Update an item in the store. If the item does not exist in new list, add it. Otherwise, update it.\n\t *\n\t * @param data The item to added or updated\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tupsert(data: T): void {\n\t\tthis._data.update((currentData) => {\n\t\t\tconst dataMap = new Map(currentData.map((item) => [item.id, item]));\n\t\t\tdataMap.set(data.id, data);\n\t\t\treturn Array.from(dataMap.values());\n\t\t});\n\t}\n\n\t/**\n\t * Update or insert the given list of items in the store\n\t *\n\t * @param newData The list of items to be updated or inserted\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tupsertMulti(newData: T[]): void {\n\t\tthis._data.update((currentData) => {\n\t\t\tconst dataMap = new Map(currentData.map((item) => [item.id, item]));\n\t\t\tnewData.forEach((newItem: T) => dataMap.set(newItem.id, newItem));\n\t\t\treturn Array.from(dataMap.values());\n\t\t});\n\t}\n\n\t/**\n\t * Remove an item from the store\n\t *\n\t * @param id The id of the item to be removed\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tremove(id: number): void {\n\t\tthis._data.update((currentData) => currentData.filter((item) => item.id !== id));\n\t}\n}\n","import { computed, Injectable, signal } from '@angular/core';\n\n/**\n * A core store class that can be used to store any object\n *\n * @author Pavan Kumar Jadda\n * @since 17.1.0\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class Store<T extends object> {\n\t_data = signal<T | null>(null);\n\n\t// The data property is a computed property that returns the value of the _data signal\n\tdata = computed(() => this._data());\n\n\t// Add initialization method\n\tinitialize(initialData: T): void {\n\t\tthis._data.set(initialData);\n\t}\n\n\t/**\n\t * Update the data in the store with the new data\n\t *\n\t * @param newData The new data to be stored/updated\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tupdate(newData: T): void {\n\t\tthis._data.set(newData);\n\t}\n\n\t// Add clear method\n\tclear(): void {\n\t\tthis._data.set(null);\n\t}\n\n\t// Add getter with null check\n\tgetData(): T | null {\n\t\treturn this._data();\n\t}\n}\n","import { ProgressState } from '../types/progress-state';\nimport { signal, WritableSignal } from '@angular/core';\n\n/**\n * Initialize Loading or Update ProgressState\n *\n * @return Updated State Object\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.16\n */\nexport const initializeState = (): WritableSignal<ProgressState> => {\n\treturn signal<ProgressState>({\n\t\tisLoading: false,\n\t\tisSuccess: false,\n\t\tisError: false,\n\t\tisComplete: false,\n\t\tmessage: '',\n\t});\n};\n\n/**\n * Initialize Loading or Update ProgressState\n *\n * @param progressState Object to initialize\n * @return ProgressState Updated State Object\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.16\n */\nexport const markLoading = (progressState: WritableSignal<ProgressState>) => {\n\tprogressState.update((state) => {\n\t\treturn {\n\t\t\t...state,\n\t\t\tisLoading: true,\n\t\t\tisSuccess: false,\n\t\t\tisError: false,\n\t\t\tisComplete: false,\n\t\t\tmessage: '',\n\t\t};\n\t});\n};\n\n/**\n * Update state as isSuccess\n *\n * @return ProgressState Updated State Object\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.16\n */\nexport const markSuccess = (progressState: WritableSignal<ProgressState>, message?: string) => {\n\tprogressState.update((state) => {\n\t\treturn {\n\t\t\t...state,\n\t\t\tisLoading: false,\n\t\t\tisSuccess: true,\n\t\t\tisError: false,\n\t\t\tisComplete: true,\n\t\t\tmessage: message || '',\n\t\t};\n\t});\n};\n\n/**\n * Update state as failure or isError\n *\n * @return ProgressState Updated State Object\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.16\n */\nexport const markError = (progressState: WritableSignal<ProgressState>, message?: string) => {\n\tprogressState.update((state) => {\n\t\treturn {\n\t\t\t...state,\n\t\t\tisLoading: false,\n\t\t\tisSuccess: false,\n\t\t\tisError: true,\n\t\t\tisComplete: true,\n\t\t\tmessage: message || '',\n\t\t};\n\t});\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxSpinnerService","i1","i5","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"js-smart-ng-kit.mjs","sources":["../../../projects/ng-kit/src/lib/components/alert/alert.component.ts","../../../projects/ng-kit/src/lib/components/alert/alert.component.html","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.enum.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/safe-html.pipe.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.service.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.component.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.component.html","../../../projects/ng-kit/src/lib/components/spinner/spinner.component.ts","../../../projects/ng-kit/src/lib/components/spinner/spinner.component.html","../../../projects/ng-kit/src/lib/components/autocomplete/autocomplete.component.ts","../../../projects/ng-kit/src/lib/components/autocomplete/autocomplete.component.html","../../../projects/ng-kit/src/lib/directives/ngx-print/print-options.ts","../../../projects/ng-kit/src/lib/directives/ngx-print/ngx-print.directive.ts","../../../projects/ng-kit/src/lib/directives/prevent-multiple-clicks/prevent-multiple-clicks.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/base-button/base-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/base-button/base-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/bs-link-button/bs-link-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/bs-link-button/bs-link-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/close-button/close-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/delete-button/delete-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/delete-button/delete-button.directive.ts","../../../projects/ng-kit/src/lib/svg-icons/edit-solid-svg/edit-solid-svg.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-bs-button/edit-bs-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-bs-button/edit-bs-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-button/edit-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-button/edit-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-svg-icon-button/edit-svg-icon-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-svg-icon-button/edit-svg-icon-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/excel-export-button/excel-export-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/excel-export-button/excel-export-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/manage-button/manage-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/manage-button/manage-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/pdf-export-button/pdf-export-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/pdf-export-button/pdf-export-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/primary-button/primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/primary-button/primary-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/save-primary-button/save-primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/save-primary-button/save-primary-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/search-button/search-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/success-button/success-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/success-button/success-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/view-button/view-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/view-button/view-button.directive.ts","../../../projects/ng-kit/src/lib/components/buttons/view-primary-button/view-primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/view-primary-button/view-primary-button.directive.ts","../../../projects/ng-kit/src/lib/components/confirm-dialog/confirm-dialog.component.ts","../../../projects/ng-kit/src/lib/components/snack-bar/error-snack-bar/error-snack-bar.component.ts","../../../projects/ng-kit/src/lib/components/snack-bar/success-snack-bar/success-snack-bar.component.ts","../../../projects/ng-kit/src/lib/services/mat-snack-bar.service.ts","../../../projects/ng-kit/src/lib/store/entity-store.ts","../../../projects/ng-kit/src/lib/store/store.ts","../../../projects/ng-kit/src/lib/util/progress-util.ts","../../../projects/ng-kit/src/js-smart-ng-kit.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, effect, inject, input, type OnInit, output, signal } from '@angular/core';\n\nexport type AlertType = 'info' | 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'dark' | 'light';\n\n/**\n * Boostrap Alert component that can be used to alert messages to the user\n *\n * @author Pavan Kumar Jadda\n * @since 12.0.0\n */\n@Component({\n\tselector: 'lib-alert, alert',\n\ttemplateUrl: './alert.component.html',\n\tstyleUrls: ['./alert.component.scss'],\n})\nexport class AlertComponent implements OnInit {\n\tcdr = inject(ChangeDetectorRef);\n\t/**\n\t * Type of the BootStrap Alert. Following values are supported. See BootStrap docs for more information\n\t */\n\ttype = input<AlertType>('info');\n\n\t/**\n\t * Is alert visible or open\n\t */\n\tisOpen = input(true);\n\n\t/**\n\t * Writable signal for isOpen\n\t */\n\topen = signal(this.isOpen());\n\n\t/**\n\t * If set, displays an inline “Close” button\n\t */\n\tdismissible = input(true);\n\n\t/**\n\t * If set, dismisses the alert after Dismiss Timeout\n\t */\n\tdismissOnTimeout = input(true);\n\n\t/**\n\t * Number in milliseconds, after which alert will be closed. Default value is 5000 ms\n\t */\n\tdismissTimeout = input(5000);\n\n\t/**\n\t * Additional classes to be added to the alert. This can be used to add custom styles to the alert\n\t */\n\tclass = input('');\n\n\t/**\n\t * Emits when the alert is closed.\n\t */\n\tclosed = output<void>();\n\n\tconstructor() {\n\t\t// React to isOpen input changes\n\t\teffect(() => {\n\t\t\tthis.open.set(this.isOpen());\n\t\t});\n\t}\n\n\t/**\n\t * Initialize the component and settings\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tngOnInit(): void {\n\t\tthis.openAlert();\n\n\t\tif (this.dismissOnTimeout()) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.closeAlert();\n\t\t\t\tthis.cdr.markForCheck();\n\t\t\t}, this.dismissTimeout());\n\t\t}\n\t}\n\n\t/**\n\t * Closes BootStrap Alert if not open\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tcloseAlert(): void {\n\t\tif (!this.isOpen()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.open.set(false);\n\t\tthis.closed.emit();\n\t}\n\n\t/**\n\t * Opens Bootstrap Alert\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tprivate openAlert(): void {\n\t\tthis.open.set(true);\n\t}\n}\n","@if (open()) {\n\t<div class=\"row {{ class() }}\">\n\t\t<div class=\"col-xs-12 col-sm-12 col-md-auto mx-auto\">\n\t\t\t<div class=\"alert alert-{{ type() }} alert-dismissible alert_div\" role=\"alert\">\n\t\t\t\t<ng-content></ng-content>\n\t\t\t\t@if (dismissible()) {\n\t\t\t\t\t<button (click)=\"closeAlert()\" aria-label=\"Close\" class=\"btn-close\" data-bs-dismiss=\"alert\" type=\"button\"></button>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n}\n","export const LOADERS = {\n\t'ball-clip-rotate': 1,\n};\n\nexport const DEFAULTS = {\n\tBD_COLOR: 'rgba(51,51,51,0.8)',\n\tSPINNER_COLOR: '#fff',\n\tSPINNER_TYPE: 'ball-clip-rotate',\n\tZ_INDEX: 99999,\n};\n\nexport const PRIMARY_SPINNER = 'primary';\n\nexport type Size = 'default' | 'small' | 'medium' | 'large';\n\nexport interface Spinner {\n\tbdColor?: string;\n\tsize?: Size;\n\tcolor?: string;\n\ttype?: string;\n\tfullScreen?: boolean;\n\tzIndex?: number;\n\ttemplate?: string;\n\tshowSpinner?: boolean;\n}\n\nexport class NgxSpinner {\n\tname?: string;\n\tbdColor?: string;\n\tsize?: Size;\n\tcolor?: string;\n\ttype?: string;\n\tclass?: string;\n\tdivCount?: number;\n\tdivArray?: number[];\n\tfullScreen?: boolean;\n\tshow?: boolean;\n\tzIndex?: number;\n\ttemplate?: string;\n\tshowSpinner?: boolean;\n\n\tconstructor(init?: Partial<NgxSpinner>) {\n\t\tObject.assign(this, init);\n\t}\n}\n","import { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'safeHtml',\n\tstandalone: true,\n})\nexport class SafeHtmlPipe implements PipeTransform {\n\tconstructor(private _sanitizer: DomSanitizer) {}\n\n\ttransform(v: string): SafeHtml | undefined {\n\t\tif (v) {\n\t\t\treturn this._sanitizer.bypassSecurityTrustHtml(v);\n\t\t}\n\t\treturn undefined;\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { NgxSpinner, PRIMARY_SPINNER, Spinner } from './ngx-spinner.enum';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class NgxSpinnerService {\n\t/**\n\t * Spinner observable\n\t *\n\t * @memberof NgxSpinnerService\n\t */\n\t// private spinnerObservable = new ReplaySubject<NgxSpinner>(1);\n\tpublic spinnerObservable = new BehaviorSubject<NgxSpinner | undefined>(undefined);\n\n\t/**\n\t * Creates an instance of NgxSpinnerService.\n\t * @memberof NgxSpinnerService\n\t */\n\n\t/**\n\t * Get subscription of desired spinner\n\t * @memberof NgxSpinnerService\n\t **/\n\tgetSpinner(name: string): Observable<NgxSpinner> {\n\t\t// @ts-ignore\n\t\treturn this.spinnerObservable.asObservable().pipe(filter((x) => x?.name === name));\n\t}\n\n\t/**\n\t * To show spinner\n\t *\n\t * @memberof NgxSpinnerService\n\t */\n\tshow(name: string = PRIMARY_SPINNER, spinner?: Spinner) {\n\t\treturn new Promise((resolve, _reject) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (spinner && Object.keys(spinner).length) {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tspinner['name'] = name;\n\t\t\t\t\tthis.spinnerObservable.next(new NgxSpinner({ ...spinner, show: true }));\n\t\t\t\t\tresolve(true);\n\t\t\t\t} else {\n\t\t\t\t\tthis.spinnerObservable.next(new NgxSpinner({ name, show: true }));\n\t\t\t\t\tresolve(true);\n\t\t\t\t}\n\t\t\t}, 10);\n\t\t});\n\t}\n\n\t/**\n\t * To hide spinner\n\t *\n\t * @memberof NgxSpinnerService\n\t */\n\thide(name: string = PRIMARY_SPINNER, debounce = 10) {\n\t\treturn new Promise((resolve, _reject) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.spinnerObservable.next(new NgxSpinner({ name, show: false }));\n\t\t\t\tresolve(true);\n\t\t\t}, debounce);\n\t\t});\n\t}\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { ChangeDetectorRef, Component, HostListener, input, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DEFAULTS, LOADERS, NgxSpinner, PRIMARY_SPINNER, Size } from './ngx-spinner.enum';\nimport { NgxSpinnerService } from './ngx-spinner.service';\nimport { SafeHtmlPipe } from './safe-html.pipe';\n\n@Component({\n\tselector: 'ngx-spinner',\n\timports: [SafeHtmlPipe],\n\ttemplateUrl: 'ngx-spinner.component.html',\n\tstyleUrls: ['ngx-spinner.component.css'],\n\tanimations: [\n\t\ttrigger('fadeIn', [\n\t\t\tstate('in', style({ opacity: 1 })),\n\t\t\ttransition(':enter', [style({ opacity: 0 }), animate(300)]),\n\t\t\ttransition(':leave', animate(200, style({ opacity: 0 }))),\n\t\t]),\n\t],\n})\nexport class NgxSpinnerComponent implements OnDestroy, OnInit {\n\t/**\n\t * To set backdrop color\n\t * Only supports RGBA color format\n\t */\n\tbdColor = input<string>(DEFAULTS.BD_COLOR);\n\n\t/**\n\t * To set spinner size\n\t */\n\tsize = input<Size>('large');\n\n\t/**\n\t * To set spinner color(DEFAULTS.SPINNER_COLOR)\n\t */\n\tcolor = input<string>(DEFAULTS.SPINNER_COLOR);\n\n\t/**\n\t * To set type of spinner\n\t */\n\ttype = input<string>(DEFAULTS.SPINNER_TYPE);\n\n\t/**\n\t * To toggle fullscreen mode\n\t */\n\tfullScreen = input<boolean>(true);\n\n\t/**\n\t * Spinner name\n\t */\n\tname = input<string>(PRIMARY_SPINNER);\n\n\t/**\n\t * z-index value\n\t */\n\tzIndex = input<number>(DEFAULTS.Z_INDEX);\n\n\t/**\n\t * Custom template for spinner/loader\n\t */\n\ttemplate = input<string>('');\n\n\t/**\n\t * Show/Hide the spinner\n\t */\n\tshowSpinner = input<boolean>(false);\n\n\t/**\n\t * To enable/disable animation\n\t */\n\tdisableAnimation = input<boolean>(false);\n\n\t/**\n\t * Spinner Object\n\t */\n\tspinner: NgxSpinner = new NgxSpinner();\n\n\t/**\n\t * Array for spinner's div\n\t */\n\tdivArray: number[] = [];\n\n\t/**\n\t * Counter for div\n\t */\n\tdivCount = 0;\n\n\t/**\n\t * Show spinner\n\t **/\n\tshow = false;\n\n\t/**\n\t * Unsubscribe from spinner's observable\n\t **/\n\tngUnsubscribe = new Subject<void>();\n\n\t/**\n\t * Element Reference\n\t */\n\t// @ts-ignore\n\t@ViewChild('overlay') spinnerDOM;\n\n\t/**\n\t * Creates an instance of NgxSpinnerComponent.\n\t */\n\tconstructor(\n\t\tprivate readonly spinnerService: NgxSpinnerService,\n\t\tprivate readonly changeDetector: ChangeDetectorRef,\n\t) {}\n\n\t@HostListener('document:keydown', ['$event'])\n\thandleKeyboardEvent(event: KeyboardEvent): void {\n\t\tif (this.spinnerDOM?.nativeElement) {\n\t\t\tevent.returnValue = false;\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\t/**\n\t * Initialization method\n\t */\n\tngOnInit(): void {\n\t\tthis.setDefaultOptions();\n\t\tthis.spinnerService\n\t\t\t.getSpinner(this.name())\n\t\t\t.pipe(takeUntil(this.ngUnsubscribe))\n\t\t\t.subscribe((spinner: NgxSpinner) => {\n\t\t\t\tthis.setDefaultOptions();\n\t\t\t\tObject.assign(this.spinner, spinner);\n\t\t\t\tif (spinner.show) {\n\t\t\t\t\tthis.onInputChange();\n\t\t\t\t}\n\t\t\t\tthis.changeDetector.detectChanges();\n\t\t\t});\n\t}\n\n\t/**\n\t * To set default ngx-spinner options\n\t */\n\tsetDefaultOptions = (): void => {\n\t\tthis.spinner = new NgxSpinner({\n\t\t\tname: this.name(),\n\t\t\tbdColor: this.bdColor(),\n\t\t\tsize: this.size(),\n\t\t\tcolor: this.color(),\n\t\t\ttype: this.type(),\n\t\t\tfullScreen: this.fullScreen(),\n\t\t\tdivArray: this.divArray,\n\t\t\tdivCount: this.divCount,\n\t\t\tshow: this.show,\n\t\t\tzIndex: this.zIndex(),\n\t\t\ttemplate: this.template(),\n\t\t\tshowSpinner: this.showSpinner(),\n\t\t});\n\t};\n\n\t/**\n\t * To get class for spinner\n\t */\n\tgetClass(type: string, size: Size): string {\n\t\t// @ts-ignore\n\t\tthis.spinner.divCount = LOADERS[type];\n\t\tthis.spinner.divArray = Array(this.spinner.divCount)\n\t\t\t.fill(0)\n\t\t\t.map((_x, i) => i);\n\t\tlet sizeClass = '';\n\t\tswitch (size.toLowerCase()) {\n\t\t\tcase 'small':\n\t\t\t\tsizeClass = 'la-sm';\n\t\t\t\tbreak;\n\t\t\tcase 'medium':\n\t\t\t\tsizeClass = 'la-2x';\n\t\t\t\tbreak;\n\t\t\tcase 'large':\n\t\t\t\tsizeClass = 'la-3x';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t\treturn 'la-' + type + ' ' + sizeClass;\n\t}\n\n\t/**\n\t * Check if input variables have changed\n\t */\n\tonInputChange(): void {\n\t\tthis.spinner.class = this.getClass(this.spinner.type ?? DEFAULTS.SPINNER_TYPE, this.spinner.size ?? 'default');\n\t}\n\n\t/**\n\t * Component destroy event\n\t */\n\tngOnDestroy(): void {\n\t\tthis.ngUnsubscribe.next();\n\t\tthis.ngUnsubscribe.complete();\n\t}\n}\n","@if (spinner.show) {\n\t<div\n\t\t#overlay\n\t\t[@.disabled]=\"disableAnimation()\"\n\t\t[@fadeIn]=\"'in'\"\n\t\t[style.background-color]=\"spinner.bdColor\"\n\t\t[style.position]=\"spinner.fullScreen ? 'fixed' : 'absolute'\"\n\t\t[style.z-index]=\"spinner.zIndex\"\n\t\tclass=\"ngx-spinner-overlay\">\n\t\t@if (spinner.show) {\n\t\t\t<div [class]=\"spinner.class\" [style.color]=\"spinner.color\">\n\t\t\t\t@for (index of spinner.divArray; track index) {\n\t\t\t\t\t<div></div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t}\n\t\t@if (template()) {\n\t\t\t<div [innerHTML]=\"template() | safeHtml\"></div>\n\t\t}\n\t\t<div [style.z-index]=\"spinner.zIndex\" class=\"loading-text\">\n\t\t\t<ng-content></ng-content>\n\t\t</div>\n\t</div>\n}\n","import { Component, input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n\tselector: 'spinner,lib-spinner',\n\timports: [MatProgressSpinnerModule],\n\ttemplateUrl: './spinner.component.html',\n\tstyleUrls: ['./spinner.component.scss'],\n})\nexport class SpinnerComponent {\n\t/**\n\t * Use Boostrap Spinner. Default `true`\n\t */\n\tbootstrapSpinner = input(true);\n\n\t/**\n\t * Diameter of the Angular Material spinner\n\t */\n\tdiameter = input(50);\n\n\t/**\n\t * Color of the Angular Material spinner\n\t */\n\tcolor = input<ThemePalette>('primary');\n\n\t/**\n\t * Stroke Width of the Angular Material spinner\n\t */\n\tstrokeWidth = input(5);\n}\n","<!-- Angular Material Spinner -->\n@if (!bootstrapSpinner()) {\n\t<mat-spinner [color]=\"color()\" [diameter]=\"diameter()\" [strokeWidth]=\"strokeWidth()\" class=\"mx-auto\"> </mat-spinner>\n}\n\n<!-- Bootstrap Spinner -->\n@if (bootstrapSpinner()) {\n\t<div class=\"d-flex justify-content-center\">\n\t\t<div class=\"spinner-border bs-spinner\" role=\"status\"></div>\n\t</div>\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n\tAfterContentChecked,\n\tChangeDetectorRef,\n\tComponent,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tInput,\n\tinput,\n\tOnChanges,\n\tOnInit,\n\tOptional,\n\toutput,\n\tSimpleChanges,\n\tViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\nimport { MatAutocompleteModule, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatOptionSelectionChange } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\n\n/**\n * Reusable Auto Complete component that extends MatAutoComplete to show Clear icon and Arrow buttons\n *\n * @author Pavan Kumar Jadda\n * @since 12.0.0\n */\n@Component({\n\tselector: 'autocomplete, lib-autocomplete',\n\timports: [ReactiveFormsModule, MatFormFieldModule, MatAutocompleteModule, MatInputModule, MatButtonModule, MatIconModule, AsyncPipe],\n\ttemplateUrl: './autocomplete.component.html',\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => AutocompleteComponent),\n\t\t\tmulti: true,\n\t\t},\n\t],\n})\nexport class AutocompleteComponent implements OnInit, OnChanges, AfterContentChecked, ControlValueAccessor {\n\t/**\n\t * Gets reference inputAutoComplete HTML attribute\n\t */\n\t@ViewChild('inputAutoComplete') inputAutoComplete!: ElementRef;\n\n\tcdRef = inject(ChangeDetectorRef);\n\n\t/**\n\t * Internal form control for the autocomplete\n\t */\n\tcontrol = new FormControl('');\n\n\t/**\n\t * Label of the AutoComplete\n\t */\n\tlabel = input('');\n\n\t/**\n\t * Placeholder of the AutoComplete\n\t */\n\tplaceHolder = input('');\n\n\t/**\n\t * Appearance of the AutoComplete, defaults to `fill`\n\t */\n\tappearance = input('fill');\n\n\t/**\n\t * List of CSS classes that need to applied to autocomplete\n\t */\n\tclasses = input('');\n\n\t/**\n\t * Attribute of the Object whose value would be shown when searching for data. Defaults to `ID`\n\t */\n\tbindLabel = input('');\n\n\t/**\n\t * Attribute of the Object whose value would be used for search\n\t */\n\tbindValue = input('id');\n\n\t/**\n\t * Function that maps an option's control value to its display value in the trigger.\n\t */\n\t@Input() @Optional() displayWith: ((value: any) => string) | null = null;\n\n\t/**\n\t * Specifies if the autocomplete is required. Default is not required.\n\t */\n\trequired = input(false);\n\n\t/**\n\t * Specifies if the autocomplete is disabled. Default is not required.\n\t */\n\tdisabled = input(false);\n\n\t/**\n\t * List of Objects that need to be bind and searched for\n\t */\n\tdata = input<string[] | any[]>();\n\n\t/**\n\t * Emit selected value on selection changes\n\t */\n\tonSelectionChange = output<any>();\n\n\t/**\n\t * BehaviorSubject that shows the current active arrow icon\n\t */\n\tarrowIconSubject = new BehaviorSubject('arrow_drop_down');\n\n\t/**\n\t * Filtered options when user types\n\t */\n\tfilteredOptions: Observable<any[] | undefined> | undefined;\n\n\twriteValue(value: any): void {\n\t\tthis.control.setValue(value, { emitEvent: false });\n\t}\n\n\tregisterOnChange(fn: any): void {\n\t\tthis.onChange = fn;\n\t\t// Forward value changes from internal control to parent form\n\t\tthis.control.valueChanges.subscribe((value) => fn(value));\n\t}\n\n\tregisterOnTouched(fn: any): void {\n\t\tthis.onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tif (isDisabled) {\n\t\t\tthis.control.disable();\n\t\t} else {\n\t\t\tthis.control.enable();\n\t\t}\n\t}\n\n\tngAfterContentChecked(): void {\n\t\tthis.cdRef.detectChanges();\n\t}\n\n\tngOnInit() {\n\t\tthis.filteredOptions = this.control.valueChanges.pipe(\n\t\t\tstartWith(''),\n\t\t\tmap((value) => (typeof value === 'string' ? value : value !== null ? value[this.bindLabel()] : '')),\n\t\t\tmap(\n\t\t\t\t(propertyName) =>\n\t\t\t\t\tthis.data()?.filter((option) => {\n\t\t\t\t\t\treturn typeof option === 'string'\n\t\t\t\t\t\t\t? option?.toLowerCase().startsWith(propertyName.toLowerCase())\n\t\t\t\t\t\t\t: option[this.bindLabel()]?.toLowerCase().indexOf(propertyName.toLowerCase()) === 0;\n\t\t\t\t\t}) ?? this.data()?.slice(),\n\t\t\t),\n\t\t);\n\t}\n\n\tngOnChanges(_changes: SimpleChanges): void {\n\t\tthis.displayFn = this.displayFn.bind(this);\n\t}\n\n\tclearInput(evt: any): void {\n\t\tevt.stopPropagation();\n\t\tthis.control.reset();\n\t\tthis.onChange(null);\n\t\tthis.inputAutoComplete?.nativeElement.focus();\n\t}\n\n\topenOrClosePanel(evt: any, trigger: MatAutocompleteTrigger): void {\n\t\tevt.stopPropagation();\n\t\tif (trigger.panelOpen) {\n\t\t\ttrigger.closePanel();\n\t\t} else {\n\t\t\ttrigger.openPanel();\n\t\t}\n\t}\n\n\tdisplayFn(object: any): string {\n\t\tif (this.displayWith !== undefined && this.displayWith !== null && typeof this.displayWith === 'function') {\n\t\t\tthis.displayFn = this.displayWith.bind(this);\n\t\t\treturn this.displayWith(object);\n\t\t} else {\n\t\t\tif (typeof object === 'string') {\n\t\t\t\treturn object;\n\t\t\t}\n\t\t\treturn object?.[this.bindLabel()] ? object[this.bindLabel()] : '';\n\t\t}\n\t}\n\n\temitSelectedValue($event: MatOptionSelectionChange) {\n\t\tthis.onSelectionChange.emit($event.source.value);\n\t\tthis.onChange($event.source.value);\n\t\tthis.onTouched();\n\t}\n\n\t// ControlValueAccessor implementation\n\tprivate onChange: (value: any) => void = () => {};\n\n\tprivate onTouched: () => void = () => {};\n}\n","<div>\n\t<mat-form-field appearance=\"fill\" class=\"{{ classes() }}\">\n\t\t<mat-label>{{ label() }}</mat-label>\n\t\t<input\n\t\t\t#inputAutoComplete\n\t\t\t#trigger=\"matAutocompleteTrigger\"\n\t\t\t[formControl]=\"control\"\n\t\t\t[matAutocomplete]=\"auto\"\n\t\t\t[placeholder]=\"placeHolder()\"\n\t\t\t[required]=\"required()\"\n\t\t\tmatInput\n\t\t\ttype=\"text\" />\n\n\t\t<div matSuffix style=\"display: flex\">\n\t\t\t@if (control.value) {\n\t\t\t\t<button (click)=\"clearInput($event)\" aria-label=\"Clear\" mat-icon-button type=\"button\">\n\t\t\t\t\t<mat-icon>clear</mat-icon>\n\t\t\t\t</button>\n\t\t\t}\n\t\t\t<button (click)=\"openOrClosePanel($event, trigger)\" aria-label=\"Clear\" mat-icon-button type=\"button\">\n\t\t\t\t<mat-icon>{{ arrowIconSubject.getValue() }}</mat-icon>\n\t\t\t</button>\n\t\t</div>\n\n\t\t<mat-autocomplete\n\t\t\t#auto=\"matAutocomplete\"\n\t\t\t(closed)=\"arrowIconSubject.next('arrow_drop_down')\"\n\t\t\t(opened)=\"arrowIconSubject.next('arrow_drop_up')\"\n\t\t\t(optionSelected)=\"arrowIconSubject.next('arrow_drop_down')\"\n\t\t\t[displayWith]=\"displayFn\">\n\t\t\t@for (option of filteredOptions | async; track option[bindValue()]) {\n\t\t\t\t<mat-option (onSelectionChange)=\"emitSelectedValue($event)\" [value]=\"option\">\n\t\t\t\t\t@if (typeof option === 'string') {\n\t\t\t\t\t\t<ng-container>{{ option }}</ng-container>\n\t\t\t\t\t} @else if (typeof option === 'object') {\n\t\t\t\t\t\t<ng-container>{{ option[bindLabel()] }}</ng-container>\n\t\t\t\t\t}\n\t\t\t\t</mat-option>\n\t\t\t}\n\t\t</mat-autocomplete>\n\t</mat-form-field>\n</div>\n","export class PrintOptions {\n\tprintSectionId = '';\n\tprintTitle = '';\n\tuseExistingCss = false;\n\tbodyClass = '';\n\topenNewTab = false;\n\tpreviewOnly = false;\n\tcloseWindow = true;\n\tprintDelay = 0;\n\n\tconstructor(options?: Partial<PrintOptions>) {\n\t\tif (options) {\n\t\t\tObject.assign(this, options);\n\t\t}\n\t}\n}\n","import { Directive, DOCUMENT, HostListener, inject, Input } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { PrintOptions } from './print-options';\n\n/**\n * Reusable Angular directory that prints given contents of HTML element\n *\n * @since 12.0.0\n * @author Pavan Kumar Jadda\n */\n@Directive({\n\tselector: 'button[ngxPrint], button[print]',\n\tstandalone: true,\n})\nexport class NgxPrintDirective {\n\tdocument = inject(DOCUMENT);\n\t/**\n\t * ID of the HTML element those contents need to be printed\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() printSectionId: string | undefined;\n\t/**\n\t * Title of the HTML element those contents need to be printed\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() printTitle: string | undefined;\n\t/**\n\t * If `true`, uses CSS of HTMl element, otherwise no CSS applied\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() useExistingCss = false;\n\t/**\n\t * A delay in milliseconds to force the print dialog to wait before opened. Default: 0\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() printDelay = 0;\n\t/**\n\t * Instance of the Mat Table Data Source\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() matTableDataSource!: MatTableDataSource<unknown>;\n\t/**\n\t * Instance of the Mat Paginator\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() paginator!: MatPaginator;\n\t/**\n\t * ID of the Mat Paginator\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() paginatorId = '';\n\t/**\n\t * HTML tag ID of the Mat-Table Input Filter\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() inputFilterId = '';\n\t/**\n\t * If `true`, referenced table is Mat-Table\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() isMatTable = false;\n\t/**\n\t * If `true` Mat-Table paginator will be hidden\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input() hideMatTablePaginator = false;\n\n\tpublic printStyleArray: string[] = [];\n\tprintOptions = new PrintOptions();\n\n\t/**\n\t * List of Style sheet files\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate styleSheetFileArray = '';\n\n\t/**\n\t * Prevents the print dialog from opening on the window\n\t *\n\t * @memberof NgxPrintDirective\n\t */\n\t@Input() set previewOnly(value: boolean) {\n\t\tthis.printOptions = { ...this.printOptions, previewOnly: value };\n\t}\n\n\t/**\n\t * List of CSS properties that needs to be applied while printing the document\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input()\n\tset printStyle({ values }: PrintStyleParams) {\n\t\tfor (const key in values) {\n\t\t\tif (Object.prototype.hasOwnProperty.call(values, key)) {\n\t\t\t\tthis.printStyleArray.push((key + JSON.stringify(values[key])).replace(/['\"]+/g, ''));\n\t\t\t}\n\t\t}\n\t\tthis.returnStyleValues();\n\t}\n\n\t/**\n\t * Sets given style sheet files to print document\n\t *\n\t * @param cssList Comma separated value of CSS file names\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@Input()\n\tset styleSheetFile(cssList: string) {\n\t\tif (cssList.indexOf(',') !== -1) {\n\t\t\tconst cssFileArray = cssList.split(',');\n\t\t\tfor (const cssFileName of cssFileArray) {\n\t\t\t\tthis.styleSheetFileArray = this.styleSheetFileArray + NgxPrintDirective.linkTagFn(cssFileName);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.styleSheetFileArray = NgxPrintDirective.linkTagFn(cssList);\n\t\t}\n\t}\n\n\t/**\n\t * Build link HTMl tag based on given file name\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate static linkTagFn(cssFileName: string): string {\n\t\treturn `<link rel=\"stylesheet\" type=\"text/css\" href=\"${cssFileName}\">`;\n\t}\n\n\t/**\n\t * Gets HTML element by tag name\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate static getElementTag(tag: keyof HTMLElementTagNameMap): string {\n\t\tconst html: string[] = [];\n\t\tconst elements = document.getElementsByTagName(tag);\n\t\t// @ts-ignore\n\t\tfor (const element of elements) {\n\t\t\thtml.push(element.outerHTML);\n\t\t}\n\t\treturn html.join('\\r\\n');\n\t}\n\n\t/**\n\t * Print the element upon clicking the button\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\t@HostListener('click')\n\tpublic print(): void {\n\t\t//Hide paginator for Material table\n\t\tif (this.isMatTable && this.hideMatTablePaginator && this.matTableDataSource) {\n\t\t\tthis.matTableDataSource.paginator = null;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tif (this.isMatTable) {\n\t\t\t\tthis.hideMatPaginatorBeforePrinting();\n\t\t\t}\n\n\t\t\t// Do something after\n\t\t\tlet printContents;\n\t\t\tlet popupWin;\n\t\t\tlet styles = '';\n\t\t\tlet links = '';\n\n\t\t\tif (this.useExistingCss) {\n\t\t\t\tstyles = NgxPrintDirective.getElementTag('style');\n\t\t\t\tlinks = NgxPrintDirective.getElementTag('link');\n\t\t\t}\n\t\t\tif (this.printSectionId) {\n\t\t\t\tprintContents = this.document.getElementById(this.printSectionId)?.innerHTML;\n\t\t\t\tpopupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');\n\t\t\t\tpopupWin?.document.open();\n\t\t\t\tpopupWin?.document.write(`\n <html lang=\"en-us\">\n <head>\n <title>${this.printTitle ? this.printTitle : ''}</title>\n ${this.returnStyleValues()}\n ${this.styleSheetFileArray}\n ${styles}\n ${links}\n </head>\n <body>\n ${printContents}\n <script defer>\n function triggerPrint() {\n window.removeEventListener('load', triggerPrint, false);\n setTimeout(() => {\n window.print();\n setTimeout(function() { window.close(); }, 0);\n }, ${this.printDelay});\n }\n window.addEventListener('load', triggerPrint, false);\n </script>\n </body>\n </html>`);\n\n\t\t\t\tpopupWin?.document.close();\n\n\t\t\t\t//Revert back the mat-paginator after printing\n\t\t\t\tif (this.isMatTable) {\n\t\t\t\t\tthis.showMatPaginatorAfterPrinting();\n\t\t\t\t}\n\t\t\t}\n\t\t}, 1000); //1 second timeout to hide paginator\n\t}\n\n\t/**\n\t * Hide Mat Paginator before Printing\n\t *\n\t * @since 12.0.1\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate hideMatPaginatorBeforePrinting(): void {\n\t\t// @ts-ignore\n\t\tthis.document.getElementById(this.paginatorId).style.display = 'none';\n\t\tif (this.document.getElementById(this.inputFilterId) != null) {\n\t\t\t// @ts-ignore\n\t\t\tthis.document.getElementById(this.inputFilterId).style.display = 'none';\n\t\t}\n\t}\n\n\t/**\n\t * Show Mat Paginator after Printing\n\t *\n\t * @since 12.0.1\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate showMatPaginatorAfterPrinting(): void {\n\t\tthis.matTableDataSource.paginator = this.paginator;\n\t\t// @ts-ignore\n\t\tthis.document.getElementById(this.paginatorId).style.display = 'block';\n\t\tif (this.document.getElementById(this.inputFilterId) != null) {\n\t\t\t// @ts-ignore\n\t\t\tthis.document.getElementById(this.inputFilterId).style.display = 'block';\n\t\t}\n\t}\n\n\t/**\n\t * @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\n\t *\n\t * @since 12.0.0\n\t * @author Pavan Kumar Jadda\n\t */\n\tprivate returnStyleValues(): string {\n\t\treturn `<style> ${this.printStyleArray.join(' ').replace(/,/g, ';')} </style>`;\n\t}\n}\n\ninterface PrintStyleParams {\n\tvalues: Record<string, Record<string, string>>;\n}\n","import { Directive, HostListener, input, OnDestroy, OnInit, output } from '@angular/core';\nimport { Subject, Subscription, throttleTime } from 'rxjs';\n\n@Directive({\n\tselector: '[preventMultipleClicks]',\n\tstandalone: true,\n})\nexport class PreventMultipleClicksDirective implements OnInit, OnDestroy {\n\tthrottleTime = input(2000);\n\tthrottleClick = output<Event>();\n\tprivate readonly clicks = new Subject<Event>();\n\tprivate subscription: Subscription | undefined;\n\n\t/**\n\t * Intercepts click event and stops default navigation. After first click set {@link throttleTime} to 2000 to prevent duplicate clicks\n\t *\n\t * @param event DOM event\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.3.27\n\t */\n\t@HostListener('click', ['$event'])\n\tclickEvent(event: Event) {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.clicks.next(event);\n\t}\n\n\tngOnInit() {\n\t\tthis.subscription = this.clicks.pipe(throttleTime(this.throttleTime())).subscribe((e) => this.throttleClick.emit(e));\n\t}\n\n\tngOnDestroy() {\n\t\tthis.subscription?.unsubscribe();\n\t}\n}\n","import { Directive, DOCUMENT, effect, ElementRef, inject, input, OnInit, signal } from '@angular/core';\n\n@Directive()\nexport abstract class BaseButtonDirective implements OnInit {\n\ticon = input<string>('');\n\tloadingLabel = input<string>('Loading...');\n\tloading = input<boolean>(false);\n\telementRef = inject(ElementRef);\n\tdocument = inject(DOCUMENT);\n\n\tprotected originalText = signal('');\n\tprotected iconSpan = signal<HTMLElement | null>(null);\n\n\tconstructor() {\n\t\tthis.elementRef.nativeElement.classList.add('btn');\n\n\t\teffect(() => {\n\t\t\tthis.updateContent();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\t// Capture original text before creating icon\n\t\tthis.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Button');\n\n\t\t// Create icon after capturing text\n\t\tthis.createIcon();\n\t}\n\n\t/**\n\t * Create icon element if icon name is provided\n\t */\n\tprotected createIcon(): void {\n\t\tif (this.icon()) {\n\t\t\tconst iconElement = this.document.createElement('mat-icon');\n\t\t\ticonElement.classList.add('mat-icon', 'material-icons', 'pe-2');\n\t\t\ticonElement.textContent = this.icon();\n\t\t\tthis.iconSpan.set(iconElement);\n\t\t}\n\t}\n\n\t/**\n\t * Update content of the button\n\t */\n\tprotected updateContent(): void {\n\t\tconst element = this.elementRef.nativeElement;\n\t\telement.innerHTML = '';\n\n\t\tif (this.loading()) {\n\t\t\tthis.showLoadingState(element);\n\t\t} else {\n\t\t\tthis.showNormalState(element);\n\t\t}\n\t}\n\n\t/**\n\t * Show loading state. Add spinner and loadingLabel text\n\t */\n\tprotected showLoadingState(element: HTMLElement): void {\n\t\t// Create a new span element\n\t\tconst newSpan = this.document.createElement('span');\n\n\t\t// Set its text content\n\t\tnewSpan.classList.add('spinner-border', 'spinner-border-sm', 'me-2');\n\t\tnewSpan.setAttribute('role', 'status');\n\n\t\t// Append the new element to the host element\n\t\telement.appendChild(newSpan);\n\t\telement.appendChild(this.document.createTextNode(this.loadingLabel()));\n\t\telement.setAttribute('disabled', 'true');\n\t}\n\n\t/**\n\t * Show normal state. Add icon and original text\n\t */\n\tprotected showNormalState(element: HTMLElement): void {\n\t\t// Add icon and original text\n\t\tconst iconElement = this.iconSpan();\n\t\tif (iconElement) {\n\t\t\telement.appendChild(iconElement);\n\t\t}\n\n\t\t// Append text node instead of setting textContent (which overwrites the icon)\n\t\telement.appendChild(this.document.createTextNode(this.originalText()));\n\t\telement.removeAttribute('disabled');\n\t}\n}\n","import { Component, input, output } from '@angular/core';\n\n@Component({\n\tstandalone: true,\n\ttemplate: ``,\n})\nexport class BaseButtonComponent {\n\t/**\n\t * Is search in progress and loading the data\n\t */\n\tloading = input(false, { transform: (value: boolean | undefined) => value ?? false });\n\n\t/**\n\t * Is button disabled\n\t */\n\tdisabled = input<boolean>(false);\n\n\t/**\n\t * Type of the button. Following values are supported. See BootStrap docs for more information\n\t * <pre>\n\t * 1. button\n\t * 2. submit\n\t * </pre>\n\t */\n\ttype = input('button');\n\n\t/**\n\t * If set, shows when action in Progress\n\t */\n\tloadingLabel = input('Saving...');\n\n\t/**\n\t * If set, shows when Delete is not in progress\n\t */\n\tlabel = input('Save');\n\n\t/**\n\t * If set, shows the icon. Otherwise, shows delete icon\n\t */\n\ticon = input('save');\n\n\t/**\n\t * If set, shows material icon otherwise hides the icons\n\t */\n\tshowIcon = input(true);\n\n\t/**\n\t * If set, sets the style of the button\n\t */\n\tstyle = input<any | null | undefined>();\n\n\t/**\n\t * If set, sets the class of the button\n\t */\n\tclasses = input('btn');\n\n\t/**\n\t * If set, sets the data-cy attribute for the button\n\t */\n\tdataCy = input('save-button');\n\n\t/**\n\t * Output event when button is clicked\n\t */\n\tonClick = output<MouseEvent>();\n\n\t/**\n\t * Output event when button is focused\n\t */\n\tonFocus = output<FocusEvent>();\n\n\t/**\n\t * Output event when button is blurred\n\t */\n\tonBlur = output<FocusEvent>();\n\n\t/**\n\t * Output event when key is pressed\n\t */\n\tonKeyDown = output<KeyboardEvent>();\n\n\t/**\n\t * Output event when key is up\n\t */\n\tonKeyUp = output<KeyboardEvent>();\n}\n","import { Component, input } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatAnchor } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'bs-link-button',\n\timports: [MatIcon, MatAnchor],\n\ttemplate: `\n\t\t<a\n\t\t\ttype=\"{{ type() }}\"\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'bs-link-button'\"\n\t\t\tmat-button>\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</a>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class BsLinkButtonComponent extends BaseButtonComponent {\n\toverride label = input('Edit');\n\toverride icon = input('search');\n\toverride classes = input('btn text-primary');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, DOCUMENT, effect, ElementRef, inject, input } from '@angular/core';\n\n@Directive({\n\tselector: '[bsLinkButton]',\n})\nexport class BsLinkButtonDirective {\n\ticon = input<string>('search');\n\telementRef = inject(ElementRef);\n\tdocument = inject(DOCUMENT);\n\n\tconstructor() {\n\t\tthis.elementRef.nativeElement.classList.add('btn', 'text-primary');\n\n\t\teffect(() => {\n\t\t\tthis.updateContent();\n\t\t});\n\t}\n\n\tprivate updateContent(): void {\n\t\t// if icon present, add material-icons class and set text content\n\t\tif (this.icon()) {\n\t\t\tconst iconSpan = this.document.createElement('span');\n\t\t\ticonSpan.classList.add('material-icons', 'pe-2');\n\t\t\ticonSpan.textContent = this.icon();\n\t\t\tthis.elementRef.nativeElement.appendChild(iconSpan);\n\t\t}\n\t}\n}\n","import { Directive, ElementRef, inject } from '@angular/core';\n\n@Directive({\n\tselector: '[closeButton]',\n})\nexport class CloseButtonDirective {\n\telementRef = inject(ElementRef);\n\n\tconstructor() {\n\t\tthis.elementRef.nativeElement.classList.add('secondary-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'delete-button',\n\timports: [MatButtonModule, MatIconModule],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled() || loading()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'delete-button'\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class DeleteButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Deleting...');\n\toverride label = input('Delete');\n\toverride icon = input('delete');\n\toverride classes = input('delete-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[deleteButton]',\n})\nexport class DeleteButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('delete');\n\toverride loadingLabel = input<string>('Deleting...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('delete-button');\n\t}\n}\n","import { Component } from '@angular/core';\nimport { MatIconModule, MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nconst EDIT_ICON = `\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path d=\"M490.3 40.4C512.2 62.27 512.2 97.73 490.3 119.6L460.3 149.7L362.3 51.72L392.4 21.66C414.3-.2135 449.7-.2135 471.6 21.66L490.3 40.4zM172.4 241.7L339.7 74.34L437.7 172.3L270.3 339.6C264.2 345.8 256.7 350.4 248.4 353.2L159.6 382.8C150.1 385.6 141.5 383.4 135 376.1C128.6 370.5 126.4 361 129.2 352.4L158.8 263.6C161.6 255.3 166.2 247.8 172.4 241.7V241.7zM192 63.1C209.7 63.1 224 78.33 224 95.1C224 113.7 209.7 127.1 192 127.1H96C78.33 127.1 64 142.3 64 159.1V416C64 433.7 78.33 448 96 448H352C369.7 448 384 433.7 384 416V319.1C384 302.3 398.3 287.1 416 287.1C433.7 287.1 448 302.3 448 319.1V416C448 469 405 512 352 512H96C42.98 512 0 469 0 416V159.1C0 106.1 42.98 63.1 96 63.1H192z\"/>\n</svg>\n`;\n\n@Component({\n\tselector: 'edit-solid-svg',\n\timports: [MatIconModule],\n\ttemplate: ` <mat-icon aria-hidden=\"false\" aria-label=\"Edit\" svgIcon=\"edit-solid\" class=\"pe-2 align-bottom\"></mat-icon> `,\n})\nexport class EditSolidSvgComponent {\n\tconstructor(iconRegistry: MatIconRegistry, sanitizer: DomSanitizer) {\n\t\ticonRegistry.addSvgIconLiteral('edit-solid', sanitizer.bypassSecurityTrustHtml(EDIT_ICON));\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { EditSolidSvgComponent } from '../../../svg-icons/edit-solid-svg/edit-solid-svg.component';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'edit-bs-button',\n\timports: [MatButtonModule, MatIconModule, EditSolidSvgComponent],\n\ttemplate: `\n\t\t<button\n\t\t\tcolor=\"primary\"\n\t\t\ttype=\"{{ type() }}\"\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'edit-bs-button'\"\n\t\t\tmat-button>\n\t\t\t<edit-solid-svg></edit-solid-svg>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class EditBsButtonComponent extends BaseButtonComponent {\n\toverride label = input('Edit');\n\toverride classes = input('text-primary');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { ComponentRef, Directive, DOCUMENT, ElementRef, inject, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { EditSolidSvgComponent } from '../../../svg-icons/edit-solid-svg/edit-solid-svg.component';\n\n@Directive({\n\tselector: '[editBsButton]',\n})\nexport class EditBsButtonDirective implements OnInit {\n\telementRef = inject(ElementRef);\n\tviewContainerRef = inject(ViewContainerRef);\n\tdocument = inject(DOCUMENT);\n\tprotected originalText = signal('');\n\tprotected iconComponentRef = signal<ComponentRef<EditSolidSvgComponent> | null>(null);\n\n\tngOnInit(): void {\n\t\t// Add the btn class first\n\t\tthis.elementRef.nativeElement.classList.add('btn', 'text-primary');\n\n\t\t// Capture original text before creating icon\n\t\tthis.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Edit');\n\n\t\t// Update content to show icon and text\n\t\tthis.updateContent();\n\t}\n\n\tprivate updateContent(): void {\n\t\t// Create the EditSolidSvgComponent properly using Angular's component system\n\t\tconst componentRef = this.viewContainerRef.createComponent(EditSolidSvgComponent);\n\t\tthis.iconComponentRef.set(componentRef);\n\n\t\t// Clear the original content and append the icon component\n\t\tthis.elementRef.nativeElement.textContent = '';\n\t\tthis.elementRef.nativeElement.appendChild(componentRef.location.nativeElement);\n\n\t\t// Add text after the icon\n\t\tthis.elementRef.nativeElement.appendChild(this.document.createTextNode(' ' + this.originalText()));\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatIcon } from '@angular/material/icon';\nimport { MatButton } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'edit-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'edit-button'\"\n\t\t\tmat-raised-button>\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class EditButtonComponent extends BaseButtonComponent {\n\toverride label = input('Edit');\n\toverride icon = input('edit');\n\toverride classes = input('primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[editButton]',\n})\nexport class EditButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('edit');\n\toverride loadingLabel = input<string>('Editing...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('primary-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { EditSolidSvgComponent } from '../../../svg-icons/edit-solid-svg/edit-solid-svg.component';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'edit-svg-icon-button',\n\timports: [MatButton, EditSolidSvgComponent],\n\ttemplate: `\n\t\t<button\n\t\t\ttype=\"{{ type() }}\"\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'edit-svg-icon-button'\"\n\t\t\tmat-raised-button>\n\t\t\t<edit-solid-svg></edit-solid-svg>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class EditSvgIconButtonComponent extends BaseButtonComponent {\n\toverride label = input('Edit');\n\toverride icon = input('edit');\n\toverride classes = input('primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { ComponentRef, Directive, DOCUMENT, ElementRef, inject, OnInit, signal, ViewContainerRef } from '@angular/core';\nimport { EditSolidSvgComponent } from '../../../svg-icons/edit-solid-svg/edit-solid-svg.component';\n\n@Directive({\n\tselector: '[editSvgIconButton]',\n})\nexport class EditSvgIconButtonDirective implements OnInit {\n\telementRef = inject(ElementRef);\n\tviewContainerRef = inject(ViewContainerRef);\n\tdocument = inject(DOCUMENT);\n\n\tprotected originalText = signal('');\n\tprotected iconComponentRef = signal<ComponentRef<EditSolidSvgComponent> | null>(null);\n\n\tngOnInit(): void {\n\t\t// Add Material Design button classes\n\t\tthis.elementRef.nativeElement.classList.add('mat-raised-button', 'primary-button');\n\n\t\t// Capture original text before creating icon\n\t\tthis.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Edit');\n\n\t\t// Set data-cy attribute for testing\n\t\tthis.elementRef.nativeElement.setAttribute('data-cy', 'edit-svg-icon-button');\n\n\t\t// Update content to show icon and text\n\t\tthis.updateContent();\n\t}\n\n\tprivate updateContent(): void {\n\t\t// Create the EditSolidSvgComponent properly using Angular's component system\n\t\tconst componentRef = this.viewContainerRef.createComponent(EditSolidSvgComponent);\n\t\tthis.iconComponentRef.set(componentRef);\n\n\t\t// Clear the original content and append the icon component\n\t\tthis.elementRef.nativeElement.textContent = '';\n\t\tthis.elementRef.nativeElement.appendChild(componentRef.location.nativeElement);\n\t\tthis.elementRef.nativeElement.appendChild(this.document.createTextNode(' ' + this.originalText()));\n\t}\n}\n","import { Component } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n\tselector: 'excel-export-button',\n\timports: [MatButtonModule],\n\ttemplate: ` <button class=\"excel-export-button\" mat-raised-button type=\"button\" data-cy=\"excel-export-button\">Excel</button> `,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n\tstyles: [\n\t\t`\n\t\t\t.excel-export-button {\n\t\t\t\tmargin-left: 20px !important;\n\t\t\t\tmargin-right: 20px !important;\n\t\t\t\twidth: 100px;\n\t\t\t\tcolor: white !important;\n\t\t\t\tbackground-color: darkgreen !important;\n\t\t\t\tborder-radius: 24px !important;\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class ExcelExportButtonComponent {}\n","import { Directive } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[excelExportButton]',\n})\nexport class ExcelExportButtonDirective extends BaseButtonDirective {\n\tconstructor() {\n\t\tsuper();\n\t\tconst styles = [\n\t\t\t{ property: 'margin-left', value: '20px' },\n\t\t\t{ property: 'margin-right', value: '20px' },\n\t\t\t{ property: 'width', value: '100px' },\n\t\t\t{ property: 'color', value: 'white' },\n\t\t\t{ property: 'background-color', value: 'darkgreen' },\n\t\t\t{ property: 'border-radius', value: '24px' },\n\t\t];\n\n\t\tstyles.forEach((style) => {\n\t\t\tthis.elementRef.nativeElement.style[style.property] = style.value;\n\t\t});\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'manage-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"{{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'manage-button'\">\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class ManageButtonComponent extends BaseButtonComponent {\n\toverride label = input('Manage');\n\toverride icon = input('settings');\n\toverride classes = input('mr-3 btn btn-secondary secondary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[manageButton]',\n})\nexport class ManageButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('settings');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('mr-3');\n\t\tthis.elementRef.nativeElement.classList.add('secondary-button');\n\t}\n}\n","import { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n\tselector: 'pdf-export-button',\n\timports: [MatButtonModule],\n\ttemplate: ` <button class=\"pdf-export-button\" mat-raised-button type=\"button\" data-cy=\"pdf-export-button\">PDF</button> `,\n\tstyles: [\n\t\t`\n\t\t\t.pdf-export-button {\n\t\t\t\tmargin-left: 20px !important;\n\t\t\t\twidth: 100px;\n\t\t\t\tcolor: white !important;\n\t\t\t\tbackground-color: #a3071b !important;\n\t\t\t\tborder-radius: 24px !important;\n\t\t\t}\n\t\t`,\n\t],\n})\nexport class PdfExportButtonComponent {}\n","import { Directive } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[pdfExportButton]',\n})\nexport class PdfExportButtonDirective extends BaseButtonDirective {\n\tconstructor() {\n\t\tsuper();\n\t\tconst styles = [\n\t\t\t{ property: 'margin-left', value: '20px' },\n\t\t\t{ property: 'width', value: '100px' },\n\t\t\t{ property: 'color', value: 'white' },\n\t\t\t{ property: 'background-color', value: '#a3071b' },\n\t\t\t{ property: 'border-radius', value: '24px' },\n\t\t];\n\n\t\tstyles.forEach((style) => {\n\t\t\tthis.elementRef.nativeElement.style[style.property] = style.value;\n\t\t});\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'primary-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled() || loading()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'primary-button'\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading() && showIcon()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class PrimaryButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Saving...');\n\toverride label = input('Save');\n\toverride icon = input('save');\n\toverride showIcon = input(false);\n\toverride classes = input('btn-primary primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[primaryButton]',\n})\nexport class PrimaryButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('save');\n\toverride loadingLabel = input<string>('Saving...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('btn-primary');\n\t\tthis.elementRef.nativeElement.classList.add('primary-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\nimport { MatIcon } from '@angular/material/icon';\nimport { MatButton } from '@angular/material/button';\n\n@Component({\n\tselector: 'save-primary-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled() || loading()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'save-primary-button'\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class SavePrimaryButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Saving...');\n\toverride label = input('Save');\n\toverride icon = input('save');\n\toverride classes = input('btn-primary primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[savePrimaryButton]',\n})\nexport class SavePrimaryButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('save');\n\toverride loadingLabel = input<string>('Saving...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('btn-primary');\n\t\tthis.elementRef.nativeElement.classList.add('primary-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'search-button',\n\timports: [MatButtonModule, MatIconModule],\n\ttemplate: `\n\t\t<button\n\t\t\tclass=\"btn btn-primary primary-button {{ loading() || disabled() ? 'disabled' : '' }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\tmat-raised-button\n\t\t\ttype=\"{{ type() }}\"\n\t\t\tdata-cy=\"primary-button\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class SearchButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Searching...');\n\toverride label = input('Search');\n\toverride icon = input('search');\n\toverride classes = input('btn-primary primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n\tselector: 'success-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t[disabled]=\"disabled() || loading()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'success-button'\">\n\t\t\t@if (loading()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"spinner-border spinner-border-sm\" role=\"status\"></span>\n\t\t\t}\n\t\t\t@if (!loading()) {\n\t\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t}\n\t\t\t{{ loading() ? loadingLabel() : label() }}\n\t\t</button>\n\t`,\n})\nexport class SuccessButtonComponent extends BaseButtonComponent {\n\toverride loadingLabel = input('Updating...');\n\toverride label = input('Update');\n\toverride icon = input('save');\n\toverride classes = input('success-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[successButton]',\n})\nexport class SuccessButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('save');\n\toverride loadingLabel = input<string>('Updating...');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('success-button');\n\t}\n}\n","import { Component, input } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatButton } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'view-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tcolor=\"primary\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\tmat-button>\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class ViewButtonComponent extends BaseButtonComponent {\n\toverride label = input('View');\n\toverride icon = input('visibility');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[viewButton]',\n})\nexport class ViewButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('visibility');\n\toverride loadingLabel = input<string>('Loading...');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Component, input } from '@angular/core';\n\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n\tselector: 'view-primary-button',\n\timports: [MatButton, MatIcon],\n\ttemplate: `\n\t\t<button\n\t\t\tmat-raised-button\n\t\t\tclass=\"btn {{ classes() }}\"\n\t\t\t(click)=\"onClick.emit($event)\"\n\t\t\t(focus)=\"onFocus.emit($event)\"\n\t\t\t(blur)=\"onBlur.emit($event)\"\n\t\t\t(keydown)=\"onKeyDown.emit($event)\"\n\t\t\t(keyup)=\"onKeyUp.emit($event)\"\n\t\t\t[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'view-button'\">\n\t\t\t<mat-icon>{{ icon() }}</mat-icon>\n\t\t\t{{ label() }}\n\t\t</button>\n\t`,\n\tstyleUrls: ['../../../../assets/app-buttons.css'],\n})\nexport class ViewPrimaryButtonComponent extends BaseButtonComponent {\n\toverride label = input('View');\n\toverride icon = input('visibility');\n\toverride classes = input('btn-primary primary-button');\n\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { BaseButtonDirective } from '../base-button/base-button.directive';\n\n@Directive({\n\tselector: '[viewPrimaryButton]',\n})\nexport class ViewPrimaryButtonDirective extends BaseButtonDirective {\n\toverride icon = input<string>('visibility');\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis.elementRef.nativeElement.classList.add('btn-primary');\n\t\tthis.elementRef.nativeElement.classList.add('primary-button');\n\t}\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDividerModule } from '@angular/material/divider';\n\n@Component({\n\tselector: 'app-confirm-dialog',\n\timports: [MatButtonModule, MatDividerModule, MatDialogModule],\n\ttemplate: `\n\t\t<div class=\"mat-dialog-title\" style=\"text-align: center\">\n\t\t\t<h3 class=\"m-3 mat-headline-5\t\">{{ title }}</h3>\n\t\t</div>\n\n\t\t<mat-divider></mat-divider>\n\t\t<div mat-dialog-content style=\"margin: 20px\">\n\t\t\t<p>{{ message }}</p>\n\t\t</div>\n\n\t\t<div align=\"end\" class=\"modal-footer\" mat-dialog-actions>\n\t\t\t<button (click)=\"onDismiss()\" mat-raised-button>No</button>\n\t\t\t<button (click)=\"onConfirm()\" class=\"primary-button\" mat-raised-button>Yes</button>\n\t\t</div>\n\t`,\n\tstyles: [],\n})\nexport class ConfirmDialogComponent {\n\ttitle: string;\n\tmessage: string;\n\n\tconstructor(\n\t\t@Inject(MAT_DIALOG_DATA) public data: ConfirmDialogData,\n\t\tpublic dialogRef: MatDialogRef<ConfirmDialogComponent>,\n\t) {\n\t\t// Update view with given values\n\t\tthis.title = data.title;\n\t\tthis.message = data.message;\n\t}\n\n\tonDismiss() {\n\t\t// Close the dialog, return true\n\t\tthis.dialogRef.close(false);\n\t}\n\n\tonConfirm() {\n\t\t// Close the dialog, return true\n\t\tthis.dialogRef.close(true);\n\t}\n}\n\n/**\n * Class to represent confirm dialog model.\n */\nexport interface ConfirmDialogData {\n\ttitle: string;\n\tmessage: string;\n}\n","import { Component, Inject } from '@angular/core';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n\tselector: 'app-error-snack-bar',\n\timports: [MatIconModule, MatButtonModule],\n\ttemplate: `\n\t\t<div class=\"app-flex-center error-snackbar\">\n\t\t\t<mat-icon style=\"font-size:1.3rem\">error</mat-icon>\n\t\t\t<label>{{ data.message }}</label>\n\t\t\t<button style=\"margin-left: auto\" (click)=\"close()\" mat-icon-button>\n\t\t\t\t<mat-icon>close</mat-icon>\n\t\t\t</button>\n\t\t</div>\n\t`,\n\tstyleUrls: ['../../../../assets/app-mat-snack-bar.css'],\n})\nexport class ErrorSnackBarComponent {\n\tconstructor(\n\t\tpublic msb: MatSnackBarRef<ErrorSnackBarComponent>,\n\t\t@Inject(MAT_SNACK_BAR_DATA) public data: { message: string; action?: string },\n\t) {}\n\n\t/**\n\t * Close the Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.7.18\n\t */\n\tclose(): void {\n\t\tthis.msb.dismissWithAction();\n\t}\n}\n","import { Component, Inject } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\n\n@Component({\n\tselector: 'app-success-snack-bar',\n\timports: [MatButtonModule, MatIconModule],\n\ttemplate: `\n\t\t<div class=\"app-flex-center success-snackbar\">\n\t\t\t<mat-icon style=\"font-size:1.3rem\">check_circle</mat-icon>\n\t\t\t<label>{{ data.message }}</label>\n\t\t\t<button style=\"margin-left: auto\" (click)=\"close()\" mat-icon-button>\n\t\t\t\t<mat-icon>close</mat-icon>\n\t\t\t</button>\n\t\t</div>\n\t`,\n\tstyleUrls: ['../../../../assets/app-mat-snack-bar.css'],\n})\nexport class SuccessSnackBarComponent {\n\tconstructor(\n\t\tpublic msb: MatSnackBarRef<SuccessSnackBarComponent>,\n\t\t@Inject(MAT_SNACK_BAR_DATA) public data: { message: string; action?: string },\n\t) {}\n\n\t/**\n\t * Close the Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.7.18\n\t */\n\tclose(): void {\n\t\tthis.msb.dismissWithAction();\n\t}\n}\n","import { inject, Injectable } from '@angular/core';\nimport { MatSnackBar, MatSnackBarHorizontalPosition, MatSnackBarVerticalPosition } from '@angular/material/snack-bar';\nimport { ErrorSnackBarComponent } from '../components/snack-bar/error-snack-bar/error-snack-bar.component';\nimport { SuccessSnackBarComponent } from '../components/snack-bar/success-snack-bar/success-snack-bar.component';\n\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class MatSnackBarService {\n\tsnackBar = inject(MatSnackBar);\n\t/**\n\t * Duration (in milliseconds) of the Snack Bar to be open. Defaults to 5 seconds (5000 milliseconds)\n\t */\n\tduration = 5000;\n\n\t/**\n\t * Horizontal Position of the MatSnackBar. Defaults to right side\n\t */\n\thorizontalPosition: MatSnackBarHorizontalPosition = 'right';\n\n\t/**\n\t * Vertical Position of the MatSnackBar. Defaults to top of the page\n\t */\n\tverticalPosition: MatSnackBarVerticalPosition = 'top';\n\n\t/**\n\t * Opens Success Snack Bar\n\t *\n\t * @param message Message to display on Snack Bar\n\t * @param options Options of the Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.2.3\n\t */\n\tsuccess(message: string, options?: MatSnackBarOptions): void {\n\t\tthis.snackBar.openFromComponent(SuccessSnackBarComponent, {\n\t\t\tdata: { message },\n\t\t\tduration: options?.duration ?? this.duration,\n\t\t\tpanelClass: options?.panelClass ?? 'success-snackbar',\n\t\t\thorizontalPosition: options?.horizontalPosition ?? this.horizontalPosition,\n\t\t\tverticalPosition: options?.verticalPosition ?? this.verticalPosition,\n\t\t});\n\t}\n\n\t/**\n\t * Opens Error Snack Bar\n\t *\n\t * @param message Message to display on Snack Bar\n\t * @param options Options of the Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.2.3\n\t */\n\terror(message: string, options?: MatSnackBarOptions): void {\n\t\tthis.snackBar.openFromComponent(ErrorSnackBarComponent, {\n\t\t\tdata: { message },\n\t\t\tduration: options?.duration ?? this.duration,\n\t\t\tpanelClass: options?.panelClass ?? 'error-snackbar',\n\t\t\thorizontalPosition: options?.horizontalPosition ?? this.horizontalPosition,\n\t\t\tverticalPosition: options?.verticalPosition ?? this.verticalPosition,\n\t\t});\n\t}\n\n\t/**\n\t * Opens Generic Snack Bar\n\t *\n\t * @param message Message to display on Snack Bar\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 2.2.3\n\t */\n\topen(message: string): void {\n\t\tthis.snackBar.open(message, 'Close', {\n\t\t\tduration: this.duration,\n\t\t\thorizontalPosition: this.horizontalPosition,\n\t\t\tverticalPosition: this.verticalPosition,\n\t\t});\n\t}\n}\n\n/**\n * MatSnackBarOptions for Snack Bar\n *\n * Available panelClass options:\n * - 'success-snackbar': Green background (default for success)\n * - 'error-snackbar': Red background (default for error)\n * - 'light-success-snackbar': Light green background\n * - 'light-error-snackbar': Light red background\n * - 'primary-snackbar': Primary theme color\n * - 'info-snackbar': Blue background\n * - 'warning-snackbar': Yellow background\n * - Custom CSS class names for additional styling\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.19\n */\nexport interface MatSnackBarOptions {\n\tduration?: number;\n\thorizontalPosition?: MatSnackBarHorizontalPosition;\n\tverticalPosition?: MatSnackBarVerticalPosition;\n\tpanelClass?: string | string[];\n}\n","import { computed, Injectable, signal } from '@angular/core';\nimport { IdType } from '../types/id-type';\n\n/**\n * 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.\n *\n * @author Pavan Kumar Jadda\n * @since 17.1.0\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class EntityStore<T extends IdType> {\n\t_data = signal<T[]>([]);\n\n\t// The data property is a computed property that returns the value of the _data signal\n\tdata = computed(() => this._data());\n\n\t/**\n\t * Find an item in the store by id\n\t *\n\t * @param id The id of the item to be found\n\t *\n\t * @returns The item if found, undefined otherwise\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tfindById(id: number): T | undefined {\n\t\treturn this._data().find((item) => item.id === id);\n\t}\n\n\t/**\n\t * Set the list of items in the store with the new data\n\t *\n\t * @param data The new list of items to be stored\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tsetData(data: T[]): void {\n\t\tthis._data.set(data);\n\t}\n\n\t/**\n\t * Update an item in the store. If the item does not exist in new list, add it. Otherwise, update it.\n\t *\n\t * @param data The item to added or updated\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tupsert(data: T): void {\n\t\tthis._data.update((currentData) => {\n\t\t\tconst dataMap = new Map(currentData.map((item) => [item.id, item]));\n\t\t\tdataMap.set(data.id, data);\n\t\t\treturn Array.from(dataMap.values());\n\t\t});\n\t}\n\n\t/**\n\t * Update or insert the given list of items in the store\n\t *\n\t * @param newData The list of items to be updated or inserted\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tupsertMulti(newData: T[]): void {\n\t\tthis._data.update((currentData) => {\n\t\t\tconst dataMap = new Map(currentData.map((item) => [item.id, item]));\n\t\t\tnewData.forEach((newItem: T) => dataMap.set(newItem.id, newItem));\n\t\t\treturn Array.from(dataMap.values());\n\t\t});\n\t}\n\n\t/**\n\t * Remove an item from the store\n\t *\n\t * @param id The id of the item to be removed\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tremove(id: number): void {\n\t\tthis._data.update((currentData) => currentData.filter((item) => item.id !== id));\n\t}\n}\n","import { computed, Injectable, signal } from '@angular/core';\n\n/**\n * A core store class that can be used to store any object\n *\n * @author Pavan Kumar Jadda\n * @since 17.1.0\n */\n@Injectable({\n\tprovidedIn: 'root',\n})\nexport class Store<T extends object> {\n\t_data = signal<T | null>(null);\n\n\t// The data property is a computed property that returns the value of the _data signal\n\tdata = computed(() => this._data());\n\n\t// Add initialization method\n\tinitialize(initialData: T): void {\n\t\tthis._data.set(initialData);\n\t}\n\n\t/**\n\t * Update the data in the store with the new data\n\t *\n\t * @param newData The new data to be stored/updated\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 17.1.0\n\t */\n\tupdate(newData: T): void {\n\t\tthis._data.set(newData);\n\t}\n\n\t// Add clear method\n\tclear(): void {\n\t\tthis._data.set(null);\n\t}\n\n\t// Add getter with null check\n\tgetData(): T | null {\n\t\treturn this._data();\n\t}\n}\n","import { ProgressState } from '../types/progress-state';\nimport { signal, WritableSignal } from '@angular/core';\n\n/**\n * Initialize Loading or Update ProgressState\n *\n * @return Updated State Object\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.16\n */\nexport const initializeState = (): WritableSignal<ProgressState> => {\n\treturn signal<ProgressState>({\n\t\tisLoading: false,\n\t\tisSuccess: false,\n\t\tisError: false,\n\t\tisComplete: false,\n\t\tmessage: '',\n\t});\n};\n\n/**\n * Initialize Loading or Update ProgressState\n *\n * @param progressState Object to initialize\n * @return ProgressState Updated State Object\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.16\n */\nexport const markLoading = (progressState: WritableSignal<ProgressState>) => {\n\tprogressState.update((state) => {\n\t\treturn {\n\t\t\t...state,\n\t\t\tisLoading: true,\n\t\t\tisSuccess: false,\n\t\t\tisError: false,\n\t\t\tisComplete: false,\n\t\t\tmessage: '',\n\t\t};\n\t});\n};\n\n/**\n * Update state as isSuccess\n *\n * @return ProgressState Updated State Object\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.16\n */\nexport const markSuccess = (progressState: WritableSignal<ProgressState>, message?: string) => {\n\tprogressState.update((state) => {\n\t\treturn {\n\t\t\t...state,\n\t\t\tisLoading: false,\n\t\t\tisSuccess: true,\n\t\t\tisError: false,\n\t\t\tisComplete: true,\n\t\t\tmessage: message || '',\n\t\t};\n\t});\n};\n\n/**\n * Update state as failure or isError\n *\n * @return ProgressState Updated State Object\n *\n * @author Pavan Kumar Jadda\n * @since 2.7.16\n */\nexport const markError = (progressState: WritableSignal<ProgressState>, message?: string) => {\n\tprogressState.update((state) => {\n\t\treturn {\n\t\t\t...state,\n\t\t\tisLoading: false,\n\t\t\tisSuccess: false,\n\t\t\tisError: true,\n\t\t\tisComplete: true,\n\t\t\tmessage: message || '',\n\t\t};\n\t});\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NgxSpinnerService","i1","i5","i2","i3"],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { BehaviorSubject, Observable, Subject } from 'rxjs';
|
|
|
4
4
|
import { ThemePalette, MatOptionSelectionChange } from '@angular/material/core';
|
|
5
5
|
import { ControlValueAccessor, FormControl } from '@angular/forms';
|
|
6
6
|
import { MatAutocompleteTrigger } from '@angular/material/autocomplete';
|
|
7
|
-
import { MatTableDataSource } from '@angular/material/table';
|
|
8
7
|
import { MatPaginator } from '@angular/material/paginator';
|
|
8
|
+
import { MatTableDataSource } from '@angular/material/table';
|
|
9
9
|
import { MatIconRegistry } from '@angular/material/icon';
|
|
10
10
|
import { DomSanitizer } from '@angular/platform-browser';
|
|
11
11
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
@@ -368,6 +368,7 @@ declare class PrintOptions {
|
|
|
368
368
|
* @author Pavan Kumar Jadda
|
|
369
369
|
*/
|
|
370
370
|
declare class NgxPrintDirective {
|
|
371
|
+
document: Document;
|
|
371
372
|
/**
|
|
372
373
|
* ID of the HTML element those contents need to be printed
|
|
373
374
|
*
|
|
@@ -402,7 +403,7 @@ declare class NgxPrintDirective {
|
|
|
402
403
|
* @since 12.0.0
|
|
403
404
|
* @author Pavan Kumar Jadda
|
|
404
405
|
*/
|
|
405
|
-
matTableDataSource: MatTableDataSource<
|
|
406
|
+
matTableDataSource: MatTableDataSource<unknown>;
|
|
406
407
|
/**
|
|
407
408
|
* Instance of the Mat Paginator
|
|
408
409
|
*
|
|
@@ -438,7 +439,7 @@ declare class NgxPrintDirective {
|
|
|
438
439
|
* @author Pavan Kumar Jadda
|
|
439
440
|
*/
|
|
440
441
|
hideMatTablePaginator: boolean;
|
|
441
|
-
printStyleArray:
|
|
442
|
+
printStyleArray: string[];
|
|
442
443
|
printOptions: PrintOptions;
|
|
443
444
|
/**
|
|
444
445
|
* List of Style sheet files
|
|
@@ -543,6 +544,7 @@ declare abstract class BaseButtonDirective implements OnInit {
|
|
|
543
544
|
loadingLabel: _angular_core.InputSignal<string>;
|
|
544
545
|
loading: _angular_core.InputSignal<boolean>;
|
|
545
546
|
elementRef: ElementRef<any>;
|
|
547
|
+
document: Document;
|
|
546
548
|
protected originalText: _angular_core.WritableSignal<string>;
|
|
547
549
|
protected iconSpan: _angular_core.WritableSignal<HTMLElement | null>;
|
|
548
550
|
constructor();
|
|
@@ -648,6 +650,7 @@ declare class BsLinkButtonComponent extends BaseButtonComponent {
|
|
|
648
650
|
declare class BsLinkButtonDirective {
|
|
649
651
|
icon: _angular_core.InputSignal<string>;
|
|
650
652
|
elementRef: ElementRef<any>;
|
|
653
|
+
document: Document;
|
|
651
654
|
constructor();
|
|
652
655
|
private updateContent;
|
|
653
656
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsLinkButtonDirective, never>;
|
|
@@ -696,6 +699,7 @@ declare class EditSolidSvgComponent {
|
|
|
696
699
|
declare class EditBsButtonDirective implements OnInit {
|
|
697
700
|
elementRef: ElementRef<any>;
|
|
698
701
|
viewContainerRef: ViewContainerRef;
|
|
702
|
+
document: Document;
|
|
699
703
|
protected originalText: _angular_core.WritableSignal<string>;
|
|
700
704
|
protected iconComponentRef: _angular_core.WritableSignal<ComponentRef<EditSolidSvgComponent> | null>;
|
|
701
705
|
ngOnInit(): void;
|
|
@@ -733,6 +737,7 @@ declare class EditSvgIconButtonComponent extends BaseButtonComponent {
|
|
|
733
737
|
declare class EditSvgIconButtonDirective implements OnInit {
|
|
734
738
|
elementRef: ElementRef<any>;
|
|
735
739
|
viewContainerRef: ViewContainerRef;
|
|
740
|
+
document: Document;
|
|
736
741
|
protected originalText: _angular_core.WritableSignal<string>;
|
|
737
742
|
protected iconComponentRef: _angular_core.WritableSignal<ComponentRef<EditSolidSvgComponent> | null>;
|
|
738
743
|
ngOnInit(): void;
|