ng-prime-tools 1.0.30 → 1.0.32

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.
Files changed (25) hide show
  1. package/README.md +4 -0
  2. package/esm2022/lib/models/button.model.mjs +1 -1
  3. package/esm2022/lib/pt-advanced-prime-table/date-utility.service.mjs +43 -0
  4. package/esm2022/lib/pt-advanced-prime-table/pt-advanced-prime-table.component.mjs +107 -39
  5. package/esm2022/lib/pt-advanced-prime-table/pt-advanced-prime-table.module.mjs +7 -3
  6. package/esm2022/lib/pt-advanced-prime-table/public-api.mjs +2 -1
  7. package/esm2022/lib/pt-button/pt-button.component.mjs +44 -16
  8. package/esm2022/lib/pt-dialog/pt-dialog.component.mjs +164 -129
  9. package/fesm2022/ng-prime-tools.mjs +424 -250
  10. package/fesm2022/ng-prime-tools.mjs.map +1 -1
  11. package/lib/models/button.model.d.ts +1 -0
  12. package/lib/models/button.model.d.ts.map +1 -1
  13. package/lib/pt-advanced-prime-table/date-utility.service.d.ts +8 -0
  14. package/lib/pt-advanced-prime-table/date-utility.service.d.ts.map +1 -0
  15. package/lib/pt-advanced-prime-table/pt-advanced-prime-table.component.d.ts +17 -3
  16. package/lib/pt-advanced-prime-table/pt-advanced-prime-table.component.d.ts.map +1 -1
  17. package/lib/pt-advanced-prime-table/pt-advanced-prime-table.module.d.ts +2 -1
  18. package/lib/pt-advanced-prime-table/pt-advanced-prime-table.module.d.ts.map +1 -1
  19. package/lib/pt-advanced-prime-table/public-api.d.ts +1 -0
  20. package/lib/pt-advanced-prime-table/public-api.d.ts.map +1 -1
  21. package/lib/pt-button/pt-button.component.d.ts +7 -1
  22. package/lib/pt-button/pt-button.component.d.ts.map +1 -1
  23. package/lib/pt-dialog/pt-dialog.component.d.ts +18 -1
  24. package/lib/pt-dialog/pt-dialog.component.d.ts.map +1 -1
  25. package/package.json +1 -1
@@ -13,6 +13,7 @@ import { IconFieldModule } from 'primeng/iconfield';
13
13
  import { InputIconModule } from 'primeng/inputicon';
14
14
  import { CustomDatePipe } from '../pipes/custom-date.pipe';
15
15
  import { ProgressSpinnerModule } from 'primeng/progressspinner';
16
+ import { PTMultiSelectModule } from '../pt-multi-select';
16
17
  import * as i0 from "@angular/core";
17
18
  export class PTAdvancedPrimeTableModule {
18
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTAdvancedPrimeTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -27,7 +28,8 @@ export class PTAdvancedPrimeTableModule {
27
28
  CustomCurrencyPipe,
28
29
  IconFieldModule,
29
30
  InputIconModule,
30
- ProgressSpinnerModule], exports: [PTAdvancedPrimeTableComponent] }); }
31
+ ProgressSpinnerModule,
32
+ PTMultiSelectModule], exports: [PTAdvancedPrimeTableComponent] }); }
31
33
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTAdvancedPrimeTableModule, imports: [CommonModule,
32
34
  TableModule,
33
35
  InputTextModule,
@@ -38,7 +40,8 @@ export class PTAdvancedPrimeTableModule {
38
40
  TagModule,
39
41
  IconFieldModule,
40
42
  InputIconModule,
41
- ProgressSpinnerModule] }); }
43
+ ProgressSpinnerModule,
44
+ PTMultiSelectModule] }); }
42
45
  }
43
46
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTAdvancedPrimeTableModule, decorators: [{
44
47
  type: NgModule,
@@ -57,8 +60,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
57
60
  IconFieldModule,
58
61
  InputIconModule,
59
62
  ProgressSpinnerModule,
63
+ PTMultiSelectModule,
60
64
  ],
61
65
  exports: [PTAdvancedPrimeTableComponent],
62
66
  }]
63
67
  }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtYWR2YW5jZWQtcHJpbWUtdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9wdC1hZHZhbmNlZC1wcmltZS10YWJsZS9wdC1hZHZhbmNlZC1wcmltZS10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFvQmhFLE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLGlCQWpCdEIsNkJBQTZCLEVBQUUsY0FBYyxhQUUxRCxZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsU0FBUztZQUNULGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsZUFBZTtZQUNmLHFCQUFxQixhQUViLDZCQUE2QjtnSEFFNUIsMEJBQTBCLFlBZm5DLFlBQVk7WUFDWixXQUFXO1lBQ1gsZUFBZTtZQUNmLFlBQVk7WUFDWixjQUFjO1lBQ2QsV0FBVztZQUNYLGlCQUFpQjtZQUNqQixTQUFTO1lBRVQsZUFBZTtZQUNmLGVBQWU7WUFDZixxQkFBcUI7OzRGQUlaLDBCQUEwQjtrQkFsQnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNkJBQTZCLEVBQUUsY0FBYyxDQUFDO29CQUM3RCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixTQUFTO3dCQUNULGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBUQWR2YW5jZWRQcmltZVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9wdC1hZHZhbmNlZC1wcmltZS10YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NhbGVuZGFyJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9tdWx0aXNlbGVjdCc7XG5pbXBvcnQgeyBUYWJsZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFibGUnO1xuaW1wb3J0IHsgVGFnTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWcnO1xuaW1wb3J0IHsgQ3VzdG9tQ3VycmVuY3lQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY3VzdG9tLWN1cnJlbmN5JztcbmltcG9ydCB7IEljb25GaWVsZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaWNvbmZpZWxkJztcbmltcG9ydCB7IElucHV0SWNvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRpY29uJztcbmltcG9ydCB7IEN1c3RvbURhdGVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvY3VzdG9tLWRhdGUucGlwZSc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Byb2dyZXNzc3Bpbm5lcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1BUQWR2YW5jZWRQcmltZVRhYmxlQ29tcG9uZW50LCBDdXN0b21EYXRlUGlwZV0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVGFibGVNb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBDYWxlbmRhck1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNdWx0aVNlbGVjdE1vZHVsZSxcbiAgICBUYWdNb2R1bGUsXG4gICAgQ3VzdG9tQ3VycmVuY3lQaXBlLFxuICAgIEljb25GaWVsZE1vZHVsZSxcbiAgICBJbnB1dEljb25Nb2R1bGUsXG4gICAgUHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbUFRBZHZhbmNlZFByaW1lVGFibGVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQVEFkdmFuY2VkUHJpbWVUYWJsZU1vZHVsZSB7fVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtYWR2YW5jZWQtcHJpbWUtdGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9wdC1hZHZhbmNlZC1wcmltZS10YWJsZS9wdC1hZHZhbmNlZC1wcmltZS10YWJsZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFxQnpELE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLGlCQWxCdEIsNkJBQTZCLEVBQUUsY0FBYyxhQUUxRCxZQUFZO1lBQ1osV0FBVztZQUNYLGVBQWU7WUFDZixZQUFZO1lBQ1osY0FBYztZQUNkLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsU0FBUztZQUNULGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixtQkFBbUIsYUFFWCw2QkFBNkI7Z0hBRTVCLDBCQUEwQixZQWhCbkMsWUFBWTtZQUNaLFdBQVc7WUFDWCxlQUFlO1lBQ2YsWUFBWTtZQUNaLGNBQWM7WUFDZCxXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLFNBQVM7WUFFVCxlQUFlO1lBQ2YsZUFBZTtZQUNmLHFCQUFxQjtZQUNyQixtQkFBbUI7OzRGQUlWLDBCQUEwQjtrQkFuQnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsNkJBQTZCLEVBQUUsY0FBYyxDQUFDO29CQUM3RCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixTQUFTO3dCQUNULGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztpQkFDekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUFRBZHZhbmNlZFByaW1lVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3B0LWFkdmFuY2VkLXByaW1lLXRhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY2FsZW5kYXInO1xuaW1wb3J0IHsgSW5wdXRUZXh0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dHRleHQnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JztcbmltcG9ydCB7IFRhYmxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWJsZSc7XG5pbXBvcnQgeyBUYWdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RhZyc7XG5pbXBvcnQgeyBDdXN0b21DdXJyZW5jeVBpcGUgfSBmcm9tICcuLi9waXBlcy9jdXN0b20tY3VycmVuY3knO1xuaW1wb3J0IHsgSWNvbkZpZWxkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pY29uZmllbGQnO1xuaW1wb3J0IHsgSW5wdXRJY29uTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dGljb24nO1xuaW1wb3J0IHsgQ3VzdG9tRGF0ZVBpcGUgfSBmcm9tICcuLi9waXBlcy9jdXN0b20tZGF0ZS5waXBlJztcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcbmltcG9ydCB7IFBUTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICcuLi9wdC1tdWx0aS1zZWxlY3QnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtQVEFkdmFuY2VkUHJpbWVUYWJsZUNvbXBvbmVudCwgQ3VzdG9tRGF0ZVBpcGVdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFRhYmxlTW9kdWxlLFxuICAgIElucHV0VGV4dE1vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGUsXG4gICAgQ2FsZW5kYXJNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTXVsdGlTZWxlY3RNb2R1bGUsXG4gICAgVGFnTW9kdWxlLFxuICAgIEN1c3RvbUN1cnJlbmN5UGlwZSxcbiAgICBJY29uRmllbGRNb2R1bGUsXG4gICAgSW5wdXRJY29uTW9kdWxlLFxuICAgIFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBQVE11bHRpU2VsZWN0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbUFRBZHZhbmNlZFByaW1lVGFibGVDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQVEFkdmFuY2VkUHJpbWVUYWJsZU1vZHVsZSB7fVxuIl19
@@ -1,3 +1,4 @@
1
1
  export * from './pt-advanced-prime-table.component';
2
2
  export * from './pt-advanced-prime-table.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtYWR2YW5jZWQtcHJpbWUtdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B0LWFkdmFuY2VkLXByaW1lLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3B0LWFkdmFuY2VkLXByaW1lLXRhYmxlLm1vZHVsZSc7XG4iXX0=
3
+ export * from './date-utility.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtYWR2YW5jZWQtcHJpbWUtdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHQtYWR2YW5jZWQtcHJpbWUtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHQtYWR2YW5jZWQtcHJpbWUtdGFibGUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS11dGlsaXR5LnNlcnZpY2UnO1xuIl19
@@ -22,6 +22,7 @@ export class PTButtonComponent {
22
22
  fontColor: '#000',
23
23
  backgroundColor: '#fff',
24
24
  borderColor: '#000',
25
+ outlined: false,
25
26
  };
26
27
  }
27
28
  }
@@ -35,7 +36,7 @@ export class PTButtonComponent {
35
36
  JSON.stringify({ ...prev, disabled: undefined }) ===
36
37
  JSON.stringify({ ...curr, disabled: undefined });
37
38
  if (onlyDisabledChanged) {
38
- this.updateDisabledStyles(curr.disabled);
39
+ this.updateDisabledStyles(curr.disabled ?? false);
39
40
  }
40
41
  else {
41
42
  this.applyButtonStyles();
@@ -47,14 +48,6 @@ export class PTButtonComponent {
47
48
  }
48
49
  }
49
50
  }
50
- updateDisabledStyles(isDisabled) {
51
- const buttonElement = this.el.nativeElement.querySelector('button.p-element');
52
- if (buttonElement) {
53
- this.renderer.setStyle(buttonElement, 'color', isDisabled ? '#999' : this.buttonConfig.fontColor);
54
- this.renderer.setStyle(buttonElement, 'background-color', isDisabled ? '#e0e0e0' : this.buttonConfig.backgroundColor);
55
- this.renderer.setStyle(buttonElement, 'border-color', isDisabled ? '#bdbdbd' : this.buttonConfig.borderColor);
56
- }
57
- }
58
51
  ngAfterViewInit() {
59
52
  this.applyButtonStyles();
60
53
  }
@@ -64,24 +57,59 @@ export class PTButtonComponent {
64
57
  getType() {
65
58
  return this.buttonConfig.type || 'button';
66
59
  }
60
+ updateDisabledStyles(isDisabled) {
61
+ const buttonElement = this.el.nativeElement.querySelector('button.p-element');
62
+ if (buttonElement) {
63
+ this.renderer.setStyle(buttonElement, 'color', isDisabled ? '#999' : this.buttonConfig.fontColor);
64
+ this.renderer.setStyle(buttonElement, 'background-color', isDisabled ? '#e0e0e0' : this.buttonConfig.backgroundColor);
65
+ this.renderer.setStyle(buttonElement, 'border-color', isDisabled ? '#bdbdbd' : this.buttonConfig.borderColor);
66
+ }
67
+ }
68
+ /**
69
+ * We delegate colors to PrimeNG theme when:
70
+ * - outlined = true
71
+ * - and no manual color is provided (no backgroundColor, borderColor, fontColor)
72
+ */
73
+ shouldUseThemeColors() {
74
+ if (!this.buttonConfig) {
75
+ return false;
76
+ }
77
+ const outlined = !!this.buttonConfig.outlined; // ✅ coerce to boolean
78
+ return (outlined &&
79
+ !this.buttonConfig.backgroundColor &&
80
+ !this.buttonConfig.borderColor &&
81
+ !this.buttonConfig.fontColor);
82
+ }
67
83
  applyButtonStyles() {
68
84
  const buttonElement = this.el.nativeElement.querySelector('button.p-element');
69
- if (buttonElement && this.buttonConfig) {
70
- const isDisabled = this.buttonConfig.disabled;
85
+ if (!buttonElement || !this.buttonConfig) {
86
+ return;
87
+ }
88
+ const isDisabled = !!this.buttonConfig.disabled;
89
+ const useThemeColors = this.shouldUseThemeColors();
90
+ // Width / height always applied
91
+ this.renderer.setStyle(buttonElement, 'width', this.buttonConfig.width || 'auto');
92
+ this.renderer.setStyle(buttonElement, 'height', this.buttonConfig.height || 'auto');
93
+ // ✅ Only override colors when we are NOT delegating to PrimeNG theme
94
+ if (!useThemeColors) {
71
95
  this.renderer.setStyle(buttonElement, 'color', isDisabled ? '#999' : this.buttonConfig.fontColor);
72
96
  this.renderer.setStyle(buttonElement, 'background-color', isDisabled ? '#e0e0e0' : this.buttonConfig.backgroundColor);
73
97
  this.renderer.setStyle(buttonElement, 'border-color', isDisabled ? '#bdbdbd' : this.buttonConfig.borderColor);
74
- this.renderer.setStyle(buttonElement, 'width', this.buttonConfig.width || 'auto');
75
- this.renderer.setStyle(buttonElement, 'height', this.buttonConfig.height || 'auto');
98
+ }
99
+ else {
100
+ // If we delegate to theme, clear any inline overrides
101
+ this.renderer.removeStyle(buttonElement, 'color');
102
+ this.renderer.removeStyle(buttonElement, 'background-color');
103
+ this.renderer.removeStyle(buttonElement, 'border-color');
76
104
  }
77
105
  }
78
106
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
79
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTButtonComponent, selector: "pt-button", inputs: { buttonConfig: "buttonConfig" }, usesOnChanges: true, ngImport: i0, template: "<p-button\n [label]=\"buttonConfig.label\"\n [icon]=\"buttonConfig.icon || ''\"\n [iconPos]=\"getIconPos()\"\n [disabled]=\"buttonConfig.disabled\"\n [loading]=\"buttonConfig.loading\"\n [class]=\"buttonConfig.styleClass || ''\"\n [type]=\"getType()\"\n></p-button>\n", styles: ["::ng-deep p-button{display:block}\n"], dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTButtonComponent, selector: "pt-button", inputs: { buttonConfig: "buttonConfig" }, usesOnChanges: true, ngImport: i0, template: "<p-button\n [label]=\"buttonConfig.label\"\n [icon]=\"buttonConfig.icon || ''\"\n [iconPos]=\"getIconPos()\"\n [disabled]=\"buttonConfig.disabled\"\n [loading]=\"buttonConfig.loading\"\n [class]=\"buttonConfig.styleClass || ''\"\n [type]=\"getType()\"\n [severity]=\"buttonConfig.severity\"\n [outlined]=\"buttonConfig.outlined\"\n></p-button>\n", styles: ["::ng-deep p-button{display:block}\n"], dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }] }); }
80
108
  }
81
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTButtonComponent, decorators: [{
82
110
  type: Component,
83
- args: [{ selector: 'pt-button', template: "<p-button\n [label]=\"buttonConfig.label\"\n [icon]=\"buttonConfig.icon || ''\"\n [iconPos]=\"getIconPos()\"\n [disabled]=\"buttonConfig.disabled\"\n [loading]=\"buttonConfig.loading\"\n [class]=\"buttonConfig.styleClass || ''\"\n [type]=\"getType()\"\n></p-button>\n", styles: ["::ng-deep p-button{display:block}\n"] }]
111
+ args: [{ selector: 'pt-button', template: "<p-button\n [label]=\"buttonConfig.label\"\n [icon]=\"buttonConfig.icon || ''\"\n [iconPos]=\"getIconPos()\"\n [disabled]=\"buttonConfig.disabled\"\n [loading]=\"buttonConfig.loading\"\n [class]=\"buttonConfig.styleClass || ''\"\n [type]=\"getType()\"\n [severity]=\"buttonConfig.severity\"\n [outlined]=\"buttonConfig.outlined\"\n></p-button>\n", styles: ["::ng-deep p-button{display:block}\n"] }]
84
112
  }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { buttonConfig: [{
85
113
  type: Input
86
114
  }] } });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtYnV0dG9uL3B0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWJ1dHRvbi9wdC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEdBT04sTUFBTSxlQUFlLENBQUM7OztBQVF2QixNQUFNLE9BQU8saUJBQWlCO0lBRzVCLFlBQW9CLFFBQW1CLEVBQVUsRUFBYztRQUEzQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFFbkUsUUFBUTtRQUNOLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUc7Z0JBQ2xCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsRUFBRTtnQkFDUixPQUFPLEVBQUUsTUFBTTtnQkFDZixRQUFRLEVBQUUsS0FBSztnQkFDZixVQUFVLEVBQUUsRUFBRTtnQkFDZCxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsTUFBTTtnQkFDZCxTQUFTLEVBQUUsTUFBTTtnQkFDakIsZUFBZSxFQUFFLE1BQU07Z0JBQ3ZCLFdBQVcsRUFBRSxNQUFNO2FBQ3BCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNq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Q0FDM0QsQ0FBQztZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixhQUFhLEVBQ2IsY0FBYyxFQUNkLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FDdkQsQ0FBQztZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixhQUFhLEVBQ2IsT0FBTyxFQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FDbEMsQ0FBQztZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUNwQixhQUFhLEVBQ2IsUUFBUSxFQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FDbkMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOytHQXpIVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixnSENqQjlCLG9SQVNBOzs0RkRRYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsV0FBVzt1R0FLWixZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBBZnRlclZpZXdJbml0LFxuICBSZW5kZXJlcjIsXG4gIEVsZW1lbnRSZWYsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCdXR0b25Nb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3B0LWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wdC1idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wdC1idXR0b24uY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQVEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgYnV0dG9uQ29uZmlnITogQnV0dG9uTW9kZWw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEZhbGxiYWNrIHRvIGRlZmF1bHQgY29uZmlnIGlmIHVuZGVmaW5lZFxuICAgIGlmICghdGhpcy5idXR0b25Db25maWcpIHtcbiAgICAgIHRoaXMuYnV0dG9uQ29uZmlnID0ge1xuICAgICAgICBsYWJlbDogJ0NsaWNrIE1lJyxcbiAgICAgICAgaWNvbjogJycsXG4gICAgICAgIGljb25Qb3M6ICdsZWZ0JyxcbiAgICAgICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgICAgICBzdHlsZUNsYXNzOiAnJyxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIHR5cGU6ICdidXR0b24nLFxuICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICBoZWlnaHQ6ICdhdXRvJyxcbiAgICAgICAgZm9udENvbG9yOiAnIzAwMCcsXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNmZmYnLFxuICAgICAgICBib3JkZXJDb2xvcjogJyMwMDAnLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnQ2hhbmdlID0gY2hhbmdlc1snYnV0dG9uQ29uZmlnJ107XG5cbiAgICBpZiAoY29uZmlnQ2hhbmdlKSB7XG4gICAgICBjb25zdCBwcmV2ID0gY29uZmlnQ2hhbmdlLnByZXZpb3VzVmFsdWU7XG4gICAgICBjb25zdCBjdXJyID0gY29uZmlnQ2hhbmdlLmN1cnJlbnRWYWx1ZTtcblxuICAgICAgaWYgKHByZXYgJiYgY3Vycikge1xuICAgICAgICBjb25zdCBvbmx5RGlzYWJsZWRDaGFuZ2VkID1cbiAgICAgICAgICBwcmV2LmRpc2FibGVkICE9PSBjdXJyLmRpc2FibGVkICYmXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyAuLi5wcmV2LCBkaXNhYmxlZDogdW5kZWZpbmVkIH0pID09PVxuICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyAuLi5jdXJyLCBkaXNhYmxlZDogdW5kZWZpbmVkIH0pO1xuXG4gICAgICAgIGlmIChvbmx5RGlzYWJsZWRDaGFuZ2VkKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZFN0eWxlcyhjdXJyLmRpc2FibGVkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFwcGx5QnV0dG9uU3R5bGVzKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIG5vIHByZXZpb3VzIHZhbHVlIChmaXJzdCBsb2FkKSwgYXBwbHkgZnVsbCBzdHlsZXNcbiAgICAgICAgdGhpcy5hcHBseUJ1dHRvblN0eWxlcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB1cGRhdGVEaXNhYmxlZFN0eWxlcyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgY29uc3QgYnV0dG9uRWxlbWVudCA9XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignYnV0dG9uLnAtZWxlbWVudCcpO1xuXG4gICAgaWYgKGJ1dHRvbkVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIGJ1dHRvbkVsZW1lbnQsXG4gICAgICAgICdjb2xvcicsXG4gICAgICAgIGlzRGlzYWJsZWQgPyAnIzk5OScgOiB0aGlzLmJ1dHRvbkNvbmZpZy5mb250Q29sb3JcbiAgICAgICk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICBidXR0b25FbGVtZW50LFxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgIGlzRGlzYWJsZWQgPyAnI2UwZTBlMCcgOiB0aGlzLmJ1dHRvbkNvbmZpZy5iYWNrZ3JvdW5kQ29sb3JcbiAgICAgICk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICBidXR0b25FbGVtZW50LFxuICAgICAgICAnYm9yZGVyLWNvbG9yJyxcbiAgICAgICAgaXNEaXNhYmxlZCA/ICcjYmRiZGJkJyA6IHRoaXMuYnV0dG9uQ29uZmlnLmJvcmRlckNvbG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5QnV0dG9uU3R5bGVzKCk7XG4gIH1cblxuICBnZXRJY29uUG9zKCk6ICdsZWZ0JyB8ICdyaWdodCcge1xuICAgIHJldHVybiB0aGlzLmJ1dHRvbkNvbmZpZy5pY29uUG9zID09PSAncmlnaHQnID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5idXR0b25Db25maWcudHlwZSB8fCAnYnV0dG9uJztcbiAgfVxuXG4gIGFwcGx5QnV0dG9uU3R5bGVzKCk6IHZvaWQge1xuICAgIGNvbnN0IGJ1dHRvbkVsZW1lbnQgPVxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5wLWVsZW1lbnQnKTtcblxuICAgIGlmIChidXR0b25FbGVtZW50ICYmIHRoaXMuYnV0dG9uQ29uZmlnKSB7XG4gICAgICBjb25zdCBpc0Rpc2FibGVkID0gdGhpcy5idXR0b25Db25maWcuZGlzYWJsZWQ7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIGJ1dHRvbkVsZW1lbnQsXG4gICAgICAgICdjb2xvcicsXG4gICAgICAgIGlzRGlzYWJsZWQgPyAnIzk5OScgOiB0aGlzLmJ1dHRvbkNvbmZpZy5mb250Q29sb3JcbiAgICAgICk7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIGJ1dHRvbkVsZW1lbnQsXG4gICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJyxcbiAgICAgICAgaXNEaXNhYmxlZCA/ICcjZTBlMGUwJyA6IHRoaXMuYnV0dG9uQ29uZmlnLmJhY2tncm91bmRDb2xvclxuICAgICAgKTtcblxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgYnV0dG9uRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1jb2xvcicsXG4gICAgICAgIGlzRGlzYWJsZWQgPyAnI2JkYmRiZCcgOiB0aGlzLmJ1dHRvbkNvbmZpZy5ib3JkZXJDb2xvclxuICAgICAgKTtcblxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgYnV0dG9uRWxlbWVudCxcbiAgICAgICAgJ3dpZHRoJyxcbiAgICAgICAgdGhpcy5idXR0b25Db25maWcud2lkdGggfHwgJ2F1dG8nXG4gICAgICApO1xuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICBidXR0b25FbGVtZW50LFxuICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgdGhpcy5idXR0b25Db25maWcuaGVpZ2h0IHx8ICdhdXRvJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxwLWJ1dHRvblxuICBbbGFiZWxdPVwiYnV0dG9uQ29uZmlnLmxhYmVsXCJcbiAgW2ljb25dPVwiYnV0dG9uQ29uZmlnLmljb24gfHwgJydcIlxuICBbaWNvblBvc109XCJnZXRJY29uUG9zKClcIlxuICBbZGlzYWJsZWRdPVwiYnV0dG9uQ29uZmlnLmRpc2FibGVkXCJcbiAgW2xvYWRpbmddPVwiYnV0dG9uQ29uZmlnLmxvYWRpbmdcIlxuICBbY2xhc3NdPVwiYnV0dG9uQ29uZmlnLnN0eWxlQ2xhc3MgfHwgJydcIlxuICBbdHlwZV09XCJnZXRUeXBlKClcIlxuPjwvcC1idXR0b24+XG4iXX0=
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtYnV0dG9uL3B0LWJ1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWJ1dHRvbi9wdC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEdBT04sTUFBTSxlQUFlLENBQUM7OztBQVF2QixNQUFNLE9BQU8saUJBQWlCO0lBRzVCLFlBQW9CLFFBQW1CLEVBQVUsRUFBYztRQUEzQyxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUFHLENBQUM7SUFFbkUsUUFBUTtRQUNOLDBDQUEwQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUc7Z0JBQ2xCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsRUFBRTtnQkFDUixPQUFPLEVBQUUsTUFBTTtnQkFDZixRQUFRLEVBQUUsS0FBSztnQkFDZixVQUFVLEVBQUUsRUFBRTtnQkFDZCxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsTUFBTTtnQkFDYixNQUFNLEVBQUUsTUFBTTtnQkFDZCxTQUFTLEVBQUUsTUFBTTtnQkFDakIsZUFBZSxFQUFFLE1BQU07Z0JBQ3ZCLFdBQVcsRUFBRSxNQUFNO2dCQUNuQixRQUFRLEVBQUUsS0FBSzthQUNoQixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRTdDLElB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QyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQzsrR0EzSlUsaUJBQWlCO21HQUFqQixpQkFBaUIsZ0hDakI5QixvV0FXQTs7NEZETWEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLFdBQVc7dUdBS1osWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgUmVuZGVyZXIyLFxuICBFbGVtZW50UmVmLFxuICBTaW1wbGVDaGFuZ2VzLFxuICBPbkNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwdC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcHQtYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtYnV0dG9uLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFRCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGJ1dHRvbkNvbmZpZyE6IEJ1dHRvbk1vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBGYWxsYmFjayB0byBkZWZhdWx0IGNvbmZpZyBpZiB1bmRlZmluZWRcbiAgICBpZiAoIXRoaXMuYnV0dG9uQ29uZmlnKSB7XG4gICAgICB0aGlzLmJ1dHRvbkNvbmZpZyA9IHtcbiAgICAgICAgbGFiZWw6ICdDbGljayBNZScsXG4gICAgICAgIGljb246ICcnLFxuICAgICAgICBpY29uUG9zOiAnbGVmdCcsXG4gICAgICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICAgICAgc3R5bGVDbGFzczogJycsXG4gICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICB0eXBlOiAnYnV0dG9uJyxcbiAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgICAgIGZvbnRDb2xvcjogJyMwMDAnLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZmZmJyxcbiAgICAgICAgYm9yZGVyQ29sb3I6ICcjMDAwJyxcbiAgICAgICAgb3V0bGluZWQ6IGZhbHNlLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnQ2hhbmdlID0gY2hhbmdlc1snYnV0dG9uQ29uZmlnJ107XG5cbiAgICBpZiAoY29uZmlnQ2hhbmdlKSB7XG4gICAgICBjb25zdCBwcmV2ID0gY29uZmlnQ2hhbmdlLnByZXZpb3VzVmFsdWUgYXMgQnV0dG9uTW9kZWwgfCB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBjdXJyID0gY29uZmlnQ2hhbmdlLmN1cnJlbnRWYWx1ZSBhcyBCdXR0b25Nb2RlbCB8IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKHByZXYgJiYgY3Vycikge1xuICAgICAgICBjb25zdCBvbmx5RGlzYWJsZWRDaGFuZ2VkID1cbiAgICAgICAgICBwcmV2LmRpc2FibGVkICE9PSBjdXJyLmRpc2FibGVkICYmXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyAuLi5wcmV2LCBkaXNhYmxlZDogdW5kZWZpbmVkIH0pID09PVxuICAgICAgICAgICAgSlNPTi5zdHJpbmdpZnkoeyAuLi5jdXJyLCBkaXNhYmxlZDogdW5kZWZpbmVkIH0pO1xuXG4gICAgICAgIGlmIChvbmx5RGlzYWJsZWRDaGFuZ2VkKSB7XG4gICAgICAgICAgdGhpcy51cGRhdGVEaXNhYmxlZFN0eWxlcyhjdXJyLmRpc2FibGVkID8/IGZhbHNlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmFwcGx5QnV0dG9uU3R5bGVzKCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIElmIG5vIHByZXZpb3VzIHZhbHVlIChmaXJzdCBsb2FkKSwgYXBwbHkgZnVsbCBzdHlsZXNcbiAgICAgICAgdGhpcy5hcHBseUJ1dHRvblN0eWxlcygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5QnV0dG9uU3R5bGVzKCk7XG4gIH1cblxuICBnZXRJY29uUG9zKCk6ICdsZWZ0JyB8ICdyaWdodCcge1xuICAgIHJldHVybiB0aGlzLmJ1dHRvbkNvbmZpZy5pY29uUG9zID09PSAncmlnaHQnID8gJ3JpZ2h0JyA6ICdsZWZ0JztcbiAgfVxuXG4gIGdldFR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5idXR0b25Db25maWcudHlwZSB8fCAnYnV0dG9uJztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGlzYWJsZWRTdHlsZXMoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGJ1dHRvbkVsZW1lbnQgPVxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbi5wLWVsZW1lbnQnKTtcblxuICAgIGlmIChidXR0b25FbGVtZW50KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICBidXR0b25FbGVtZW50LFxuICAgICAgICAnY29sb3InLFxuICAgICAgICBpc0Rpc2FibGVkID8gJyM5OTknIDogdGhpcy5idXR0b25Db25maWcuZm9udENvbG9yXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgYnV0dG9uRWxlbWVudCxcbiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InLFxuICAgICAgICBpc0Rpc2FibGVkID8gJyNlMGUwZTAnIDogdGhpcy5idXR0b25Db25maWcuYmFja2dyb3VuZENvbG9yXG4gICAgICApO1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgYnV0dG9uRWxlbWVudCxcbiAgICAgICAgJ2JvcmRlci1jb2xvcicsXG4gICAgICAgIGlzRGlzYWJsZWQgPyAnI2JkYmRiZCcgOiB0aGlzLmJ1dHRvbkNvbmZpZy5ib3JkZXJDb2xvclxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogV2UgZGVsZWdhdGUgY29sb3JzIHRvIFByaW1lTkcgdGhlbWUgd2hlbjpcbiAgICogLSBvdXRsaW5lZCA9IHRydWVcbiAgICogLSBhbmQgbm8gbWFudWFsIGNvbG9yIGlzIHByb3ZpZGVkIChubyBiYWNrZ3JvdW5kQ29sb3IsIGJvcmRlckNvbG9yLCBmb250Q29sb3IpXG4gICAqL1xuICBwcml2YXRlIHNob3VsZFVzZVRoZW1lQ29sb3JzKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5idXR0b25Db25maWcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBvdXRsaW5lZCA9ICEhdGhpcy5idXR0b25Db25maWcub3V0bGluZWQ7IC8vIOKchSBjb2VyY2UgdG8gYm9vbGVhblxuXG4gICAgcmV0dXJuIChcbiAgICAgIG91dGxpbmVkICYmXG4gICAgICAhdGhpcy5idXR0b25Db25maWcuYmFja2dyb3VuZENvbG9yICYmXG4gICAgICAhdGhpcy5idXR0b25Db25maWcuYm9yZGVyQ29sb3IgJiZcbiAgICAgICF0aGlzLmJ1dHRvbkNvbmZpZy5mb250Q29sb3JcbiAgICApO1xuICB9XG5cbiAgYXBwbHlCdXR0b25TdHlsZXMoKTogdm9pZCB7XG4gICAgY29uc3QgYnV0dG9uRWxlbWVudCA9XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignYnV0dG9uLnAtZWxlbWVudCcpO1xuXG4gICAgaWYgKCFidXR0b25FbGVtZW50IHx8ICF0aGlzLmJ1dHRvbkNvbmZpZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRGlzYWJsZWQgPSAhIXRoaXMuYnV0dG9uQ29uZmlnLmRpc2FibGVkO1xuICAgIGNvbnN0IHVzZVRoZW1lQ29sb3JzID0gdGhpcy5zaG91bGRVc2VUaGVtZUNvbG9ycygpO1xuXG4gICAgLy8gV2lkdGggLyBoZWlnaHQgYWx3YXlzIGFwcGxpZWRcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgYnV0dG9uRWxlbWVudCxcbiAgICAgICd3aWR0aCcsXG4gICAgICB0aGlzLmJ1dHRvbkNvbmZpZy53aWR0aCB8fCAnYXV0bydcbiAgICApO1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgIGJ1dHRvbkVsZW1lbnQsXG4gICAgICAnaGVpZ2h0JyxcbiAgICAgIHRoaXMuYnV0dG9uQ29uZmlnLmhlaWdodCB8fCAnYXV0bydcbiAgICApO1xuXG4gICAgLy8g4pyFIE9ubHkgb3ZlcnJpZGUgY29sb3JzIHdoZW4gd2UgYXJlIE5PVCBkZWxlZ2F0aW5nIHRvIFByaW1lTkcgdGhlbWVcbiAgICBpZiAoIXVzZVRoZW1lQ29sb3JzKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICBidXR0b25FbGVtZW50LFxuICAgICAgICAnY29sb3InLFxuICAgICAgICBpc0Rpc2FibGVkID8gJyM5OTknIDogdGhpcy5idXR0b25Db25maWcuZm9udENvbG9yXG4gICAgICApO1xuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICBidXR0b25FbGVtZW50LFxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICAgIGlzRGlzYWJsZWQgPyAnI2UwZTBlMCcgOiB0aGlzLmJ1dHRvbkNvbmZpZy5iYWNrZ3JvdW5kQ29sb3JcbiAgICAgICk7XG5cbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgIGJ1dHRvbkVsZW1lbnQsXG4gICAgICAgICdib3JkZXItY29sb3InLFxuICAgICAgICBpc0Rpc2FibGVkID8gJyNiZGJkYmQnIDogdGhpcy5idXR0b25Db25maWcuYm9yZGVyQ29sb3JcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGRlbGVnYXRlIHRvIHRoZW1lLCBjbGVhciBhbnkgaW5saW5lIG92ZXJyaWRlc1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShidXR0b25FbGVtZW50LCAnY29sb3InKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoYnV0dG9uRWxlbWVudCwgJ2JhY2tncm91bmQtY29sb3InKTtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoYnV0dG9uRWxlbWVudCwgJ2JvcmRlci1jb2xvcicpO1xuICAgIH1cbiAgfVxufVxuIiwiPHAtYnV0dG9uXG4gIFtsYWJlbF09XCJidXR0b25Db25maWcubGFiZWxcIlxuICBbaWNvbl09XCJidXR0b25Db25maWcuaWNvbiB8fCAnJ1wiXG4gIFtpY29uUG9zXT1cImdldEljb25Qb3MoKVwiXG4gIFtkaXNhYmxlZF09XCJidXR0b25Db25maWcuZGlzYWJsZWRcIlxuICBbbG9hZGluZ109XCJidXR0b25Db25maWcubG9hZGluZ1wiXG4gIFtjbGFzc109XCJidXR0b25Db25maWcuc3R5bGVDbGFzcyB8fCAnJ1wiXG4gIFt0eXBlXT1cImdldFR5cGUoKVwiXG4gIFtzZXZlcml0eV09XCJidXR0b25Db25maWcuc2V2ZXJpdHlcIlxuICBbb3V0bGluZWRdPVwiYnV0dG9uQ29uZmlnLm91dGxpbmVkXCJcbj48L3AtYnV0dG9uPlxuIl19