@cqa-lib/cqa-ui 0.1.1 → 1.0.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 (121) hide show
  1. package/esm2020/lib/action-menu/action-menu.component.mjs +42 -0
  2. package/esm2020/lib/assets/images/image-assets.constants.mjs +28 -0
  3. package/esm2020/lib/badge/badge.component.mjs +141 -0
  4. package/esm2020/lib/button/button.component.mjs +232 -0
  5. package/esm2020/lib/column-visibility/column-visibility.component.mjs +69 -0
  6. package/esm2020/lib/dashboards/chart-card/chart-card.component.mjs +22 -0
  7. package/esm2020/lib/dashboards/coverage-module-card/coverage-module-card.component.mjs +104 -0
  8. package/esm2020/lib/dashboards/dashboard-header/dashboard-header.component.mjs +82 -0
  9. package/esm2020/lib/dashboards/failed-test-cases-card/failed-test-cases-card.component.mjs +60 -0
  10. package/esm2020/lib/dashboards/heat-error-map-cell/heat-error-map-cell.component.mjs +45 -0
  11. package/esm2020/lib/dashboards/insight-card/insight-card.component.mjs +201 -0
  12. package/esm2020/lib/dashboards/metrics-card/metrics-block.component.mjs +41 -0
  13. package/esm2020/lib/dashboards/metrics-card/metrics-card-item.interface.mjs +2 -0
  14. package/esm2020/lib/dashboards/metrics-card/metrics-card.component.mjs +62 -0
  15. package/esm2020/lib/dashboards/progress-text-card/progress-text-card.component.mjs +46 -0
  16. package/esm2020/lib/dashboards/test-distribution-card/test-distribution-card.component.mjs +35 -0
  17. package/esm2020/lib/dialog/dialog.component.mjs +127 -0
  18. package/esm2020/lib/dropdown-button/dropdown-button.component.mjs +189 -0
  19. package/esm2020/lib/dynamic-select/dynamic-select-field.component.mjs +160 -0
  20. package/esm2020/lib/empty-state/empty-state.component.mjs +37 -0
  21. package/esm2020/lib/filters/dynamic-filter/dynamic-filter.component.mjs +239 -0
  22. package/esm2020/lib/full-table-loader/full-table-loader.component.mjs +16 -0
  23. package/esm2020/lib/inline-sort/inline-sort.component.mjs +58 -0
  24. package/esm2020/lib/other-button/other-button.component.mjs +76 -0
  25. package/esm2020/lib/pagination/pagination.component.mjs +102 -0
  26. package/{dist/cqa-ui/esm2020 → esm2020}/lib/search-bar/search-bar.component.mjs +3 -3
  27. package/{dist/cqa-ui/esm2020 → esm2020}/lib/segment-control/segment-control.component.mjs +3 -3
  28. package/esm2020/lib/selected-filters/selected-filters.component.mjs +27 -0
  29. package/esm2020/lib/table/dynamic-table/dynamic-cell.directive.mjs +35 -0
  30. package/esm2020/lib/table/dynamic-table/dynamic-table.component.mjs +258 -0
  31. package/esm2020/lib/table-action-toolbar/table-action-toolbar.component.mjs +52 -0
  32. package/esm2020/lib/table-data-loader/table-data-loader.component.mjs +19 -0
  33. package/esm2020/lib/templates/table-template.component.mjs +365 -0
  34. package/esm2020/lib/ui-kit.module.mjs +248 -0
  35. package/esm2020/lib/utils/metadata-colors.util.mjs +100 -0
  36. package/esm2020/lib/utils/tw-overlay-container.mjs +22 -0
  37. package/esm2020/public-api.mjs +38 -0
  38. package/fesm2015/cqa-lib-cqa-ui.mjs +3661 -0
  39. package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -0
  40. package/fesm2020/cqa-lib-cqa-ui.mjs +3615 -0
  41. package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -0
  42. package/lib/action-menu/action-menu.component.d.ts +17 -0
  43. package/lib/assets/images/image-assets.constants.d.ts +20 -0
  44. package/lib/badge/badge.component.d.ts +25 -0
  45. package/{dist/cqa-ui/lib → lib}/button/button.component.d.ts +6 -5
  46. package/lib/column-visibility/column-visibility.component.d.ts +33 -0
  47. package/lib/dashboards/chart-card/chart-card.component.d.ts +8 -0
  48. package/lib/dashboards/coverage-module-card/coverage-module-card.component.d.ts +44 -0
  49. package/lib/dashboards/dashboard-header/dashboard-header.component.d.ts +30 -0
  50. package/lib/dashboards/failed-test-cases-card/failed-test-cases-card.component.d.ts +28 -0
  51. package/lib/dashboards/heat-error-map-cell/heat-error-map-cell.component.d.ts +14 -0
  52. package/lib/dashboards/insight-card/insight-card.component.d.ts +73 -0
  53. package/lib/dashboards/metrics-card/metrics-block.component.d.ts +12 -0
  54. package/lib/dashboards/metrics-card/metrics-card-item.interface.d.ts +12 -0
  55. package/lib/dashboards/metrics-card/metrics-card.component.d.ts +17 -0
  56. package/lib/dashboards/progress-text-card/progress-text-card.component.d.ts +13 -0
  57. package/lib/dashboards/test-distribution-card/test-distribution-card.component.d.ts +29 -0
  58. package/lib/dropdown-button/dropdown-button.component.d.ts +32 -0
  59. package/lib/dynamic-select/dynamic-select-field.component.d.ts +43 -0
  60. package/lib/empty-state/empty-state.component.d.ts +20 -0
  61. package/lib/filters/dynamic-filter/dynamic-filter.component.d.ts +56 -0
  62. package/lib/full-table-loader/full-table-loader.component.d.ts +6 -0
  63. package/lib/inline-sort/inline-sort.component.d.ts +12 -0
  64. package/lib/other-button/other-button.component.d.ts +37 -0
  65. package/lib/pagination/pagination.component.d.ts +37 -0
  66. package/lib/selected-filters/selected-filters.component.d.ts +17 -0
  67. package/lib/table/dynamic-table/dynamic-cell.directive.d.ts +16 -0
  68. package/lib/table/dynamic-table/dynamic-table.component.d.ts +72 -0
  69. package/lib/table-action-toolbar/table-action-toolbar.component.d.ts +34 -0
  70. package/lib/table-data-loader/table-data-loader.component.d.ts +7 -0
  71. package/lib/templates/table-template.component.d.ts +90 -0
  72. package/lib/ui-kit.module.d.ts +52 -0
  73. package/lib/utils/metadata-colors.util.d.ts +50 -0
  74. package/lib/utils/tw-overlay-container.d.ts +12 -0
  75. package/package.json +23 -49
  76. package/public-api.d.ts +37 -0
  77. package/src/lib/assets/images/.gitkeep +0 -0
  78. package/src/lib/assets/images/DashboardIcon.png +0 -0
  79. package/src/lib/assets/images/FilesIcon.png +0 -0
  80. package/src/lib/assets/images/README.md +66 -0
  81. package/src/lib/assets/images/ReportsIcon.png +0 -0
  82. package/src/lib/assets/images/SearchIcon.png +0 -0
  83. package/src/lib/assets/images/StepsIcon.png +0 -0
  84. package/src/lib/assets/images/TestCaseIcon.png +0 -0
  85. package/src/lib/assets/images/analytics-chart-icon.svg +11 -0
  86. package/src/lib/assets/images/checklist-add-icon.svg +10 -0
  87. package/src/lib/assets/images/document-gear-icon.svg +9 -0
  88. package/src/lib/assets/images/empty-state-default-icon.svg +8 -0
  89. package/src/lib/assets/images/image-assets.constants.ts +38 -0
  90. package/src/lib/assets/images/search-debug-icon.svg +8 -0
  91. package/src/lib/assets/images/test-case-icon.svg +9 -0
  92. package/src/lib/assets/images/upload-folder-icon.svg +7 -0
  93. package/src/lib/utils/metadata-colors.constants.js +33 -0
  94. package/storybook-static/assets/images/README.md +66 -0
  95. package/styles.css +1 -0
  96. package/dist/cqa-ui/README.md +0 -226
  97. package/dist/cqa-ui/esm2020/lib/button/button.component.mjs +0 -257
  98. package/dist/cqa-ui/esm2020/lib/dialog/dialog.component.mjs +0 -127
  99. package/dist/cqa-ui/esm2020/lib/ui-kit.module.mjs +0 -69
  100. package/dist/cqa-ui/esm2020/public-api.mjs +0 -10
  101. package/dist/cqa-ui/fesm2015/cqa-lib-cqa-ui.mjs +0 -895
  102. package/dist/cqa-ui/fesm2015/cqa-lib-cqa-ui.mjs.map +0 -1
  103. package/dist/cqa-ui/fesm2020/cqa-lib-cqa-ui.mjs +0 -881
  104. package/dist/cqa-ui/fesm2020/cqa-lib-cqa-ui.mjs.map +0 -1
  105. package/dist/cqa-ui/lib/ui-kit.module.d.ts +0 -15
  106. package/dist/cqa-ui/package.json +0 -56
  107. package/dist/cqa-ui/public-api.d.ts +0 -9
  108. package/dist/cqa-ui/styles.css +0 -1
  109. /package/{dist/cqa-ui/cqa-lib-cqa-ui.d.ts → cqa-lib-cqa-ui.d.ts} +0 -0
  110. /package/{dist/cqa-ui/esm2020 → esm2020}/cqa-lib-cqa-ui.mjs +0 -0
  111. /package/{dist/cqa-ui/esm2020 → esm2020}/lib/dialog/dialog-ref.mjs +0 -0
  112. /package/{dist/cqa-ui/esm2020 → esm2020}/lib/dialog/dialog.models.mjs +0 -0
  113. /package/{dist/cqa-ui/esm2020 → esm2020}/lib/dialog/dialog.service.mjs +0 -0
  114. /package/{dist/cqa-ui/esm2020 → esm2020}/lib/dialog/dialog.tokens.mjs +0 -0
  115. /package/{dist/cqa-ui/lib → lib}/dialog/dialog-ref.d.ts +0 -0
  116. /package/{dist/cqa-ui/lib → lib}/dialog/dialog.component.d.ts +0 -0
  117. /package/{dist/cqa-ui/lib → lib}/dialog/dialog.models.d.ts +0 -0
  118. /package/{dist/cqa-ui/lib → lib}/dialog/dialog.service.d.ts +0 -0
  119. /package/{dist/cqa-ui/lib → lib}/dialog/dialog.tokens.d.ts +0 -0
  120. /package/{dist/cqa-ui/lib → lib}/search-bar/search-bar.component.d.ts +0 -0
  121. /package/{dist/cqa-ui/lib → lib}/segment-control/segment-control.component.d.ts +0 -0
@@ -0,0 +1,248 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { MatIconModule } from '@angular/material/icon';
5
+ import { MatTooltipModule } from '@angular/material/tooltip';
6
+ import { MatMenuModule } from '@angular/material/menu';
7
+ import { MatButtonModule } from '@angular/material/button';
8
+ import { MatFormFieldModule } from '@angular/material/form-field';
9
+ import { MatSelectModule } from '@angular/material/select';
10
+ import { MatOptionModule } from '@angular/material/core';
11
+ import { MatCheckboxModule } from '@angular/material/checkbox';
12
+ import { MatRadioModule } from '@angular/material/radio';
13
+ import { MatDatepickerModule } from '@angular/material/datepicker';
14
+ import { MatNativeDateModule } from '@angular/material/core';
15
+ import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
16
+ import { OverlayModule, OverlayContainer } from '@angular/cdk/overlay';
17
+ import { PortalModule } from '@angular/cdk/portal';
18
+ import { ReactiveFormsModule } from '@angular/forms';
19
+ import { ButtonComponent } from './button/button.component';
20
+ import { SearchBarComponent } from './search-bar/search-bar.component';
21
+ import { SegmentControlComponent } from './segment-control/segment-control.component';
22
+ import { DialogComponent } from './dialog/dialog.component';
23
+ import { DynamicTableComponent } from './table/dynamic-table/dynamic-table.component';
24
+ import { DynamicCellTemplateDirective, DynamicHeaderTemplateDirective } from './table/dynamic-table/dynamic-cell.directive';
25
+ import { InlineSortComponent } from './inline-sort/inline-sort.component';
26
+ import { PaginationComponent } from './pagination/pagination.component';
27
+ import { ActionMenuButtonComponent } from './action-menu/action-menu.component';
28
+ import { OtherButtonComponent } from './other-button/other-button.component';
29
+ import { DynamicFilterComponent } from './filters/dynamic-filter/dynamic-filter.component';
30
+ import { ColumnVisibilityComponent } from './column-visibility/column-visibility.component';
31
+ import { TableActionToolbarComponent } from './table-action-toolbar/table-action-toolbar.component';
32
+ import { MetricsCardComponent } from './dashboards/metrics-card/metrics-card.component';
33
+ import { MetricsBlockComponent } from './dashboards/metrics-card/metrics-block.component';
34
+ import { ChartCardComponent } from './dashboards/chart-card/chart-card.component';
35
+ import { ProgressTextCardComponent } from './dashboards/progress-text-card/progress-text-card.component';
36
+ import { DashboardHeaderComponent } from './dashboards/dashboard-header/dashboard-header.component';
37
+ import { CoverageModuleCardComponent } from './dashboards/coverage-module-card/coverage-module-card.component';
38
+ import { TestDistributionCardComponent } from './dashboards/test-distribution-card/test-distribution-card.component';
39
+ import { FailedTestCasesCardComponent } from './dashboards/failed-test-cases-card/failed-test-cases-card.component';
40
+ import { DynamicSelectFieldComponent } from './dynamic-select/dynamic-select-field.component';
41
+ import { SelectedFiltersComponent } from './selected-filters/selected-filters.component';
42
+ import { InsightCardComponent } from './dashboards/insight-card/insight-card.component';
43
+ import { BadgeComponent } from './badge/badge.component';
44
+ import { DropdownButtonComponent } from './dropdown-button/dropdown-button.component';
45
+ import { HeatErrorMapCellComponent } from './dashboards/heat-error-map-cell/heat-error-map-cell.component';
46
+ import { EmptyStateComponent } from './empty-state/empty-state.component';
47
+ import { TableTemplateComponent } from './templates/table-template.component';
48
+ import { TailwindOverlayContainer } from './utils/tw-overlay-container';
49
+ import { FullTableLoaderComponent } from './full-table-loader/full-table-loader.component';
50
+ import { TableDataLoaderComponent } from './table-data-loader/table-data-loader.component';
51
+ import * as i0 from "@angular/core";
52
+ export class UiKitModule {
53
+ }
54
+ UiKitModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiKitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
55
+ UiKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiKitModule, declarations: [ButtonComponent,
56
+ SearchBarComponent,
57
+ SegmentControlComponent,
58
+ DialogComponent,
59
+ DynamicTableComponent,
60
+ DynamicCellTemplateDirective,
61
+ DynamicHeaderTemplateDirective,
62
+ InlineSortComponent,
63
+ PaginationComponent,
64
+ ActionMenuButtonComponent,
65
+ OtherButtonComponent,
66
+ DynamicFilterComponent,
67
+ ColumnVisibilityComponent,
68
+ TableActionToolbarComponent,
69
+ MetricsCardComponent,
70
+ MetricsBlockComponent,
71
+ ChartCardComponent,
72
+ ProgressTextCardComponent,
73
+ DashboardHeaderComponent,
74
+ CoverageModuleCardComponent,
75
+ TestDistributionCardComponent,
76
+ FailedTestCasesCardComponent,
77
+ DynamicSelectFieldComponent,
78
+ SelectedFiltersComponent,
79
+ InsightCardComponent,
80
+ BadgeComponent,
81
+ DropdownButtonComponent,
82
+ HeatErrorMapCellComponent,
83
+ EmptyStateComponent,
84
+ TableTemplateComponent,
85
+ FullTableLoaderComponent,
86
+ TableDataLoaderComponent], imports: [CommonModule,
87
+ FormsModule,
88
+ ReactiveFormsModule,
89
+ MatIconModule,
90
+ MatTooltipModule,
91
+ MatMenuModule,
92
+ MatButtonModule,
93
+ MatFormFieldModule,
94
+ MatSelectModule,
95
+ MatOptionModule,
96
+ MatCheckboxModule,
97
+ MatRadioModule,
98
+ MatDatepickerModule,
99
+ MatNativeDateModule,
100
+ MatProgressSpinnerModule,
101
+ OverlayModule,
102
+ PortalModule], exports: [ButtonComponent,
103
+ SearchBarComponent,
104
+ SegmentControlComponent,
105
+ DialogComponent,
106
+ DynamicTableComponent,
107
+ DynamicCellTemplateDirective,
108
+ DynamicHeaderTemplateDirective,
109
+ InlineSortComponent,
110
+ PaginationComponent,
111
+ ActionMenuButtonComponent,
112
+ OtherButtonComponent,
113
+ DynamicFilterComponent,
114
+ ColumnVisibilityComponent,
115
+ TableActionToolbarComponent,
116
+ MetricsCardComponent,
117
+ ChartCardComponent,
118
+ ProgressTextCardComponent,
119
+ DashboardHeaderComponent,
120
+ CoverageModuleCardComponent,
121
+ TestDistributionCardComponent,
122
+ FailedTestCasesCardComponent,
123
+ DynamicSelectFieldComponent,
124
+ SelectedFiltersComponent,
125
+ InsightCardComponent,
126
+ BadgeComponent,
127
+ DropdownButtonComponent,
128
+ HeatErrorMapCellComponent,
129
+ EmptyStateComponent,
130
+ TableTemplateComponent,
131
+ FullTableLoaderComponent,
132
+ TableDataLoaderComponent] });
133
+ UiKitModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiKitModule, providers: [
134
+ { provide: OverlayContainer, useClass: TailwindOverlayContainer }
135
+ ], imports: [[
136
+ CommonModule,
137
+ FormsModule,
138
+ ReactiveFormsModule,
139
+ MatIconModule,
140
+ MatTooltipModule,
141
+ MatMenuModule,
142
+ MatButtonModule,
143
+ MatFormFieldModule,
144
+ MatSelectModule,
145
+ MatOptionModule,
146
+ MatCheckboxModule,
147
+ MatRadioModule,
148
+ MatDatepickerModule,
149
+ MatNativeDateModule,
150
+ MatProgressSpinnerModule,
151
+ OverlayModule,
152
+ PortalModule
153
+ ]] });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: UiKitModule, decorators: [{
155
+ type: NgModule,
156
+ args: [{
157
+ declarations: [
158
+ ButtonComponent,
159
+ SearchBarComponent,
160
+ SegmentControlComponent,
161
+ DialogComponent,
162
+ DynamicTableComponent,
163
+ DynamicCellTemplateDirective,
164
+ DynamicHeaderTemplateDirective,
165
+ InlineSortComponent,
166
+ PaginationComponent,
167
+ ActionMenuButtonComponent,
168
+ OtherButtonComponent,
169
+ DynamicFilterComponent,
170
+ ColumnVisibilityComponent,
171
+ TableActionToolbarComponent,
172
+ MetricsCardComponent,
173
+ MetricsBlockComponent,
174
+ ChartCardComponent,
175
+ ProgressTextCardComponent,
176
+ DashboardHeaderComponent,
177
+ CoverageModuleCardComponent,
178
+ TestDistributionCardComponent,
179
+ FailedTestCasesCardComponent,
180
+ DynamicSelectFieldComponent,
181
+ SelectedFiltersComponent,
182
+ InsightCardComponent,
183
+ BadgeComponent,
184
+ DropdownButtonComponent,
185
+ HeatErrorMapCellComponent,
186
+ EmptyStateComponent,
187
+ TableTemplateComponent,
188
+ FullTableLoaderComponent,
189
+ TableDataLoaderComponent
190
+ ],
191
+ imports: [
192
+ CommonModule,
193
+ FormsModule,
194
+ ReactiveFormsModule,
195
+ MatIconModule,
196
+ MatTooltipModule,
197
+ MatMenuModule,
198
+ MatButtonModule,
199
+ MatFormFieldModule,
200
+ MatSelectModule,
201
+ MatOptionModule,
202
+ MatCheckboxModule,
203
+ MatRadioModule,
204
+ MatDatepickerModule,
205
+ MatNativeDateModule,
206
+ MatProgressSpinnerModule,
207
+ OverlayModule,
208
+ PortalModule
209
+ ],
210
+ exports: [
211
+ ButtonComponent,
212
+ SearchBarComponent,
213
+ SegmentControlComponent,
214
+ DialogComponent,
215
+ DynamicTableComponent,
216
+ DynamicCellTemplateDirective,
217
+ DynamicHeaderTemplateDirective,
218
+ InlineSortComponent,
219
+ PaginationComponent,
220
+ ActionMenuButtonComponent,
221
+ OtherButtonComponent,
222
+ DynamicFilterComponent,
223
+ ColumnVisibilityComponent,
224
+ TableActionToolbarComponent,
225
+ MetricsCardComponent,
226
+ ChartCardComponent,
227
+ ProgressTextCardComponent,
228
+ DashboardHeaderComponent,
229
+ CoverageModuleCardComponent,
230
+ TestDistributionCardComponent,
231
+ FailedTestCasesCardComponent,
232
+ DynamicSelectFieldComponent,
233
+ SelectedFiltersComponent,
234
+ InsightCardComponent,
235
+ BadgeComponent,
236
+ DropdownButtonComponent,
237
+ HeatErrorMapCellComponent,
238
+ EmptyStateComponent,
239
+ TableTemplateComponent,
240
+ FullTableLoaderComponent,
241
+ TableDataLoaderComponent
242
+ ],
243
+ providers: [
244
+ { provide: OverlayContainer, useClass: TailwindOverlayContainer }
245
+ ]
246
+ }]
247
+ }] });
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdWkta2l0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzVILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQy9HLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3JILE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ3BILE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUMzRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUE2RjNGLE1BQU0sT0FBTyxXQUFXOzt3R0FBWCxXQUFXO3lHQUFYLFdBQVcsaUJBekZwQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QixlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQix5QkFBeUI7UUFDekIsb0JBQW9CO1FBQ3BCLHNCQUFzQjtRQUN0Qix5QkFBeUI7UUFDekIsMkJBQTJCO1FBQzNCLG9CQUFvQjtRQUNwQixxQkFBcUI7UUFDckIsa0JBQWtCO1FBQ2xCLHlCQUF5QjtRQUN6Qix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLHdCQUF3QjtRQUN4QixvQkFBb0I7UUFDcEIsY0FBYztRQUNkLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsbUJBQW1CO1FBQ25CLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsd0JBQXdCLGFBR3hCLFlBQVk7UUFDWixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixnQkFBZ0I7UUFDaEIsYUFBYTtRQUNiLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsZUFBZTtRQUNmLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsY0FBYztRQUNkLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIsd0JBQXdCO1FBQ3hCLGFBQWE7UUFDYixZQUFZLGFBR1osZUFBZTtRQUNmLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsZUFBZTtRQUNmLHFCQUFxQjtRQUNyQiw0QkFBNEI7UUFDNUIsOEJBQThCO1FBQzlCLG1CQUFtQjtRQUNuQixtQkFBbUI7UUFDbkIseUJBQXlCO1FBQ3pCLG9CQUFvQjtRQUNwQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLDJCQUEyQjtRQUMzQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLHlCQUF5QjtRQUN6Qix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsMkJBQTJCO1FBQzNCLHdCQUF3QjtRQUN4QixvQkFBb0I7UUFDcEIsY0FBYztRQUNkLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIsbUJBQW1CO1FBQ25CLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsd0JBQXdCO3lHQU1mLFdBQVcsYUFKWDtRQUNULEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTtLQUNsRSxZQXREUTtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLGFBQWE7WUFDYixZQUFZO1NBQ2I7MkZBc0NVLFdBQVc7a0JBM0Z2QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsc0JBQXNCO3dCQUN0Qix5QkFBeUI7d0JBQ3pCLDJCQUEyQjt3QkFDM0Isb0JBQW9CO3dCQUNwQixxQkFBcUI7d0JBQ3JCLGtCQUFrQjt3QkFDbEIseUJBQXlCO3dCQUN6Qix3QkFBd0I7d0JBQ3hCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3Qiw0QkFBNEI7d0JBQzVCLDJCQUEyQjt3QkFDM0Isd0JBQXdCO3dCQUN4QixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsc0JBQXNCO3dCQUN0Qix3QkFBd0I7d0JBQ3hCLHdCQUF3QjtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix3QkFBd0I7d0JBQ3hCLGFBQWE7d0JBQ2IsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsZUFBZTt3QkFDZixxQkFBcUI7d0JBQ3JCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5QixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIseUJBQXlCO3dCQUN6QixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIseUJBQXlCO3dCQUN6QiwyQkFBMkI7d0JBQzNCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQix5QkFBeUI7d0JBQ3pCLHdCQUF3Qjt3QkFDeEIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLDRCQUE0Qjt3QkFDNUIsMkJBQTJCO3dCQUMzQix3QkFBd0I7d0JBQ3hCLG9CQUFvQjt3QkFDcEIsY0FBYzt3QkFDZCx1QkFBdUI7d0JBQ3ZCLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3dCQUNuQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsd0JBQXdCO3FCQUN6QjtvQkFDRCxTQUFTLEVBQUU7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFO3FCQUNsRTtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBPdmVybGF5TW9kdWxlLCBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTZWFyY2hCYXJDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VnbWVudENvbnRyb2xDb21wb25lbnQgfSBmcm9tICcuL3NlZ21lbnQtY29udHJvbC9zZWdtZW50LWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNDZWxsVGVtcGxhdGVEaXJlY3RpdmUsIER5bmFtaWNIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4vdGFibGUvZHluYW1pYy10YWJsZS9keW5hbWljLWNlbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IElubGluZVNvcnRDb21wb25lbnQgfSBmcm9tICcuL2lubGluZS1zb3J0L2lubGluZS1zb3J0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEFjdGlvbk1lbnVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBPdGhlckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vb3RoZXItYnV0dG9uL290aGVyLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHluYW1pY0ZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVycy9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29sdW1uVmlzaWJpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4vY29sdW1uLXZpc2liaWxpdHkvY29sdW1uLXZpc2liaWxpdHkuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtYWN0aW9uLXRvb2xiYXIvdGFibGUtYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL21ldHJpY3MtY2FyZC9tZXRyaWNzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldHJpY3NCbG9ja0NvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9tZXRyaWNzLWNhcmQvbWV0cmljcy1ibG9jay5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2hhcnRDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2NoYXJ0LWNhcmQvY2hhcnQtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9wcm9ncmVzcy10ZXh0LWNhcmQvcHJvZ3Jlc3MtdGV4dC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvZGFzaGJvYXJkLWhlYWRlci9kYXNoYm9hcmQtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb3ZlcmFnZU1vZHVsZUNhcmRDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hib2FyZHMvY292ZXJhZ2UtbW9kdWxlLWNhcmQvY292ZXJhZ2UtbW9kdWxlLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL3Rlc3QtZGlzdHJpYnV0aW9uLWNhcmQvdGVzdC1kaXN0cmlidXRpb24tY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmFpbGVkVGVzdENhc2VzQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9mYWlsZWQtdGVzdC1jYXNlcy1jYXJkL2ZhaWxlZC10ZXN0LWNhc2VzLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IER5bmFtaWNTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdGVkRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0ZWQtZmlsdGVycy9zZWxlY3RlZC1maWx0ZXJzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnNpZ2h0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vZGFzaGJvYXJkcy9pbnNpZ2h0LWNhcmQvaW5zaWdodC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJy4vYmFkZ2UvYmFkZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1idXR0b24vZHJvcGRvd24tYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBIZWF0RXJyb3JNYXBDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi9kYXNoYm9hcmRzL2hlYXQtZXJyb3ItbWFwLWNlbGwvaGVhdC1lcnJvci1tYXAtY2VsbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRW1wdHlTdGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vZW1wdHktc3RhdGUvZW1wdHktc3RhdGUuY29tcG9uZW50JztcbmltcG9ydCB7IFRhYmxlVGVtcGxhdGVDb21wb25lbnQgfSBmcm9tICcuL3RlbXBsYXRlcy90YWJsZS10ZW1wbGF0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGFpbHdpbmRPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnLi91dGlscy90dy1vdmVybGF5LWNvbnRhaW5lcic7XG5pbXBvcnQgeyBGdWxsVGFibGVMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2Z1bGwtdGFibGUtbG9hZGVyL2Z1bGwtdGFibGUtbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWJsZURhdGFMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWRhdGEtbG9hZGVyL3RhYmxlLWRhdGEtbG9hZGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBTZWFyY2hCYXJDb21wb25lbnQsXG4gICAgU2VnbWVudENvbnRyb2xDb21wb25lbnQsXG4gICAgRGlhbG9nQ29tcG9uZW50LFxuICAgIER5bmFtaWNUYWJsZUNvbXBvbmVudCxcbiAgICBEeW5hbWljQ2VsbFRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIER5bmFtaWNIZWFkZXJUZW1wbGF0ZURpcmVjdGl2ZSxcbiAgICBJbmxpbmVTb3J0Q29tcG9uZW50LFxuICAgIFBhZ2luYXRpb25Db21wb25lbnQsXG4gICAgQWN0aW9uTWVudUJ1dHRvbkNvbXBvbmVudCxcbiAgICBPdGhlckJ1dHRvbkNvbXBvbmVudCxcbiAgICBEeW5hbWljRmlsdGVyQ29tcG9uZW50LFxuICAgIENvbHVtblZpc2liaWxpdHlDb21wb25lbnQsXG4gICAgVGFibGVBY3Rpb25Ub29sYmFyQ29tcG9uZW50LFxuICAgIE1ldHJpY3NDYXJkQ29tcG9uZW50LFxuICAgIE1ldHJpY3NCbG9ja0NvbXBvbmVudCxcbiAgICBDaGFydENhcmRDb21wb25lbnQsXG4gICAgUHJvZ3Jlc3NUZXh0Q2FyZENvbXBvbmVudCxcbiAgICBEYXNoYm9hcmRIZWFkZXJDb21wb25lbnQsXG4gICAgQ292ZXJhZ2VNb2R1bGVDYXJkQ29tcG9uZW50LFxuICAgIFRlc3REaXN0cmlidXRpb25DYXJkQ29tcG9uZW50LFxuICAgIEZhaWxlZFRlc3RDYXNlc0NhcmRDb21wb25lbnQsXG4gICAgRHluYW1pY1NlbGVjdEZpZWxkQ29tcG9uZW50LFxuICAgIFNlbGVjdGVkRmlsdGVyc0NvbXBvbmVudCxcbiAgICBJbnNpZ2h0Q2FyZENvbXBvbmVudCxcbiAgICBCYWRnZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bkJ1dHRvbkNvbXBvbmVudCxcbiAgICBIZWF0RXJyb3JNYXBDZWxsQ29tcG9uZW50LFxuICAgIEVtcHR5U3RhdGVDb21wb25lbnQsXG4gICAgVGFibGVUZW1wbGF0ZUNvbXBvbmVudCxcbiAgICBGdWxsVGFibGVMb2FkZXJDb21wb25lbnQsXG4gICAgVGFibGVEYXRhTG9hZGVyQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0UmFkaW9Nb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFNlYXJjaEJhckNvbXBvbmVudCxcbiAgICBTZWdtZW50Q29udHJvbENvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgRHluYW1pY1RhYmxlQ29tcG9uZW50LFxuICAgIER5bmFtaWNDZWxsVGVtcGxhdGVEaXJlY3RpdmUsXG4gICAgRHluYW1pY0hlYWRlclRlbXBsYXRlRGlyZWN0aXZlLFxuICAgIElubGluZVNvcnRDb21wb25lbnQsXG4gICAgUGFnaW5hdGlvbkNvbXBvbmVudCxcbiAgICBBY3Rpb25NZW51QnV0dG9uQ29tcG9uZW50LFxuICAgIE90aGVyQnV0dG9uQ29tcG9uZW50LFxuICAgIER5bmFtaWNGaWx0ZXJDb21wb25lbnQsXG4gICAgQ29sdW1uVmlzaWJpbGl0eUNvbXBvbmVudCxcbiAgICBUYWJsZUFjdGlvblRvb2xiYXJDb21wb25lbnQsXG4gICAgTWV0cmljc0NhcmRDb21wb25lbnQsXG4gICAgQ2hhcnRDYXJkQ29tcG9uZW50LFxuICAgIFByb2dyZXNzVGV4dENhcmRDb21wb25lbnQsXG4gICAgRGFzaGJvYXJkSGVhZGVyQ29tcG9uZW50LFxuICAgIENvdmVyYWdlTW9kdWxlQ2FyZENvbXBvbmVudCxcbiAgICBUZXN0RGlzdHJpYnV0aW9uQ2FyZENvbXBvbmVudCxcbiAgICBGYWlsZWRUZXN0Q2FzZXNDYXJkQ29tcG9uZW50LFxuICAgIER5bmFtaWNTZWxlY3RGaWVsZENvbXBvbmVudCxcbiAgICBTZWxlY3RlZEZpbHRlcnNDb21wb25lbnQsXG4gICAgSW5zaWdodENhcmRDb21wb25lbnQsXG4gICAgQmFkZ2VDb21wb25lbnQsXG4gICAgRHJvcGRvd25CdXR0b25Db21wb25lbnQsXG4gICAgSGVhdEVycm9yTWFwQ2VsbENvbXBvbmVudCxcbiAgICBFbXB0eVN0YXRlQ29tcG9uZW50LFxuICAgIFRhYmxlVGVtcGxhdGVDb21wb25lbnQsXG4gICAgRnVsbFRhYmxlTG9hZGVyQ29tcG9uZW50LFxuICAgIFRhYmxlRGF0YUxvYWRlckNvbXBvbmVudFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE92ZXJsYXlDb250YWluZXIsIHVzZUNsYXNzOiBUYWlsd2luZE92ZXJsYXlDb250YWluZXIgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFVpS2l0TW9kdWxlIHsgfVxuXG4iXX0=
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Utility for getting consistent colors for metadata values
3
+ * Used across Status, Priority, and Result fields
4
+ *
5
+ * Colors are defined here and also exported in metadata-colors.constants.js for tailwind.config.js
6
+ */
7
+ // Color constants (also exported in metadata-colors.constants.js for Tailwind)
8
+ const PRIORITY_COLOR_VALUES = {
9
+ critical: '#DC2626',
10
+ major: '#C10007',
11
+ medium: '#CA8A04',
12
+ minor: '#2563EB',
13
+ 'not-set': '#101828', // Default dark
14
+ };
15
+ const RESULT_COLOR_VALUES = {
16
+ passed: '#16A34A',
17
+ failed: '#DC2626',
18
+ aborted: '#EA580C',
19
+ 'in-review': '#2563EB',
20
+ 'not-executed': '#101828', // Default dark
21
+ };
22
+ const STATUS_COLOR_VALUES = {
23
+ active: '#16A34A',
24
+ inactive: '#6B7280',
25
+ pending: '#CA8A04',
26
+ completed: '#16A34A', // Green-600
27
+ };
28
+ const DEFAULT_METADATA_COLOR_VALUE = '#101828';
29
+ /**
30
+ * Color mappings for Priority values
31
+ */
32
+ export const PRIORITY_COLORS = {
33
+ 'critical': PRIORITY_COLOR_VALUES.critical,
34
+ 'major': PRIORITY_COLOR_VALUES.major,
35
+ 'medium': PRIORITY_COLOR_VALUES.medium,
36
+ 'minor': PRIORITY_COLOR_VALUES.minor,
37
+ 'not set': PRIORITY_COLOR_VALUES['not-set'],
38
+ };
39
+ /**
40
+ * Color mappings for Result values
41
+ */
42
+ export const RESULT_COLORS = {
43
+ 'passed': RESULT_COLOR_VALUES.passed,
44
+ 'failed': RESULT_COLOR_VALUES.failed,
45
+ 'aborted': RESULT_COLOR_VALUES.aborted,
46
+ 'in review': RESULT_COLOR_VALUES['in-review'],
47
+ 'not executed': RESULT_COLOR_VALUES['not-executed'],
48
+ };
49
+ /**
50
+ * Color mappings for Status values
51
+ */
52
+ export const STATUS_COLORS = {
53
+ 'active': STATUS_COLOR_VALUES.active,
54
+ 'inactive': STATUS_COLOR_VALUES.inactive,
55
+ 'pending': STATUS_COLOR_VALUES.pending,
56
+ 'completed': STATUS_COLOR_VALUES.completed,
57
+ };
58
+ /**
59
+ * Default color for metadata values
60
+ */
61
+ export const DEFAULT_METADATA_COLOR = DEFAULT_METADATA_COLOR_VALUE;
62
+ /**
63
+ * Gets the color for a metadata value based on its key and value
64
+ * @param key - The metadata key (priority, result, or status)
65
+ * @param value - The metadata value (string or object with value property)
66
+ * @returns Color hex code as a string
67
+ */
68
+ export function getMetadataColor(key, value) {
69
+ // Extract the actual value
70
+ const actualValue = typeof value === 'string' ? value : value.value;
71
+ const normalizedValue = actualValue.toLowerCase().trim();
72
+ const normalizedKey = key.toLowerCase().trim();
73
+ // Get color based on key
74
+ let colorMap;
75
+ switch (normalizedKey) {
76
+ case 'priority':
77
+ colorMap = PRIORITY_COLORS;
78
+ break;
79
+ case 'result':
80
+ colorMap = RESULT_COLORS;
81
+ break;
82
+ case 'status':
83
+ colorMap = STATUS_COLORS;
84
+ break;
85
+ default:
86
+ return DEFAULT_METADATA_COLOR;
87
+ }
88
+ // Return color for the value, or default if not found
89
+ return colorMap[normalizedValue] || DEFAULT_METADATA_COLOR;
90
+ }
91
+ /**
92
+ * Gets inline style object for metadata value color
93
+ * @param key - The metadata key
94
+ * @param value - The metadata value
95
+ * @returns Style object with color property
96
+ */
97
+ export function getMetadataValueStyle(key, value) {
98
+ return { color: getMetadataColor(key, value) };
99
+ }
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtY29sb3JzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL21ldGFkYXRhLWNvbG9ycy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHO0FBRUgsK0VBQStFO0FBQy9FLE1BQU0scUJBQXFCLEdBQUc7SUFDNUIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsU0FBUyxFQUFFLFNBQVMsRUFBRSxlQUFlO0NBQ3RDLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHO0lBQzFCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLGNBQWMsRUFBRSxTQUFTLEVBQUUsZUFBZTtDQUMzQyxDQUFDO0FBRUYsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixNQUFNLEVBQUUsU0FBUztJQUNqQixRQUFRLEVBQUUsU0FBUztJQUNuQixPQUFPLEVBQUUsU0FBUztJQUNsQixTQUFTLEVBQUUsU0FBUyxFQUFHLFlBQVk7Q0FDcEMsQ0FBQztBQUVGLE1BQU0sNEJBQTRCLEdBQUcsU0FBUyxDQUFDO0FBUS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFxQjtJQUMvQyxVQUFVLEVBQUUscUJBQXFCLENBQUMsUUFBUTtJQUMxQyxPQUFPLEVBQUUscUJBQXFCLENBQUMsS0FBSztJQUNwQyxRQUFRLEVBQUUscUJBQXFCLENBQUMsTUFBTTtJQUN0QyxPQUFPLEVBQUUscUJBQXFCLENBQUMsS0FBSztJQUNwQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsU0FBUyxDQUFDO0NBQzVDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBcUI7SUFDN0MsUUFBUSxFQUFFLG1CQUFtQixDQUFDLE1BQU07SUFDcEMsUUFBUSxFQUFFLG1CQUFtQixDQUFDLE1BQU07SUFDcEMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLE9BQU87SUFDdEMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLFdBQVcsQ0FBQztJQUM3QyxjQUFjLEVBQUUsbUJBQW1CLENBQUMsY0FBYyxDQUFDO0NBQ3BELENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBcUI7SUFDN0MsUUFBUSxFQUFFLG1CQUFtQixDQUFDLE1BQU07SUFDcEMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLFFBQVE7SUFDeEMsU0FBUyxFQUFFLG1CQUFtQixDQUFDLE9BQU87SUFDdEMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLFNBQVM7Q0FDM0MsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFFbkU7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQzlCLEdBQVcsRUFDWCxLQUFxRTtJQUVyRSwyQkFBMkI7SUFDM0IsTUFBTSxXQUFXLEdBQUcsT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDcEUsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pELE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUUvQyx5QkFBeUI7SUFDekIsSUFBSSxRQUFzQyxDQUFDO0lBRTNDLFFBQVEsYUFBYSxFQUFFO1FBQ3JCLEtBQUssVUFBVTtZQUNiLFFBQVEsR0FBRyxlQUFlLENBQUM7WUFDM0IsTUFBTTtRQUNSLEtBQUssUUFBUTtZQUNYLFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDekIsTUFBTTtRQUNSLEtBQUssUUFBUTtZQUNYLFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDekIsTUFBTTtRQUNSO1lBQ0UsT0FBTyxzQkFBc0IsQ0FBQztLQUNqQztJQUVELHNEQUFzRDtJQUN0RCxPQUFPLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxzQkFBc0IsQ0FBQztBQUM3RCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQ25DLEdBQVcsRUFDWCxLQUFxRTtJQUVyRSxPQUFPLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO0FBQ2pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFV0aWxpdHkgZm9yIGdldHRpbmcgY29uc2lzdGVudCBjb2xvcnMgZm9yIG1ldGFkYXRhIHZhbHVlc1xuICogVXNlZCBhY3Jvc3MgU3RhdHVzLCBQcmlvcml0eSwgYW5kIFJlc3VsdCBmaWVsZHNcbiAqIFxuICogQ29sb3JzIGFyZSBkZWZpbmVkIGhlcmUgYW5kIGFsc28gZXhwb3J0ZWQgaW4gbWV0YWRhdGEtY29sb3JzLmNvbnN0YW50cy5qcyBmb3IgdGFpbHdpbmQuY29uZmlnLmpzXG4gKi9cblxuLy8gQ29sb3IgY29uc3RhbnRzIChhbHNvIGV4cG9ydGVkIGluIG1ldGFkYXRhLWNvbG9ycy5jb25zdGFudHMuanMgZm9yIFRhaWx3aW5kKVxuY29uc3QgUFJJT1JJVFlfQ09MT1JfVkFMVUVTID0ge1xuICBjcml0aWNhbDogJyNEQzI2MjYnLCAvLyBSZWQgLSBkYW5nZXIgY29sb3JcbiAgbWFqb3I6ICcjQzEwMDA3JywgICAgIC8vIERhcmsgcmVkXG4gIG1lZGl1bTogJyNDQThBMDQnLCAgICAvLyBZZWxsb3ctNjAwXG4gIG1pbm9yOiAnIzI1NjNFQicsICAgICAvLyBCbHVlLTYwMFxuICAnbm90LXNldCc6ICcjMTAxODI4JywgLy8gRGVmYXVsdCBkYXJrXG59O1xuXG5jb25zdCBSRVNVTFRfQ09MT1JfVkFMVUVTID0ge1xuICBwYXNzZWQ6ICcjMTZBMzRBJywgICAgICAvLyBHcmVlbi02MDBcbiAgZmFpbGVkOiAnI0RDMjYyNicsICAgICAgLy8gUmVkIC0gZGFuZ2VyIGNvbG9yXG4gIGFib3J0ZWQ6ICcjRUE1ODBDJywgICAgIC8vIE9yYW5nZS02MDBcbiAgJ2luLXJldmlldyc6ICcjMjU2M0VCJywgLy8gQmx1ZS02MDBcbiAgJ25vdC1leGVjdXRlZCc6ICcjMTAxODI4JywgLy8gRGVmYXVsdCBkYXJrXG59O1xuXG5jb25zdCBTVEFUVVNfQ09MT1JfVkFMVUVTID0ge1xuICBhY3RpdmU6ICcjMTZBMzRBJywgICAgIC8vIEdyZWVuLTYwMFxuICBpbmFjdGl2ZTogJyM2QjcyODAnLCAgIC8vIEdyYXktNTAwXG4gIHBlbmRpbmc6ICcjQ0E4QTA0JywgICAgLy8gWWVsbG93LTYwMFxuICBjb21wbGV0ZWQ6ICcjMTZBMzRBJywgIC8vIEdyZWVuLTYwMFxufTtcblxuY29uc3QgREVGQVVMVF9NRVRBREFUQV9DT0xPUl9WQUxVRSA9ICcjMTAxODI4JztcblxuZXhwb3J0IHR5cGUgTWV0YWRhdGFLZXkgPSAncHJpb3JpdHknIHwgJ3Jlc3VsdCcgfCAnc3RhdHVzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXRhZGF0YUNvbG9yTWFwIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbG9yIG1hcHBpbmdzIGZvciBQcmlvcml0eSB2YWx1ZXNcbiAqL1xuZXhwb3J0IGNvbnN0IFBSSU9SSVRZX0NPTE9SUzogTWV0YWRhdGFDb2xvck1hcCA9IHtcbiAgJ2NyaXRpY2FsJzogUFJJT1JJVFlfQ09MT1JfVkFMVUVTLmNyaXRpY2FsLFxuICAnbWFqb3InOiBQUklPUklUWV9DT0xPUl9WQUxVRVMubWFqb3IsXG4gICdtZWRpdW0nOiBQUklPUklUWV9DT0xPUl9WQUxVRVMubWVkaXVtLFxuICAnbWlub3InOiBQUklPUklUWV9DT0xPUl9WQUxVRVMubWlub3IsXG4gICdub3Qgc2V0JzogUFJJT1JJVFlfQ09MT1JfVkFMVUVTWydub3Qtc2V0J10sXG59O1xuXG4vKipcbiAqIENvbG9yIG1hcHBpbmdzIGZvciBSZXN1bHQgdmFsdWVzXG4gKi9cbmV4cG9ydCBjb25zdCBSRVNVTFRfQ09MT1JTOiBNZXRhZGF0YUNvbG9yTWFwID0ge1xuICAncGFzc2VkJzogUkVTVUxUX0NPTE9SX1ZBTFVFUy5wYXNzZWQsXG4gICdmYWlsZWQnOiBSRVNVTFRfQ09MT1JfVkFMVUVTLmZhaWxlZCxcbiAgJ2Fib3J0ZWQnOiBSRVNVTFRfQ09MT1JfVkFMVUVTLmFib3J0ZWQsXG4gICdpbiByZXZpZXcnOiBSRVNVTFRfQ09MT1JfVkFMVUVTWydpbi1yZXZpZXcnXSxcbiAgJ25vdCBleGVjdXRlZCc6IFJFU1VMVF9DT0xPUl9WQUxVRVNbJ25vdC1leGVjdXRlZCddLFxufTtcblxuLyoqXG4gKiBDb2xvciBtYXBwaW5ncyBmb3IgU3RhdHVzIHZhbHVlc1xuICovXG5leHBvcnQgY29uc3QgU1RBVFVTX0NPTE9SUzogTWV0YWRhdGFDb2xvck1hcCA9IHtcbiAgJ2FjdGl2ZSc6IFNUQVRVU19DT0xPUl9WQUxVRVMuYWN0aXZlLFxuICAnaW5hY3RpdmUnOiBTVEFUVVNfQ09MT1JfVkFMVUVTLmluYWN0aXZlLFxuICAncGVuZGluZyc6IFNUQVRVU19DT0xPUl9WQUxVRVMucGVuZGluZyxcbiAgJ2NvbXBsZXRlZCc6IFNUQVRVU19DT0xPUl9WQUxVRVMuY29tcGxldGVkLFxufTtcblxuLyoqXG4gKiBEZWZhdWx0IGNvbG9yIGZvciBtZXRhZGF0YSB2YWx1ZXNcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUVUQURBVEFfQ09MT1IgPSBERUZBVUxUX01FVEFEQVRBX0NPTE9SX1ZBTFVFO1xuXG4vKipcbiAqIEdldHMgdGhlIGNvbG9yIGZvciBhIG1ldGFkYXRhIHZhbHVlIGJhc2VkIG9uIGl0cyBrZXkgYW5kIHZhbHVlXG4gKiBAcGFyYW0ga2V5IC0gVGhlIG1ldGFkYXRhIGtleSAocHJpb3JpdHksIHJlc3VsdCwgb3Igc3RhdHVzKVxuICogQHBhcmFtIHZhbHVlIC0gVGhlIG1ldGFkYXRhIHZhbHVlIChzdHJpbmcgb3Igb2JqZWN0IHdpdGggdmFsdWUgcHJvcGVydHkpXG4gKiBAcmV0dXJucyBDb2xvciBoZXggY29kZSBhcyBhIHN0cmluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFDb2xvcihcbiAga2V5OiBzdHJpbmcsXG4gIHZhbHVlOiBzdHJpbmcgfCB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmc7IGhpZ2hsaWdodD86IGJvb2xlYW4gfVxuKTogc3RyaW5nIHtcbiAgLy8gRXh0cmFjdCB0aGUgYWN0dWFsIHZhbHVlXG4gIGNvbnN0IGFjdHVhbFZhbHVlID0gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogdmFsdWUudmFsdWU7XG4gIGNvbnN0IG5vcm1hbGl6ZWRWYWx1ZSA9IGFjdHVhbFZhbHVlLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICBjb25zdCBub3JtYWxpemVkS2V5ID0ga2V5LnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuXG4gIC8vIEdldCBjb2xvciBiYXNlZCBvbiBrZXlcbiAgbGV0IGNvbG9yTWFwOiBNZXRhZGF0YUNvbG9yTWFwIHwgdW5kZWZpbmVkO1xuXG4gIHN3aXRjaCAobm9ybWFsaXplZEtleSkge1xuICAgIGNhc2UgJ3ByaW9yaXR5JzpcbiAgICAgIGNvbG9yTWFwID0gUFJJT1JJVFlfQ09MT1JTO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmVzdWx0JzpcbiAgICAgIGNvbG9yTWFwID0gUkVTVUxUX0NPTE9SUztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3N0YXR1cyc6XG4gICAgICBjb2xvck1hcCA9IFNUQVRVU19DT0xPUlM7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIERFRkFVTFRfTUVUQURBVEFfQ09MT1I7XG4gIH1cblxuICAvLyBSZXR1cm4gY29sb3IgZm9yIHRoZSB2YWx1ZSwgb3IgZGVmYXVsdCBpZiBub3QgZm91bmRcbiAgcmV0dXJuIGNvbG9yTWFwW25vcm1hbGl6ZWRWYWx1ZV0gfHwgREVGQVVMVF9NRVRBREFUQV9DT0xPUjtcbn1cblxuLyoqXG4gKiBHZXRzIGlubGluZSBzdHlsZSBvYmplY3QgZm9yIG1ldGFkYXRhIHZhbHVlIGNvbG9yXG4gKiBAcGFyYW0ga2V5IC0gVGhlIG1ldGFkYXRhIGtleVxuICogQHBhcmFtIHZhbHVlIC0gVGhlIG1ldGFkYXRhIHZhbHVlXG4gKiBAcmV0dXJucyBTdHlsZSBvYmplY3Qgd2l0aCBjb2xvciBwcm9wZXJ0eVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWV0YWRhdGFWYWx1ZVN0eWxlKFxuICBrZXk6IHN0cmluZyxcbiAgdmFsdWU6IHN0cmluZyB8IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IHN0cmluZzsgaGlnaGxpZ2h0PzogYm9vbGVhbiB9XG4pOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgcmV0dXJuIHsgY29sb3I6IGdldE1ldGFkYXRhQ29sb3Ioa2V5LCB2YWx1ZSkgfTtcbn1cblxuIl19
@@ -0,0 +1,22 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { OverlayContainer } from '@angular/cdk/overlay';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Ensures Angular CDK overlay content (e.g., MatSelect, Datepicker panels)
6
+ * is nested under an element with id="cqa-ui-root" so Tailwind utilities
7
+ * configured with important: '#cqa-ui-root' are applied inside overlays.
8
+ */
9
+ export class TailwindOverlayContainer extends OverlayContainer {
10
+ _createContainer() {
11
+ super._createContainer();
12
+ if (this._containerElement) {
13
+ this._containerElement.id = 'cqa-ui-root';
14
+ }
15
+ }
16
+ }
17
+ TailwindOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
18
+ TailwindOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TailwindOverlayContainer, decorators: [{
20
+ type: Injectable
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHctb3ZlcmxheS1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3V0aWxzL3R3LW92ZXJsYXktY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXhEOzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsZ0JBQWdCO0lBQ3pDLGdCQUFnQjtRQUNqQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQztTQUMzQztJQUNILENBQUM7O3FIQU5VLHdCQUF3Qjt5SEFBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG4vKipcbiAqIEVuc3VyZXMgQW5ndWxhciBDREsgb3ZlcmxheSBjb250ZW50IChlLmcuLCBNYXRTZWxlY3QsIERhdGVwaWNrZXIgcGFuZWxzKVxuICogaXMgbmVzdGVkIHVuZGVyIGFuIGVsZW1lbnQgd2l0aCBpZD1cImNxYS11aS1yb290XCIgc28gVGFpbHdpbmQgdXRpbGl0aWVzXG4gKiBjb25maWd1cmVkIHdpdGggaW1wb3J0YW50OiAnI2NxYS11aS1yb290JyBhcmUgYXBwbGllZCBpbnNpZGUgb3ZlcmxheXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUYWlsd2luZE92ZXJsYXlDb250YWluZXIgZXh0ZW5kcyBPdmVybGF5Q29udGFpbmVyIHtcbiAgcHJvdGVjdGVkIG92ZXJyaWRlIF9jcmVhdGVDb250YWluZXIoKTogdm9pZCB7XG4gICAgc3VwZXIuX2NyZWF0ZUNvbnRhaW5lcigpO1xuICAgIGlmICh0aGlzLl9jb250YWluZXJFbGVtZW50KSB7XG4gICAgICB0aGlzLl9jb250YWluZXJFbGVtZW50LmlkID0gJ2NxYS11aS1yb290JztcbiAgICB9XG4gIH1cbn1cblxuXG4iXX0=
@@ -0,0 +1,38 @@
1
+ export * from './lib/ui-kit.module';
2
+ export * from './lib/button/button.component';
3
+ export * from './lib/search-bar/search-bar.component';
4
+ export * from './lib/segment-control/segment-control.component';
5
+ export * from './lib/dialog/dialog.component';
6
+ export * from './lib/dialog/dialog.service';
7
+ export * from './lib/dialog/dialog.models';
8
+ export * from './lib/dialog/dialog.tokens';
9
+ export * from './lib/dialog/dialog-ref';
10
+ export * from './lib/table/dynamic-table/dynamic-table.component';
11
+ export * from './lib/table/dynamic-table/dynamic-cell.directive';
12
+ export * from './lib/inline-sort/inline-sort.component';
13
+ export * from './lib/pagination/pagination.component';
14
+ export * from './lib/action-menu/action-menu.component';
15
+ export * from './lib/other-button/other-button.component';
16
+ export * from './lib/filters/dynamic-filter/dynamic-filter.component';
17
+ export * from './lib/column-visibility/column-visibility.component';
18
+ export * from './lib/table-action-toolbar/table-action-toolbar.component';
19
+ export * from './lib/dashboards/metrics-card/metrics-card.component';
20
+ export * from './lib/dashboards/chart-card/chart-card.component';
21
+ export * from './lib/dashboards/progress-text-card/progress-text-card.component';
22
+ export * from './lib/dashboards/dashboard-header/dashboard-header.component';
23
+ export * from './lib/dashboards/coverage-module-card/coverage-module-card.component';
24
+ export * from './lib/dashboards/test-distribution-card/test-distribution-card.component';
25
+ export * from './lib/dashboards/failed-test-cases-card/failed-test-cases-card.component';
26
+ export * from './lib/dynamic-select/dynamic-select-field.component';
27
+ export * from './lib/selected-filters/selected-filters.component';
28
+ export * from './lib/dashboards/insight-card/insight-card.component';
29
+ export * from './lib/badge/badge.component';
30
+ export * from './lib/dropdown-button/dropdown-button.component';
31
+ export * from './lib/dashboards/heat-error-map-cell/heat-error-map-cell.component';
32
+ export * from './lib/empty-state/empty-state.component';
33
+ export * from './lib/templates/table-template.component';
34
+ export * from './lib/assets/images/image-assets.constants';
35
+ export * from './lib/utils/metadata-colors.util';
36
+ export * from './lib/full-table-loader/full-table-loader.component';
37
+ export * from './lib/table-data-loader/table-data-loader.component';
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsdURBQXVELENBQUM7QUFDdEUsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDJEQUEyRCxDQUFDO0FBQzFFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsMEVBQTBFLENBQUM7QUFDekYsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsb0VBQW9FLENBQUM7QUFDbkYsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMscURBQXFELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi91aS1raXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VnbWVudC1jb250cm9sL3NlZ21lbnQtY29udHJvbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cubW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cudG9rZW5zJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2ctcmVmJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUvZHluYW1pYy10YWJsZS9keW5hbWljLWNlbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2lubGluZS1zb3J0L2lubGluZS1zb3J0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FjdGlvbi1tZW51L2FjdGlvbi1tZW51LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9vdGhlci1idXR0b24vb3RoZXItYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWx0ZXJzL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb2x1bW4tdmlzaWJpbGl0eS9jb2x1bW4tdmlzaWJpbGl0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUtYWN0aW9uLXRvb2xiYXIvdGFibGUtYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZHMvbWV0cmljcy1jYXJkL21ldHJpY3MtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkcy9jaGFydC1jYXJkL2NoYXJ0LWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZHMvcHJvZ3Jlc3MtdGV4dC1jYXJkL3Byb2dyZXNzLXRleHQtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkcy9kYXNoYm9hcmQtaGVhZGVyL2Rhc2hib2FyZC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZHMvY292ZXJhZ2UtbW9kdWxlLWNhcmQvY292ZXJhZ2UtbW9kdWxlLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Rhc2hib2FyZHMvdGVzdC1kaXN0cmlidXRpb24tY2FyZC90ZXN0LWRpc3RyaWJ1dGlvbi1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXNoYm9hcmRzL2ZhaWxlZC10ZXN0LWNhc2VzLWNhcmQvZmFpbGVkLXRlc3QtY2FzZXMtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHluYW1pYy1zZWxlY3QvZHluYW1pYy1zZWxlY3QtZmllbGQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlbGVjdGVkLWZpbHRlcnMvc2VsZWN0ZWQtZmlsdGVycy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkcy9pbnNpZ2h0LWNhcmQvaW5zaWdodC1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9iYWRnZS9iYWRnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJvcGRvd24tYnV0dG9uL2Ryb3Bkb3duLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGFzaGJvYXJkcy9oZWF0LWVycm9yLW1hcC1jZWxsL2hlYXQtZXJyb3ItbWFwLWNlbGwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VtcHR5LXN0YXRlL2VtcHR5LXN0YXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZW1wbGF0ZXMvdGFibGUtdGVtcGxhdGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Fzc2V0cy9pbWFnZXMvaW1hZ2UtYXNzZXRzLmNvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9tZXRhZGF0YS1jb2xvcnMudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdWxsLXRhYmxlLWxvYWRlci9mdWxsLXRhYmxlLWxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFibGUtZGF0YS1sb2FkZXIvdGFibGUtZGF0YS1sb2FkZXIuY29tcG9uZW50JztcbiJdfQ==