@flywheel-io/vision 0.5.0 → 0.7.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.
Files changed (125) hide show
  1. package/README.md +1 -19
  2. package/assets/fonts/Flywheel-Vision-Icons.svg +239 -0
  3. package/assets/fonts/{flywheel.eot → Flywheel-Vision-Icons.ttf} +0 -0
  4. package/assets/fonts/{flywheel.ttf → Flywheel-Vision-Icons.woff} +0 -0
  5. package/components/button/button.component.d.ts +3 -0
  6. package/components/button/button.module.d.ts +7 -0
  7. package/components/button-group/button-group.component.d.ts +3 -0
  8. package/components/button-group/button-group.module.d.ts +5 -0
  9. package/components/dialog/choice-dialog.component.d.ts +11 -5
  10. package/components/dialog/confirm-dialog.component.d.ts +3 -0
  11. package/components/dialog/dialog.module.d.ts +14 -0
  12. package/components/dialog/dialog.service.d.ts +3 -0
  13. package/components/dialog/error-dialog.component.d.ts +3 -0
  14. package/components/dialog/portal-dialog.component.d.ts +3 -0
  15. package/components/icon/icon.component.d.ts +5 -0
  16. package/components/icon/icon.module.d.ts +8 -0
  17. package/components/notification/notification/notification.component.d.ts +3 -0
  18. package/components/notification/notification-container/notification-container.component.d.ts +3 -0
  19. package/components/notification/notification.module.d.ts +11 -0
  20. package/components/notification/notification.service.d.ts +3 -0
  21. package/components/popover/popover-trigger.component.d.ts +3 -0
  22. package/components/popover/popover-trigger.directive.d.ts +3 -0
  23. package/components/popover/popover.component.d.ts +3 -0
  24. package/components/popover/popover.module.d.ts +8 -0
  25. package/components/shared/pipes/pipes.module.d.ts +6 -0
  26. package/components/shared/pipes/translate.pipe.d.ts +3 -0
  27. package/components/shared/pipes/trusthtml.pipe.d.ts +3 -0
  28. package/components/shared/translation.service.d.ts +3 -0
  29. package/components/table/table.component.d.ts +3 -0
  30. package/components/table/table.module.d.ts +12 -0
  31. package/elements/README.md +20 -0
  32. package/elements/flywheel-io-vision-elements.d.ts +1 -0
  33. package/elements/package.json +5 -6
  34. package/esm2020/components/button/button.component.mjs +32 -0
  35. package/esm2020/components/button/button.module.mjs +33 -0
  36. package/esm2020/components/button-group/button-group.component.mjs +25 -0
  37. package/esm2020/components/button-group/button-group.module.mjs +23 -0
  38. package/esm2020/components/dialog/choice-dialog.component.mjs +90 -0
  39. package/esm2020/components/dialog/confirm-dialog.component.mjs +57 -0
  40. package/{esm2015/components/dialog/dialog.module.js → esm2020/components/dialog/dialog.module.mjs} +58 -31
  41. package/esm2020/components/dialog/dialog.service.mjs +72 -0
  42. package/esm2020/components/dialog/error-dialog.component.mjs +45 -0
  43. package/esm2020/components/dialog/portal-dialog.component.mjs +112 -0
  44. package/esm2020/components/icon/icon.component.mjs +19 -0
  45. package/esm2020/components/icon/icon.module.mjs +26 -0
  46. package/esm2020/components/notification/notification/notification.component.mjs +69 -0
  47. package/{esm2015/components/notification/notification/notification.model.js → esm2020/components/notification/notification/notification.model.mjs} +0 -0
  48. package/esm2020/components/notification/notification-container/notification-container.component.mjs +86 -0
  49. package/{esm2015/components/notification/notification-timer.service.js → esm2020/components/notification/notification-timer.service.mjs} +0 -0
  50. package/esm2020/components/notification/notification.module.mjs +56 -0
  51. package/{esm2015/components/notification/notification.service.js → esm2020/components/notification/notification.service.mjs} +9 -7
  52. package/esm2020/components/popover/popover-trigger.component.mjs +56 -0
  53. package/esm2020/components/popover/popover-trigger.directive.mjs +133 -0
  54. package/esm2020/components/popover/popover.component.mjs +29 -0
  55. package/esm2020/components/popover/popover.module.mjs +46 -0
  56. package/esm2020/components/shared/pipes/pipes.module.mjs +36 -0
  57. package/esm2020/components/shared/pipes/translate.pipe.mjs +39 -0
  58. package/esm2020/components/shared/pipes/trusthtml.pipe.mjs +21 -0
  59. package/esm2020/components/shared/translation.service.mjs +25 -0
  60. package/esm2020/components/table/table.component.mjs +179 -0
  61. package/esm2020/components/table/table.module.mjs +56 -0
  62. package/esm2020/elements/elements.mjs +61 -0
  63. package/{esm2015/elements/flywheel-io-vision-elements.js → esm2020/elements/flywheel-io-vision-elements.mjs} +0 -0
  64. package/{esm2015/elements/polyfills.js → esm2020/elements/polyfills.mjs} +0 -0
  65. package/{esm2015/elements/public-api.js → esm2020/elements/public-api.mjs} +0 -0
  66. package/esm2020/flywheel-io-vision.mjs +5 -0
  67. package/esm2020/public-api.mjs +25 -0
  68. package/fesm2015/{flywheel-io-vision-elements.js → flywheel-io-vision-elements.mjs} +19 -14
  69. package/fesm2015/flywheel-io-vision-elements.mjs.map +1 -0
  70. package/fesm2015/flywheel-io-vision.mjs +1402 -0
  71. package/fesm2015/flywheel-io-vision.mjs.map +1 -0
  72. package/fesm2020/flywheel-io-vision-elements.mjs +85 -0
  73. package/fesm2020/flywheel-io-vision-elements.mjs.map +1 -0
  74. package/fesm2020/flywheel-io-vision.mjs +1392 -0
  75. package/fesm2020/flywheel-io-vision.mjs.map +1 -0
  76. package/flywheel-io-vision.d.ts +1 -4
  77. package/package.json +43 -19
  78. package/public-api.d.ts +2 -0
  79. package/scss/atoms/ghost.scss +30 -0
  80. package/scss/config/theme.scss +6 -6
  81. package/scss/icons/_icon-font-face.scss +5 -6
  82. package/scss/icons/_icon-glyphs.scss +96 -16
  83. package/scss/material/overrides.scss +6 -1
  84. package/styles.css +274 -202
  85. package/styles.scss +8 -9
  86. package/assets/fonts/flywheel.svg +0 -101
  87. package/assets/fonts/flywheel.woff +0 -0
  88. package/bundles/flywheel-io-vision-elements.umd.js +0 -425
  89. package/bundles/flywheel-io-vision-elements.umd.js.map +0 -1
  90. package/bundles/flywheel-io-vision-elements.umd.min.js +0 -2
  91. package/bundles/flywheel-io-vision-elements.umd.min.js.map +0 -1
  92. package/bundles/flywheel-io-vision.umd.js +0 -1578
  93. package/bundles/flywheel-io-vision.umd.js.map +0 -1
  94. package/bundles/flywheel-io-vision.umd.min.js +0 -2
  95. package/bundles/flywheel-io-vision.umd.min.js.map +0 -1
  96. package/elements/flywheel-io-vision-elements.metadata.json +0 -1
  97. package/esm2015/components/button/button.component.js +0 -29
  98. package/esm2015/components/button/button.module.js +0 -24
  99. package/esm2015/components/button-group/button-group.component.js +0 -27
  100. package/esm2015/components/button-group/button-group.module.js +0 -18
  101. package/esm2015/components/dialog/choice-dialog.component.js +0 -52
  102. package/esm2015/components/dialog/confirm-dialog.component.js +0 -40
  103. package/esm2015/components/dialog/dialog.service.js +0 -69
  104. package/esm2015/components/dialog/error-dialog.component.js +0 -32
  105. package/esm2015/components/dialog/portal-dialog.component.js +0 -88
  106. package/esm2015/components/notification/notification/notification.component.js +0 -73
  107. package/esm2015/components/notification/notification-container/notification-container.component.js +0 -89
  108. package/esm2015/components/notification/notification.module.js +0 -37
  109. package/esm2015/components/popover/popover-trigger.component.js +0 -49
  110. package/esm2015/components/popover/popover-trigger.directive.js +0 -134
  111. package/esm2015/components/popover/popover.component.js +0 -23
  112. package/esm2015/components/popover/popover.module.js +0 -33
  113. package/esm2015/components/shared/pipes/pipes.module.js +0 -24
  114. package/esm2015/components/shared/pipes/translate.pipe.js +0 -40
  115. package/esm2015/components/shared/pipes/trusthtml.pipe.js +0 -20
  116. package/esm2015/components/shared/translation.service.js +0 -22
  117. package/esm2015/components/table/table.component.js +0 -165
  118. package/esm2015/components/table/table.module.js +0 -35
  119. package/esm2015/elements/elements.js +0 -56
  120. package/esm2015/flywheel-io-vision.js +0 -9
  121. package/esm2015/public-api.js +0 -23
  122. package/fesm2015/flywheel-io-vision-elements.js.map +0 -1
  123. package/fesm2015/flywheel-io-vision.js +0 -1168
  124. package/fesm2015/flywheel-io-vision.js.map +0 -1
  125. package/flywheel-io-vision.metadata.json +0 -1
@@ -0,0 +1,46 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Overlay } from '@angular/cdk/overlay';
3
+ import { NgModule } from '@angular/core';
4
+ import { FwPopoverTriggerComponent } from './popover-trigger.component';
5
+ import { FwPopoverTriggerDirective } from './popover-trigger.directive';
6
+ import { FwPopoverComponent } from './popover.component';
7
+ import * as i0 from "@angular/core";
8
+ export class FwPopoverModule {
9
+ }
10
+ FwPopoverModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ FwPopoverModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, declarations: [FwPopoverComponent,
12
+ FwPopoverTriggerComponent,
13
+ FwPopoverTriggerDirective], imports: [CommonModule], exports: [FwPopoverComponent,
14
+ FwPopoverTriggerComponent,
15
+ FwPopoverTriggerDirective] });
16
+ FwPopoverModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, providers: [
17
+ Overlay,
18
+ ], imports: [[
19
+ CommonModule,
20
+ ]] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwPopoverModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ imports: [
25
+ CommonModule,
26
+ ],
27
+ exports: [
28
+ FwPopoverComponent,
29
+ FwPopoverTriggerComponent,
30
+ FwPopoverTriggerDirective,
31
+ ],
32
+ declarations: [
33
+ FwPopoverComponent,
34
+ FwPopoverTriggerComponent,
35
+ FwPopoverTriggerDirective,
36
+ ],
37
+ entryComponents: [
38
+ FwPopoverComponent,
39
+ FwPopoverTriggerComponent,
40
+ ],
41
+ providers: [
42
+ Overlay,
43
+ ],
44
+ }]
45
+ }] });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUF3QnpELE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBWnhCLGtCQUFrQjtRQUNsQix5QkFBeUI7UUFDekIseUJBQXlCLGFBVnpCLFlBQVksYUFHWixrQkFBa0I7UUFDbEIseUJBQXlCO1FBQ3pCLHlCQUF5Qjs4R0FlaEIsZUFBZSxhQUpmO1FBQ1QsT0FBTztLQUNSLFlBbkJRO1lBQ1AsWUFBWTtTQUNiOzRGQW1CVSxlQUFlO2tCQXRCM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix5QkFBeUI7cUJBQzFCO29CQUNELGVBQWUsRUFBRTt3QkFDZixrQkFBa0I7d0JBQ2xCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULE9BQU87cUJBQ1I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEZ3UG9wb3ZlclRyaWdnZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXItdHJpZ2dlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndQb3BvdmVyVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gJy4vcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGd1BvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL3BvcG92ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZ3UG9wb3ZlckNvbXBvbmVudCxcbiAgICBGd1BvcG92ZXJUcmlnZ2VyQ29tcG9uZW50LFxuICAgIEZ3UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZ3UG9wb3ZlckNvbXBvbmVudCxcbiAgICBGd1BvcG92ZXJUcmlnZ2VyQ29tcG9uZW50LFxuICAgIEZ3UG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUsXG4gIF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1xuICAgIEZ3UG9wb3ZlckNvbXBvbmVudCxcbiAgICBGd1BvcG92ZXJUcmlnZ2VyQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBPdmVybGF5LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd1BvcG92ZXJNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { TranslatePipe } from './translate.pipe';
3
+ import { TranslationService, MinimalTranslationService } from '../translation.service';
4
+ import { TrustHtmlPipe } from './trusthtml.pipe';
5
+ import * as i0 from "@angular/core";
6
+ const exports = [
7
+ TranslatePipe,
8
+ TrustHtmlPipe,
9
+ ];
10
+ export class PipesModule {
11
+ }
12
+ PipesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ PipesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, declarations: [TranslatePipe,
14
+ TrustHtmlPipe], exports: [TranslatePipe,
15
+ TrustHtmlPipe] });
16
+ PipesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, providers: [
17
+ {
18
+ provide: TranslationService,
19
+ useClass: MinimalTranslationService,
20
+ },
21
+ ] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PipesModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ declarations: exports,
26
+ exports: exports,
27
+ providers: [
28
+ {
29
+ provide: TranslationService,
30
+ useClass: MinimalTranslationService,
31
+ },
32
+ ],
33
+ }]
34
+ }] });
35
+ export { TranslationService };
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvc2hhcmVkL3BpcGVzL3BpcGVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRWpELE1BQU0sT0FBTyxHQUFHO0lBQ2QsYUFBYTtJQUNiLGFBQWE7Q0FDZCxDQUFDO0FBWUYsTUFBTSxPQUFPLFdBQVc7O3lHQUFYLFdBQVc7MEdBQVgsV0FBVyxpQkFkdEIsYUFBYTtRQUNiLGFBQWEsYUFEYixhQUFhO1FBQ2IsYUFBYTswR0FhRixXQUFXLGFBUFg7UUFDVDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsUUFBUSxFQUFFLHlCQUF5QjtTQUNwQztLQUNGOzRGQUVVLFdBQVc7a0JBVnZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLE9BQU87b0JBQ3JCLE9BQU8sRUFBRSxPQUFPO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGtCQUFrQjs0QkFDM0IsUUFBUSxFQUFFLHlCQUF5Qjt5QkFDcEM7cUJBQ0Y7aUJBQ0Y7O0FBR0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnLi90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UsIE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFRydXN0SHRtbFBpcGUgfSBmcm9tICcuL3RydXN0aHRtbC5waXBlJztcblxuY29uc3QgZXhwb3J0cyA9IFtcbiAgVHJhbnNsYXRlUGlwZSxcbiAgVHJ1c3RIdG1sUGlwZSxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogZXhwb3J0cyxcbiAgZXhwb3J0czogZXhwb3J0cyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogVHJhbnNsYXRpb25TZXJ2aWNlLFxuICAgICAgdXNlQ2xhc3M6IE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGlwZXNNb2R1bGUge31cblxuZXhwb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH1cbiJdfQ==
@@ -0,0 +1,39 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../translation.service";
4
+ /**
5
+ * Translate a message given a nested key to a location in the loaded locale copy.
6
+ */
7
+ export class TranslatePipe {
8
+ constructor(cdr, translationService) {
9
+ this.cdr = cdr;
10
+ this.translationService = translationService;
11
+ this.subscriptions = {};
12
+ this.messages = {};
13
+ }
14
+ ngOnDestroy() {
15
+ for (const subscription of Object.values(this.subscriptions)) {
16
+ subscription.unsubscribe();
17
+ }
18
+ }
19
+ transform(key, silent = false) {
20
+ if (!(key in this.subscriptions)) {
21
+ this.subscriptions[key] = this.translationService.getMessage(key, silent).subscribe(message => {
22
+ this.messages[key] = message;
23
+ // trigger change detection to support components with ChangeDetectionStrategy.OnPush
24
+ this.cdr.markForCheck();
25
+ });
26
+ }
27
+ return this.messages[key] || '';
28
+ }
29
+ }
30
+ TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Pipe });
31
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, name: "translate", pure: false });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TranslatePipe, decorators: [{
33
+ type: Pipe,
34
+ args: [{
35
+ name: 'translate',
36
+ pure: false,
37
+ }]
38
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.TranslationService }]; } });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zaGFyZWQvcGlwZXMvdHJhbnNsYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQUtwRDs7R0FFRztBQUtILE1BQU0sT0FBTyxhQUFhO0lBSXhCLFlBQ1UsR0FBc0IsRUFDdEIsa0JBQXNDO1FBRHRDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFMeEMsa0JBQWEsR0FBb0MsRUFBRSxDQUFBO1FBQ25ELGFBQVEsR0FBOEIsRUFBRSxDQUFBO0lBSzdDLENBQUM7SUFFSixXQUFXO1FBQ1QsS0FBSyxNQUFNLFlBQVksSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM1RCxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFNLEdBQUcsS0FBSztRQUNuQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM1RixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztnQkFDN0IscUZBQXFGO2dCQUNyRixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7OzJHQXhCVSxhQUFhO3lHQUFiLGFBQWE7NEZBQWIsYUFBYTtrQkFKeEIsSUFBSTttQkFBQztvQkFDTCxJQUFJLEVBQUUsV0FBVztvQkFDakIsSUFBSSxFQUFFLEtBQUs7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vdHJhbnNsYXRpb24uc2VydmljZSc7XG5cbi8qKlxuICogVHJhbnNsYXRlIGEgbWVzc2FnZSBnaXZlbiBhIG5lc3RlZCBrZXkgdG8gYSBsb2NhdGlvbiBpbiB0aGUgbG9hZGVkIGxvY2FsZSBjb3B5LlxuICovXG4gQFBpcGUoe1xuICBuYW1lOiAndHJhbnNsYXRlJyxcbiAgcHVyZTogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHsgW2tleTogc3RyaW5nXTogU3Vic2NyaXB0aW9uIH0gPSB7fVxuICBwcml2YXRlIG1lc3NhZ2VzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge31cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIE9iamVjdC52YWx1ZXModGhpcy5zdWJzY3JpcHRpb25zKSkge1xuICAgICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCBzaWxlbnQgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgaWYgKCEoa2V5IGluIHRoaXMuc3Vic2NyaXB0aW9ucykpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uc1trZXldID0gdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuZ2V0TWVzc2FnZShrZXksIHNpbGVudCkuc3Vic2NyaWJlKG1lc3NhZ2UgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VzW2tleV0gPSBtZXNzYWdlO1xuICAgICAgICAvLyB0cmlnZ2VyIGNoYW5nZSBkZXRlY3Rpb24gdG8gc3VwcG9ydCBjb21wb25lbnRzIHdpdGggQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VzW2tleV0gfHwgJyc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/platform-browser";
4
+ export class TrustHtmlPipe {
5
+ constructor(sanitizer) {
6
+ this.sanitizer = sanitizer;
7
+ }
8
+ transform(html) {
9
+ return this.sanitizer.bypassSecurityTrustHtml(html);
10
+ }
11
+ }
12
+ TrustHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ TrustHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, name: "trusthtml" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TrustHtmlPipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{
17
+ name: 'trusthtml',
18
+ pure: true,
19
+ }]
20
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RodG1sLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zaGFyZWQvcGlwZXMvdHJ1c3RodG1sLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQU9wRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFxQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUksQ0FBQztJQUVqRCxTQUFTLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7MkdBTFUsYUFBYTt5R0FBYixhQUFhOzRGQUFiLGFBQWE7a0JBSnpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLElBQUksRUFBRSxJQUFJO2lCQUNYIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICd0cnVzdGh0bWwnLFxuICBwdXJlOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUcnVzdEh0bWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIGNvbnN0cnVjdG9yIChwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cblxuICB0cmFuc2Zvcm0oaHRtbDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ export class TranslationService {
5
+ }
6
+ /**
7
+ * Very basic i18n implementation. Consumer apps can provide their own implementation of TranslationService to override.
8
+ */
9
+ export class MinimalTranslationService {
10
+ getMessage(key, silent) {
11
+ return of(MinimalTranslationService.messages[key]);
12
+ }
13
+ }
14
+ MinimalTranslationService.messages = {
15
+ 'common.actions.close': 'Close',
16
+ 'confirmDialog.body': 'Are you sure?',
17
+ 'confirmDialog.no': 'No',
18
+ 'confirmDialog.yes': 'Yes',
19
+ };
20
+ MinimalTranslationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
21
+ MinimalTranslationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MinimalTranslationService, decorators: [{
23
+ type: Injectable
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NoYXJlZC90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHMUIsTUFBTSxPQUFnQixrQkFBa0I7Q0FFdkM7QUFFRDs7R0FFRztBQUVGLE1BQU0sT0FBTyx5QkFBeUI7SUFRcEMsVUFBVSxDQUFDLEdBQVcsRUFBRSxNQUFnQjtRQUN0QyxPQUFPLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOztBQVRjLGtDQUFRLEdBQUc7SUFDeEIsc0JBQXNCLEVBQUUsT0FBTztJQUMvQixvQkFBb0IsRUFBRSxlQUFlO0lBQ3JDLGtCQUFrQixFQUFFLElBQUk7SUFDeEIsbUJBQW1CLEVBQUUsS0FBSztDQUMzQixDQUFBO3VIQU5VLHlCQUF5QjsySEFBekIseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgYWJzdHJhY3QgZ2V0TWVzc2FnZShrZXk6IHN0cmluZywgc2lsZW50PzogYm9vbGVhbik6IE9ic2VydmFibGU8c3RyaW5nPlxufVxuXG4vKipcbiAqIFZlcnkgYmFzaWMgaTE4biBpbXBsZW1lbnRhdGlvbi4gQ29uc3VtZXIgYXBwcyBjYW4gcHJvdmlkZSB0aGVpciBvd24gaW1wbGVtZW50YXRpb24gb2YgVHJhbnNsYXRpb25TZXJ2aWNlIHRvIG92ZXJyaWRlLlxuICovXG4gQEluamVjdGFibGUoKVxuIGV4cG9ydCBjbGFzcyBNaW5pbWFsVHJhbnNsYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgVHJhbnNsYXRpb25TZXJ2aWNlIHtcbiAgIHByaXZhdGUgc3RhdGljIG1lc3NhZ2VzID0ge1xuICAgICAnY29tbW9uLmFjdGlvbnMuY2xvc2UnOiAnQ2xvc2UnLFxuICAgICAnY29uZmlybURpYWxvZy5ib2R5JzogJ0FyZSB5b3Ugc3VyZT8nLFxuICAgICAnY29uZmlybURpYWxvZy5ubyc6ICdObycsXG4gICAgICdjb25maXJtRGlhbG9nLnllcyc6ICdZZXMnLFxuICAgfVxuXG4gICBnZXRNZXNzYWdlKGtleTogc3RyaW5nLCBzaWxlbnQ/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgcmV0dXJuIG9mKE1pbmltYWxUcmFuc2xhdGlvblNlcnZpY2UubWVzc2FnZXNba2V5XSk7XG4gICB9XG4gfVxuIl19
@@ -0,0 +1,179 @@
1
+ import { Component, Input, ViewChild } from '@angular/core';
2
+ import { FormControl, FormGroup } from '@angular/forms';
3
+ import { MatPaginator } from '@angular/material/paginator';
4
+ import { MatSort } from '@angular/material/sort';
5
+ import { MatTableDataSource } from '@angular/material/table';
6
+ import { debounceTime } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/material/table";
9
+ import * as i2 from "@angular/material/form-field";
10
+ import * as i3 from "@angular/material/select";
11
+ import * as i4 from "@angular/material/core";
12
+ import * as i5 from "@angular/material/sort";
13
+ import * as i6 from "@angular/material/paginator";
14
+ import * as i7 from "@angular/common";
15
+ import * as i8 from "@angular/material/input";
16
+ import * as i9 from "@angular/forms";
17
+ export class FwTableComponent {
18
+ constructor(changeDetectorRef) {
19
+ this.changeDetectorRef = changeDetectorRef;
20
+ this.columns = [];
21
+ this.dataSource = [];
22
+ this.layout = 'basic';
23
+ this.pageSize = null;
24
+ this.webCompPageSize = null;
25
+ this.sort = null;
26
+ this.sortColumn = '';
27
+ this.sortOrder = 'asc';
28
+ this.displayedColumns = [];
29
+ this.filters = new FormGroup({});
30
+ // to support updating column header labels
31
+ this.trackByIndex = i => i;
32
+ }
33
+ ngOnInit() {
34
+ this.setDataSource();
35
+ this.setColumns();
36
+ this.addFilterControls();
37
+ this.setFilter();
38
+ this.matDataSource.filterPredicate = (row, filter) => {
39
+ const filters = JSON.parse(filter);
40
+ for (const filter in filters) {
41
+ const filterValue = filters[filter];
42
+ const rowValue = row[filter];
43
+ // multi-select
44
+ if (Array.isArray(filterValue) && filterValue.length > 0 && !filterValue.includes(rowValue)) {
45
+ return false;
46
+ }
47
+ // input or select
48
+ if (!Array.isArray(filterValue) && !String(rowValue).toLowerCase().includes(String(filterValue ?? '').toLowerCase())) {
49
+ return false;
50
+ }
51
+ }
52
+ return true;
53
+ };
54
+ this.filters.valueChanges.pipe(debounceTime(200)).subscribe(() => this.setFilter());
55
+ }
56
+ ngAfterViewInit() {
57
+ this.setSort();
58
+ this.setPaginator();
59
+ }
60
+ ngOnChanges(changes) {
61
+ if (changes.columns) {
62
+ this.setColumns();
63
+ }
64
+ if (changes.dataSource) {
65
+ this.setDataSource();
66
+ }
67
+ if (changes.sort || changes.dataSource) {
68
+ this.setSort();
69
+ }
70
+ if (changes.pageSize || changes['page-size']) {
71
+ this.setPaginator();
72
+ }
73
+ }
74
+ get isCompact() {
75
+ return this.layout === 'compact';
76
+ }
77
+ get paginationSize() {
78
+ return this.pageSize || this.webCompPageSize || 0;
79
+ }
80
+ get isSortEnabled() {
81
+ return this.sort !== null;
82
+ }
83
+ addFilterControls() {
84
+ for (const column of this.columns) {
85
+ this.filters.addControl(column.key, new FormControl());
86
+ }
87
+ }
88
+ setDataSource() {
89
+ this.matDataSource = new MatTableDataSource(this.dataSource);
90
+ }
91
+ setColumns() {
92
+ this.displayedColumns = this.columns.map(column => column.key);
93
+ }
94
+ setFilter() {
95
+ this.matDataSource.filter = JSON.stringify(this.filters.value);
96
+ }
97
+ setSort() {
98
+ if (!this.matSort || this.sort === null) {
99
+ return;
100
+ }
101
+ const sortSplit = this.sort.split(' ');
102
+ this.sortColumn = sortSplit[0];
103
+ if (['asc', 'desc'].includes(sortSplit[1])) {
104
+ this.sortOrder = sortSplit[1];
105
+ }
106
+ else {
107
+ console.warn(`Sort order '${sortSplit[1]}' is not 'asc' or 'desc', defaulting to 'asc'`);
108
+ }
109
+ if (this.sortColumn) {
110
+ this.matSort.sort({ id: this.sortColumn, start: this.sortOrder, disableClear: false });
111
+ const sortHeader = this.matSort.sortables.get(this.sortColumn);
112
+ if (sortHeader) {
113
+ sortHeader._setAnimationTransitionState({ toState: 'active' });
114
+ }
115
+ else {
116
+ console.warn(`Unable to find sort column '${this.sortColumn}'. Initial sort failed.`);
117
+ }
118
+ }
119
+ this.matDataSource.sort = this.matSort;
120
+ }
121
+ setPaginator() {
122
+ // ensures ui updates correctly when paginator options change
123
+ this.changeDetectorRef.detectChanges();
124
+ this.matDataSource.paginator = this.matPaginator;
125
+ }
126
+ // necessary for web component to trigger this.filter.valueChanges
127
+ onInputFilter(event, column) {
128
+ // defer setting filter control as event.target.value is not set yet
129
+ setTimeout(() => this.filters.get(column.key).setValue(event.target.value));
130
+ }
131
+ // necessary for web component to trigger this.filter.valueChanges
132
+ onSelectFilter(event, column) {
133
+ const innerText = event.target.innerText;
134
+ this.filters.get(column.key).setValue(innerText === '- none -' ? null : innerText);
135
+ }
136
+ // necessary for web component to trigger this.filter.valueChanges
137
+ onMultiSelectFilter(event, column) {
138
+ let value = this.filters.controls[column.key].value || [];
139
+ const innerText = event.target.parentElement.innerText;
140
+ if (value.includes(innerText)) {
141
+ value = value.filter(v => v !== innerText);
142
+ }
143
+ else {
144
+ value.push(innerText);
145
+ }
146
+ this.filters.get(column.key).setValue(value.length === 1 && innerText === ''
147
+ ? null // when all checboxes have been deselected
148
+ : value);
149
+ }
150
+ }
151
+ FwTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
152
+ FwTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: FwTableComponent, selector: "fw-table", inputs: { columns: "columns", dataSource: "dataSource", layout: "layout", pageSize: "pageSize", webCompPageSize: ["page-size", "webCompPageSize"], sort: "sort" }, host: { properties: { "class.compact": "isCompact" }, classAttribute: "fw-table" }, viewQueries: [{ propertyName: "matPaginator", first: true, predicate: MatPaginator, descendants: true }, { propertyName: "matSort", first: true, predicate: MatSort, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"], components: [{ type: i1.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { type: i1.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { type: i1.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { type: i6.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }], directives: [{ type: i5.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatLabel, selector: "mat-label" }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i1.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i1.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.MatCellDef, selector: "[matCellDef]" }, { type: i1.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: i1.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { type: i1.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }] });
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableComponent, decorators: [{
154
+ type: Component,
155
+ args: [{ host: {
156
+ 'class': 'fw-table',
157
+ '[class.compact]': 'isCompact',
158
+ }, selector: 'fw-table', template: "<table mat-table [dataSource]=\"matDataSource\" matSort>\n <ng-container *ngFor=\"let column of columns; trackBy: trackByIndex\">\n <ng-container [matColumnDef]=\"column.key\">\n\n <ng-template #tableHeaders>\n <ng-container [ngSwitch]=\"column.filter?.control\">\n <ng-container *ngSwitchCase=\"'input'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <input matInput [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" (keydown)=\"$event.stopPropagation(); onInputFilter($event, column);\">\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\">\n <mat-option (click)=\"onSelectFilter($event, column);\">- none -</mat-option>\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchCase=\"'multi-select'\">\n <mat-form-field *ngIf=\"filters.get(column.key) as control\" appearance=\"outline\" (click)=\"$event.stopPropagation()\">\n <mat-label *ngIf=\"!isCompact\">{{ column.label }}</mat-label>\n <mat-select [formControl]=\"control\" [placeholder]=\"column.filter.placeholder\" multiple=\"true\">\n <mat-option *ngFor=\"let option of column.filter.options\" [value]=\"option\" (click)=\"onMultiSelectFilter($event, column);\">{{ option }}</mat-option>\n </mat-select>\n </mat-form-field>\n </ng-container>\n <ng-container *ngSwitchDefault>{{ column.label }}</ng-container>\n </ng-container>\n </ng-template>\n\n <ng-container *ngIf=\"isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <ng-container *ngIf=\"!isSortEnabled\">\n <th mat-header-cell *matHeaderCellDef>\n <ng-container [ngTemplateOutlet]=\"tableHeaders\"></ng-container>\n </th>\n </ng-container>\n\n <td mat-cell *matCellDef=\"let element\"> {{ element[column.key] }} </td>\n </ng-container>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n</table>\n<mat-paginator *ngIf=\"paginationSize > 0\" [pageSize]=\"paginationSize\"></mat-paginator>\n\n\n\n", styles: [":host{display:block;width:100%}:host:not(.compact) table.mat-table tr.mat-header-row,:host:not(.compact) table.mat-table tr.mat-row{height:56px}:host.compact table.mat-table tr.mat-header-row,:host.compact table.mat-table tr.mat-row{height:32px}:host.compact mat-paginator.mat-paginator{align-items:center;display:flex;height:32px;justify-content:flex-end}table.mat-table{width:100%}table.mat-table th,table.mat-table td{vertical-align:middle}table.mat-table th.mat-header-cell,table.mat-table th.mat-cell,table.mat-table td.mat-header-cell,table.mat-table td.mat-cell{border-bottom-color:var(--color-gray)}\n"] }]
159
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { columns: [{
160
+ type: Input
161
+ }], dataSource: [{
162
+ type: Input
163
+ }], layout: [{
164
+ type: Input
165
+ }], pageSize: [{
166
+ type: Input
167
+ }], webCompPageSize: [{
168
+ type: Input,
169
+ args: ['page-size']
170
+ }], sort: [{
171
+ type: Input
172
+ }], matPaginator: [{
173
+ type: ViewChild,
174
+ args: [MatPaginator]
175
+ }], matSort: [{
176
+ type: ViewChild,
177
+ args: [MatSort]
178
+ }] } });
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsS0FBSyxFQUFvQyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBeUI5QyxNQUFNLE9BQU8sZ0JBQWdCO0lBcUIzQixZQUNVLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBckJyQyxZQUFPLEdBQWEsRUFBRSxDQUFBO1FBQ3RCLGVBQVUsR0FBVSxFQUFFLENBQUE7UUFDdEIsV0FBTSxHQUF5QixPQUFPLENBQUE7UUFDdEMsYUFBUSxHQUFHLElBQUksQ0FBQTtRQUNKLG9CQUFlLEdBQUcsSUFBSSxDQUFBO1FBQ2pDLFNBQUksR0FBRyxJQUFJLENBQUE7UUFFWixlQUFVLEdBQUcsRUFBRSxDQUFBO1FBQ2YsY0FBUyxHQUFjLEtBQUssQ0FBQTtRQUVwQyxxQkFBZ0IsR0FBYSxFQUFFLENBQUE7UUFDL0IsWUFBTyxHQUFjLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBR3RDLDJDQUEyQztRQUMzQyxpQkFBWSxHQUFRLENBQUMs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LE9BQU87c0JBQTFCLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7IE1hdFNvcnQsIE1hdFNvcnRIZWFkZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBTb3J0T3JkZXIgPSAnYXNjJyB8ICdkZXNjJ1xuXG5pbnRlcmZhY2UgQ29sdW1uRmlsdGVyIHtcbiAgY29udHJvbDogJ2lucHV0JyB8ICdzZWxlY3QnIHwgJ211bHRpLXNlbGVjdCcsXG4gIG9wdGlvbnM/OiBzdHJpbmdbXSxcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmcsXG59XG5cbmludGVyZmFjZSBDb2x1bW4ge1xuICBsYWJlbDogc3RyaW5nLFxuICBrZXk6IHN0cmluZyxcbiAgZmlsdGVyPzogQ29sdW1uRmlsdGVyLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgaG9zdDoge1xuICAgICdjbGFzcyc6ICdmdy10YWJsZScsXG4gICAgJ1tjbGFzcy5jb21wYWN0XSc6ICdpc0NvbXBhY3QnLFxuICB9LFxuICBzZWxlY3RvcjogJ2Z3LXRhYmxlJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgRndUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgY29sdW1uczogQ29sdW1uW10gPSBbXVxuICBASW5wdXQoKSBkYXRhU291cmNlOiBhbnlbXSA9IFtdXG4gIEBJbnB1dCgpIGxheW91dD86ICdiYXNpYycgfCAnY29tcGFjdCcgPSAnYmFzaWMnXG4gIEBJbnB1dCgpIHBhZ2VTaXplID0gbnVsbFxuICBASW5wdXQoJ3BhZ2Utc2l6ZScpIHdlYkNvbXBQYWdlU2l6ZSA9IG51bGxcbiAgQElucHV0KCkgc29ydCA9IG51bGxcblxuICBwcml2YXRlIHNvcnRDb2x1bW4gPSAnJ1xuICBwcml2YXRlIHNvcnRPcmRlcjogU29ydE9yZGVyID0gJ2FzYydcblxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdXG4gIGZpbHRlcnM6IEZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pXG4gIG1hdERhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxhbnk+XG5cbiAgLy8gdG8gc3VwcG9ydCB1cGRhdGluZyBjb2x1bW4gaGVhZGVyIGxhYmVsc1xuICB0cmFja0J5SW5kZXg6IGFueSA9IGkgPT4gaVxuXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBtYXRQYWdpbmF0b3I6IE1hdFBhZ2luYXRvclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIG1hdFNvcnQ6IE1hdFNvcnRcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGFTb3VyY2UoKTtcbiAgICB0aGlzLnNldENvbHVtbnMoKTtcbiAgICB0aGlzLmFkZEZpbHRlckNvbnRyb2xzKCk7XG4gICAgdGhpcy5zZXRGaWx0ZXIoKTtcbiAgICB0aGlzLm1hdERhdGFTb3VyY2UuZmlsdGVyUHJlZGljYXRlID0gKHJvdywgZmlsdGVyKSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJzID0gSlNPTi5wYXJzZShmaWx0ZXIpO1xuICAgICAgZm9yIChjb25zdCBmaWx0ZXIgaW4gZmlsdGVycykge1xuICAgICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IGZpbHRlcnNbZmlsdGVyXTtcbiAgICAgICAgY29uc3Qgcm93VmFsdWUgPSByb3dbZmlsdGVyXTtcbiAgICAgICAgLy8gbXVsdGktc2VsZWN0XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpbHRlclZhbHVlKSAmJiBmaWx0ZXJWYWx1ZS5sZW5ndGggPiAwICYmICFmaWx0ZXJWYWx1ZS5pbmNsdWRlcyhyb3dWYWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW5wdXQgb3Igc2VsZWN0XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShmaWx0ZXJWYWx1ZSkgJiYgIVN0cmluZyhyb3dWYWx1ZSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhTdHJpbmcoZmlsdGVyVmFsdWUgPz8gJycpLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICAgIHRoaXMuZmlsdGVycy52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0RmlsdGVyKCkpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc2V0U29ydCgpO1xuICAgIHRoaXMuc2V0UGFnaW5hdG9yKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuY29sdW1ucykge1xuICAgICAgdGhpcy5zZXRDb2x1bW5zKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmRhdGFTb3VyY2UpIHtcbiAgICAgIHRoaXMuc2V0RGF0YVNvdXJjZSgpO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5zb3J0IHx8IGNoYW5nZXMuZGF0YVNvdXJjZSkge1xuICAgICAgdGhpcy5zZXRTb3J0KCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLnBhZ2VTaXplIHx8IGNoYW5nZXNbJ3BhZ2Utc2l6ZSddKSB7XG4gICAgICB0aGlzLnNldFBhZ2luYXRvcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc0NvbXBhY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGF5b3V0ID09PSAnY29tcGFjdCc7XG4gIH1cblxuICBnZXQgcGFnaW5hdGlvblNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlU2l6ZSB8fCB0aGlzLndlYkNvbXBQYWdlU2l6ZSB8fCAwO1xuICB9XG5cbiAgZ2V0IGlzU29ydEVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc29ydCAhPT0gbnVsbDtcbiAgfVxuXG4gIGFkZEZpbHRlckNvbnRyb2xzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgY29sdW1uIG9mIHRoaXMuY29sdW1ucykge1xuICAgICAgdGhpcy5maWx0ZXJzLmFkZENvbnRyb2woY29sdW1uLmtleSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIH1cbiAgfVxuXG4gIHNldERhdGFTb3VyY2UoKTogdm9pZCB7XG4gICAgdGhpcy5tYXREYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZSh0aGlzLmRhdGFTb3VyY2UpO1xuICB9XG5cbiAgc2V0Q29sdW1ucygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKGNvbHVtbiA9PiBjb2x1bW4ua2V5KTtcbiAgfVxuXG4gIHNldEZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLm1hdERhdGFTb3VyY2UuZmlsdGVyID0gSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJzLnZhbHVlKTtcbiAgfVxuXG4gIHNldFNvcnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm1hdFNvcnQgfHwgdGhpcy5zb3J0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNvcnRTcGxpdCA9IHRoaXMuc29ydC5zcGxpdCgnICcpO1xuICAgIHRoaXMuc29ydENvbHVtbiA9IHNvcnRTcGxpdFswXTtcbiAgICBpZiAoWydhc2MnLCAnZGVzYyddLmluY2x1ZGVzKHNvcnRTcGxpdFsxXSkpIHtcbiAgICAgIHRoaXMuc29ydE9yZGVyID0gc29ydFNwbGl0WzFdIGFzIFNvcnRPcmRlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS53YXJuKGBTb3J0IG9yZGVyICcke3NvcnRTcGxpdFsxXX0nIGlzIG5vdCAnYXNjJyBvciAnZGVzYycsIGRlZmF1bHRpbmcgdG8gJ2FzYydgKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc29ydENvbHVtbikge1xuICAgICAgdGhpcy5tYXRTb3J0LnNvcnQoeyBpZDogdGhpcy5zb3J0Q29sdW1uLCBzdGFydDogdGhpcy5zb3J0T3JkZXIsIGRpc2FibGVDbGVhcjogZmFsc2UgfSk7XG4gICAgICBjb25zdCBzb3J0SGVhZGVyID0gdGhpcy5tYXRTb3J0LnNvcnRhYmxlcy5nZXQodGhpcy5zb3J0Q29sdW1uKSBhcyBNYXRTb3J0SGVhZGVyO1xuICAgICAgaWYgKHNvcnRIZWFkZXIpIHtcbiAgICAgICAgc29ydEhlYWRlci5fc2V0QW5pbWF0aW9uVHJhbnNpdGlvblN0YXRlKHsgdG9TdGF0ZTogJ2FjdGl2ZScgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oYFVuYWJsZSB0byBmaW5kIHNvcnQgY29sdW1uICcke3RoaXMuc29ydENvbHVtbn0nLiBJbml0aWFsIHNvcnQgZmFpbGVkLmApO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLm1hdERhdGFTb3VyY2Uuc29ydCA9IHRoaXMubWF0U29ydDtcbiAgfVxuXG4gIHNldFBhZ2luYXRvcigpOiB2b2lkIHtcbiAgICAvLyBlbnN1cmVzIHVpIHVwZGF0ZXMgY29ycmVjdGx5IHdoZW4gcGFnaW5hdG9yIG9wdGlvbnMgY2hhbmdlXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5tYXREYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMubWF0UGFnaW5hdG9yO1xuICB9XG5cbiAgLy8gbmVjZXNzYXJ5IGZvciB3ZWIgY29tcG9uZW50IHRvIHRyaWdnZXIgdGhpcy5maWx0ZXIudmFsdWVDaGFuZ2VzXG4gIG9uSW5wdXRGaWx0ZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGNvbHVtbjogQ29sdW1uKTogdm9pZCB7XG4gICAgLy8gZGVmZXIgc2V0dGluZyBmaWx0ZXIgY29udHJvbCBhcyBldmVudC50YXJnZXQudmFsdWUgaXMgbm90IHNldCB5ZXRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZSkpO1xuICB9XG5cbiAgLy8gbmVjZXNzYXJ5IGZvciB3ZWIgY29tcG9uZW50IHRvIHRyaWdnZXIgdGhpcy5maWx0ZXIudmFsdWVDaGFuZ2VzXG4gIG9uU2VsZWN0RmlsdGVyKGV2ZW50OiBNb3VzZUV2ZW50LCBjb2x1bW46IENvbHVtbik6IHZvaWQge1xuICAgIGNvbnN0IGlubmVyVGV4dCA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkuaW5uZXJUZXh0O1xuICAgIHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoaW5uZXJUZXh0ID09PSAnLSBub25lIC0nID8gbnVsbCA6IGlubmVyVGV4dCk7XG4gIH1cblxuICAvLyBuZWNlc3NhcnkgZm9yIHdlYiBjb21wb25lbnQgdG8gdHJpZ2dlciB0aGlzLmZpbHRlci52YWx1ZUNoYW5nZXNcbiAgb25NdWx0aVNlbGVjdEZpbHRlcihldmVudDogTW91c2VFdmVudCwgY29sdW1uOiBDb2x1bW4pOiB2b2lkIHtcbiAgICBsZXQgdmFsdWUgPSB0aGlzLmZpbHRlcnMuY29udHJvbHNbY29sdW1uLmtleV0udmFsdWUgfHwgW107XG4gICAgY29uc3QgaW5uZXJUZXh0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS5wYXJlbnRFbGVtZW50LmlubmVyVGV4dDtcbiAgICBpZiAodmFsdWUuaW5jbHVkZXMoaW5uZXJUZXh0KSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5maWx0ZXIodiA9PiB2ICE9PSBpbm5lclRleHQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWx1ZS5wdXNoKGlubmVyVGV4dCk7XG4gICAgfVxuICAgIHRoaXMuZmlsdGVycy5nZXQoY29sdW1uLmtleSkuc2V0VmFsdWUoXG4gICAgICB2YWx1ZS5sZW5ndGggPT09IDEgJiYgaW5uZXJUZXh0ID09PSAnJ1xuICAgICAgICA/IG51bGwgLy8gd2hlbiBhbGwgY2hlY2JveGVzIGhhdmUgYmVlbiBkZXNlbGVjdGVkXG4gICAgICAgIDogdmFsdWVcbiAgICApO1xuICB9XG59XG4iLCI8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1hdERhdGFTb3VyY2VcIiBtYXRTb3J0PlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uczsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5rZXlcIj5cblxuICAgICAgPG5nLXRlbXBsYXRlICN0YWJsZUhlYWRlcnM+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbHVtbi5maWx0ZXI/LmNvbnRyb2xcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaW5wdXQnXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJmaWx0ZXJzLmdldChjb2x1bW4ua2V5KSBhcyBjb250cm9sXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgKm5nSWY9XCIhaXNDb21wYWN0XCI+e3sgY29sdW1uLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIFtwbGFjZWhvbGRlcl09XCJjb2x1bW4uZmlsdGVyLnBsYWNlaG9sZGVyXCIgKGtleWRvd24pPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyBvbklucHV0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImZpbHRlcnMuZ2V0KGNvbHVtbi5rZXkpIGFzIGNvbnRyb2xcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFpc0NvbXBhY3RcIj57eyBjb2x1bW4ubGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwiY29sdW1uLmZpbHRlci5wbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIChjbGljayk9XCJvblNlbGVjdEZpbHRlcigkZXZlbnQsIGNvbHVtbik7XCI+LSBub25lIC08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBjb2x1bW4uZmlsdGVyLm9wdGlvbnNcIiBbdmFsdWVdPVwib3B0aW9uXCIgKGNsaWNrKT1cIm9uU2VsZWN0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj57eyBvcHRpb24gfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ211bHRpLXNlbGVjdCdcIj5cbiAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImZpbHRlcnMuZ2V0KGNvbHVtbi5rZXkpIGFzIGNvbnRyb2xcIiBhcHBlYXJhbmNlPVwib3V0bGluZVwiIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbCAqbmdJZj1cIiFpc0NvbXBhY3RcIj57eyBjb2x1bW4ubGFiZWwgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwiY29sdW1uLmZpbHRlci5wbGFjZWhvbGRlclwiIG11bHRpcGxlPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgY29sdW1uLmZpbHRlci5vcHRpb25zXCIgW3ZhbHVlXT1cIm9wdGlvblwiIChjbGljayk9XCJvbk11bHRpU2VsZWN0RmlsdGVyKCRldmVudCwgY29sdW1uKTtcIj57eyBvcHRpb24gfX08L21hdC1vcHRpb24+XG4gICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0Pnt7IGNvbHVtbi5sYWJlbCB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NvcnRFbmFibGVkXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGFibGVIZWFkZXJzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc1NvcnRFbmFibGVkXCI+XG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0YWJsZUhlYWRlcnNcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC90aD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7eyBlbGVtZW50W2NvbHVtbi5rZXldIH19IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxuPC90YWJsZT5cbjxtYXQtcGFnaW5hdG9yICpuZ0lmPVwicGFnaW5hdGlvblNpemUgPiAwXCIgW3BhZ2VTaXplXT1cInBhZ2luYXRpb25TaXplXCI+PC9tYXQtcGFnaW5hdG9yPlxuXG5cblxuIl19
@@ -0,0 +1,56 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { MatInputModule } from '@angular/material/input';
5
+ import { MatPaginatorModule } from '@angular/material/paginator';
6
+ import { MatSelectModule } from '@angular/material/select';
7
+ import { MatSortModule } from '@angular/material/sort';
8
+ import { MatTableModule } from '@angular/material/table';
9
+ import { FwTableComponent } from './table.component';
10
+ import * as i0 from "@angular/core";
11
+ export class FwTableModule {
12
+ }
13
+ FwTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
14
+ FwTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, declarations: [FwTableComponent], imports: [CommonModule,
15
+ FormsModule,
16
+ ReactiveFormsModule,
17
+ MatInputModule,
18
+ MatPaginatorModule,
19
+ MatSelectModule,
20
+ MatSortModule,
21
+ MatTableModule], exports: [FwTableComponent] });
22
+ FwTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, imports: [[
23
+ CommonModule,
24
+ FormsModule,
25
+ ReactiveFormsModule,
26
+ MatInputModule,
27
+ MatPaginatorModule,
28
+ MatSelectModule,
29
+ MatSortModule,
30
+ MatTableModule,
31
+ ]] });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FwTableModule, decorators: [{
33
+ type: NgModule,
34
+ args: [{
35
+ imports: [
36
+ CommonModule,
37
+ FormsModule,
38
+ ReactiveFormsModule,
39
+ MatInputModule,
40
+ MatPaginatorModule,
41
+ MatSelectModule,
42
+ MatSortModule,
43
+ MatTableModule,
44
+ ],
45
+ exports: [
46
+ FwTableComponent,
47
+ ],
48
+ declarations: [
49
+ FwTableComponent,
50
+ ],
51
+ entryComponents: [
52
+ FwTableComponent,
53
+ ]
54
+ }]
55
+ }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBdUJyRCxNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQU50QixnQkFBZ0IsYUFiaEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGtCQUFrQjtRQUNsQixlQUFlO1FBQ2YsYUFBYTtRQUNiLGNBQWMsYUFHZCxnQkFBZ0I7NEdBU1AsYUFBYSxZQXBCZjtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixjQUFjO1NBQ2Y7NEZBV1UsYUFBYTtrQkFyQnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZ0JBQWdCO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxlQUFlLEVBQUU7d0JBQ2YsZ0JBQWdCO3FCQUNqQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5cbmltcG9ydCB7IEZ3VGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIE1hdFNvcnRNb2R1bGUsXG4gICAgTWF0VGFibGVNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGd1RhYmxlQ29tcG9uZW50LFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGd1RhYmxlQ29tcG9uZW50LFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICBGd1RhYmxlQ29tcG9uZW50LFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZ3VGFibGVNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import './polyfills';
2
+ import { enableProdMode, NgModule } from '@angular/core';
3
+ import { createCustomElement } from '@angular/elements';
4
+ import { BrowserModule } from '@angular/platform-browser';
5
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
6
+ import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
7
+ import * as i0 from "@angular/core";
8
+ let elementAppModule;
9
+ class ElementAppModule {
10
+ constructor(compiler, injector) {
11
+ this.compiler = compiler;
12
+ this.injector = injector;
13
+ elementAppModule = this;
14
+ }
15
+ ngDoBootstrap() { }
16
+ }
17
+ ElementAppModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, deps: [{ token: i0.Compiler }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.NgModule });
18
+ ElementAppModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, imports: [BrowserAnimationsModule,
19
+ BrowserModule] });
20
+ ElementAppModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, imports: [[
21
+ BrowserAnimationsModule,
22
+ BrowserModule,
23
+ ]] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ElementAppModule, decorators: [{
25
+ type: NgModule,
26
+ args: [{
27
+ imports: [
28
+ BrowserAnimationsModule,
29
+ BrowserModule,
30
+ ],
31
+ }]
32
+ }], ctorParameters: function () { return [{ type: i0.Compiler }, { type: i0.Injector }]; } });
33
+ function initializeApp() {
34
+ enableProdMode();
35
+ return platformBrowserDynamic().bootstrapModule(ElementAppModule)
36
+ .catch(error => {
37
+ console.error(error);
38
+ throw error;
39
+ }).then(() => void 0);
40
+ }
41
+ let initPromise;
42
+ // https://github.com/angular/angular/blob/a92a89b0eb127a59d7e071502b5850e57618ec2d/aio/src/app/custom-elements/elements-loader.ts#L70
43
+ export function registerElements(...modules) {
44
+ if (!initPromise) {
45
+ initPromise = initializeApp();
46
+ }
47
+ const elementSelectors = [];
48
+ return initPromise.then(() => Promise.all(modules.map(module => {
49
+ return elementAppModule.compiler.compileModuleAndAllComponentsAsync(module).then(compiledModule => {
50
+ const moduleRef = compiledModule.ngModuleFactory.create(elementAppModule.injector);
51
+ for (const { selector, componentType } of compiledModule.componentFactories) {
52
+ if (selector.startsWith('fw-')) {
53
+ const element = createCustomElement(componentType, { injector: moduleRef.injector });
54
+ customElements.define(selector, element);
55
+ elementSelectors.push(selector);
56
+ }
57
+ }
58
+ });
59
+ }))).then(() => elementSelectors);
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9lbGVtZW50cy9zcmMvZWxlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUF5QixjQUFjLEVBQVksUUFBUSxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFM0UsSUFBSSxnQkFBa0MsQ0FBQztBQUV2QyxNQU1NLGdCQUFnQjtJQUNwQixZQUNTLFFBQWtCLEVBQ2xCLFFBQWtCO1FBRGxCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUV6QixnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELGFBQWEsS0FBVSxDQUFDOzs4R0FScEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsWUFKbEIsdUJBQXVCO1FBQ3ZCLGFBQWE7K0dBR1gsZ0JBQWdCLFlBTFg7WUFDUCx1QkFBdUI7WUFDdkIsYUFBYTtTQUNkOzRGQUVHLGdCQUFnQjtrQkFOckIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2QixhQUFhO3FCQUNkO2lCQUNGOztBQVlELFNBQVMsYUFBYTtJQUNwQixjQUFjLEVBQUUsQ0FBQztJQUNqQixPQUFPLHNCQUFzQixFQUFFLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDO1NBQzlELEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMxQixDQUFDO0FBRUQsSUFBSSxXQUEwQixDQUFDO0FBRS9CLHNJQUFzSTtBQUN0SSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsR0FBRyxPQUF3QjtJQUMxRCxJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLFdBQVcsR0FBRyxhQUFhLEVBQUUsQ0FBQztLQUMvQjtJQUNELE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBQzVCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDN0QsT0FBTyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsa0NBQWtDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQ2hHLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25GLEtBQUssTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsSUFBSSxjQUFjLENBQUMsa0JBQWtCLEVBQUU7Z0JBQzNFLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDOUIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUNyRixjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDekMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUNqQzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAnLi9wb2x5ZmlsbHMnO1xuaW1wb3J0IHsgQ29tcGlsZXIsIERvQm9vdHN0cmFwLCBlbmFibGVQcm9kTW9kZSwgSW5qZWN0b3IsIE5nTW9kdWxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xuaW1wb3J0IHsgQnJvd3Nlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgcGxhdGZvcm1Ccm93c2VyRHluYW1pYyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXItZHluYW1pYyc7XG5cbmxldCBlbGVtZW50QXBwTW9kdWxlOiBFbGVtZW50QXBwTW9kdWxlO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgQnJvd3Nlck1vZHVsZSxcbiAgXSxcbn0pXG5jbGFzcyBFbGVtZW50QXBwTW9kdWxlIGltcGxlbWVudHMgRG9Cb290c3RyYXAge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgY29tcGlsZXI6IENvbXBpbGVyLFxuICAgIHB1YmxpYyBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIGVsZW1lbnRBcHBNb2R1bGUgPSB0aGlzO1xuICB9XG5cbiAgbmdEb0Jvb3RzdHJhcCgpOiB2b2lkIHt9XG59XG5cbmZ1bmN0aW9uIGluaXRpYWxpemVBcHAoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGVuYWJsZVByb2RNb2RlKCk7XG4gIHJldHVybiBwbGF0Zm9ybUJyb3dzZXJEeW5hbWljKCkuYm9vdHN0cmFwTW9kdWxlKEVsZW1lbnRBcHBNb2R1bGUpXG4gICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSkudGhlbigoKSA9PiB2b2lkIDApO1xufVxuXG5sZXQgaW5pdFByb21pc2U6IFByb21pc2U8dm9pZD47XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi9hOTJhODliMGViMTI3YTU5ZDdlMDcxNTAyYjU4NTBlNTc2MThlYzJkL2Fpby9zcmMvYXBwL2N1c3RvbS1lbGVtZW50cy9lbGVtZW50cy1sb2FkZXIudHMjTDcwXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJFbGVtZW50cyguLi5tb2R1bGVzOiBUeXBlPHVua25vd24+W10pOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIGlmICghaW5pdFByb21pc2UpIHtcbiAgICBpbml0UHJvbWlzZSA9IGluaXRpYWxpemVBcHAoKTtcbiAgfVxuICBjb25zdCBlbGVtZW50U2VsZWN0b3JzID0gW107XG4gIHJldHVybiBpbml0UHJvbWlzZS50aGVuKCgpID0+IFByb21pc2UuYWxsKG1vZHVsZXMubWFwKG1vZHVsZSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRBcHBNb2R1bGUuY29tcGlsZXIuY29tcGlsZU1vZHVsZUFuZEFsbENvbXBvbmVudHNBc3luYyhtb2R1bGUpLnRoZW4oY29tcGlsZWRNb2R1bGUgPT4ge1xuICAgICAgY29uc3QgbW9kdWxlUmVmID0gY29tcGlsZWRNb2R1bGUubmdNb2R1bGVGYWN0b3J5LmNyZWF0ZShlbGVtZW50QXBwTW9kdWxlLmluamVjdG9yKTtcbiAgICAgIGZvciAoY29uc3QgeyBzZWxlY3RvciwgY29tcG9uZW50VHlwZSB9IG9mIGNvbXBpbGVkTW9kdWxlLmNvbXBvbmVudEZhY3Rvcmllcykge1xuICAgICAgICBpZiAoc2VsZWN0b3Iuc3RhcnRzV2l0aCgnZnctJykpIHtcbiAgICAgICAgICBjb25zdCBlbGVtZW50ID0gY3JlYXRlQ3VzdG9tRWxlbWVudChjb21wb25lbnRUeXBlLCB7IGluamVjdG9yOiBtb2R1bGVSZWYuaW5qZWN0b3IgfSk7XG4gICAgICAgICAgY3VzdG9tRWxlbWVudHMuZGVmaW5lKHNlbGVjdG9yLCBlbGVtZW50KTtcbiAgICAgICAgICBlbGVtZW50U2VsZWN0b3JzLnB1c2goc2VsZWN0b3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pKSkudGhlbigoKSA9PiBlbGVtZW50U2VsZWN0b3JzKTtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5d2hlZWwtaW8tdmlzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2ZseXdoZWVsLWlvLXZpc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -0,0 +1,25 @@
1
+ export * from './components/button-group/button-group.component';
2
+ export * from './components/button-group/button-group.module';
3
+ export * from './components/button/button.component';
4
+ export * from './components/button/button.module';
5
+ export * from './components/dialog/choice-dialog.component';
6
+ export * from './components/dialog/confirm-dialog.component';
7
+ export * from './components/dialog/dialog.module';
8
+ export * from './components/dialog/dialog.service';
9
+ export * from './components/dialog/error-dialog.component';
10
+ export * from './components/dialog/portal-dialog.component';
11
+ export * from './components/icon/icon.component';
12
+ export * from './components/icon/icon.module';
13
+ export * from './components/notification/notification-container/notification-container.component';
14
+ export * from './components/notification/notification.module';
15
+ export * from './components/notification/notification.service';
16
+ export * from './components/notification/notification/notification.component';
17
+ export * from './components/notification/notification/notification.model';
18
+ export * from './components/popover/popover-trigger.component';
19
+ export * from './components/popover/popover-trigger.directive';
20
+ export * from './components/popover/popover.component';
21
+ export * from './components/popover/popover.module';
22
+ export * from './components/table/table.component';
23
+ export * from './components/table/table.module';
24
+ export * from './components/shared/translation.service';
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsbUZBQW1GLENBQUM7QUFDbEcsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYywyREFBMkQsQ0FBQztBQUMxRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9idXR0b24tZ3JvdXAvYnV0dG9uLWdyb3VwLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvY2hvaWNlLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RpYWxvZy9lcnJvci1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kaWFsb2cvcG9ydGFsLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24tY29udGFpbmVyL25vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9wb3BvdmVyL3BvcG92ZXItdHJpZ2dlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3BvcG92ZXIvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvdGFibGUvdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy90YWJsZS90YWJsZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL3NoYXJlZC90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbiJdfQ==