@js-smart/ng-kit 19.2.0 → 19.4.0

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.
@@ -956,9 +956,17 @@ class BaseButtonComponent {
956
956
  * Output event when button is blurred
957
957
  */
958
958
  this.onBlur = output();
959
+ /**
960
+ * Output event when key is pressed
961
+ */
962
+ this.onKeyDown = output();
963
+ /**
964
+ * Output event when key is up
965
+ */
966
+ this.onKeyUp = output();
959
967
  }
960
968
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: BaseButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
961
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.0", type: BaseButtonComponent, isStandalone: true, selector: "ng-component", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null }, dataCy: { classPropertyName: "dataCy", publicName: "dataCy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, ngImport: i0, template: ``, isInline: true }); }
969
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.0", type: BaseButtonComponent, isStandalone: true, selector: "ng-component", inputs: { loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null }, dataCy: { classPropertyName: "dataCy", publicName: "dataCy", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur", onKeyDown: "onKeyDown", onKeyUp: "onKeyUp" }, ngImport: i0, template: ``, isInline: true }); }
962
970
  }
963
971
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: BaseButtonComponent, decorators: [{
964
972
  type: Component,
@@ -983,6 +991,8 @@ class BsLinkButtonComponent extends BaseButtonComponent {
983
991
  (click)="onClick.emit($event)"
984
992
  (focus)="onFocus.emit($event)"
985
993
  (blur)="onBlur.emit($event)"
994
+ (keydown)="onKeyDown.emit($event)"
995
+ (keyup)="onKeyUp.emit($event)"
986
996
  [disabled]="disabled()"
987
997
  [type]="type()"
988
998
  [style]="style()"
@@ -1002,6 +1012,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1002
1012
  (click)="onClick.emit($event)"
1003
1013
  (focus)="onFocus.emit($event)"
1004
1014
  (blur)="onBlur.emit($event)"
1015
+ (keydown)="onKeyDown.emit($event)"
1016
+ (keyup)="onKeyUp.emit($event)"
1005
1017
  [disabled]="disabled()"
1006
1018
  [type]="type()"
1007
1019
  [style]="style()"
@@ -1029,6 +1041,8 @@ class DeleteButtonComponent extends BaseButtonComponent {
1029
1041
  (click)="onClick.emit($event)"
1030
1042
  (focus)="onFocus.emit($event)"
1031
1043
  (blur)="onBlur.emit($event)"
1044
+ (keydown)="onKeyDown.emit($event)"
1045
+ (keyup)="onKeyUp.emit($event)"
1032
1046
  [disabled]="disabled() || loading()"
1033
1047
  [type]="type()"
1034
1048
  [style]="style()"
@@ -1052,6 +1066,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1052
1066
  (click)="onClick.emit($event)"
1053
1067
  (focus)="onFocus.emit($event)"
1054
1068
  (blur)="onBlur.emit($event)"
1069
+ (keydown)="onKeyDown.emit($event)"
1070
+ (keyup)="onKeyUp.emit($event)"
1055
1071
  [disabled]="disabled() || loading()"
1056
1072
  [type]="type()"
1057
1073
  [style]="style()"
@@ -1081,6 +1097,8 @@ class EditButtonComponent extends BaseButtonComponent {
1081
1097
  (click)="onClick.emit($event)"
1082
1098
  (focus)="onFocus.emit($event)"
1083
1099
  (blur)="onBlur.emit($event)"
1100
+ (keydown)="onKeyDown.emit($event)"
1101
+ (keyup)="onKeyUp.emit($event)"
1084
1102
  [disabled]="disabled()"
1085
1103
  [type]="type()"
1086
1104
  [style]="style()"
@@ -1099,6 +1117,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1099
1117
  (click)="onClick.emit($event)"
1100
1118
  (focus)="onFocus.emit($event)"
1101
1119
  (blur)="onBlur.emit($event)"
1120
+ (keydown)="onKeyDown.emit($event)"
1121
+ (keyup)="onKeyUp.emit($event)"
1102
1122
  [disabled]="disabled()"
1103
1123
  [type]="type()"
1104
1124
  [style]="style()"
@@ -1142,6 +1162,8 @@ class EditBsButtonComponent extends BaseButtonComponent {
1142
1162
  (click)="onClick.emit($event)"
1143
1163
  (focus)="onFocus.emit($event)"
1144
1164
  (blur)="onBlur.emit($event)"
1165
+ (keydown)="onKeyDown.emit($event)"
1166
+ (keyup)="onKeyUp.emit($event)"
1145
1167
  [disabled]="disabled()"
1146
1168
  [type]="type()"
1147
1169
  [style]="style()"
@@ -1162,6 +1184,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1162
1184
  (click)="onClick.emit($event)"
1163
1185
  (focus)="onFocus.emit($event)"
1164
1186
  (blur)="onBlur.emit($event)"
1187
+ (keydown)="onKeyDown.emit($event)"
1188
+ (keyup)="onKeyUp.emit($event)"
1165
1189
  [disabled]="disabled()"
1166
1190
  [type]="type()"
1167
1191
  [style]="style()"
@@ -1188,6 +1212,8 @@ class EditSvgIconButtonComponent extends BaseButtonComponent {
1188
1212
  (click)="onClick.emit($event)"
1189
1213
  (focus)="onFocus.emit($event)"
1190
1214
  (blur)="onBlur.emit($event)"
1215
+ (keydown)="onKeyDown.emit($event)"
1216
+ (keyup)="onKeyUp.emit($event)"
1191
1217
  [disabled]="disabled()"
1192
1218
  [type]="type()"
1193
1219
  [style]="style()"
@@ -1207,6 +1233,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1207
1233
  (click)="onClick.emit($event)"
1208
1234
  (focus)="onFocus.emit($event)"
1209
1235
  (blur)="onBlur.emit($event)"
1236
+ (keydown)="onKeyDown.emit($event)"
1237
+ (keyup)="onKeyUp.emit($event)"
1210
1238
  [disabled]="disabled()"
1211
1239
  [type]="type()"
1212
1240
  [style]="style()"
@@ -1277,6 +1305,8 @@ class SavePrimaryButtonComponent extends BaseButtonComponent {
1277
1305
  (click)="onClick.emit($event)"
1278
1306
  (focus)="onFocus.emit($event)"
1279
1307
  (blur)="onBlur.emit($event)"
1308
+ (keydown)="onKeyDown.emit($event)"
1309
+ (keyup)="onKeyUp.emit($event)"
1280
1310
  [disabled]="disabled() || loading()"
1281
1311
  [type]="type()"
1282
1312
  [style]="style()"
@@ -1300,6 +1330,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1300
1330
  (click)="onClick.emit($event)"
1301
1331
  (focus)="onFocus.emit($event)"
1302
1332
  (blur)="onBlur.emit($event)"
1333
+ (keydown)="onKeyDown.emit($event)"
1334
+ (keyup)="onKeyUp.emit($event)"
1303
1335
  [disabled]="disabled() || loading()"
1304
1336
  [type]="type()"
1305
1337
  [style]="style()"
@@ -1327,6 +1359,11 @@ class SearchButtonComponent extends BaseButtonComponent {
1327
1359
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: SearchButtonComponent, isStandalone: true, selector: "search-button", inputs: { loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, classes: { classPropertyName: "classes", publicName: "classes", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
1328
1360
  <button
1329
1361
  class="btn btn-primary primary-button {{ loading() || disabled() ? 'disabled' : '' }}"
1362
+ (click)="onClick.emit($event)"
1363
+ (focus)="onFocus.emit($event)"
1364
+ (blur)="onBlur.emit($event)"
1365
+ (keydown)="onKeyDown.emit($event)"
1366
+ (keyup)="onKeyUp.emit($event)"
1330
1367
  mat-raised-button
1331
1368
  type="{{ type() }}"
1332
1369
  data-cy="primary-button">
@@ -1345,6 +1382,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1345
1382
  args: [{ selector: 'search-button', imports: [CommonModule, MatButtonModule, MatIconModule], template: `
1346
1383
  <button
1347
1384
  class="btn btn-primary primary-button {{ loading() || disabled() ? 'disabled' : '' }}"
1385
+ (click)="onClick.emit($event)"
1386
+ (focus)="onFocus.emit($event)"
1387
+ (blur)="onBlur.emit($event)"
1388
+ (keydown)="onKeyDown.emit($event)"
1389
+ (keyup)="onKeyUp.emit($event)"
1348
1390
  mat-raised-button
1349
1391
  type="{{ type() }}"
1350
1392
  data-cy="primary-button">
@@ -1373,6 +1415,8 @@ class SuccessButtonComponent extends BaseButtonComponent {
1373
1415
  mat-raised-button
1374
1416
  class="btn {{ classes() }}"
1375
1417
  (click)="onClick.emit($event)"
1418
+ (keydown)="onKeyDown.emit($event)"
1419
+ (keyup)="onKeyUp.emit($event)"
1376
1420
  (focus)="onFocus.emit($event)"
1377
1421
  (blur)="onBlur.emit($event)"
1378
1422
  [disabled]="disabled() || loading()"
@@ -1399,6 +1443,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1399
1443
  mat-raised-button
1400
1444
  class="btn {{ classes() }}"
1401
1445
  (click)="onClick.emit($event)"
1446
+ (keydown)="onKeyDown.emit($event)"
1447
+ (keyup)="onKeyUp.emit($event)"
1402
1448
  (focus)="onFocus.emit($event)"
1403
1449
  (blur)="onBlur.emit($event)"
1404
1450
  [disabled]="disabled() || loading()"
@@ -1413,7 +1459,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1413
1459
  }
1414
1460
  {{ loading() ? loadingLabel() : label() }}
1415
1461
  </button>
1416
- `
1462
+ `,
1417
1463
  }]
1418
1464
  }], ctorParameters: () => [] });
1419
1465
 
@@ -1430,6 +1476,8 @@ class ViewButtonComponent extends BaseButtonComponent {
1430
1476
  (click)="onClick.emit($event)"
1431
1477
  (focus)="onFocus.emit($event)"
1432
1478
  (blur)="onBlur.emit($event)"
1479
+ (keydown)="onKeyDown.emit($event)"
1480
+ (keyup)="onKeyUp.emit($event)"
1433
1481
  [disabled]="disabled()"
1434
1482
  mat-button>
1435
1483
  <mat-icon>{{ icon() }}</mat-icon>
@@ -1445,6 +1493,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1445
1493
  (click)="onClick.emit($event)"
1446
1494
  (focus)="onFocus.emit($event)"
1447
1495
  (blur)="onBlur.emit($event)"
1496
+ (keydown)="onKeyDown.emit($event)"
1497
+ (keyup)="onKeyUp.emit($event)"
1448
1498
  [disabled]="disabled()"
1449
1499
  mat-button>
1450
1500
  <mat-icon>{{ icon() }}</mat-icon>
@@ -1468,6 +1518,8 @@ class ViewPrimaryButtonComponent extends BaseButtonComponent {
1468
1518
  (click)="onClick.emit($event)"
1469
1519
  (focus)="onFocus.emit($event)"
1470
1520
  (blur)="onBlur.emit($event)"
1521
+ (keydown)="onKeyDown.emit($event)"
1522
+ (keyup)="onKeyUp.emit($event)"
1471
1523
  [disabled]="disabled()"
1472
1524
  [type]="type()"
1473
1525
  [style]="style()"
@@ -1486,6 +1538,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1486
1538
  (click)="onClick.emit($event)"
1487
1539
  (focus)="onFocus.emit($event)"
1488
1540
  (blur)="onBlur.emit($event)"
1541
+ (keydown)="onKeyDown.emit($event)"
1542
+ (keyup)="onKeyUp.emit($event)"
1489
1543
  [disabled]="disabled()"
1490
1544
  [type]="type()"
1491
1545
  [style]="style()"
@@ -1513,6 +1567,8 @@ class PrimaryButtonComponent extends BaseButtonComponent {
1513
1567
  (click)="onClick.emit($event)"
1514
1568
  (focus)="onFocus.emit($event)"
1515
1569
  (blur)="onBlur.emit($event)"
1570
+ (keydown)="onKeyDown.emit($event)"
1571
+ (keyup)="onKeyUp.emit($event)"
1516
1572
  [disabled]="disabled() || loading()"
1517
1573
  [type]="type()"
1518
1574
  [style]="style()"
@@ -1536,6 +1592,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
1536
1592
  (click)="onClick.emit($event)"
1537
1593
  (focus)="onFocus.emit($event)"
1538
1594
  (blur)="onBlur.emit($event)"
1595
+ (keydown)="onKeyDown.emit($event)"
1596
+ (keyup)="onKeyUp.emit($event)"
1539
1597
  [disabled]="disabled() || loading()"
1540
1598
  [type]="type()"
1541
1599
  [style]="style()"
@@ -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/spinner/spinner.component.ts","../../../projects/ng-kit/src/lib/components/spinner/spinner.component.html","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.enum.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.service.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/safe-html.pipe.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/pipes/type-of.pipe.ts","../../../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.directive.ts","../../../projects/ng-kit/src/lib/directives/prevent-multiple-clicks.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/delete-button/delete-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-button/edit-button.component.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-svg-icon-button/edit-svg-icon-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/manage-button/manage-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/save-primary-button/save-primary-button.component.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/view-button/view-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/view-primary-button/view-primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/primary-button/primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/pdf-export-button/pdf-export-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/excel-export-button/excel-export-button.component.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/util/progress-util.ts","../../../projects/ng-kit/src/js-smart-ng-kit.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, OnInit, input, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\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 selector: 'lib-alert, alert',\n imports: [CommonModule],\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit {\n\t/**\n\t * Type of the BootStrap Alert. Following values are supported. See BootStrap docs for more information\n\t * <pre>\n\t * 1. info\n\t * 2. primary\n\t * 3. secondary\n\t * 4. success\n\t * 5. warning\n\t * 6. danger\n\t * 7. dark\n\t * 8. light\n\t * </pre>\n\t */\n\ttype = input('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\tconstructor(private cdr: ChangeDetectorRef) {}\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}\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","import { Component, input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'spinner,lib-spinner',\n imports: [MatProgressSpinnerModule],\n templateUrl: './spinner.component.html',\n styleUrls: ['./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","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?: Array<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 { 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: number = 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 { 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 { ChangeDetectorRef, Component, HostListener, Input, OnChanges, OnDestroy, OnInit, SimpleChange, ViewChild } from '@angular/core';\nimport { NgxSpinnerService } from './ngx-spinner.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DEFAULTS, LOADERS, NgxSpinner, PRIMARY_SPINNER, Size } from './ngx-spinner.enum';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { SafeHtmlPipe } from './safe-html.pipe';\n\n@Component({\n selector: 'ngx-spinner',\n imports: [SafeHtmlPipe],\n templateUrl: 'ngx-spinner.component.html',\n styleUrls: ['ngx-spinner.component.css'],\n animations: [\n trigger('fadeIn', [\n state('in', style({ opacity: 1 })),\n transition(':enter', [style({ opacity: 0 }), animate(300)]),\n transition(':leave', animate(200, style({ opacity: 0 }))),\n ]),\n ]\n})\nexport class NgxSpinnerComponent implements OnDestroy, OnInit, OnChanges {\n\t/**\n\t * To set backdrop color\n\t * Only supports RGBA color format\n\t */\n\t@Input() bdColor: string;\n\n\t/**\n\t * To set spinner size\n\t */\n\t@Input() size: Size;\n\n\t/**\n\t * To set spinner color(DEFAULTS.SPINNER_COLOR)\n\t */\n\t@Input() color: string;\n\n\t/**\n\t * To set type of spinner\n\t */\n\t@Input() type: string;\n\n\t/**\n\t * To toggle fullscreen mode\n\t */\n\t@Input() fullScreen: boolean;\n\t/**\n\t * Spinner name\n\t */\n\t@Input() name: string;\n\t/**\n\t * z-index value\n\t */\n\n\t@Input() zIndex: number;\n\t/**\n\t * Custom template for spinner/loader\n\t */\n\n\t@Input() template: string;\n\t/**\n\t * Show/Hide the spinner\n\t * @type {boolean}\n\t */\n\t@Input() showSpinner: boolean;\n\n\t/**\n\t * To enable/disable animation\n\t */\n\t@Input() disableAnimation = false;\n\t/**\n\t * Spinner Object\n\t */\n\n\tspinner: NgxSpinner = new NgxSpinner();\n\t/**\n\t * Array for spinner's div\n\t */\n\tdivArray: Array<number>;\n\t/**\n\t * Counter for div\n\t */\n\tdivCount: number;\n\t/**\n\t * Show spinner\n\t **/\n\tshow: boolean;\n\n\t/**\n\t * Unsubscribe from spinner's observable\n\t **/\n\tngUnsubscribe: Subject<void> = new Subject();\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 spinnerService: NgxSpinnerService,\n\t\tprivate changeDetector: ChangeDetectorRef,\n\t) {\n\t\tthis.bdColor = DEFAULTS.BD_COLOR;\n\t\tthis.zIndex = DEFAULTS.Z_INDEX;\n\t\tthis.color = DEFAULTS.SPINNER_COLOR;\n\t\tthis.type = DEFAULTS.SPINNER_TYPE;\n\t\tthis.size = 'large';\n\t\tthis.fullScreen = true;\n\t\tthis.name = PRIMARY_SPINNER;\n\t\t// @ts-ignore\n\t\tthis.template = null;\n\t\tthis.showSpinner = false;\n\t\tthis.divArray = [];\n\t\tthis.divCount = 0;\n\t\tthis.show = false;\n\t}\n\n\t@HostListener('document:keydown', ['$event'])\n\thandleKeyboardEvent(event: KeyboardEvent) {\n\t\tif (this.spinnerDOM && this.spinnerDOM.nativeElement) {\n\t\t\tevent.returnValue = false;\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\t/**\n * Initialization method\n\n */\n\tngOnInit() {\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 = () => {\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 * On changes event for input variables\n\t */\n\tngOnChanges(changes: { [propKey: string]: SimpleChange }) {\n\t\tfor (const propName in changes) {\n\t\t\tif (propName) {\n\t\t\t\tconst changedProp = changes[propName];\n\t\t\t\tif (changedProp.isFirstChange()) {\n\t\t\t\t\treturn;\n\t\t\t\t} else if (typeof changedProp.currentValue !== 'undefined' && changedProp.currentValue !== changedProp.previousValue) {\n\t\t\t\t\tif (changedProp.currentValue !== '') {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tthis.spinner[propName] = changedProp.currentValue;\n\t\t\t\t\t\tif (propName === 'showSpinner') {\n\t\t\t\t\t\t\tif (changedProp.currentValue) {\n\t\t\t\t\t\t\t\tthis.spinnerService.show(this.spinner.name, this.spinner);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.spinnerService.hide(this.spinner.name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\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() {\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() {\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 { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'typeOf',\n\tstandalone: true,\n})\nexport class TypeOfPipe implements PipeTransform {\n\ttransform(value: any): any {\n\t\treturn typeof value;\n\t}\n}\n","import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n input,\n OnChanges,\n OnInit,\n Optional,\n output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatAutocompleteModule, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatOptionSelectionChange } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { TypeOfPipe } from '../../pipes/type-of.pipe';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AsyncPipe } from '@angular/common';\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 selector: 'autocomplete, lib-autocomplete',\n imports: [\n ReactiveFormsModule,\n TypeOfPipe,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n AsyncPipe,\n ],\n templateUrl: './autocomplete.component.html'\n})\nexport class AutocompleteComponent implements OnInit, OnChanges, AfterContentChecked {\n\t/**\n\t * Gets reference inputAutoComplete HTML attribute\n\t */\n\t@ViewChild('inputAutoComplete') inputAutoComplete!: ElementRef;\n\n\t/**\n\t * Input form group of the auto complete\n\t */\n\t@Input() inputFormGroup!: FormGroup;\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 * 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\t * @author Pavan Kumar Jadda\n\t * @since 13.0.3\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\n\t */\n\tfilteredOptions: Observable<any[] | undefined> | undefined;\n\n\tconstructor(private cdRef: ChangeDetectorRef) {}\n\n\tngAfterContentChecked(): void {\n\t\tthis.cdRef.detectChanges();\n\t}\n\n\t/**\n\t * Define autocomplete search filter on search text changes\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tngOnInit() {\n\t\tthis.filteredOptions = this.inputFormGroup?.get('autocomplete')?.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().indexOf(propertyName.toLowerCase()) === 0\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\t/**\n\t * Clear input and Reset autocomplete form control\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tclearInput(evt: any): void {\n\t\tevt.stopPropagation();\n\t\tthis.inputFormGroup.get('autocomplete')?.reset();\n\t\tthis.inputAutoComplete?.nativeElement.focus();\n\t}\n\n\t/**\n\t * Open or Close panel\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\topenOrClosePanel(evt: any, trigger: MatAutocompleteTrigger): void {\n\t\tevt.stopPropagation();\n\t\tif (trigger.panelOpen) trigger.closePanel();\n\t\telse trigger.openPanel();\n\t}\n\n\t/**\n\t * Display function that is used to show the values\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\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') return object;\n\t\t\treturn object && object[this.bindLabel()] ? object[this.bindLabel()] : '';\n\t\t}\n\t}\n\n\t/**\n\t * Emit selected value\n\t * @param $event - Event emitted by autocomplete\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 13.0.3\n\t */\n\temitSelectedValue($event: MatOptionSelectionChange) {\n\t\tthis.onSelectionChange.emit($event.source.value);\n\t}\n}\n","<div [formGroup]=\"inputFormGroup\">\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[matAutocomplete]=\"auto\"\n\t\t\t[placeholder]=\"placeHolder()\"\n\t\t\t[required]=\"required()\"\n\t\t\tformControlName=\"autocomplete\"\n\t\t\tmatInput\n\t\t\ttype=\"text\" />\n\n\t\t<div matSuffix style=\"display: flex\">\n\t\t\t@if (!!inputFormGroup.get('autocomplete')?.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 ((option | typeOf) === 'string') {\n\t\t\t\t\t\t<ng-container>{{ option }}</ng-container>\n\t\t\t\t\t} @else if ((option | typeOf) === '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","import { Directive, HostListener, Input } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\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\t// eslint-disable-next-line @angular-eslint/directive-selector\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\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\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\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\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\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\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\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\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\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\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 * 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: { [p: string]: { [p: string]: string } };\n}\n","import { Directive, EventEmitter, HostListener, OnDestroy, OnInit, Output, input } 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\t@Output() throttleClick = new EventEmitter();\n\n\tprivate clicks = new Subject();\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: any) {\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 { 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","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[disabled]=\"disabled()\"\n\t\t\t[type]=\"type()\"\n\t\t\t[style]=\"style()\"\n\t\t\t[attr.data-cy]=\"'edit-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 { 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\n@Component({\n selector: 'delete-button',\n imports: [MatButtonModule, MatIconModule],\n template: `\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[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 styleUrls: ['../../../../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 { 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 selector: 'edit-button',\n imports: [MatButton, MatIcon],\n template: `\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[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 styleUrls: ['../../../../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 { 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 selector: 'edit-solid-svg',\n imports: [MatIconModule],\n template: ` <mat-icon aria-hidden=\"false\" aria-label=\"Edit\" svgIcon=\"edit-solid\"></mat-icon> `,\n styles: [\n `\n\t\t\t.mat-icon {\n\t\t\t\tvertical-align: bottom;\n\t\t\t\tpadding-left: 5px;\n\t\t\t}\n\t\t`,\n ]\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';\nimport { CommonModule } from '@angular/common';\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 selector: 'edit-bs-button',\n imports: [CommonModule, MatButtonModule, MatIconModule, EditSolidSvgComponent],\n template: `\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[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 styleUrls: ['../../../../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 { 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\n@Component({\n selector: 'edit-svg-icon-button',\n imports: [MatButton, EditSolidSvgComponent],\n template: `\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[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 styleUrls: ['../../../../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 { 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 selector: 'manage-button',\n imports: [MatButton, MatIcon],\n template: `\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 styleUrls: ['../../../../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 { 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 selector: 'save-primary-button',\n imports: [MatButton, MatIcon],\n template: `\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[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 styleUrls: ['../../../../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 { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\nimport { BaseButtonComponent } from '../base-button/base-button.component';\n\n@Component({\n selector: 'search-button',\n imports: [CommonModule, MatButtonModule, MatIconModule],\n template: `\n\t\t<button\n\t\t\tclass=\"btn btn-primary primary-button {{ loading() || disabled() ? 'disabled' : '' }}\"\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 styleUrls: ['../../../../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';\n\nimport { MatButton } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'success-button',\n imports: [MatButton, MatIcon],\n template: `\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[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 { 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 selector: 'view-button',\n imports: [MatButton, MatIcon],\n template: `\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[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 styleUrls: ['../../../../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 { 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 selector: 'view-primary-button',\n imports: [MatButton, MatIcon],\n template: `\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[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 styleUrls: ['../../../../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 { 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\n@Component({\n selector: 'primary-button',\n imports: [MatButton, MatIcon],\n template: `\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[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 styleUrls: ['../../../../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 { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'pdf-export-button',\n imports: [MatButtonModule],\n template: ` <button class=\"pdf-export-button\" mat-raised-button type=\"button\" data-cy=\"pdf-export-button\">PDF</button> `,\n styles: [\n `\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 ]\n})\nexport class PdfExportButtonComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'excel-export-button',\n imports: [CommonModule, MatButtonModule],\n template: ` <button class=\"excel-export-button\" mat-raised-button type=\"button\" data-cy=\"excel-export-button\">Excel</button> `,\n styleUrls: ['../../../../assets/app-buttons.css'],\n styles: [\n `\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 ]\n})\nexport class ExcelExportButtonComponent {}\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 selector: 'app-confirm-dialog',\n imports: [MatButtonModule, MatDividerModule, MatDialogModule],\n template: `\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 styles: []\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';\nimport { CommonModule } from '@angular/common';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'app-error-snack-bar',\n imports: [CommonModule, MatIconModule, MatButtonModule],\n template: `\n\t\t<div class=\"custom-flex-center error-snackbar\">\n\t\t\t<mat-icon>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 styleUrls: ['../../../../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() {\n\t\tthis.msb.dismissWithAction();\n\t}\n}\n","import { Component, Inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'app-success-snack-bar',\n imports: [CommonModule, MatButtonModule, MatIconModule],\n template: `\n\t\t<div class=\"custom-flex-center success-snackbar\">\n\t\t\t<mat-icon>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 styleUrls: ['../../../../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() {\n\t\tthis.msb.dismissWithAction();\n\t}\n}\n","import { 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\t/**\n\t * Duration (in milliseconds) of the Snack Bar to be open. Defaults to 5 seconds(5000 milliseconds)\n\t */\n\tduration = 500000;\n\n\t/**\n\t * Horizontal Position of the MatSnackBar. Defaults to left side\n\t */\n\thorizontalPosition: MatSnackBarHorizontalPosition = 'right';\n\n\t/**\n\t * Vertical Position of the MatSnackBar. Defaults to page bottom\n\t */\n\tverticalPosition: MatSnackBarVerticalPosition = 'top';\n\n\tconstructor(private snackBar: MatSnackBar) {}\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) {\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) {\n\t\tthis.snackBar.openFromComponent(ErrorSnackBarComponent, {\n\t\t\tdata: { message },\n\t\t\tduration: options?.duration ?? 10000,\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) {\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 * @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;\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","i1.NgxSpinnerService","i6","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/spinner/spinner.component.ts","../../../projects/ng-kit/src/lib/components/spinner/spinner.component.html","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.enum.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/ngx-spinner.service.ts","../../../projects/ng-kit/src/lib/components/ngx-spinner/safe-html.pipe.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/pipes/type-of.pipe.ts","../../../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.directive.ts","../../../projects/ng-kit/src/lib/directives/prevent-multiple-clicks.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/delete-button/delete-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/edit-button/edit-button.component.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-svg-icon-button/edit-svg-icon-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/manage-button/manage-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/save-primary-button/save-primary-button.component.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/view-button/view-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/view-primary-button/view-primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/primary-button/primary-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/pdf-export-button/pdf-export-button.component.ts","../../../projects/ng-kit/src/lib/components/buttons/excel-export-button/excel-export-button.component.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/util/progress-util.ts","../../../projects/ng-kit/src/js-smart-ng-kit.ts"],"sourcesContent":["import { ChangeDetectorRef, Component, OnInit, input, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\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 selector: 'lib-alert, alert',\n imports: [CommonModule],\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.scss']\n})\nexport class AlertComponent implements OnInit {\n\t/**\n\t * Type of the BootStrap Alert. Following values are supported. See BootStrap docs for more information\n\t * <pre>\n\t * 1. info\n\t * 2. primary\n\t * 3. secondary\n\t * 4. success\n\t * 5. warning\n\t * 6. danger\n\t * 7. dark\n\t * 8. light\n\t * </pre>\n\t */\n\ttype = input('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\tconstructor(private cdr: ChangeDetectorRef) {}\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}\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","import { Component, input } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\n\n@Component({\n selector: 'spinner,lib-spinner',\n imports: [MatProgressSpinnerModule],\n templateUrl: './spinner.component.html',\n styleUrls: ['./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","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?: Array<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 { 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: number = 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 { 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 { ChangeDetectorRef, Component, HostListener, Input, OnChanges, OnDestroy, OnInit, SimpleChange, ViewChild } from '@angular/core';\nimport { NgxSpinnerService } from './ngx-spinner.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DEFAULTS, LOADERS, NgxSpinner, PRIMARY_SPINNER, Size } from './ngx-spinner.enum';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { SafeHtmlPipe } from './safe-html.pipe';\n\n@Component({\n selector: 'ngx-spinner',\n imports: [SafeHtmlPipe],\n templateUrl: 'ngx-spinner.component.html',\n styleUrls: ['ngx-spinner.component.css'],\n animations: [\n trigger('fadeIn', [\n state('in', style({ opacity: 1 })),\n transition(':enter', [style({ opacity: 0 }), animate(300)]),\n transition(':leave', animate(200, style({ opacity: 0 }))),\n ]),\n ]\n})\nexport class NgxSpinnerComponent implements OnDestroy, OnInit, OnChanges {\n\t/**\n\t * To set backdrop color\n\t * Only supports RGBA color format\n\t */\n\t@Input() bdColor: string;\n\n\t/**\n\t * To set spinner size\n\t */\n\t@Input() size: Size;\n\n\t/**\n\t * To set spinner color(DEFAULTS.SPINNER_COLOR)\n\t */\n\t@Input() color: string;\n\n\t/**\n\t * To set type of spinner\n\t */\n\t@Input() type: string;\n\n\t/**\n\t * To toggle fullscreen mode\n\t */\n\t@Input() fullScreen: boolean;\n\t/**\n\t * Spinner name\n\t */\n\t@Input() name: string;\n\t/**\n\t * z-index value\n\t */\n\n\t@Input() zIndex: number;\n\t/**\n\t * Custom template for spinner/loader\n\t */\n\n\t@Input() template: string;\n\t/**\n\t * Show/Hide the spinner\n\t * @type {boolean}\n\t */\n\t@Input() showSpinner: boolean;\n\n\t/**\n\t * To enable/disable animation\n\t */\n\t@Input() disableAnimation = false;\n\t/**\n\t * Spinner Object\n\t */\n\n\tspinner: NgxSpinner = new NgxSpinner();\n\t/**\n\t * Array for spinner's div\n\t */\n\tdivArray: Array<number>;\n\t/**\n\t * Counter for div\n\t */\n\tdivCount: number;\n\t/**\n\t * Show spinner\n\t **/\n\tshow: boolean;\n\n\t/**\n\t * Unsubscribe from spinner's observable\n\t **/\n\tngUnsubscribe: Subject<void> = new Subject();\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 spinnerService: NgxSpinnerService,\n\t\tprivate changeDetector: ChangeDetectorRef,\n\t) {\n\t\tthis.bdColor = DEFAULTS.BD_COLOR;\n\t\tthis.zIndex = DEFAULTS.Z_INDEX;\n\t\tthis.color = DEFAULTS.SPINNER_COLOR;\n\t\tthis.type = DEFAULTS.SPINNER_TYPE;\n\t\tthis.size = 'large';\n\t\tthis.fullScreen = true;\n\t\tthis.name = PRIMARY_SPINNER;\n\t\t// @ts-ignore\n\t\tthis.template = null;\n\t\tthis.showSpinner = false;\n\t\tthis.divArray = [];\n\t\tthis.divCount = 0;\n\t\tthis.show = false;\n\t}\n\n\t@HostListener('document:keydown', ['$event'])\n\thandleKeyboardEvent(event: KeyboardEvent) {\n\t\tif (this.spinnerDOM && this.spinnerDOM.nativeElement) {\n\t\t\tevent.returnValue = false;\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\t/**\n * Initialization method\n\n */\n\tngOnInit() {\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 = () => {\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 * On changes event for input variables\n\t */\n\tngOnChanges(changes: { [propKey: string]: SimpleChange }) {\n\t\tfor (const propName in changes) {\n\t\t\tif (propName) {\n\t\t\t\tconst changedProp = changes[propName];\n\t\t\t\tif (changedProp.isFirstChange()) {\n\t\t\t\t\treturn;\n\t\t\t\t} else if (typeof changedProp.currentValue !== 'undefined' && changedProp.currentValue !== changedProp.previousValue) {\n\t\t\t\t\tif (changedProp.currentValue !== '') {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tthis.spinner[propName] = changedProp.currentValue;\n\t\t\t\t\t\tif (propName === 'showSpinner') {\n\t\t\t\t\t\t\tif (changedProp.currentValue) {\n\t\t\t\t\t\t\t\tthis.spinnerService.show(this.spinner.name, this.spinner);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.spinnerService.hide(this.spinner.name);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\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() {\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() {\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 { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n\tname: 'typeOf',\n\tstandalone: true,\n})\nexport class TypeOfPipe implements PipeTransform {\n\ttransform(value: any): any {\n\t\treturn typeof value;\n\t}\n}\n","import {\n AfterContentChecked,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Input,\n input,\n OnChanges,\n OnInit,\n Optional,\n output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { map, startWith } from 'rxjs/operators';\nimport { MatAutocompleteModule, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatOptionSelectionChange } from '@angular/material/core';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { TypeOfPipe } from '../../pipes/type-of.pipe';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { AsyncPipe } from '@angular/common';\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 selector: 'autocomplete, lib-autocomplete',\n imports: [\n ReactiveFormsModule,\n TypeOfPipe,\n MatFormFieldModule,\n MatAutocompleteModule,\n MatInputModule,\n MatButtonModule,\n MatIconModule,\n AsyncPipe,\n ],\n templateUrl: './autocomplete.component.html'\n})\nexport class AutocompleteComponent implements OnInit, OnChanges, AfterContentChecked {\n\t/**\n\t * Gets reference inputAutoComplete HTML attribute\n\t */\n\t@ViewChild('inputAutoComplete') inputAutoComplete!: ElementRef;\n\n\t/**\n\t * Input form group of the auto complete\n\t */\n\t@Input() inputFormGroup!: FormGroup;\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 * 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\t * @author Pavan Kumar Jadda\n\t * @since 13.0.3\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\n\t */\n\tfilteredOptions: Observable<any[] | undefined> | undefined;\n\n\tconstructor(private cdRef: ChangeDetectorRef) {}\n\n\tngAfterContentChecked(): void {\n\t\tthis.cdRef.detectChanges();\n\t}\n\n\t/**\n\t * Define autocomplete search filter on search text changes\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tngOnInit() {\n\t\tthis.filteredOptions = this.inputFormGroup?.get('autocomplete')?.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().indexOf(propertyName.toLowerCase()) === 0\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\t/**\n\t * Clear input and Reset autocomplete form control\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\tclearInput(evt: any): void {\n\t\tevt.stopPropagation();\n\t\tthis.inputFormGroup.get('autocomplete')?.reset();\n\t\tthis.inputAutoComplete?.nativeElement.focus();\n\t}\n\n\t/**\n\t * Open or Close panel\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\n\topenOrClosePanel(evt: any, trigger: MatAutocompleteTrigger): void {\n\t\tevt.stopPropagation();\n\t\tif (trigger.panelOpen) trigger.closePanel();\n\t\telse trigger.openPanel();\n\t}\n\n\t/**\n\t * Display function that is used to show the values\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 12.0.0\n\t */\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') return object;\n\t\t\treturn object && object[this.bindLabel()] ? object[this.bindLabel()] : '';\n\t\t}\n\t}\n\n\t/**\n\t * Emit selected value\n\t * @param $event - Event emitted by autocomplete\n\t *\n\t * @author Pavan Kumar Jadda\n\t * @since 13.0.3\n\t */\n\temitSelectedValue($event: MatOptionSelectionChange) {\n\t\tthis.onSelectionChange.emit($event.source.value);\n\t}\n}\n","<div [formGroup]=\"inputFormGroup\">\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[matAutocomplete]=\"auto\"\n\t\t\t[placeholder]=\"placeHolder()\"\n\t\t\t[required]=\"required()\"\n\t\t\tformControlName=\"autocomplete\"\n\t\t\tmatInput\n\t\t\ttype=\"text\" />\n\n\t\t<div matSuffix style=\"display: flex\">\n\t\t\t@if (!!inputFormGroup.get('autocomplete')?.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 ((option | typeOf) === 'string') {\n\t\t\t\t\t\t<ng-container>{{ option }}</ng-container>\n\t\t\t\t\t} @else if ((option | typeOf) === '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","import { Directive, HostListener, Input } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\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\t// eslint-disable-next-line @angular-eslint/directive-selector\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\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\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\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\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\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\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\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\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\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\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 * 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: { [p: string]: { [p: string]: string } };\n}\n","import { Directive, EventEmitter, HostListener, OnDestroy, OnInit, Output, input } 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\t@Output() throttleClick = new EventEmitter();\n\n\tprivate clicks = new Subject();\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: any) {\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 { 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]=\"'edit-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 { 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 { 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 { 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 selector: 'edit-solid-svg',\n imports: [MatIconModule],\n template: ` <mat-icon aria-hidden=\"false\" aria-label=\"Edit\" svgIcon=\"edit-solid\"></mat-icon> `,\n styles: [\n `\n\t\t\t.mat-icon {\n\t\t\t\tvertical-align: bottom;\n\t\t\t\tpadding-left: 5px;\n\t\t\t}\n\t\t`,\n ]\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';\nimport { CommonModule } from '@angular/common';\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: [CommonModule, 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 { 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 { 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 selector: 'manage-button',\n imports: [MatButton, MatIcon],\n template: `\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 styleUrls: ['../../../../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 { 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 { Component, input } from '@angular/core';\nimport { CommonModule } from '@angular/common';\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: [CommonModule, 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 { 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 { 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 { 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 { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'pdf-export-button',\n imports: [MatButtonModule],\n template: ` <button class=\"pdf-export-button\" mat-raised-button type=\"button\" data-cy=\"pdf-export-button\">PDF</button> `,\n styles: [\n `\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 ]\n})\nexport class PdfExportButtonComponent {}\n","import { Component } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'excel-export-button',\n imports: [CommonModule, MatButtonModule],\n template: ` <button class=\"excel-export-button\" mat-raised-button type=\"button\" data-cy=\"excel-export-button\">Excel</button> `,\n styleUrls: ['../../../../assets/app-buttons.css'],\n styles: [\n `\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 ]\n})\nexport class ExcelExportButtonComponent {}\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 selector: 'app-confirm-dialog',\n imports: [MatButtonModule, MatDividerModule, MatDialogModule],\n template: `\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 styles: []\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';\nimport { CommonModule } from '@angular/common';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'app-error-snack-bar',\n imports: [CommonModule, MatIconModule, MatButtonModule],\n template: `\n\t\t<div class=\"custom-flex-center error-snackbar\">\n\t\t\t<mat-icon>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 styleUrls: ['../../../../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() {\n\t\tthis.msb.dismissWithAction();\n\t}\n}\n","import { Component, Inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MAT_SNACK_BAR_DATA, MatSnackBarRef } from '@angular/material/snack-bar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'app-success-snack-bar',\n imports: [CommonModule, MatButtonModule, MatIconModule],\n template: `\n\t\t<div class=\"custom-flex-center success-snackbar\">\n\t\t\t<mat-icon>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 styleUrls: ['../../../../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() {\n\t\tthis.msb.dismissWithAction();\n\t}\n}\n","import { 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\t/**\n\t * Duration (in milliseconds) of the Snack Bar to be open. Defaults to 5 seconds(5000 milliseconds)\n\t */\n\tduration = 500000;\n\n\t/**\n\t * Horizontal Position of the MatSnackBar. Defaults to left side\n\t */\n\thorizontalPosition: MatSnackBarHorizontalPosition = 'right';\n\n\t/**\n\t * Vertical Position of the MatSnackBar. Defaults to page bottom\n\t */\n\tverticalPosition: MatSnackBarVerticalPosition = 'top';\n\n\tconstructor(private snackBar: MatSnackBar) {}\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) {\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) {\n\t\tthis.snackBar.openFromComponent(ErrorSnackBarComponent, {\n\t\t\tdata: { message },\n\t\t\tduration: options?.duration ?? 10000,\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) {\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 * @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;\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","i1.NgxSpinnerService","i6","i2","i3"],"mappings":"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"}
@@ -56,6 +56,14 @@ export declare class BaseButtonComponent {
56
56
  * Output event when button is blurred
57
57
  */
58
58
  onBlur: import("@angular/core").OutputEmitterRef<FocusEvent>;
59
+ /**
60
+ * Output event when key is pressed
61
+ */
62
+ onKeyDown: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
63
+ /**
64
+ * Output event when key is up
65
+ */
66
+ onKeyUp: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
59
67
  static ɵfac: i0.ɵɵFactoryDeclaration<BaseButtonComponent, never>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<BaseButtonComponent, "ng-component", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; "dataCy": { "alias": "dataCy"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; }, never, never, true, never>;
68
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaseButtonComponent, "ng-component", never, { "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "loadingLabel": { "alias": "loadingLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "showIcon": { "alias": "showIcon"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "classes": { "alias": "classes"; "required": false; "isSignal": true; }; "dataCy": { "alias": "dataCy"; "required": false; "isSignal": true; }; }, { "onClick": "onClick"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onKeyDown": "onKeyDown"; "onKeyUp": "onKeyUp"; }, never, never, true, never>;
61
69
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@js-smart/ng-kit",
3
- "version": "19.2.0",
3
+ "version": "19.4.0",
4
4
  "license": "MIT",
5
5
  "author": "Pavan Kumar Jadda",
6
6
  "private": false,