@js-smart/ng-kit 20.5.0 → 20.6.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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, ChangeDetectorRef, input, signal, output, effect, Component, Pipe, Injectable, HostListener, ViewChild, forwardRef, Input, Optional, Directive, ElementRef, Renderer2, Inject, computed } from '@angular/core';
2
+ import { inject, ChangeDetectorRef, input, signal, output, effect, Component, Pipe, Injectable, HostListener, ViewChild, forwardRef, Input, Optional, Directive, ElementRef, ViewContainerRef, Inject, computed } from '@angular/core';
3
3
  import { trigger, state, transition, style, animate } from '@angular/animations';
4
4
  import { BehaviorSubject, Subject, throttleTime } from 'rxjs';
5
5
  import { filter, takeUntil, startWith, map } from 'rxjs/operators';
@@ -896,6 +896,83 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
896
896
  args: ['click', ['$event']]
897
897
  }] } });
898
898
 
899
+ class BaseButtonDirective {
900
+ constructor() {
901
+ this.icon = input('', ...(ngDevMode ? [{ debugName: "icon" }] : []));
902
+ this.loadingLabel = input('Loading...', ...(ngDevMode ? [{ debugName: "loadingLabel" }] : []));
903
+ this.loading = input(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
904
+ this.elementRef = inject(ElementRef);
905
+ this.originalText = signal('', ...(ngDevMode ? [{ debugName: "originalText" }] : []));
906
+ this.iconSpan = signal(null, ...(ngDevMode ? [{ debugName: "iconSpan" }] : []));
907
+ this.elementRef.nativeElement.classList.add('btn');
908
+ effect(() => {
909
+ this.updateContent();
910
+ });
911
+ }
912
+ ngOnInit() {
913
+ // Capture original text before creating icon
914
+ this.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Button');
915
+ // Create icon after capturing text
916
+ this.createIcon();
917
+ }
918
+ /**
919
+ * Create icon element if icon name is provided
920
+ */
921
+ createIcon() {
922
+ if (this.icon()) {
923
+ const iconElement = document.createElement('mat-icon');
924
+ iconElement.classList.add('mat-icon', 'material-icons', 'pe-2');
925
+ iconElement.textContent = this.icon();
926
+ this.iconSpan.set(iconElement);
927
+ }
928
+ }
929
+ /**
930
+ * Update content of the button
931
+ */
932
+ updateContent() {
933
+ const element = this.elementRef.nativeElement;
934
+ element.innerHTML = '';
935
+ if (this.loading()) {
936
+ this.showLoadingState(element);
937
+ }
938
+ else {
939
+ this.showNormalState(element);
940
+ }
941
+ }
942
+ /**
943
+ * Show loading state. Add spinner and loadingLabel text
944
+ */
945
+ showLoadingState(element) {
946
+ // Create a new span element
947
+ const newSpan = document.createElement('span');
948
+ // Set its text content
949
+ newSpan.classList.add('spinner-border', 'spinner-border-sm', 'me-2');
950
+ newSpan.setAttribute('role', 'status');
951
+ // Append the new element to the host element
952
+ element.appendChild(newSpan);
953
+ element.appendChild(document.createTextNode(this.loadingLabel()));
954
+ element.setAttribute('disabled', 'true');
955
+ }
956
+ /**
957
+ * Show normal state. Add icon and original text
958
+ */
959
+ showNormalState(element) {
960
+ // Add icon and original text
961
+ const iconElement = this.iconSpan();
962
+ if (iconElement) {
963
+ element.appendChild(iconElement);
964
+ }
965
+ // Append text node instead of setting textContent (which overwrites the icon)
966
+ element.appendChild(document.createTextNode(this.originalText()));
967
+ element.removeAttribute('disabled');
968
+ }
969
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: BaseButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
970
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: BaseButtonDirective, isStandalone: true, inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
971
+ }
972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: BaseButtonDirective, decorators: [{
973
+ type: Directive
974
+ }], ctorParameters: () => [] });
975
+
899
976
  class BaseButtonComponent {
900
977
  constructor() {
901
978
  /**
@@ -1023,11 +1100,38 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1023
1100
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1024
1101
  }], ctorParameters: () => [] });
1025
1102
 
1103
+ class BsLinkButtonDirective {
1104
+ constructor() {
1105
+ this.icon = input('search', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1106
+ this.elementRef = inject(ElementRef);
1107
+ this.elementRef.nativeElement.classList.add('btn', 'text-primary');
1108
+ effect(() => {
1109
+ this.updateContent();
1110
+ });
1111
+ }
1112
+ updateContent() {
1113
+ // if icon present, add material-icons class and set text content
1114
+ if (this.icon()) {
1115
+ const iconSpan = document.createElement('span');
1116
+ iconSpan.classList.add('material-icons', 'pe-2');
1117
+ iconSpan.textContent = this.icon();
1118
+ this.elementRef.nativeElement.appendChild(iconSpan);
1119
+ }
1120
+ }
1121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: BsLinkButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1122
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: BsLinkButtonDirective, isStandalone: true, selector: "[bsLinkButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
1123
+ }
1124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: BsLinkButtonDirective, decorators: [{
1125
+ type: Directive,
1126
+ args: [{
1127
+ selector: '[bsLinkButton]',
1128
+ }]
1129
+ }], ctorParameters: () => [] });
1130
+
1026
1131
  class CloseButtonDirective {
1027
1132
  constructor() {
1028
1133
  this.elementRef = inject(ElementRef);
1029
- this.renderer = inject(Renderer2);
1030
- this.renderer.addClass(this.elementRef.nativeElement, 'secondary-button');
1134
+ this.elementRef.nativeElement.classList.add('secondary-button');
1031
1135
  }
1032
1136
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: CloseButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1033
1137
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.0", type: CloseButtonDirective, isStandalone: true, selector: "[closeButton]", ngImport: i0 }); }
@@ -1097,6 +1201,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1097
1201
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1098
1202
  }], ctorParameters: () => [] });
1099
1203
 
1204
+ class DeleteButtonDirective extends BaseButtonDirective {
1205
+ constructor() {
1206
+ super();
1207
+ this.icon = input('delete', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1208
+ this.loadingLabel = input('Deleting...', ...(ngDevMode ? [{ debugName: "loadingLabel" }] : []));
1209
+ this.elementRef.nativeElement.classList.add('delete-button');
1210
+ }
1211
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: DeleteButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1212
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: DeleteButtonDirective, isStandalone: true, selector: "[deleteButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1213
+ }
1214
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: DeleteButtonDirective, decorators: [{
1215
+ type: Directive,
1216
+ args: [{
1217
+ selector: '[deleteButton]',
1218
+ }]
1219
+ }], ctorParameters: () => [] });
1220
+
1100
1221
  const EDIT_ICON = `
1101
1222
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
1102
1223
  <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"/>
@@ -1107,11 +1228,15 @@ class EditSolidSvgComponent {
1107
1228
  iconRegistry.addSvgIconLiteral('edit-solid', sanitizer.bypassSecurityTrustHtml(EDIT_ICON));
1108
1229
  }
1109
1230
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditSolidSvgComponent, deps: [{ token: i1$4.MatIconRegistry }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
1110
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: EditSolidSvgComponent, isStandalone: true, selector: "edit-solid-svg", ngImport: i0, template: ` <mat-icon aria-hidden="false" aria-label="Edit" svgIcon="edit-solid"></mat-icon> `, isInline: true, styles: [".mat-icon{vertical-align:bottom;padding-left:5px}\n"], dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1231
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: EditSolidSvgComponent, isStandalone: true, selector: "edit-solid-svg", ngImport: i0, template: ` <mat-icon aria-hidden="false" aria-label="Edit" svgIcon="edit-solid" class="pe-2 align-bottom"></mat-icon> `, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1$4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
1111
1232
  }
1112
1233
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditSolidSvgComponent, decorators: [{
1113
1234
  type: Component,
1114
- args: [{ selector: 'edit-solid-svg', imports: [MatIconModule], template: ` <mat-icon aria-hidden="false" aria-label="Edit" svgIcon="edit-solid"></mat-icon> `, styles: [".mat-icon{vertical-align:bottom;padding-left:5px}\n"] }]
1235
+ args: [{
1236
+ selector: 'edit-solid-svg',
1237
+ imports: [MatIconModule],
1238
+ template: ` <mat-icon aria-hidden="false" aria-label="Edit" svgIcon="edit-solid" class="pe-2 align-bottom"></mat-icon> `,
1239
+ }]
1115
1240
  }], ctorParameters: () => [{ type: i1$4.MatIconRegistry }, { type: i1.DomSanitizer }] });
1116
1241
 
1117
1242
  class EditBsButtonComponent extends BaseButtonComponent {
@@ -1164,6 +1289,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1164
1289
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1165
1290
  }], ctorParameters: () => [] });
1166
1291
 
1292
+ class EditBsButtonDirective {
1293
+ constructor() {
1294
+ this.elementRef = inject(ElementRef);
1295
+ this.viewContainerRef = inject(ViewContainerRef);
1296
+ this.originalText = signal('', ...(ngDevMode ? [{ debugName: "originalText" }] : []));
1297
+ this.iconComponentRef = signal(null, ...(ngDevMode ? [{ debugName: "iconComponentRef" }] : []));
1298
+ }
1299
+ ngOnInit() {
1300
+ // Add the btn class first
1301
+ this.elementRef.nativeElement.classList.add('btn', 'text-primary');
1302
+ // Capture original text before creating icon
1303
+ this.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Edit');
1304
+ // Update content to show icon and text
1305
+ this.updateContent();
1306
+ }
1307
+ updateContent() {
1308
+ // Create the EditSolidSvgComponent properly using Angular's component system
1309
+ const componentRef = this.viewContainerRef.createComponent(EditSolidSvgComponent);
1310
+ this.iconComponentRef.set(componentRef);
1311
+ // Clear the original content and append the icon component
1312
+ this.elementRef.nativeElement.textContent = '';
1313
+ this.elementRef.nativeElement.appendChild(componentRef.location.nativeElement);
1314
+ // Add text after the icon
1315
+ this.elementRef.nativeElement.appendChild(document.createTextNode(' ' + this.originalText()));
1316
+ }
1317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditBsButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1318
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.0", type: EditBsButtonDirective, isStandalone: true, selector: "[editBsButton]", ngImport: i0 }); }
1319
+ }
1320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditBsButtonDirective, decorators: [{
1321
+ type: Directive,
1322
+ args: [{
1323
+ selector: '[editBsButton]',
1324
+ }]
1325
+ }] });
1326
+
1167
1327
  class EditButtonComponent extends BaseButtonComponent {
1168
1328
  constructor() {
1169
1329
  super();
@@ -1211,6 +1371,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1211
1371
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1212
1372
  }], ctorParameters: () => [] });
1213
1373
 
1374
+ class EditButtonDirective extends BaseButtonDirective {
1375
+ constructor() {
1376
+ super();
1377
+ this.icon = input('edit', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1378
+ this.loadingLabel = input('Editing...', ...(ngDevMode ? [{ debugName: "loadingLabel" }] : []));
1379
+ this.elementRef.nativeElement.classList.add('primary-button');
1380
+ }
1381
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1382
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: EditButtonDirective, isStandalone: true, selector: "[editButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1383
+ }
1384
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditButtonDirective, decorators: [{
1385
+ type: Directive,
1386
+ args: [{
1387
+ selector: '[editButton]',
1388
+ }]
1389
+ }], ctorParameters: () => [] });
1390
+
1214
1391
  class EditSvgIconButtonComponent extends BaseButtonComponent {
1215
1392
  constructor() {
1216
1393
  super();
@@ -1260,6 +1437,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1260
1437
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1261
1438
  }], ctorParameters: () => [] });
1262
1439
 
1440
+ class EditSvgIconButtonDirective {
1441
+ constructor() {
1442
+ this.elementRef = inject(ElementRef);
1443
+ this.viewContainerRef = inject(ViewContainerRef);
1444
+ this.originalText = signal('', ...(ngDevMode ? [{ debugName: "originalText" }] : []));
1445
+ this.iconComponentRef = signal(null, ...(ngDevMode ? [{ debugName: "iconComponentRef" }] : []));
1446
+ }
1447
+ ngOnInit() {
1448
+ // Add Material Design button classes
1449
+ this.elementRef.nativeElement.classList.add('mat-raised-button', 'primary-button');
1450
+ // Capture original text before creating icon
1451
+ this.originalText.set(this.elementRef.nativeElement.textContent?.trim() || 'Edit');
1452
+ // Set data-cy attribute for testing
1453
+ this.elementRef.nativeElement.setAttribute('data-cy', 'edit-svg-icon-button');
1454
+ // Update content to show icon and text
1455
+ this.updateContent();
1456
+ }
1457
+ updateContent() {
1458
+ // Create the EditSolidSvgComponent properly using Angular's component system
1459
+ const componentRef = this.viewContainerRef.createComponent(EditSolidSvgComponent);
1460
+ this.iconComponentRef.set(componentRef);
1461
+ // Clear the original content and append the icon component
1462
+ this.elementRef.nativeElement.textContent = '';
1463
+ this.elementRef.nativeElement.appendChild(componentRef.location.nativeElement);
1464
+ // Add text after the icon
1465
+ this.elementRef.nativeElement.appendChild(document.createTextNode(' ' + this.originalText()));
1466
+ }
1467
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditSvgIconButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1468
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.0", type: EditSvgIconButtonDirective, isStandalone: true, selector: "[editSvgIconButton]", ngImport: i0 }); }
1469
+ }
1470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: EditSvgIconButtonDirective, decorators: [{
1471
+ type: Directive,
1472
+ args: [{
1473
+ selector: '[editSvgIconButton]',
1474
+ }]
1475
+ }] });
1476
+
1263
1477
  class ExcelExportButtonComponent {
1264
1478
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ExcelExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1265
1479
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: ExcelExportButtonComponent, isStandalone: true, selector: "excel-export-button", ngImport: i0, template: ` <button class="excel-export-button" mat-raised-button type="button" data-cy="excel-export-button">Excel</button> `, isInline: true, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n", ".excel-export-button{margin-left:20px!important;margin-right:20px!important;width:100px;color:#fff!important;background-color:#006400!important;border-radius:24px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] }); }
@@ -1269,6 +1483,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1269
1483
  args: [{ selector: 'excel-export-button', imports: [MatButtonModule], template: ` <button class="excel-export-button" mat-raised-button type="button" data-cy="excel-export-button">Excel</button> `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n", ".excel-export-button{margin-left:20px!important;margin-right:20px!important;width:100px;color:#fff!important;background-color:#006400!important;border-radius:24px!important}\n"] }]
1270
1484
  }] });
1271
1485
 
1486
+ class ExcelExportButtonDirective extends BaseButtonDirective {
1487
+ constructor() {
1488
+ super();
1489
+ const styles = [
1490
+ { property: 'margin-left', value: '20px' },
1491
+ { property: 'margin-right', value: '20px' },
1492
+ { property: 'width', value: '100px' },
1493
+ { property: 'color', value: 'white' },
1494
+ { property: 'background-color', value: 'darkgreen' },
1495
+ { property: 'border-radius', value: '24px' },
1496
+ ];
1497
+ styles.forEach((style) => {
1498
+ this.elementRef.nativeElement.style[style.property] = style.value;
1499
+ });
1500
+ }
1501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ExcelExportButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1502
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.0", type: ExcelExportButtonDirective, isStandalone: true, selector: "[excelExportButton]", usesInheritance: true, ngImport: i0 }); }
1503
+ }
1504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ExcelExportButtonDirective, decorators: [{
1505
+ type: Directive,
1506
+ args: [{
1507
+ selector: '[excelExportButton]',
1508
+ }]
1509
+ }], ctorParameters: () => [] });
1510
+
1272
1511
  class ManageButtonComponent extends BaseButtonComponent {
1273
1512
  constructor() {
1274
1513
  super();
@@ -1312,6 +1551,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1312
1551
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1313
1552
  }], ctorParameters: () => [] });
1314
1553
 
1554
+ class ManageButtonDirective extends BaseButtonDirective {
1555
+ constructor() {
1556
+ super();
1557
+ this.icon = input('settings', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1558
+ this.elementRef.nativeElement.classList.add('mr-3');
1559
+ this.elementRef.nativeElement.classList.add('secondary-button');
1560
+ }
1561
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ManageButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1562
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: ManageButtonDirective, isStandalone: true, selector: "[manageButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1563
+ }
1564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ManageButtonDirective, decorators: [{
1565
+ type: Directive,
1566
+ args: [{
1567
+ selector: '[manageButton]',
1568
+ }]
1569
+ }], ctorParameters: () => [] });
1570
+
1315
1571
  class PdfExportButtonComponent {
1316
1572
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: PdfExportButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1317
1573
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: PdfExportButtonComponent, isStandalone: true, selector: "pdf-export-button", ngImport: i0, template: ` <button class="pdf-export-button" mat-raised-button type="button" data-cy="pdf-export-button">PDF</button> `, isInline: true, styles: [".pdf-export-button{margin-left:20px!important;width:100px;color:#fff!important;background-color:#a3071b!important;border-radius:24px!important}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1$3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }] }); }
@@ -1321,6 +1577,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1321
1577
  args: [{ selector: 'pdf-export-button', imports: [MatButtonModule], template: ` <button class="pdf-export-button" mat-raised-button type="button" data-cy="pdf-export-button">PDF</button> `, styles: [".pdf-export-button{margin-left:20px!important;width:100px;color:#fff!important;background-color:#a3071b!important;border-radius:24px!important}\n"] }]
1322
1578
  }] });
1323
1579
 
1580
+ class PdfExportButtonDirective extends BaseButtonDirective {
1581
+ constructor() {
1582
+ super();
1583
+ const styles = [
1584
+ { property: 'margin-left', value: '20px' },
1585
+ { property: 'width', value: '100px' },
1586
+ { property: 'color', value: 'white' },
1587
+ { property: 'background-color', value: '#a3071b' },
1588
+ { property: 'border-radius', value: '24px' },
1589
+ ];
1590
+ styles.forEach((style) => {
1591
+ this.elementRef.nativeElement.style[style.property] = style.value;
1592
+ });
1593
+ }
1594
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: PdfExportButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1595
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.0", type: PdfExportButtonDirective, isStandalone: true, selector: "[pdfExportButton]", usesInheritance: true, ngImport: i0 }); }
1596
+ }
1597
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: PdfExportButtonDirective, decorators: [{
1598
+ type: Directive,
1599
+ args: [{
1600
+ selector: '[pdfExportButton]',
1601
+ }]
1602
+ }], ctorParameters: () => [] });
1603
+
1324
1604
  class PrimaryButtonComponent extends BaseButtonComponent {
1325
1605
  constructor() {
1326
1606
  super();
@@ -1380,6 +1660,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1380
1660
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1381
1661
  }], ctorParameters: () => [] });
1382
1662
 
1663
+ class PrimaryButtonDirective extends BaseButtonDirective {
1664
+ constructor() {
1665
+ super();
1666
+ this.icon = input('save', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1667
+ this.loadingLabel = input('Saving...', ...(ngDevMode ? [{ debugName: "loadingLabel" }] : []));
1668
+ this.elementRef.nativeElement.classList.add('btn-primary');
1669
+ this.elementRef.nativeElement.classList.add('primary-button');
1670
+ }
1671
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: PrimaryButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1672
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: PrimaryButtonDirective, isStandalone: true, selector: "[primaryButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1673
+ }
1674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: PrimaryButtonDirective, decorators: [{
1675
+ type: Directive,
1676
+ args: [{
1677
+ selector: '[primaryButton]',
1678
+ }]
1679
+ }], ctorParameters: () => [] });
1680
+
1383
1681
  class SavePrimaryButtonComponent extends BaseButtonComponent {
1384
1682
  constructor() {
1385
1683
  super();
@@ -1438,6 +1736,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1438
1736
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1439
1737
  }], ctorParameters: () => [] });
1440
1738
 
1739
+ class SavePrimaryButtonDirective extends BaseButtonDirective {
1740
+ constructor() {
1741
+ super();
1742
+ this.icon = input('save', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1743
+ this.loadingLabel = input('Saving...', ...(ngDevMode ? [{ debugName: "loadingLabel" }] : []));
1744
+ this.elementRef.nativeElement.classList.add('btn-primary');
1745
+ this.elementRef.nativeElement.classList.add('primary-button');
1746
+ }
1747
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SavePrimaryButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1748
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: SavePrimaryButtonDirective, isStandalone: true, selector: "[savePrimaryButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1749
+ }
1750
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SavePrimaryButtonDirective, decorators: [{
1751
+ type: Directive,
1752
+ args: [{
1753
+ selector: '[savePrimaryButton]',
1754
+ }]
1755
+ }], ctorParameters: () => [] });
1756
+
1441
1757
  class SearchButtonComponent extends BaseButtonComponent {
1442
1758
  constructor() {
1443
1759
  super();
@@ -1554,6 +1870,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1554
1870
  }]
1555
1871
  }], ctorParameters: () => [] });
1556
1872
 
1873
+ class SuccessButtonDirective extends BaseButtonDirective {
1874
+ constructor() {
1875
+ super();
1876
+ this.icon = input('save', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1877
+ this.loadingLabel = input('Updating...', ...(ngDevMode ? [{ debugName: "loadingLabel" }] : []));
1878
+ this.elementRef.nativeElement.classList.add('success-button');
1879
+ }
1880
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SuccessButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1881
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: SuccessButtonDirective, isStandalone: true, selector: "[successButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1882
+ }
1883
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SuccessButtonDirective, decorators: [{
1884
+ type: Directive,
1885
+ args: [{
1886
+ selector: '[successButton]',
1887
+ }]
1888
+ }], ctorParameters: () => [] });
1889
+
1557
1890
  class ViewButtonComponent extends BaseButtonComponent {
1558
1891
  constructor() {
1559
1892
  super();
@@ -1594,6 +1927,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1594
1927
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1595
1928
  }], ctorParameters: () => [] });
1596
1929
 
1930
+ class ViewButtonDirective extends BaseButtonDirective {
1931
+ constructor() {
1932
+ super();
1933
+ this.icon = input('visibility', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1934
+ this.loadingLabel = input('Loading...', ...(ngDevMode ? [{ debugName: "loadingLabel" }] : []));
1935
+ }
1936
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ViewButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1937
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: ViewButtonDirective, isStandalone: true, selector: "[viewButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, loadingLabel: { classPropertyName: "loadingLabel", publicName: "loadingLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
1938
+ }
1939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ViewButtonDirective, decorators: [{
1940
+ type: Directive,
1941
+ args: [{
1942
+ selector: '[viewButton]',
1943
+ }]
1944
+ }], ctorParameters: () => [] });
1945
+
1597
1946
  class ViewPrimaryButtonComponent extends BaseButtonComponent {
1598
1947
  constructor() {
1599
1948
  super();
@@ -1641,6 +1990,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImpor
1641
1990
  `, styles: [".primary-button,.primary-button:hover,.primary-button:active,.primary-button:visited{color:#fff!important;background-color:var(--primary-color)!important}.secondary-button,.secondary-button:hover,.secondary-button:active,.secondary-button:visited{color:#fff!important;background-color:var(--secondary-color)!important}.success-button,.success-button:hover,.success-button:active,.success-button:visited{color:#fff!important;background-color:var(--success-color)!important}.delete-button,.delete-button:hover,.delete-button:active,.success-button:visited{color:#fff!important;background-color:var(--delete-color)!important}\n"] }]
1642
1991
  }], ctorParameters: () => [] });
1643
1992
 
1993
+ class ViewPrimaryButtonDirective extends BaseButtonDirective {
1994
+ constructor() {
1995
+ super();
1996
+ this.icon = input('visibility', ...(ngDevMode ? [{ debugName: "icon" }] : []));
1997
+ this.elementRef.nativeElement.classList.add('btn-primary');
1998
+ this.elementRef.nativeElement.classList.add('primary-button');
1999
+ }
2000
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ViewPrimaryButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2001
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.1.0", type: ViewPrimaryButtonDirective, isStandalone: true, selector: "[viewPrimaryButton]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 }); }
2002
+ }
2003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: ViewPrimaryButtonDirective, decorators: [{
2004
+ type: Directive,
2005
+ args: [{
2006
+ selector: '[viewPrimaryButton]',
2007
+ }]
2008
+ }], ctorParameters: () => [] });
2009
+
1644
2010
  class ConfirmDialogComponent {
1645
2011
  constructor(data, dialogRef) {
1646
2012
  this.data = data;
@@ -2070,5 +2436,5 @@ const markError = (progressState, message) => {
2070
2436
  * Generated bundle index. Do not edit.
2071
2437
  */
2072
2438
 
2073
- export { AlertComponent, AutocompleteComponent, BsLinkButtonComponent, CloseButtonDirective, ConfirmDialogComponent, DeleteButtonComponent, EditBsButtonComponent, EditButtonComponent, EditSolidSvgComponent, EditSvgIconButtonComponent, EntityStore, ExcelExportButtonComponent, ManageButtonComponent, MatSnackBarService, NgxPrintDirective, NgxSpinnerComponent, NgxSpinnerService, PdfExportButtonComponent, PreventMultipleClicksDirective, PrimaryButtonComponent, SavePrimaryButtonComponent, SearchButtonComponent, SpinnerComponent, Store, SuccessButtonComponent, ViewButtonComponent, ViewPrimaryButtonComponent, initializeState, markError, markLoading, markSuccess };
2439
+ export { AlertComponent, AutocompleteComponent, BaseButtonDirective, BsLinkButtonComponent, BsLinkButtonDirective, CloseButtonDirective, ConfirmDialogComponent, DeleteButtonComponent, DeleteButtonDirective, EditBsButtonComponent, EditBsButtonDirective, EditButtonComponent, EditButtonDirective, EditSolidSvgComponent, EditSvgIconButtonComponent, EditSvgIconButtonDirective, EntityStore, ExcelExportButtonComponent, ExcelExportButtonDirective, ManageButtonComponent, ManageButtonDirective, MatSnackBarService, NgxPrintDirective, NgxSpinnerComponent, NgxSpinnerService, PdfExportButtonComponent, PdfExportButtonDirective, PreventMultipleClicksDirective, PrimaryButtonComponent, PrimaryButtonDirective, SavePrimaryButtonComponent, SavePrimaryButtonDirective, SearchButtonComponent, SpinnerComponent, Store, SuccessButtonComponent, SuccessButtonDirective, ViewButtonComponent, ViewButtonDirective, ViewPrimaryButtonComponent, ViewPrimaryButtonDirective, initializeState, markError, markLoading, markSuccess };
2074
2440
  //# sourceMappingURL=js-smart-ng-kit.mjs.map