@testgorilla/tgo-ui 8.19.1 → 9.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 (205) hide show
  1. package/components/accordion/index.d.ts +7 -7
  2. package/components/ai-audio-circle/index.d.ts +3 -3
  3. package/components/ai-caveat/index.d.ts +5 -5
  4. package/components/ai-feedback/index.d.ts +14 -14
  5. package/components/alert-banner/index.d.ts +8 -8
  6. package/components/autocomplete/index.d.ts +15 -16
  7. package/components/autocomplete-v2/index.d.ts +36 -32
  8. package/components/avatar/index.d.ts +7 -7
  9. package/components/badge/index.d.ts +6 -6
  10. package/components/breadcrumb/index.d.ts +11 -11
  11. package/components/button/index.d.ts +23 -13
  12. package/components/card/index.d.ts +4 -4
  13. package/components/checkbox/index.d.ts +24 -24
  14. package/components/core/index.d.ts +39 -31
  15. package/components/datepicker/index.d.ts +18 -18
  16. package/components/dialog/index.d.ts +29 -21
  17. package/components/divider/index.d.ts +4 -4
  18. package/components/donut-chart/index.d.ts +3 -3
  19. package/components/dropdown/index.d.ts +37 -33
  20. package/components/elevation-shadow/index.d.ts +3 -3
  21. package/components/empty-state/index.d.ts +7 -7
  22. package/components/field/index.d.ts +33 -44
  23. package/components/file-upload/index.d.ts +14 -13
  24. package/components/filter-button/index.d.ts +19 -19
  25. package/components/gaussian-chart/index.d.ts +8 -8
  26. package/components/icon/index.d.ts +20 -18
  27. package/components/icon-label/index.d.ts +5 -5
  28. package/components/inline-field/index.d.ts +20 -24
  29. package/components/logo/index.d.ts +2 -3
  30. package/components/media-dialog/index.d.ts +3 -3
  31. package/components/multi-input/index.d.ts +25 -16
  32. package/components/navbar/index.d.ts +30 -30
  33. package/components/overflow-menu/index.d.ts +20 -19
  34. package/components/page-header/index.d.ts +5 -5
  35. package/components/paginator/index.d.ts +4 -4
  36. package/components/password-criteria/index.d.ts +13 -12
  37. package/components/password-strength/index.d.ts +6 -6
  38. package/components/phone-input/index.d.ts +28 -30
  39. package/components/progress-bar/index.d.ts +5 -5
  40. package/components/prompt/index.d.ts +25 -25
  41. package/components/radial-progress/index.d.ts +5 -5
  42. package/components/radio-button/index.d.ts +28 -29
  43. package/components/rating/index.d.ts +5 -5
  44. package/components/scale/index.d.ts +4 -4
  45. package/components/segmented-bar/index.d.ts +8 -8
  46. package/components/segmented-button/index.d.ts +17 -16
  47. package/components/selectable-card/index.d.ts +6 -6
  48. package/components/side-navigation/index.d.ts +14 -14
  49. package/components/side-panel/index.d.ts +8 -8
  50. package/components/side-sheet/index.d.ts +19 -17
  51. package/components/snackbar/index.d.ts +16 -15
  52. package/components/spider-chart/index.d.ts +12 -12
  53. package/components/spinner/index.d.ts +5 -5
  54. package/components/stepper/index.d.ts +35 -35
  55. package/components/table/index.d.ts +36 -34
  56. package/components/tabs/index.d.ts +18 -17
  57. package/components/tag/index.d.ts +10 -10
  58. package/components/toggle/index.d.ts +10 -9
  59. package/components/tooltip/index.d.ts +16 -18
  60. package/components/universal-skills/index.d.ts +16 -16
  61. package/components/validation-error/index.d.ts +22 -10
  62. package/components/write-with-ai/index.d.ts +1 -1
  63. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs +36 -15
  64. package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs.map +1 -1
  65. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs +9 -12
  66. package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs.map +1 -1
  67. package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs +7 -10
  68. package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs.map +1 -1
  69. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs +39 -27
  70. package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs.map +1 -1
  71. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs +25 -14
  72. package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs.map +1 -1
  73. package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs +4 -2
  74. package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs.map +1 -1
  75. package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs +134 -117
  76. package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs.map +1 -1
  77. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +47 -48
  78. package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -1
  79. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +30 -18
  80. package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +1 -1
  81. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs +9 -12
  82. package/fesm2022/testgorilla-tgo-ui-components-badge.mjs.map +1 -1
  83. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs +25 -18
  84. package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs.map +1 -1
  85. package/fesm2022/testgorilla-tgo-ui-components-button.mjs +155 -120
  86. package/fesm2022/testgorilla-tgo-ui-components-button.mjs.map +1 -1
  87. package/fesm2022/testgorilla-tgo-ui-components-card.mjs +7 -9
  88. package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -1
  89. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +51 -47
  90. package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +1 -1
  91. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs +1 -1
  92. package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs.map +1 -1
  93. package/fesm2022/testgorilla-tgo-ui-components-core.mjs +2232 -2210
  94. package/fesm2022/testgorilla-tgo-ui-components-core.mjs.map +1 -1
  95. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs +44 -25
  96. package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs.map +1 -1
  97. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs +55 -31
  98. package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs.map +1 -1
  99. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs +8 -11
  100. package/fesm2022/testgorilla-tgo-ui-components-divider.mjs.map +1 -1
  101. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs +8 -10
  102. package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs.map +1 -1
  103. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +105 -90
  104. package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +1 -1
  105. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs +5 -7
  106. package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs.map +1 -1
  107. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +24 -13
  108. package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -1
  109. package/fesm2022/testgorilla-tgo-ui-components-field.mjs +65 -57
  110. package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -1
  111. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs +35 -23
  112. package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs.map +1 -1
  113. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +34 -27
  114. package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +1 -1
  115. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs +26 -16
  116. package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs.map +1 -1
  117. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs +6 -7
  118. package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs.map +1 -1
  119. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs +63 -57
  120. package/fesm2022/testgorilla-tgo-ui-components-icon.mjs.map +1 -1
  121. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +24 -24
  122. package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +1 -1
  123. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs +6 -6
  124. package/fesm2022/testgorilla-tgo-ui-components-logo.mjs.map +1 -1
  125. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs +6 -6
  126. package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs.map +1 -1
  127. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs +4 -4
  128. package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs.map +1 -1
  129. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs +42 -21
  130. package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs.map +1 -1
  131. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs +44 -32
  132. package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs.map +1 -1
  133. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs +39 -21
  134. package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs.map +1 -1
  135. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs +10 -14
  136. package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs.map +1 -1
  137. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +7 -9
  138. package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +1 -1
  139. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs +33 -20
  140. package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs.map +1 -1
  141. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs +9 -12
  142. package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs.map +1 -1
  143. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs +82 -73
  144. package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs.map +1 -1
  145. package/fesm2022/testgorilla-tgo-ui-components-popover.mjs.map +1 -1
  146. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs +8 -11
  147. package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs.map +1 -1
  148. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs +47 -40
  149. package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs.map +1 -1
  150. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +7 -10
  151. package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +1 -1
  152. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +43 -48
  153. package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +1 -1
  154. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +7 -12
  155. package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +1 -1
  156. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs +1 -1
  157. package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs.map +1 -1
  158. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +6 -10
  159. package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +1 -1
  160. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +30 -16
  161. package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +1 -1
  162. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +15 -14
  163. package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +1 -1
  164. package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs.map +1 -1
  165. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs +8 -11
  166. package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs.map +1 -1
  167. package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs +27 -21
  168. package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs.map +1 -1
  169. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs +5 -2
  170. package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs.map +1 -1
  171. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs +34 -26
  172. package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs.map +1 -1
  173. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs +5 -5
  174. package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs.map +1 -1
  175. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +10 -10
  176. package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +1 -1
  177. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs +31 -20
  178. package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs.map +1 -1
  179. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs +28 -23
  180. package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs.map +1 -1
  181. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs +9 -12
  182. package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs.map +1 -1
  183. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs +85 -79
  184. package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs.map +1 -1
  185. package/fesm2022/testgorilla-tgo-ui-components-table.mjs +74 -51
  186. package/fesm2022/testgorilla-tgo-ui-components-table.mjs.map +1 -1
  187. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs +57 -25
  188. package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs.map +1 -1
  189. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +16 -17
  190. package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +1 -1
  191. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +25 -17
  192. package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +1 -1
  193. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs +44 -28
  194. package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs.map +1 -1
  195. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs +34 -27
  196. package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs.map +1 -1
  197. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs +30 -14
  198. package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs.map +1 -1
  199. package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs +13 -11
  200. package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs.map +1 -1
  201. package/fesm2022/testgorilla-tgo-ui.mjs +6 -8
  202. package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
  203. package/index.d.ts +4 -4
  204. package/mcp/catalog.json +1 -1
  205. package/package.json +1 -2
@@ -1,20 +1,14 @@
1
+ import { AsyncPipe, KeyValuePipe, CommonModule } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
3
  import { Injectable, Input, Optional, Inject, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
- import * as i3 from '@testgorilla/tgo-ui/components/badge';
4
- import { RebrandBadgeColorEnum, BadgeComponentModule } from '@testgorilla/tgo-ui/components/badge';
5
- import * as i2 from '@testgorilla/tgo-ui/components/accordion';
6
- import { AccordionComponentModule } from '@testgorilla/tgo-ui/components/accordion';
7
- import * as i4 from '@testgorilla/tgo-ui/components/progress-bar';
8
- import { ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';
9
- import * as i5 from '@angular/common';
10
- import { CommonModule, KeyValuePipe } from '@angular/common';
11
- import * as i6 from '@testgorilla/tgo-ui/components/core';
4
+ import { AccordionComponent, AccordionComponentModule } from '@testgorilla/tgo-ui/components/accordion';
5
+ import { RebrandBadgeColorEnum, BadgeComponent, BadgeComponentModule } from '@testgorilla/tgo-ui/components/badge';
6
+ import * as i2 from '@testgorilla/tgo-ui/components/core';
12
7
  import { MemoizeFuncPipe, UiTranslatePipe, OrdinalSuffixPipe } from '@testgorilla/tgo-ui/components/core';
8
+ import { ProgressBarComponent, ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';
13
9
  import { take } from 'rxjs';
14
- import * as i4$1 from '@testgorilla/tgo-ui/components/spider-chart';
15
- import { SpiderChartComponentModule } from '@testgorilla/tgo-ui/components/spider-chart';
16
- import * as i5$1 from '@testgorilla/tgo-ui/components/divider';
17
- import { DividerComponentModule } from '@testgorilla/tgo-ui/components/divider';
10
+ import { DividerComponent, DividerComponentModule } from '@testgorilla/tgo-ui/components/divider';
11
+ import { SpiderChartComponent, SpiderChartComponentModule } from '@testgorilla/tgo-ui/components/spider-chart';
18
12
 
19
13
  //TODO Update this model after backend/endpoint definitions
20
14
  var SkillAreaGroupTypes;
@@ -184,11 +178,20 @@ class UniversalSkillsReportComponent {
184
178
  return isLabelRequest ? scoreBadgeLabel : scoreBadgeColor;
185
179
  }
186
180
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsReportComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: UniversalSkillsService }], target: i0.ɵɵFactoryTarget.Component }); }
187
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: UniversalSkillsReportComponent, isStandalone: false, selector: "ui-universal-skills-report", inputs: { applicationTheme: "applicationTheme", skillAreaDataList: "skillAreaDataList" }, ngImport: i0, template: "@for (skillAreaGroup of skillAreaGroupMap | keyvalue; track skillAreaGroup) {\n <div class=\"universal-skills-report\">\n <section class=\"title-and-info\">\n <h4>{{ skillAreaGroup.value.title | uiTranslate | async }}</h4>\n <span>{{ skillAreaGroup.value.description | uiTranslate | async }}</span>\n </section>\n <section class=\"accordion-items\">\n @for (skillAreaData of skillAreaGroup?.value?.skillAreaList; track skillAreaData) {\n <ui-accordion class=\"universal-skills-accordion\" label=\"-\" [allowCustomHeader]=\"true\">\n <div customHeader class=\"custom-header\">\n <h4 class=\"custom-header-subtitle\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.TITLE' | uiTranslate | async\n }}\n </h4>\n <div class=\"inner-container\">\n <ui-badge\n class=\"percentile-scoring-badge\"\n [label]=\"\n (skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async) ||\n 'neutral'\n \"\n [rebrandColor]=\"skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeColor : this\"\n [applicationTheme]=\"'light'\"\n ></ui-badge>\n <h5 class=\"percentile-quantity\">\n {{ skillAreaData?.percentileScoring }}\n <sup class=\"percentile-suffix\">{{\n skillAreaData.percentileScoring | ordinalSuffix | uiTranslate | async\n }}</sup>\n {{ translationContext + 'PERCENTILE' | uiTranslate | async }}\n </h5>\n <ui-progress-bar\n class=\"percentile-scoring-bar\"\n mode=\"determinate\"\n [progress]=\"skillAreaData.percentileScoring\"\n ></ui-progress-bar>\n </div>\n </div>\n <div class=\"content-container\">\n <p class=\"skill-description\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.DESCRIPTION'\n | uiTranslate\n | async\n }}\n </p>\n <h5>\n {{ skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async }} score\n </h5>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.GENERAL'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.WORK_ENVIRONMENT'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.RECOMMENDATIONS'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n </div>\n </ui-accordion>\n }\n </section>\n </div>\n}\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.universal-skills-report{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:2.2rem}.universal-skills-report:last-of-type{margin-bottom:0}.universal-skills-report .title-and-info{width:100%;display:flex;flex-direction:column;gap:.7rem}.universal-skills-report .accordion-items{width:100%;display:flex;flex-direction:column;gap:.6rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .custom-header-subtitle{font-weight:400}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container{width:70%;max-width:450px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-badge{width:126px;display:flex;justify-content:center}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-quantity{margin-top:-.4rem;white-space:nowrap}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-quantity .percentile-suffix{font-size:8px;line-height:22px;font-weight:700;margin-left:-.1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-bar{width:180px;height:8px}@media(max-width:600px){.universal-skills-report .accordion-items .universal-skills-accordion .custom-header{flex-direction:column;align-items:flex-start;min-height:60px}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .custom-header-subtitle{white-space:nowrap}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container{width:100%;max-width:none;position:absolute;top:45px;left:0;padding:0 1.5rem 0 1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-badge{justify-content:flex-start}}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel{border:1px solid #d3d3d3}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body{background-color:transparent}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container{display:flex;flex-direction:column;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container p{line-height:21px;margin:0}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container .skill-description{color:#666;line-height:22px;margin:.5rem 0}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container .inner-container{background-color:#f4f4f4;padding:1rem;border-radius:10px;display:flex;flex-direction:column;gap:1rem}\n"], dependencies: [{ kind: "component", type: i2.AccordionComponent, selector: "ui-accordion", inputs: ["label", "open", "disabled", "showPremiumIcon", "premiumTooltipText", "applicationTheme", "labelIcon", "variant", "allowCustomHeader", "noBackgroundColor", "toggleIconPosition"], outputs: ["closed", "opened"] }, { kind: "component", type: i3.BadgeComponent, selector: "ui-badge", inputs: ["label", "staticLabel", "icon", "iconColor", "trailingIcon", "trailingIconColor", "color", "variant", "notificationsAmount", "applicationTheme", "rebrandColor", "truncateLabel", "enableAnimation"] }, { kind: "component", type: i4.ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i6.MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: i6.OrdinalSuffixPipe, name: "ordinalSuffix" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
181
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: UniversalSkillsReportComponent, isStandalone: true, selector: "ui-universal-skills-report", inputs: { applicationTheme: "applicationTheme", skillAreaDataList: "skillAreaDataList" }, ngImport: i0, template: "@for (skillAreaGroup of skillAreaGroupMap | keyvalue; track skillAreaGroup) {\n <div class=\"universal-skills-report\">\n <section class=\"title-and-info\">\n <h4>{{ skillAreaGroup.value.title | uiTranslate | async }}</h4>\n <span>{{ skillAreaGroup.value.description | uiTranslate | async }}</span>\n </section>\n <section class=\"accordion-items\">\n @for (skillAreaData of skillAreaGroup?.value?.skillAreaList; track skillAreaData) {\n <ui-accordion class=\"universal-skills-accordion\" label=\"-\" [allowCustomHeader]=\"true\">\n <div customHeader class=\"custom-header\">\n <h4 class=\"custom-header-subtitle\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.TITLE' | uiTranslate | async\n }}\n </h4>\n <div class=\"inner-container\">\n <ui-badge\n class=\"percentile-scoring-badge\"\n [label]=\"\n (skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async) ||\n 'neutral'\n \"\n [rebrandColor]=\"skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeColor : this\"\n [applicationTheme]=\"'light'\"\n ></ui-badge>\n <h5 class=\"percentile-quantity\">\n {{ skillAreaData?.percentileScoring }}\n <sup class=\"percentile-suffix\">{{\n skillAreaData.percentileScoring | ordinalSuffix | uiTranslate | async\n }}</sup>\n {{ translationContext + 'PERCENTILE' | uiTranslate | async }}\n </h5>\n <ui-progress-bar\n class=\"percentile-scoring-bar\"\n mode=\"determinate\"\n [progress]=\"skillAreaData.percentileScoring\"\n ></ui-progress-bar>\n </div>\n </div>\n <div class=\"content-container\">\n <p class=\"skill-description\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.DESCRIPTION'\n | uiTranslate\n | async\n }}\n </p>\n <h5>\n {{ skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async }} score\n </h5>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.GENERAL'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.WORK_ENVIRONMENT'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.RECOMMENDATIONS'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n </div>\n </ui-accordion>\n }\n </section>\n </div>\n}\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.universal-skills-report{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:2.2rem}.universal-skills-report:last-of-type{margin-bottom:0}.universal-skills-report .title-and-info{width:100%;display:flex;flex-direction:column;gap:.7rem}.universal-skills-report .accordion-items{width:100%;display:flex;flex-direction:column;gap:.6rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .custom-header-subtitle{font-weight:400}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container{width:70%;max-width:450px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-badge{width:126px;display:flex;justify-content:center}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-quantity{margin-top:-.4rem;white-space:nowrap}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-quantity .percentile-suffix{font-size:8px;line-height:22px;font-weight:700;margin-left:-.1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-bar{width:180px;height:8px}@media(max-width:600px){.universal-skills-report .accordion-items .universal-skills-accordion .custom-header{flex-direction:column;align-items:flex-start;min-height:60px}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .custom-header-subtitle{white-space:nowrap}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container{width:100%;max-width:none;position:absolute;top:45px;left:0;padding:0 1.5rem 0 1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-badge{justify-content:flex-start}}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel{border:1px solid #d3d3d3}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body{background-color:transparent}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container{display:flex;flex-direction:column;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container p{line-height:21px;margin:0}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container .skill-description{color:#666;line-height:22px;margin:.5rem 0}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container .inner-container{background-color:#f4f4f4;padding:1rem;border-radius:10px;display:flex;flex-direction:column;gap:1rem}\n"], dependencies: [{ kind: "component", type: AccordionComponent, selector: "ui-accordion", inputs: ["label", "open", "disabled", "showPremiumIcon", "premiumTooltipText", "applicationTheme", "labelIcon", "variant", "allowCustomHeader", "noBackgroundColor", "toggleIconPosition"], outputs: ["closed", "opened"] }, { kind: "component", type: BadgeComponent, selector: "ui-badge", inputs: ["label", "staticLabel", "icon", "iconColor", "trailingIcon", "trailingIconColor", "color", "variant", "notificationsAmount", "applicationTheme", "rebrandColor", "truncateLabel", "enableAnimation"] }, { kind: "component", type: ProgressBarComponent, selector: "ui-progress-bar", inputs: ["companyColor", "progress", "mode", "buffer", "applicationTheme", "ariaLabel", "ariaDescribedBy", "showPercentage"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: MemoizeFuncPipe, name: "memoizeFunc" }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }, { kind: "pipe", type: OrdinalSuffixPipe, name: "ordinalSuffix" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
188
182
  }
189
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsReportComponent, decorators: [{
190
184
  type: Component,
191
- args: [{ selector: 'ui-universal-skills-report', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@for (skillAreaGroup of skillAreaGroupMap | keyvalue; track skillAreaGroup) {\n <div class=\"universal-skills-report\">\n <section class=\"title-and-info\">\n <h4>{{ skillAreaGroup.value.title | uiTranslate | async }}</h4>\n <span>{{ skillAreaGroup.value.description | uiTranslate | async }}</span>\n </section>\n <section class=\"accordion-items\">\n @for (skillAreaData of skillAreaGroup?.value?.skillAreaList; track skillAreaData) {\n <ui-accordion class=\"universal-skills-accordion\" label=\"-\" [allowCustomHeader]=\"true\">\n <div customHeader class=\"custom-header\">\n <h4 class=\"custom-header-subtitle\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.TITLE' | uiTranslate | async\n }}\n </h4>\n <div class=\"inner-container\">\n <ui-badge\n class=\"percentile-scoring-badge\"\n [label]=\"\n (skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async) ||\n 'neutral'\n \"\n [rebrandColor]=\"skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeColor : this\"\n [applicationTheme]=\"'light'\"\n ></ui-badge>\n <h5 class=\"percentile-quantity\">\n {{ skillAreaData?.percentileScoring }}\n <sup class=\"percentile-suffix\">{{\n skillAreaData.percentileScoring | ordinalSuffix | uiTranslate | async\n }}</sup>\n {{ translationContext + 'PERCENTILE' | uiTranslate | async }}\n </h5>\n <ui-progress-bar\n class=\"percentile-scoring-bar\"\n mode=\"determinate\"\n [progress]=\"skillAreaData.percentileScoring\"\n ></ui-progress-bar>\n </div>\n </div>\n <div class=\"content-container\">\n <p class=\"skill-description\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.DESCRIPTION'\n | uiTranslate\n | async\n }}\n </p>\n <h5>\n {{ skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async }} score\n </h5>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.GENERAL'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.WORK_ENVIRONMENT'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.RECOMMENDATIONS'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n </div>\n </ui-accordion>\n }\n </section>\n </div>\n}\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.universal-skills-report{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:2.2rem}.universal-skills-report:last-of-type{margin-bottom:0}.universal-skills-report .title-and-info{width:100%;display:flex;flex-direction:column;gap:.7rem}.universal-skills-report .accordion-items{width:100%;display:flex;flex-direction:column;gap:.6rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .custom-header-subtitle{font-weight:400}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container{width:70%;max-width:450px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-badge{width:126px;display:flex;justify-content:center}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-quantity{margin-top:-.4rem;white-space:nowrap}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-quantity .percentile-suffix{font-size:8px;line-height:22px;font-weight:700;margin-left:-.1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-bar{width:180px;height:8px}@media(max-width:600px){.universal-skills-report .accordion-items .universal-skills-accordion .custom-header{flex-direction:column;align-items:flex-start;min-height:60px}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .custom-header-subtitle{white-space:nowrap}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container{width:100%;max-width:none;position:absolute;top:45px;left:0;padding:0 1.5rem 0 1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-badge{justify-content:flex-start}}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel{border:1px solid #d3d3d3}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body{background-color:transparent}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container{display:flex;flex-direction:column;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container p{line-height:21px;margin:0}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container .skill-description{color:#666;line-height:22px;margin:.5rem 0}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container .inner-container{background-color:#f4f4f4;padding:1rem;border-radius:10px;display:flex;flex-direction:column;gap:1rem}\n"] }]
185
+ args: [{ selector: 'ui-universal-skills-report', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
186
+ AccordionComponent,
187
+ BadgeComponent,
188
+ ProgressBarComponent,
189
+ AsyncPipe,
190
+ KeyValuePipe,
191
+ MemoizeFuncPipe,
192
+ UiTranslatePipe,
193
+ OrdinalSuffixPipe,
194
+ ], template: "@for (skillAreaGroup of skillAreaGroupMap | keyvalue; track skillAreaGroup) {\n <div class=\"universal-skills-report\">\n <section class=\"title-and-info\">\n <h4>{{ skillAreaGroup.value.title | uiTranslate | async }}</h4>\n <span>{{ skillAreaGroup.value.description | uiTranslate | async }}</span>\n </section>\n <section class=\"accordion-items\">\n @for (skillAreaData of skillAreaGroup?.value?.skillAreaList; track skillAreaData) {\n <ui-accordion class=\"universal-skills-accordion\" label=\"-\" [allowCustomHeader]=\"true\">\n <div customHeader class=\"custom-header\">\n <h4 class=\"custom-header-subtitle\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.TITLE' | uiTranslate | async\n }}\n </h4>\n <div class=\"inner-container\">\n <ui-badge\n class=\"percentile-scoring-badge\"\n [label]=\"\n (skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async) ||\n 'neutral'\n \"\n [rebrandColor]=\"skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeColor : this\"\n [applicationTheme]=\"'light'\"\n ></ui-badge>\n <h5 class=\"percentile-quantity\">\n {{ skillAreaData?.percentileScoring }}\n <sup class=\"percentile-suffix\">{{\n skillAreaData.percentileScoring | ordinalSuffix | uiTranslate | async\n }}</sup>\n {{ translationContext + 'PERCENTILE' | uiTranslate | async }}\n </h5>\n <ui-progress-bar\n class=\"percentile-scoring-bar\"\n mode=\"determinate\"\n [progress]=\"skillAreaData.percentileScoring\"\n ></ui-progress-bar>\n </div>\n </div>\n <div class=\"content-container\">\n <p class=\"skill-description\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.DESCRIPTION'\n | uiTranslate\n | async\n }}\n </p>\n <h5>\n {{ skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async }} score\n </h5>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.GENERAL'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.WORK_ENVIRONMENT'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.RECOMMENDATIONS'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n </div>\n </ui-accordion>\n }\n </section>\n </div>\n}\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.universal-skills-report{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:2.2rem}.universal-skills-report:last-of-type{margin-bottom:0}.universal-skills-report .title-and-info{width:100%;display:flex;flex-direction:column;gap:.7rem}.universal-skills-report .accordion-items{width:100%;display:flex;flex-direction:column;gap:.6rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .custom-header-subtitle{font-weight:400}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container{width:70%;max-width:450px;display:flex;justify-content:space-between;align-items:center;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-badge{width:126px;display:flex;justify-content:center}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-quantity{margin-top:-.4rem;white-space:nowrap}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-quantity .percentile-suffix{font-size:8px;line-height:22px;font-weight:700;margin-left:-.1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-bar{width:180px;height:8px}@media(max-width:600px){.universal-skills-report .accordion-items .universal-skills-accordion .custom-header{flex-direction:column;align-items:flex-start;min-height:60px}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .custom-header-subtitle{white-space:nowrap}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container{width:100%;max-width:none;position:absolute;top:45px;left:0;padding:0 1.5rem 0 1rem}.universal-skills-report .accordion-items .universal-skills-accordion .custom-header .inner-container .percentile-scoring-badge{justify-content:flex-start}}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel{border:1px solid #d3d3d3}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body{background-color:transparent}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container{display:flex;flex-direction:column;gap:1rem}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container p{line-height:21px;margin:0}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container .skill-description{color:#666;line-height:22px;margin:.5rem 0}.universal-skills-report .accordion-items .universal-skills-accordion ::ng-deep .mat-accordion .mat-expansion-panel .mat-expansion-panel-body .content-container .inner-container{background-color:#f4f4f4;padding:1rem;border-radius:10px;display:flex;flex-direction:column;gap:1rem}\n"] }]
192
195
  }], ctorParameters: () => [{ type: undefined, decorators: [{
193
196
  type: Optional
194
197
  }, {
@@ -202,23 +205,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
202
205
 
203
206
  class UniversalSkillsReportComponentModule {
204
207
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsReportComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
205
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsReportComponentModule, declarations: [UniversalSkillsReportComponent], imports: [CommonModule,
208
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsReportComponentModule, imports: [CommonModule,
206
209
  AccordionComponentModule,
207
210
  BadgeComponentModule,
208
211
  ProgressBarComponentModule,
209
212
  MemoizeFuncPipe,
210
213
  UiTranslatePipe,
211
214
  OrdinalSuffixPipe,
212
- KeyValuePipe], exports: [UniversalSkillsReportComponent] }); }
215
+ KeyValuePipe,
216
+ UniversalSkillsReportComponent], exports: [UniversalSkillsReportComponent] }); }
213
217
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsReportComponentModule, imports: [CommonModule,
214
218
  AccordionComponentModule,
215
219
  BadgeComponentModule,
216
- ProgressBarComponentModule] }); }
220
+ ProgressBarComponentModule,
221
+ UniversalSkillsReportComponent] }); }
217
222
  }
218
223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsReportComponentModule, decorators: [{
219
224
  type: NgModule,
220
225
  args: [{
221
- declarations: [UniversalSkillsReportComponent],
222
226
  imports: [
223
227
  CommonModule,
224
228
  AccordionComponentModule,
@@ -228,6 +232,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
228
232
  UiTranslatePipe,
229
233
  OrdinalSuffixPipe,
230
234
  KeyValuePipe,
235
+ UniversalSkillsReportComponent,
231
236
  ],
232
237
  exports: [UniversalSkillsReportComponent],
233
238
  }]
@@ -312,18 +317,18 @@ class UniversalSkillsSpiderChartsComponent {
312
317
  });
313
318
  });
314
319
  }
315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsSpiderChartsComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: UniversalSkillsService }, { token: i6.UiTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: UniversalSkillsSpiderChartsComponent, isStandalone: false, selector: "ui-universal-skills-spider-charts", inputs: { applicationTheme: "applicationTheme", skillAreaDataList: "skillAreaDataList", loading: "loading", size: "size" }, ngImport: i0, template: "@for (spiderChartData of skillAreaSpiderChartData; track spiderChartData) {\n <ui-accordion\n class=\"universal-skills-spider-charts\"\n [label]=\"(spiderChartData.title | uiTranslate | async) || ''\"\n variant=\"filter\"\n >\n <ui-spider-chart\n [spiderChartData]=\"spiderChartData.spiderChartData\"\n [loading]=\"loading\"\n [size]=\"size\"\n ></ui-spider-chart>\n </ui-accordion>\n @if ($index < skillAreaSpiderChartData.length - 1) {\n <ui-divider class=\"universal-skills-spider-charts-divider\" size=\"small\"></ui-divider>\n }\n}\n", styles: [".universal-skills-spider-charts ::ng-deep .accordion-wrapper[theme=light] .mat-expansion-panel .mat-expansion-panel-header .accordion-label{font-weight:700}.universal-skills-spider-charts-divider ::ng-deep .ui-divider-wrapper{margin-top:8px;margin-bottom:8px}\n"], dependencies: [{ kind: "component", type: i2.AccordionComponent, selector: "ui-accordion", inputs: ["label", "open", "disabled", "showPremiumIcon", "premiumTooltipText", "applicationTheme", "labelIcon", "variant", "allowCustomHeader", "noBackgroundColor", "toggleIconPosition"], outputs: ["closed", "opened"] }, { kind: "component", type: i4$1.SpiderChartComponent, selector: "ui-spider-chart", inputs: ["size", "spiderChartData", "stepSize", "ariaLabel", "loading", "applicationTheme"] }, { kind: "component", type: i5$1.DividerComponent, selector: "ui-divider", inputs: ["size", "companyColor", "applicationTheme", "label"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
320
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsSpiderChartsComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }, { token: UniversalSkillsService }, { token: i2.UiTranslatePipe }], target: i0.ɵɵFactoryTarget.Component }); }
321
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: UniversalSkillsSpiderChartsComponent, isStandalone: true, selector: "ui-universal-skills-spider-charts", inputs: { applicationTheme: "applicationTheme", skillAreaDataList: "skillAreaDataList", loading: "loading", size: "size" }, ngImport: i0, template: "@for (spiderChartData of skillAreaSpiderChartData; track spiderChartData) {\n <ui-accordion\n class=\"universal-skills-spider-charts\"\n [label]=\"(spiderChartData.title | uiTranslate | async) || ''\"\n variant=\"filter\"\n >\n <ui-spider-chart\n [spiderChartData]=\"spiderChartData.spiderChartData\"\n [loading]=\"loading\"\n [size]=\"size\"\n ></ui-spider-chart>\n </ui-accordion>\n @if ($index < skillAreaSpiderChartData.length - 1) {\n <ui-divider class=\"universal-skills-spider-charts-divider\" size=\"small\"></ui-divider>\n }\n}\n", styles: [".universal-skills-spider-charts ::ng-deep .accordion-wrapper[theme=light] .mat-expansion-panel .mat-expansion-panel-header .accordion-label{font-weight:700}.universal-skills-spider-charts-divider ::ng-deep .ui-divider-wrapper{margin-top:8px;margin-bottom:8px}\n"], dependencies: [{ kind: "component", type: AccordionComponent, selector: "ui-accordion", inputs: ["label", "open", "disabled", "showPremiumIcon", "premiumTooltipText", "applicationTheme", "labelIcon", "variant", "allowCustomHeader", "noBackgroundColor", "toggleIconPosition"], outputs: ["closed", "opened"] }, { kind: "component", type: SpiderChartComponent, selector: "ui-spider-chart", inputs: ["size", "spiderChartData", "stepSize", "ariaLabel", "loading", "applicationTheme"] }, { kind: "component", type: DividerComponent, selector: "ui-divider", inputs: ["size", "companyColor", "applicationTheme", "label"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
317
322
  }
318
323
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsSpiderChartsComponent, decorators: [{
319
324
  type: Component,
320
- args: [{ selector: 'ui-universal-skills-spider-charts', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "@for (spiderChartData of skillAreaSpiderChartData; track spiderChartData) {\n <ui-accordion\n class=\"universal-skills-spider-charts\"\n [label]=\"(spiderChartData.title | uiTranslate | async) || ''\"\n variant=\"filter\"\n >\n <ui-spider-chart\n [spiderChartData]=\"spiderChartData.spiderChartData\"\n [loading]=\"loading\"\n [size]=\"size\"\n ></ui-spider-chart>\n </ui-accordion>\n @if ($index < skillAreaSpiderChartData.length - 1) {\n <ui-divider class=\"universal-skills-spider-charts-divider\" size=\"small\"></ui-divider>\n }\n}\n", styles: [".universal-skills-spider-charts ::ng-deep .accordion-wrapper[theme=light] .mat-expansion-panel .mat-expansion-panel-header .accordion-label{font-weight:700}.universal-skills-spider-charts-divider ::ng-deep .ui-divider-wrapper{margin-top:8px;margin-bottom:8px}\n"] }]
325
+ args: [{ selector: 'ui-universal-skills-spider-charts', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AccordionComponent, SpiderChartComponent, DividerComponent, AsyncPipe, UiTranslatePipe], template: "@for (spiderChartData of skillAreaSpiderChartData; track spiderChartData) {\n <ui-accordion\n class=\"universal-skills-spider-charts\"\n [label]=\"(spiderChartData.title | uiTranslate | async) || ''\"\n variant=\"filter\"\n >\n <ui-spider-chart\n [spiderChartData]=\"spiderChartData.spiderChartData\"\n [loading]=\"loading\"\n [size]=\"size\"\n ></ui-spider-chart>\n </ui-accordion>\n @if ($index < skillAreaSpiderChartData.length - 1) {\n <ui-divider class=\"universal-skills-spider-charts-divider\" size=\"small\"></ui-divider>\n }\n}\n", styles: [".universal-skills-spider-charts ::ng-deep .accordion-wrapper[theme=light] .mat-expansion-panel .mat-expansion-panel-header .accordion-label{font-weight:700}.universal-skills-spider-charts-divider ::ng-deep .ui-divider-wrapper{margin-top:8px;margin-bottom:8px}\n"] }]
321
326
  }], ctorParameters: () => [{ type: undefined, decorators: [{
322
327
  type: Optional
323
328
  }, {
324
329
  type: Inject,
325
330
  args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
326
- }] }, { type: UniversalSkillsService }, { type: i6.UiTranslatePipe }], propDecorators: { applicationTheme: [{
331
+ }] }, { type: UniversalSkillsService }, { type: i2.UiTranslatePipe }], propDecorators: { applicationTheme: [{
327
332
  type: Input
328
333
  }], skillAreaDataList: [{
329
334
  type: Input
@@ -335,7 +340,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
335
340
 
336
341
  class UniversalSkillsSpiderChartsComponentModule {
337
342
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsSpiderChartsComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
338
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsSpiderChartsComponentModule, declarations: [UniversalSkillsSpiderChartsComponent], imports: [CommonModule,
343
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsSpiderChartsComponentModule, imports: [CommonModule,
339
344
  AccordionComponentModule,
340
345
  BadgeComponentModule,
341
346
  ProgressBarComponentModule,
@@ -344,18 +349,19 @@ class UniversalSkillsSpiderChartsComponentModule {
344
349
  MemoizeFuncPipe,
345
350
  UiTranslatePipe,
346
351
  OrdinalSuffixPipe,
347
- KeyValuePipe], exports: [UniversalSkillsSpiderChartsComponent] }); }
352
+ KeyValuePipe,
353
+ UniversalSkillsSpiderChartsComponent], exports: [UniversalSkillsSpiderChartsComponent] }); }
348
354
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsSpiderChartsComponentModule, providers: [UiTranslatePipe], imports: [CommonModule,
349
355
  AccordionComponentModule,
350
356
  BadgeComponentModule,
351
357
  ProgressBarComponentModule,
352
358
  SpiderChartComponentModule,
353
- DividerComponentModule] }); }
359
+ DividerComponentModule,
360
+ UniversalSkillsSpiderChartsComponent] }); }
354
361
  }
355
362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UniversalSkillsSpiderChartsComponentModule, decorators: [{
356
363
  type: NgModule,
357
364
  args: [{
358
- declarations: [UniversalSkillsSpiderChartsComponent],
359
365
  imports: [
360
366
  CommonModule,
361
367
  AccordionComponentModule,
@@ -367,6 +373,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
367
373
  UiTranslatePipe,
368
374
  OrdinalSuffixPipe,
369
375
  KeyValuePipe,
376
+ UniversalSkillsSpiderChartsComponent,
370
377
  ],
371
378
  providers: [UiTranslatePipe],
372
379
  exports: [UniversalSkillsSpiderChartsComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"testgorilla-tgo-ui-components-universal-skills.mjs","sources":["../../../components/universal-skills/universal-skills-report.model.ts","../../../components/universal-skills/universal-skills.service.ts","../../../components/universal-skills/universal-skills-report.component.ts","../../../components/universal-skills/universal-skills-report.component.html","../../../components/universal-skills/universal-skills-report.component.module.ts","../../../components/universal-skills/spider-charts/universal-skills-spider-charts.component.ts","../../../components/universal-skills/spider-charts/universal-skills-spider-charts.component.html","../../../components/universal-skills/spider-charts/universal-skills-spider-charts.component.module.ts","../../../components/universal-skills/testgorilla-tgo-ui-components-universal-skills.ts"],"sourcesContent":["import { SpiderChartData } from '@testgorilla/tgo-ui/components/spider-chart';\n\nexport interface SkillAreaGroup {\n title: string;\n description: string;\n skillAreaList: SkillAreaData[];\n}\n\nexport interface SkillAreaSpiderChartData {\n title: string;\n description: string;\n spiderChartData: SpiderChartData;\n}\n\nexport interface SkillAreaData {\n percentileScoring: number;\n poolPercentileScoring?: number;\n skillAreaName: SkillAreaTypes;\n}\n\n//TODO Update this model after backend/endpoint definitions\nexport enum SkillAreaGroupTypes {\n FocusingOnObjectives = 1,\n WorkingWithPeople = 2,\n ManagingOnesSelf = 3,\n}\n\n//TODO Update this model after backend/endpoint definitions\nexport enum SkillAreaTypes {\n BusinessSavvy = 'BUSINESS_SAVVY',\n StrategicPerspective = 'STRATEGIC_PERSPECTIVE',\n CustomerFocus = 'CUSTOMER_FOCUS',\n NavigatingComplexity = 'NAVIGATING_COMPLEXITY',\n AgileDecisionMaking = 'AGILE_DECISION_MAKING',\n EmbracingInnovation = 'EMBRACING_INNOVATION',\n PlanningAndPrioritizing = 'PLANNING_AND_PRIORITIZING',\n OrganizingResources = 'ORGANIZING_RESOURCES',\n DrivingResults = 'DRIVING_RESULTS',\n\n WorkingCollaboratively = 'WORKING_COLLABORATIVELY',\n SocialAgility = 'SOCIAL_AGILITY',\n CommunicatingEffectively = 'COMMUNICATING_EFFECTIVELY',\n HandlingConflict = 'HANDLING_CONFLICT',\n ValuingDiversity = 'VALUING_DIVERSITY',\n DevelopingOthers = 'DEVELOPING_OTHERS',\n\n ShowingResilience = 'SHOWING_RESILIENCE',\n NavigatingAmbiguity = 'NAVIGATING_AMBIGUITY',\n SelfAwareness = 'SELF_AWARENESS',\n SelfDevelopment = 'SELF_DEVELOPMENT',\n BeingBold = 'BEING_BOLD',\n EarningTrust = 'EARNING_TRUST',\n}\n","import { Injectable } from '@angular/core';\nimport { SkillAreaData, SkillAreaGroup, SkillAreaGroupTypes, SkillAreaTypes } from './universal-skills-report.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UniversalSkillsService {\n readonly translationContext = 'UNIVERSAL_SKILLS_REPORT.';\n\n private skillAreaGroupMap: Record<SkillAreaGroupTypes, SkillAreaGroup>;\n private staticSkillAreaGroupMap: SkillAreaTypes[][] = [\n [\n SkillAreaTypes.BusinessSavvy,\n SkillAreaTypes.StrategicPerspective,\n SkillAreaTypes.CustomerFocus,\n SkillAreaTypes.NavigatingComplexity,\n SkillAreaTypes.AgileDecisionMaking,\n SkillAreaTypes.EmbracingInnovation,\n SkillAreaTypes.PlanningAndPrioritizing,\n SkillAreaTypes.OrganizingResources,\n SkillAreaTypes.DrivingResults,\n ],\n [\n SkillAreaTypes.WorkingCollaboratively,\n SkillAreaTypes.SocialAgility,\n SkillAreaTypes.CommunicatingEffectively,\n SkillAreaTypes.HandlingConflict,\n SkillAreaTypes.ValuingDiversity,\n SkillAreaTypes.DevelopingOthers,\n ],\n [\n SkillAreaTypes.ShowingResilience,\n SkillAreaTypes.NavigatingAmbiguity,\n SkillAreaTypes.SelfAwareness,\n SkillAreaTypes.SelfDevelopment,\n SkillAreaTypes.EarningTrust,\n SkillAreaTypes.BeingBold,\n ],\n ];\n\n initializeSkillAreaGroupMap(): void {\n this.skillAreaGroupMap = {\n [SkillAreaGroupTypes.FocusingOnObjectives]: {\n title: `${this.translationContext}SKILL_AREA_GROUP_TYPES.FOCUSING_ON_OBJECTIVES.TITLE`,\n description: `${this.translationContext}SKILL_AREA_GROUP_TYPES.FOCUSING_ON_OBJECTIVES.DESCRIPTION`,\n skillAreaList: [],\n },\n [SkillAreaGroupTypes.WorkingWithPeople]: {\n title: `${this.translationContext}SKILL_AREA_GROUP_TYPES.WORKING_WITH_PEOPLE.TITLE`,\n description: `${this.translationContext}SKILL_AREA_GROUP_TYPES.WORKING_WITH_PEOPLE.DESCRIPTION`,\n skillAreaList: [],\n },\n [SkillAreaGroupTypes.ManagingOnesSelf]: {\n title: `${this.translationContext}SKILL_AREA_GROUP_TYPES.MANAGING_ONES_SELF.TITLE`,\n description: `${this.translationContext}SKILL_AREA_GROUP_TYPES.MANAGING_ONES_SELF.DESCRIPTION`,\n skillAreaList: [],\n },\n };\n }\n\n prepareSkillAreaGroupMap(skillAreaDataList: SkillAreaData[]): void {\n skillAreaDataList?.forEach(currentItem => {\n const formattedSkillAreaType = currentItem.skillAreaName;\n\n if (this.staticSkillAreaGroupMap[0].includes(formattedSkillAreaType)) {\n this.skillAreaGroupMap[SkillAreaGroupTypes.FocusingOnObjectives]?.skillAreaList?.push(currentItem);\n }\n\n if (this.staticSkillAreaGroupMap[1].includes(formattedSkillAreaType)) {\n this.skillAreaGroupMap[SkillAreaGroupTypes.WorkingWithPeople]?.skillAreaList?.push(currentItem);\n }\n\n if (this.staticSkillAreaGroupMap[2].includes(formattedSkillAreaType)) {\n this.skillAreaGroupMap[SkillAreaGroupTypes.ManagingOnesSelf]?.skillAreaList?.push(currentItem);\n }\n });\n }\n\n getSkillAreaGroupMap(): Record<SkillAreaGroupTypes, SkillAreaGroup> {\n return this.skillAreaGroupMap;\n }\n\n getStaticSkillAreaGroupMap(): SkillAreaTypes[][] {\n return this.staticSkillAreaGroupMap;\n }\n}\n","import { ChangeDetectionStrategy, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport { RebrandBadgeColor, RebrandBadgeColorEnum } from '@testgorilla/tgo-ui/components/badge';\nimport { SkillAreaData, SkillAreaGroup, SkillAreaGroupTypes } from './universal-skills-report.model';\nimport { UniversalSkillsService } from './universal-skills.service';\n\n@Component({\n selector: 'ui-universal-skills-report',\n templateUrl: './universal-skills-report.component.html',\n styleUrls: ['./universal-skills-report.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class UniversalSkillsReportComponent implements OnInit {\n /**\n * Defines the application theme\n * @property applicationTheme\n * @type {ApplicationTheme}\n * @memberof UniversalSkillsReportComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n /**\n * The list of items to be used\n * @property items\n * @type {SkillAreaData[]}\n * @memberof UniversalSkillsReportComponent\n */\n @Input() skillAreaDataList: SkillAreaData[];\n\n readonly translationContext = 'UNIVERSAL_SKILLS_REPORT.';\n\n skillAreaGroupMap: Record<SkillAreaGroupTypes, SkillAreaGroup>;\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n private universalSkillsService: UniversalSkillsService\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnInit() {\n this.universalSkillsService.initializeSkillAreaGroupMap();\n this.universalSkillsService.prepareSkillAreaGroupMap(this.skillAreaDataList);\n this.skillAreaGroupMap = this.universalSkillsService.getSkillAreaGroupMap();\n }\n\n getScoreBadgeLabel(percentileScoring: number): string {\n return `PERCENTILE_LABEL_TYPES.${this.checkScoreClassification([percentileScoring, true])}`;\n }\n\n getScoreBadgeColor(percentileScoring: number): RebrandBadgeColor {\n return this.checkScoreClassification([percentileScoring, false]) as RebrandBadgeColor;\n }\n\n checkScoreClassification([percentileScoring, isLabelRequest]: [number, boolean]): string {\n let scoreBadgeLabel = '';\n let scoreBadgeColor: RebrandBadgeColor = RebrandBadgeColorEnum.BLUE_10;\n\n if (percentileScoring >= 1 && percentileScoring <= 19) {\n scoreBadgeLabel = 'WELL_BELOW_AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.GREY_30;\n }\n\n if (percentileScoring >= 20 && percentileScoring <= 39) {\n scoreBadgeLabel = 'BELOW_AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.GREY_10;\n }\n\n if (percentileScoring >= 40 && percentileScoring <= 59) {\n scoreBadgeLabel = 'AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.BLUE_10;\n }\n\n if (percentileScoring >= 60 && percentileScoring <= 79) {\n scoreBadgeLabel = 'ABOVE_AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.BLUE_20;\n }\n\n if (percentileScoring >= 80 && percentileScoring <= 100) {\n scoreBadgeLabel = 'WELL_ABOVE_AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.BLUE_40;\n }\n\n return isLabelRequest ? scoreBadgeLabel : scoreBadgeColor;\n }\n}\n","@for (skillAreaGroup of skillAreaGroupMap | keyvalue; track skillAreaGroup) {\n <div class=\"universal-skills-report\">\n <section class=\"title-and-info\">\n <h4>{{ skillAreaGroup.value.title | uiTranslate | async }}</h4>\n <span>{{ skillAreaGroup.value.description | uiTranslate | async }}</span>\n </section>\n <section class=\"accordion-items\">\n @for (skillAreaData of skillAreaGroup?.value?.skillAreaList; track skillAreaData) {\n <ui-accordion class=\"universal-skills-accordion\" label=\"-\" [allowCustomHeader]=\"true\">\n <div customHeader class=\"custom-header\">\n <h4 class=\"custom-header-subtitle\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.TITLE' | uiTranslate | async\n }}\n </h4>\n <div class=\"inner-container\">\n <ui-badge\n class=\"percentile-scoring-badge\"\n [label]=\"\n (skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async) ||\n 'neutral'\n \"\n [rebrandColor]=\"skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeColor : this\"\n [applicationTheme]=\"'light'\"\n ></ui-badge>\n <h5 class=\"percentile-quantity\">\n {{ skillAreaData?.percentileScoring }}\n <sup class=\"percentile-suffix\">{{\n skillAreaData.percentileScoring | ordinalSuffix | uiTranslate | async\n }}</sup>\n {{ translationContext + 'PERCENTILE' | uiTranslate | async }}\n </h5>\n <ui-progress-bar\n class=\"percentile-scoring-bar\"\n mode=\"determinate\"\n [progress]=\"skillAreaData.percentileScoring\"\n ></ui-progress-bar>\n </div>\n </div>\n <div class=\"content-container\">\n <p class=\"skill-description\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.DESCRIPTION'\n | uiTranslate\n | async\n }}\n </p>\n <h5>\n {{ skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async }} score\n </h5>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.GENERAL'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.WORK_ENVIRONMENT'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.RECOMMENDATIONS'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n </div>\n </ui-accordion>\n }\n </section>\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, KeyValuePipe } from '@angular/common';\nimport { UniversalSkillsReportComponent } from './universal-skills-report.component';\nimport { AccordionComponentModule } from '@testgorilla/tgo-ui/components/accordion';\nimport { BadgeComponentModule } from '@testgorilla/tgo-ui/components/badge';\nimport { ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';\nimport { MemoizeFuncPipe, UiTranslatePipe, OrdinalSuffixPipe } from '@testgorilla/tgo-ui/components/core';\n\n@NgModule({\n declarations: [UniversalSkillsReportComponent],\n imports: [\n CommonModule,\n AccordionComponentModule,\n BadgeComponentModule,\n ProgressBarComponentModule,\n MemoizeFuncPipe,\n UiTranslatePipe,\n OrdinalSuffixPipe,\n KeyValuePipe,\n ],\n exports: [UniversalSkillsReportComponent],\n})\nexport class UniversalSkillsReportComponentModule {}\n","import { ChangeDetectionStrategy, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { ApplicationTheme } from '@testgorilla/tgo-ui/components/core';\nimport {\n SkillAreaData,\n SkillAreaGroup,\n SkillAreaGroupTypes,\n SkillAreaSpiderChartData,\n} from '../universal-skills-report.model';\nimport { UniversalSkillsService } from '../universal-skills.service';\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { take } from 'rxjs';\n\n@Component({\n selector: 'ui-universal-skills-spider-charts',\n templateUrl: './universal-skills-spider-charts.component.html',\n styleUrls: ['./universal-skills-spider-charts.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class UniversalSkillsSpiderChartsComponent implements OnInit {\n /**\n * Defines the application theme\n * @property applicationTheme\n * @type {ApplicationTheme}\n * @memberof UniversalSkillsSpiderChartsComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n /**\n * The list of items to be used\n * @property items\n * @type {SkillAreaData[]}\n * @memberof UniversalSkillsReportComponent\n */\n @Input() skillAreaDataList: SkillAreaData[];\n\n /**\n * Defines if the component is loading\n * @property loading\n * @type {boolean}\n * @memberof UniversalSkillsSpiderChartsComponent\n */\n @Input() loading = false;\n\n /**\n * Defines the size of the spider chart\n * @property size\n * @type {'small' | 'large'}\n * @memberof UniversalSkillsSpiderChartsComponent\n */\n @Input() size: 'small' | 'large' = 'large';\n\n readonly translationContext = 'UNIVERSAL_SKILLS_REPORT.';\n\n skillAreaGroupMap: Record<SkillAreaGroupTypes, SkillAreaGroup>;\n skillAreaSpiderChartData: SkillAreaSpiderChartData[] = [];\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n private universalSkillsService: UniversalSkillsService,\n private uiTranslatePipe: UiTranslatePipe\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnInit() {\n this.universalSkillsService.initializeSkillAreaGroupMap();\n this.universalSkillsService.prepareSkillAreaGroupMap(this.skillAreaDataList);\n this.skillAreaGroupMap = this.universalSkillsService.getSkillAreaGroupMap();\n this.prepareSpiderChartData();\n }\n\n prepareSpiderChartData(): void {\n this.skillAreaSpiderChartData = [];\n Object.values(this.skillAreaGroupMap).forEach(skillAreaGroup => {\n const labelObservables = skillAreaGroup.skillAreaList.map(skillArea =>\n this.uiTranslatePipe.transform(`${this.translationContext}SKILL_AREA_TYPES.${skillArea.skillAreaName}.TITLE`)\n );\n\n const labelDescriptionObservables = skillAreaGroup.skillAreaList.map(skillArea =>\n this.uiTranslatePipe.transform(\n `${this.translationContext}SKILL_AREA_TYPES.${skillArea.skillAreaName}.DESCRIPTION`\n )\n );\n\n const allObservables = [...labelObservables, ...labelDescriptionObservables];\n const translations: string[] = [];\n allObservables.forEach(observable => {\n observable.pipe(take(1)).subscribe(translation => {\n translations.push(translation);\n });\n });\n const labels = translations.slice(0, labelObservables.length);\n const labelDescriptions = translations.slice(labelObservables.length);\n\n this.skillAreaSpiderChartData.push({\n title: skillAreaGroup.title,\n description: skillAreaGroup.description,\n spiderChartData: {\n labels,\n labelDescription: labelDescriptions,\n plotData:\n skillAreaGroup.skillAreaList?.[0]?.poolPercentileScoring !== undefined\n ? [\n {\n data: skillAreaGroup.skillAreaList.map(skillArea => skillArea.percentileScoring),\n databaseLabel: \"This candidate's score\",\n },\n {\n data: skillAreaGroup.skillAreaList.map(skillArea => skillArea.poolPercentileScoring ?? 0),\n databaseLabel: 'Average score of all candidates',\n },\n ]\n : [\n {\n data: skillAreaGroup.skillAreaList.map(skillArea => skillArea.percentileScoring),\n databaseLabel: \"This candidate's score\",\n },\n ],\n },\n });\n });\n }\n}\n","@for (spiderChartData of skillAreaSpiderChartData; track spiderChartData) {\n <ui-accordion\n class=\"universal-skills-spider-charts\"\n [label]=\"(spiderChartData.title | uiTranslate | async) || ''\"\n variant=\"filter\"\n >\n <ui-spider-chart\n [spiderChartData]=\"spiderChartData.spiderChartData\"\n [loading]=\"loading\"\n [size]=\"size\"\n ></ui-spider-chart>\n </ui-accordion>\n @if ($index < skillAreaSpiderChartData.length - 1) {\n <ui-divider class=\"universal-skills-spider-charts-divider\" size=\"small\"></ui-divider>\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule, KeyValuePipe } from '@angular/common';\nimport { UniversalSkillsSpiderChartsComponent } from './universal-skills-spider-charts.component';\nimport { AccordionComponentModule } from '@testgorilla/tgo-ui/components/accordion';\nimport { BadgeComponentModule } from '@testgorilla/tgo-ui/components/badge';\nimport { ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';\nimport { MemoizeFuncPipe, UiTranslatePipe, OrdinalSuffixPipe } from '@testgorilla/tgo-ui/components/core';\nimport { SpiderChartComponentModule } from '@testgorilla/tgo-ui/components/spider-chart';\nimport { DividerComponentModule } from '@testgorilla/tgo-ui/components/divider';\n\n@NgModule({\n declarations: [UniversalSkillsSpiderChartsComponent],\n imports: [\n CommonModule,\n AccordionComponentModule,\n BadgeComponentModule,\n ProgressBarComponentModule,\n SpiderChartComponentModule,\n DividerComponentModule,\n MemoizeFuncPipe,\n UiTranslatePipe,\n OrdinalSuffixPipe,\n KeyValuePipe,\n ],\n providers: [UiTranslatePipe],\n exports: [UniversalSkillsSpiderChartsComponent],\n})\nexport class UniversalSkillsSpiderChartsComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UniversalSkillsService","i2","i3","i4","i5","i6"],"mappings":"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"}
1
+ {"version":3,"file":"testgorilla-tgo-ui-components-universal-skills.mjs","sources":["../../../components/universal-skills/universal-skills-report.model.ts","../../../components/universal-skills/universal-skills.service.ts","../../../components/universal-skills/universal-skills-report.component.ts","../../../components/universal-skills/universal-skills-report.component.html","../../../components/universal-skills/universal-skills-report.component.module.ts","../../../components/universal-skills/spider-charts/universal-skills-spider-charts.component.ts","../../../components/universal-skills/spider-charts/universal-skills-spider-charts.component.html","../../../components/universal-skills/spider-charts/universal-skills-spider-charts.component.module.ts","../../../components/universal-skills/testgorilla-tgo-ui-components-universal-skills.ts"],"sourcesContent":["import { SpiderChartData } from '@testgorilla/tgo-ui/components/spider-chart';\n\nexport interface SkillAreaGroup {\n title: string;\n description: string;\n skillAreaList: SkillAreaData[];\n}\n\nexport interface SkillAreaSpiderChartData {\n title: string;\n description: string;\n spiderChartData: SpiderChartData;\n}\n\nexport interface SkillAreaData {\n percentileScoring: number;\n poolPercentileScoring?: number;\n skillAreaName: SkillAreaTypes;\n}\n\n//TODO Update this model after backend/endpoint definitions\nexport enum SkillAreaGroupTypes {\n FocusingOnObjectives = 1,\n WorkingWithPeople = 2,\n ManagingOnesSelf = 3,\n}\n\n//TODO Update this model after backend/endpoint definitions\nexport enum SkillAreaTypes {\n BusinessSavvy = 'BUSINESS_SAVVY',\n StrategicPerspective = 'STRATEGIC_PERSPECTIVE',\n CustomerFocus = 'CUSTOMER_FOCUS',\n NavigatingComplexity = 'NAVIGATING_COMPLEXITY',\n AgileDecisionMaking = 'AGILE_DECISION_MAKING',\n EmbracingInnovation = 'EMBRACING_INNOVATION',\n PlanningAndPrioritizing = 'PLANNING_AND_PRIORITIZING',\n OrganizingResources = 'ORGANIZING_RESOURCES',\n DrivingResults = 'DRIVING_RESULTS',\n\n WorkingCollaboratively = 'WORKING_COLLABORATIVELY',\n SocialAgility = 'SOCIAL_AGILITY',\n CommunicatingEffectively = 'COMMUNICATING_EFFECTIVELY',\n HandlingConflict = 'HANDLING_CONFLICT',\n ValuingDiversity = 'VALUING_DIVERSITY',\n DevelopingOthers = 'DEVELOPING_OTHERS',\n\n ShowingResilience = 'SHOWING_RESILIENCE',\n NavigatingAmbiguity = 'NAVIGATING_AMBIGUITY',\n SelfAwareness = 'SELF_AWARENESS',\n SelfDevelopment = 'SELF_DEVELOPMENT',\n BeingBold = 'BEING_BOLD',\n EarningTrust = 'EARNING_TRUST',\n}\n","import { Injectable } from '@angular/core';\n\nimport { SkillAreaData, SkillAreaGroup, SkillAreaGroupTypes, SkillAreaTypes } from './universal-skills-report.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UniversalSkillsService {\n readonly translationContext = 'UNIVERSAL_SKILLS_REPORT.';\n\n private skillAreaGroupMap: Record<SkillAreaGroupTypes, SkillAreaGroup>;\n private readonly staticSkillAreaGroupMap: SkillAreaTypes[][] = [\n [\n SkillAreaTypes.BusinessSavvy,\n SkillAreaTypes.StrategicPerspective,\n SkillAreaTypes.CustomerFocus,\n SkillAreaTypes.NavigatingComplexity,\n SkillAreaTypes.AgileDecisionMaking,\n SkillAreaTypes.EmbracingInnovation,\n SkillAreaTypes.PlanningAndPrioritizing,\n SkillAreaTypes.OrganizingResources,\n SkillAreaTypes.DrivingResults,\n ],\n [\n SkillAreaTypes.WorkingCollaboratively,\n SkillAreaTypes.SocialAgility,\n SkillAreaTypes.CommunicatingEffectively,\n SkillAreaTypes.HandlingConflict,\n SkillAreaTypes.ValuingDiversity,\n SkillAreaTypes.DevelopingOthers,\n ],\n [\n SkillAreaTypes.ShowingResilience,\n SkillAreaTypes.NavigatingAmbiguity,\n SkillAreaTypes.SelfAwareness,\n SkillAreaTypes.SelfDevelopment,\n SkillAreaTypes.EarningTrust,\n SkillAreaTypes.BeingBold,\n ],\n ];\n\n initializeSkillAreaGroupMap(): void {\n this.skillAreaGroupMap = {\n [SkillAreaGroupTypes.FocusingOnObjectives]: {\n title: `${this.translationContext}SKILL_AREA_GROUP_TYPES.FOCUSING_ON_OBJECTIVES.TITLE`,\n description: `${this.translationContext}SKILL_AREA_GROUP_TYPES.FOCUSING_ON_OBJECTIVES.DESCRIPTION`,\n skillAreaList: [],\n },\n [SkillAreaGroupTypes.WorkingWithPeople]: {\n title: `${this.translationContext}SKILL_AREA_GROUP_TYPES.WORKING_WITH_PEOPLE.TITLE`,\n description: `${this.translationContext}SKILL_AREA_GROUP_TYPES.WORKING_WITH_PEOPLE.DESCRIPTION`,\n skillAreaList: [],\n },\n [SkillAreaGroupTypes.ManagingOnesSelf]: {\n title: `${this.translationContext}SKILL_AREA_GROUP_TYPES.MANAGING_ONES_SELF.TITLE`,\n description: `${this.translationContext}SKILL_AREA_GROUP_TYPES.MANAGING_ONES_SELF.DESCRIPTION`,\n skillAreaList: [],\n },\n };\n }\n\n prepareSkillAreaGroupMap(skillAreaDataList: SkillAreaData[]): void {\n skillAreaDataList?.forEach(currentItem => {\n const formattedSkillAreaType = currentItem.skillAreaName;\n\n if (this.staticSkillAreaGroupMap[0].includes(formattedSkillAreaType)) {\n this.skillAreaGroupMap[SkillAreaGroupTypes.FocusingOnObjectives]?.skillAreaList?.push(currentItem);\n }\n\n if (this.staticSkillAreaGroupMap[1].includes(formattedSkillAreaType)) {\n this.skillAreaGroupMap[SkillAreaGroupTypes.WorkingWithPeople]?.skillAreaList?.push(currentItem);\n }\n\n if (this.staticSkillAreaGroupMap[2].includes(formattedSkillAreaType)) {\n this.skillAreaGroupMap[SkillAreaGroupTypes.ManagingOnesSelf]?.skillAreaList?.push(currentItem);\n }\n });\n }\n\n getSkillAreaGroupMap(): Record<SkillAreaGroupTypes, SkillAreaGroup> {\n return this.skillAreaGroupMap;\n }\n\n getStaticSkillAreaGroupMap(): SkillAreaTypes[][] {\n return this.staticSkillAreaGroupMap;\n }\n}\n","import { AsyncPipe, KeyValuePipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnInit, Optional } from '@angular/core';\n\nimport { AccordionComponent } from '@testgorilla/tgo-ui/components/accordion';\nimport { RebrandBadgeColor, RebrandBadgeColorEnum, BadgeComponent } from '@testgorilla/tgo-ui/components/badge';\nimport {\n ApplicationTheme,\n MemoizeFuncPipe,\n UiTranslatePipe,\n OrdinalSuffixPipe,\n} from '@testgorilla/tgo-ui/components/core';\nimport { ProgressBarComponent } from '@testgorilla/tgo-ui/components/progress-bar';\n\nimport { SkillAreaData, SkillAreaGroup, SkillAreaGroupTypes } from './universal-skills-report.model';\nimport { UniversalSkillsService } from './universal-skills.service';\n\n@Component({\n selector: 'ui-universal-skills-report',\n templateUrl: './universal-skills-report.component.html',\n styleUrls: ['./universal-skills-report.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n AccordionComponent,\n BadgeComponent,\n ProgressBarComponent,\n AsyncPipe,\n KeyValuePipe,\n MemoizeFuncPipe,\n UiTranslatePipe,\n OrdinalSuffixPipe,\n ],\n})\nexport class UniversalSkillsReportComponent implements OnInit {\n /**\n * Defines the application theme\n * @property applicationTheme\n * @type {ApplicationTheme}\n * @memberof UniversalSkillsReportComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n /**\n * The list of items to be used\n * @property items\n * @type {SkillAreaData[]}\n * @memberof UniversalSkillsReportComponent\n */\n @Input() skillAreaDataList: SkillAreaData[];\n\n readonly translationContext = 'UNIVERSAL_SKILLS_REPORT.';\n\n skillAreaGroupMap: Record<SkillAreaGroupTypes, SkillAreaGroup>;\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n private readonly universalSkillsService: UniversalSkillsService\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnInit() {\n this.universalSkillsService.initializeSkillAreaGroupMap();\n this.universalSkillsService.prepareSkillAreaGroupMap(this.skillAreaDataList);\n this.skillAreaGroupMap = this.universalSkillsService.getSkillAreaGroupMap();\n }\n\n getScoreBadgeLabel(percentileScoring: number): string {\n return `PERCENTILE_LABEL_TYPES.${this.checkScoreClassification([percentileScoring, true])}`;\n }\n\n getScoreBadgeColor(percentileScoring: number): RebrandBadgeColor {\n return this.checkScoreClassification([percentileScoring, false]) as RebrandBadgeColor;\n }\n\n checkScoreClassification([percentileScoring, isLabelRequest]: [number, boolean]): string {\n let scoreBadgeLabel = '';\n let scoreBadgeColor: RebrandBadgeColor = RebrandBadgeColorEnum.BLUE_10;\n\n if (percentileScoring >= 1 && percentileScoring <= 19) {\n scoreBadgeLabel = 'WELL_BELOW_AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.GREY_30;\n }\n\n if (percentileScoring >= 20 && percentileScoring <= 39) {\n scoreBadgeLabel = 'BELOW_AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.GREY_10;\n }\n\n if (percentileScoring >= 40 && percentileScoring <= 59) {\n scoreBadgeLabel = 'AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.BLUE_10;\n }\n\n if (percentileScoring >= 60 && percentileScoring <= 79) {\n scoreBadgeLabel = 'ABOVE_AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.BLUE_20;\n }\n\n if (percentileScoring >= 80 && percentileScoring <= 100) {\n scoreBadgeLabel = 'WELL_ABOVE_AVERAGE';\n scoreBadgeColor = RebrandBadgeColorEnum.BLUE_40;\n }\n\n return isLabelRequest ? scoreBadgeLabel : scoreBadgeColor;\n }\n}\n","@for (skillAreaGroup of skillAreaGroupMap | keyvalue; track skillAreaGroup) {\n <div class=\"universal-skills-report\">\n <section class=\"title-and-info\">\n <h4>{{ skillAreaGroup.value.title | uiTranslate | async }}</h4>\n <span>{{ skillAreaGroup.value.description | uiTranslate | async }}</span>\n </section>\n <section class=\"accordion-items\">\n @for (skillAreaData of skillAreaGroup?.value?.skillAreaList; track skillAreaData) {\n <ui-accordion class=\"universal-skills-accordion\" label=\"-\" [allowCustomHeader]=\"true\">\n <div customHeader class=\"custom-header\">\n <h4 class=\"custom-header-subtitle\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.TITLE' | uiTranslate | async\n }}\n </h4>\n <div class=\"inner-container\">\n <ui-badge\n class=\"percentile-scoring-badge\"\n [label]=\"\n (skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async) ||\n 'neutral'\n \"\n [rebrandColor]=\"skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeColor : this\"\n [applicationTheme]=\"'light'\"\n ></ui-badge>\n <h5 class=\"percentile-quantity\">\n {{ skillAreaData?.percentileScoring }}\n <sup class=\"percentile-suffix\">{{\n skillAreaData.percentileScoring | ordinalSuffix | uiTranslate | async\n }}</sup>\n {{ translationContext + 'PERCENTILE' | uiTranslate | async }}\n </h5>\n <ui-progress-bar\n class=\"percentile-scoring-bar\"\n mode=\"determinate\"\n [progress]=\"skillAreaData.percentileScoring\"\n ></ui-progress-bar>\n </div>\n </div>\n <div class=\"content-container\">\n <p class=\"skill-description\">\n {{\n translationContext + 'SKILL_AREA_TYPES.' + skillAreaData.skillAreaName + '.DESCRIPTION'\n | uiTranslate\n | async\n }}\n </p>\n <h5>\n {{ skillAreaData.percentileScoring | memoizeFunc: getScoreBadgeLabel : this | uiTranslate | async }} score\n </h5>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.GENERAL'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.WORK_ENVIRONMENT'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n <div class=\"inner-container\">\n <p>\n {{\n translationContext +\n 'SKILL_AREA_TYPES.' +\n skillAreaData.skillAreaName +\n '.' +\n ([skillAreaData.percentileScoring, true] | memoizeFunc: checkScoreClassification : this) +\n '.RECOMMENDATIONS'\n | uiTranslate\n | async\n }}\n </p>\n </div>\n </div>\n </ui-accordion>\n }\n </section>\n </div>\n}\n","import { CommonModule, KeyValuePipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AccordionComponentModule } from '@testgorilla/tgo-ui/components/accordion';\nimport { BadgeComponentModule } from '@testgorilla/tgo-ui/components/badge';\nimport { MemoizeFuncPipe, UiTranslatePipe, OrdinalSuffixPipe } from '@testgorilla/tgo-ui/components/core';\nimport { ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';\n\nimport { UniversalSkillsReportComponent } from './universal-skills-report.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AccordionComponentModule,\n BadgeComponentModule,\n ProgressBarComponentModule,\n MemoizeFuncPipe,\n UiTranslatePipe,\n OrdinalSuffixPipe,\n KeyValuePipe,\n UniversalSkillsReportComponent,\n ],\n exports: [UniversalSkillsReportComponent],\n})\nexport class UniversalSkillsReportComponentModule {}\n","import { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnInit, Optional } from '@angular/core';\nimport { take } from 'rxjs';\n\nimport { AccordionComponent } from '@testgorilla/tgo-ui/components/accordion';\nimport { ApplicationTheme, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { DividerComponent } from '@testgorilla/tgo-ui/components/divider';\nimport { SpiderChartComponent } from '@testgorilla/tgo-ui/components/spider-chart';\n\nimport {\n SkillAreaData,\n SkillAreaGroup,\n SkillAreaGroupTypes,\n SkillAreaSpiderChartData,\n} from '../universal-skills-report.model';\nimport { UniversalSkillsService } from '../universal-skills.service';\n\n@Component({\n selector: 'ui-universal-skills-spider-charts',\n templateUrl: './universal-skills-spider-charts.component.html',\n styleUrls: ['./universal-skills-spider-charts.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AccordionComponent, SpiderChartComponent, DividerComponent, AsyncPipe, UiTranslatePipe],\n})\nexport class UniversalSkillsSpiderChartsComponent implements OnInit {\n /**\n * Defines the application theme\n * @property applicationTheme\n * @type {ApplicationTheme}\n * @memberof UniversalSkillsSpiderChartsComponent\n */\n @Input() applicationTheme: ApplicationTheme = 'light';\n\n /**\n * The list of items to be used\n * @property items\n * @type {SkillAreaData[]}\n * @memberof UniversalSkillsReportComponent\n */\n @Input() skillAreaDataList: SkillAreaData[];\n\n /**\n * Defines if the component is loading\n * @property loading\n * @type {boolean}\n * @memberof UniversalSkillsSpiderChartsComponent\n */\n @Input() loading = false;\n\n /**\n * Defines the size of the spider chart\n * @property size\n * @type {'small' | 'large'}\n * @memberof UniversalSkillsSpiderChartsComponent\n */\n @Input() size: 'small' | 'large' = 'large';\n\n readonly translationContext = 'UNIVERSAL_SKILLS_REPORT.';\n\n skillAreaGroupMap: Record<SkillAreaGroupTypes, SkillAreaGroup>;\n skillAreaSpiderChartData: SkillAreaSpiderChartData[] = [];\n\n constructor(\n @Optional() @Inject('CANOPYUI_DEFAULT_APPLICATION_THEME') private readonly defaultAppTheme: ApplicationTheme,\n private readonly universalSkillsService: UniversalSkillsService,\n private readonly uiTranslatePipe: UiTranslatePipe\n ) {\n if (defaultAppTheme) {\n this.applicationTheme = defaultAppTheme;\n }\n }\n\n ngOnInit() {\n this.universalSkillsService.initializeSkillAreaGroupMap();\n this.universalSkillsService.prepareSkillAreaGroupMap(this.skillAreaDataList);\n this.skillAreaGroupMap = this.universalSkillsService.getSkillAreaGroupMap();\n this.prepareSpiderChartData();\n }\n\n prepareSpiderChartData(): void {\n this.skillAreaSpiderChartData = [];\n Object.values(this.skillAreaGroupMap).forEach(skillAreaGroup => {\n const labelObservables = skillAreaGroup.skillAreaList.map(skillArea =>\n this.uiTranslatePipe.transform(`${this.translationContext}SKILL_AREA_TYPES.${skillArea.skillAreaName}.TITLE`)\n );\n\n const labelDescriptionObservables = skillAreaGroup.skillAreaList.map(skillArea =>\n this.uiTranslatePipe.transform(\n `${this.translationContext}SKILL_AREA_TYPES.${skillArea.skillAreaName}.DESCRIPTION`\n )\n );\n\n const allObservables = [...labelObservables, ...labelDescriptionObservables];\n const translations: string[] = [];\n allObservables.forEach(observable => {\n observable.pipe(take(1)).subscribe(translation => {\n translations.push(translation);\n });\n });\n const labels = translations.slice(0, labelObservables.length);\n const labelDescriptions = translations.slice(labelObservables.length);\n\n this.skillAreaSpiderChartData.push({\n title: skillAreaGroup.title,\n description: skillAreaGroup.description,\n spiderChartData: {\n labels,\n labelDescription: labelDescriptions,\n plotData:\n skillAreaGroup.skillAreaList?.[0]?.poolPercentileScoring !== undefined\n ? [\n {\n data: skillAreaGroup.skillAreaList.map(skillArea => skillArea.percentileScoring),\n databaseLabel: \"This candidate's score\",\n },\n {\n data: skillAreaGroup.skillAreaList.map(skillArea => skillArea.poolPercentileScoring ?? 0),\n databaseLabel: 'Average score of all candidates',\n },\n ]\n : [\n {\n data: skillAreaGroup.skillAreaList.map(skillArea => skillArea.percentileScoring),\n databaseLabel: \"This candidate's score\",\n },\n ],\n },\n });\n });\n }\n}\n","@for (spiderChartData of skillAreaSpiderChartData; track spiderChartData) {\n <ui-accordion\n class=\"universal-skills-spider-charts\"\n [label]=\"(spiderChartData.title | uiTranslate | async) || ''\"\n variant=\"filter\"\n >\n <ui-spider-chart\n [spiderChartData]=\"spiderChartData.spiderChartData\"\n [loading]=\"loading\"\n [size]=\"size\"\n ></ui-spider-chart>\n </ui-accordion>\n @if ($index < skillAreaSpiderChartData.length - 1) {\n <ui-divider class=\"universal-skills-spider-charts-divider\" size=\"small\"></ui-divider>\n }\n}\n","import { CommonModule, KeyValuePipe } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { AccordionComponentModule } from '@testgorilla/tgo-ui/components/accordion';\nimport { BadgeComponentModule } from '@testgorilla/tgo-ui/components/badge';\nimport { MemoizeFuncPipe, UiTranslatePipe, OrdinalSuffixPipe } from '@testgorilla/tgo-ui/components/core';\nimport { DividerComponentModule } from '@testgorilla/tgo-ui/components/divider';\nimport { ProgressBarComponentModule } from '@testgorilla/tgo-ui/components/progress-bar';\nimport { SpiderChartComponentModule } from '@testgorilla/tgo-ui/components/spider-chart';\n\nimport { UniversalSkillsSpiderChartsComponent } from './universal-skills-spider-charts.component';\n\n@NgModule({\n imports: [\n CommonModule,\n AccordionComponentModule,\n BadgeComponentModule,\n ProgressBarComponentModule,\n SpiderChartComponentModule,\n DividerComponentModule,\n MemoizeFuncPipe,\n UiTranslatePipe,\n OrdinalSuffixPipe,\n KeyValuePipe,\n UniversalSkillsSpiderChartsComponent,\n ],\n providers: [UiTranslatePipe],\n exports: [UniversalSkillsSpiderChartsComponent],\n})\nexport class UniversalSkillsSpiderChartsComponentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.UniversalSkillsService"],"mappings":";;;;;;;;;;;;AAoBA;IACY;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC7B,IAAA,mBAAA,CAAA,mBAAA,CAAA,sBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,sBAAwB;AACxB,IAAA,mBAAA,CAAA,mBAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAqB;AACrB,IAAA,mBAAA,CAAA,mBAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB;AACtB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,GAAA,EAAA,CAAA,CAAA;AAM/B;IACY;AAAZ,CAAA,UAAY,cAAc,EAAA;AACxB,IAAA,cAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAChC,IAAA,cAAA,CAAA,sBAAA,CAAA,GAAA,uBAA8C;AAC9C,IAAA,cAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAChC,IAAA,cAAA,CAAA,sBAAA,CAAA,GAAA,uBAA8C;AAC9C,IAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,uBAA6C;AAC7C,IAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,sBAA4C;AAC5C,IAAA,cAAA,CAAA,yBAAA,CAAA,GAAA,2BAAqD;AACrD,IAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,sBAA4C;AAC5C,IAAA,cAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC;AAElC,IAAA,cAAA,CAAA,wBAAA,CAAA,GAAA,yBAAkD;AAClD,IAAA,cAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAChC,IAAA,cAAA,CAAA,0BAAA,CAAA,GAAA,2BAAsD;AACtD,IAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC;AACtC,IAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC;AACtC,IAAA,cAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC;AAEtC,IAAA,cAAA,CAAA,mBAAA,CAAA,GAAA,oBAAwC;AACxC,IAAA,cAAA,CAAA,qBAAA,CAAA,GAAA,sBAA4C;AAC5C,IAAA,cAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC;AAChC,IAAA,cAAA,CAAA,iBAAA,CAAA,GAAA,kBAAoC;AACpC,IAAA,cAAA,CAAA,WAAA,CAAA,GAAA,YAAwB;AACxB,IAAA,cAAA,CAAA,cAAA,CAAA,GAAA,eAA8B;AAChC,CAAC,EAxBW,cAAc,KAAd,cAAc,GAAA,EAAA,CAAA,CAAA;;MCrBb,sBAAsB,CAAA;AAHnC,IAAA,WAAA,GAAA;QAIW,IAAA,CAAA,kBAAkB,GAAG,0BAA0B;AAGvC,QAAA,IAAA,CAAA,uBAAuB,GAAuB;AAC7D,YAAA;AACE,gBAAA,cAAc,CAAC,aAAa;AAC5B,gBAAA,cAAc,CAAC,oBAAoB;AACnC,gBAAA,cAAc,CAAC,aAAa;AAC5B,gBAAA,cAAc,CAAC,oBAAoB;AACnC,gBAAA,cAAc,CAAC,mBAAmB;AAClC,gBAAA,cAAc,CAAC,mBAAmB;AAClC,gBAAA,cAAc,CAAC,uBAAuB;AACtC,gBAAA,cAAc,CAAC,mBAAmB;AAClC,gBAAA,cAAc,CAAC,cAAc;AAC9B,aAAA;AACD,YAAA;AACE,gBAAA,cAAc,CAAC,sBAAsB;AACrC,gBAAA,cAAc,CAAC,aAAa;AAC5B,gBAAA,cAAc,CAAC,wBAAwB;AACvC,gBAAA,cAAc,CAAC,gBAAgB;AAC/B,gBAAA,cAAc,CAAC,gBAAgB;AAC/B,gBAAA,cAAc,CAAC,gBAAgB;AAChC,aAAA;AACD,YAAA;AACE,gBAAA,cAAc,CAAC,iBAAiB;AAChC,gBAAA,cAAc,CAAC,mBAAmB;AAClC,gBAAA,cAAc,CAAC,aAAa;AAC5B,gBAAA,cAAc,CAAC,eAAe;AAC9B,gBAAA,cAAc,CAAC,YAAY;AAC3B,gBAAA,cAAc,CAAC,SAAS;AACzB,aAAA;SACF;AA+CF,IAAA;IA7CC,2BAA2B,GAAA;QACzB,IAAI,CAAC,iBAAiB,GAAG;AACvB,YAAA,CAAC,mBAAmB,CAAC,oBAAoB,GAAG;AAC1C,gBAAA,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,mDAAA,CAAqD;AACtF,gBAAA,WAAW,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,yDAAA,CAA2D;AAClG,gBAAA,aAAa,EAAE,EAAE;AAClB,aAAA;AACD,YAAA,CAAC,mBAAmB,CAAC,iBAAiB,GAAG;AACvC,gBAAA,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,gDAAA,CAAkD;AACnF,gBAAA,WAAW,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,sDAAA,CAAwD;AAC/F,gBAAA,aAAa,EAAE,EAAE;AAClB,aAAA;AACD,YAAA,CAAC,mBAAmB,CAAC,gBAAgB,GAAG;AACtC,gBAAA,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,+CAAA,CAAiD;AAClF,gBAAA,WAAW,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,qDAAA,CAAuD;AAC9F,gBAAA,aAAa,EAAE,EAAE;AAClB,aAAA;SACF;IACH;AAEA,IAAA,wBAAwB,CAAC,iBAAkC,EAAA;AACzD,QAAA,iBAAiB,EAAE,OAAO,CAAC,WAAW,IAAG;AACvC,YAAA,MAAM,sBAAsB,GAAG,WAAW,CAAC,aAAa;AAExD,YAAA,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;AACpE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC;YACpG;AAEA,YAAA,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;AACpE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC;YACjG;AAEA,YAAA,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;AACpE,gBAAA,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC;YAChG;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,oBAAoB,GAAA;QAClB,OAAO,IAAI,CAAC,iBAAiB;IAC/B;IAEA,0BAA0B,GAAA;QACxB,OAAO,IAAI,CAAC,uBAAuB;IACrC;+GA9EW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cAFrB,MAAM,EAAA,CAAA,CAAA;;4FAEP,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MC0BY,8BAA8B,CAAA;IAqBzC,WAAA,CAC6E,eAAiC,EAC3F,sBAA8C,EAAA;QADY,IAAA,CAAA,eAAe,GAAf,eAAe;QACzE,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;AAtBzC;;;;;AAKG;QACM,IAAA,CAAA,gBAAgB,GAAqB,OAAO;QAU5C,IAAA,CAAA,kBAAkB,GAAG,0BAA0B;QAQtD,IAAI,eAAe,EAAE;AACnB,YAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe;QACzC;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,EAAE;QACzD,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC5E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAE;IAC7E;AAEA,IAAA,kBAAkB,CAAC,iBAAyB,EAAA;AAC1C,QAAA,OAAO,CAAA,uBAAA,EAA0B,IAAI,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,CAAA,CAAE;IAC7F;AAEA,IAAA,kBAAkB,CAAC,iBAAyB,EAAA;QAC1C,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAsB;IACvF;AAEA,IAAA,wBAAwB,CAAC,CAAC,iBAAiB,EAAE,cAAc,CAAoB,EAAA;QAC7E,IAAI,eAAe,GAAG,EAAE;AACxB,QAAA,IAAI,eAAe,GAAsB,qBAAqB,CAAC,OAAO;QAEtE,IAAI,iBAAiB,IAAI,CAAC,IAAI,iBAAiB,IAAI,EAAE,EAAE;YACrD,eAAe,GAAG,oBAAoB;AACtC,YAAA,eAAe,GAAG,qBAAqB,CAAC,OAAO;QACjD;QAEA,IAAI,iBAAiB,IAAI,EAAE,IAAI,iBAAiB,IAAI,EAAE,EAAE;YACtD,eAAe,GAAG,eAAe;AACjC,YAAA,eAAe,GAAG,qBAAqB,CAAC,OAAO;QACjD;QAEA,IAAI,iBAAiB,IAAI,EAAE,IAAI,iBAAiB,IAAI,EAAE,EAAE;YACtD,eAAe,GAAG,SAAS;AAC3B,YAAA,eAAe,GAAG,qBAAqB,CAAC,OAAO;QACjD;QAEA,IAAI,iBAAiB,IAAI,EAAE,IAAI,iBAAiB,IAAI,EAAE,EAAE;YACtD,eAAe,GAAG,eAAe;AACjC,YAAA,eAAe,GAAG,qBAAqB,CAAC,OAAO;QACjD;QAEA,IAAI,iBAAiB,IAAI,EAAE,IAAI,iBAAiB,IAAI,GAAG,EAAE;YACvD,eAAe,GAAG,oBAAoB;AACtC,YAAA,eAAe,GAAG,qBAAqB,CAAC,OAAO;QACjD;QAEA,OAAO,cAAc,GAAG,eAAe,GAAG,eAAe;IAC3D;AA1EW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,kBAsBnB,oCAAoC,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAtB/C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,gLChC3C,s/HAkGA,EAAA,MAAA,EAAA,CAAA,o9KAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,ED5EI,kBAAkB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,cAAc,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,aAAA,EAAA,MAAA,EAAA,WAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACpB,SAAS,yCACT,YAAY,EAAA,IAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACZ,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EACf,eAAe,+CACf,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAGR,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAhB1C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAAA,eAAA,EAGrB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC;wBACP,kBAAkB;wBAClB,cAAc;wBACd,oBAAoB;wBACpB,SAAS;wBACT,YAAY;wBACZ,eAAe;wBACf,eAAe;wBACf,iBAAiB;AAClB,qBAAA,EAAA,QAAA,EAAA,s/HAAA,EAAA,MAAA,EAAA,CAAA,o9KAAA,CAAA,EAAA;;0BAwBE;;0BAAY,MAAM;2BAAC,oCAAoC;;sBAfzD;;sBAQA;;;MEvBU,oCAAoC,CAAA;+GAApC,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,YAZ7C,YAAY;YACZ,wBAAwB;YACxB,oBAAoB;YACpB,0BAA0B;YAC1B,eAAe;YACf,eAAe;YACf,iBAAiB;YACjB,YAAY;AACZ,YAAA,8BAA8B,aAEtB,8BAA8B,CAAA,EAAA,CAAA,CAAA;AAE7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,YAZ7C,YAAY;YACZ,wBAAwB;YACxB,oBAAoB;YACpB,0BAA0B;YAK1B,8BAA8B,CAAA,EAAA,CAAA,CAAA;;4FAIrB,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAdhD,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,wBAAwB;wBACxB,oBAAoB;wBACpB,0BAA0B;wBAC1B,eAAe;wBACf,eAAe;wBACf,iBAAiB;wBACjB,YAAY;wBACZ,8BAA8B;AAC/B,qBAAA;oBACD,OAAO,EAAE,CAAC,8BAA8B,CAAC;AAC1C,iBAAA;;;MCCY,oCAAoC,CAAA;AAsC/C,IAAA,WAAA,CAC6E,eAAiC,EAC3F,sBAA8C,EAC9C,eAAgC,EAAA;QAF0B,IAAA,CAAA,eAAe,GAAf,eAAe;QACzE,IAAA,CAAA,sBAAsB,GAAtB,sBAAsB;QACtB,IAAA,CAAA,eAAe,GAAf,eAAe;AAxClC;;;;;AAKG;QACM,IAAA,CAAA,gBAAgB,GAAqB,OAAO;AAUrD;;;;;AAKG;QACM,IAAA,CAAA,OAAO,GAAG,KAAK;AAExB;;;;;AAKG;QACM,IAAA,CAAA,IAAI,GAAsB,OAAO;QAEjC,IAAA,CAAA,kBAAkB,GAAG,0BAA0B;QAGxD,IAAA,CAAA,wBAAwB,GAA+B,EAAE;QAOvD,IAAI,eAAe,EAAE;AACnB,YAAA,IAAI,CAAC,gBAAgB,GAAG,eAAe;QACzC;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,sBAAsB,CAAC,2BAA2B,EAAE;QACzD,IAAI,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC5E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAE;QAC3E,IAAI,CAAC,sBAAsB,EAAE;IAC/B;IAEA,sBAAsB,GAAA;AACpB,QAAA,IAAI,CAAC,wBAAwB,GAAG,EAAE;AAClC,QAAA,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,cAAc,IAAG;AAC7D,YAAA,MAAM,gBAAgB,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,IACjE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,iBAAA,EAAoB,SAAS,CAAC,aAAa,CAAA,MAAA,CAAQ,CAAC,CAC9G;AAED,YAAA,MAAM,2BAA2B,GAAG,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,IAC5E,IAAI,CAAC,eAAe,CAAC,SAAS,CAC5B,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,iBAAA,EAAoB,SAAS,CAAC,aAAa,CAAA,YAAA,CAAc,CACpF,CACF;YAED,MAAM,cAAc,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,2BAA2B,CAAC;YAC5E,MAAM,YAAY,GAAa,EAAE;AACjC,YAAA,cAAc,CAAC,OAAO,CAAC,UAAU,IAAG;AAClC,gBAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,IAAG;AAC/C,oBAAA,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC,CAAC;AACF,YAAA,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC;YAC7D,MAAM,iBAAiB,GAAG,YAAY,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;AAErE,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;gBACjC,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,WAAW,EAAE,cAAc,CAAC,WAAW;AACvC,gBAAA,eAAe,EAAE;oBACf,MAAM;AACN,oBAAA,gBAAgB,EAAE,iBAAiB;oBACnC,QAAQ,EACN,cAAc,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,qBAAqB,KAAK;AAC3D,0BAAE;AACE,4BAAA;AACE,gCAAA,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,iBAAiB,CAAC;AAChF,gCAAA,aAAa,EAAE,wBAAwB;AACxC,6BAAA;AACD,4BAAA;AACE,gCAAA,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,qBAAqB,IAAI,CAAC,CAAC;AACzF,gCAAA,aAAa,EAAE,iCAAiC;AACjD,6BAAA;AACF;AACH,0BAAE;AACE,4BAAA;AACE,gCAAA,IAAI,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC,iBAAiB,CAAC;AAChF,gCAAA,aAAa,EAAE,wBAAwB;AACxC,6BAAA;AACF,yBAAA;AACR,iBAAA;AACF,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AAzGW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oCAAoC,kBAuCzB,oCAAoC,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAvC/C,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBjD,kkBAgBA,EAAA,MAAA,EAAA,CAAA,uQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDMY,kBAAkB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,WAAA,EAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAErF,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAPhD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mCAAmC,EAAA,eAAA,EAG5B,uBAAuB,CAAC,MAAM,WACtC,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,kkBAAA,EAAA,MAAA,EAAA,CAAA,uQAAA,CAAA,EAAA;;0BAyC9F;;0BAAY,MAAM;2BAAC,oCAAoC;;sBAhCzD;;sBAQA;;sBAQA;;sBAQA;;;ME1BU,0CAA0C,CAAA;+GAA1C,0CAA0C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA1C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0CAA0C,YAfnD,YAAY;YACZ,wBAAwB;YACxB,oBAAoB;YACpB,0BAA0B;YAC1B,0BAA0B;YAC1B,sBAAsB;YACtB,eAAe;YACf,eAAe;YACf,iBAAiB;YACjB,YAAY;AACZ,YAAA,oCAAoC,aAG5B,oCAAoC,CAAA,EAAA,CAAA,CAAA;AAEnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0CAA0C,EAAA,SAAA,EAH1C,CAAC,eAAe,CAAC,YAZ1B,YAAY;YACZ,wBAAwB;YACxB,oBAAoB;YACpB,0BAA0B;YAC1B,0BAA0B;YAC1B,sBAAsB;YAKtB,oCAAoC,CAAA,EAAA,CAAA,CAAA;;4FAK3B,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBAjBtD,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,wBAAwB;wBACxB,oBAAoB;wBACpB,0BAA0B;wBAC1B,0BAA0B;wBAC1B,sBAAsB;wBACtB,eAAe;wBACf,eAAe;wBACf,iBAAiB;wBACjB,YAAY;wBACZ,oCAAoC;AACrC,qBAAA;oBACD,SAAS,EAAE,CAAC,eAAe,CAAC;oBAC5B,OAAO,EAAE,CAAC,oCAAoC,CAAC;AAChD,iBAAA;;;AC5BD;;AAEG;;;;"}
@@ -1,16 +1,15 @@
1
+ import { AsyncPipe, CommonModule } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
- import { Input, HostBinding, Component, NgModule } from '@angular/core';
3
- import * as i1 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
5
- import * as i2 from '@testgorilla/tgo-ui/components/icon';
6
- import { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';
7
- import * as i3 from '@testgorilla/tgo-ui/components/core';
3
+ import { inject, ChangeDetectorRef, Input, HostBinding, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
8
4
  import { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';
5
+ import * as i1 from '@testgorilla/tgo-ui/components/icon';
6
+ import { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';
9
7
 
10
8
  class ValidationErrorComponent {
11
9
  constructor() {
12
10
  this.touchedOn = true;
13
11
  this.errorMessage = '';
12
+ this.cdr = inject(ChangeDetectorRef);
14
13
  /**
15
14
  *
16
15
  * Defines the application theme
@@ -23,6 +22,22 @@ class ValidationErrorComponent {
23
22
  this.customErrors = {};
24
23
  this.translationContextErrors = 'ERRORS.';
25
24
  }
25
+ /**
26
+ * The template renders off `ngControl.touched`/`ngControl.errors` — mutable
27
+ * state behind a stable input reference, which OnPush alone never re-checks
28
+ * (blur or markAllAsTouched() marks the parent view, not this one).
29
+ * ngDoCheck runs whenever an ancestor is checked, so snapshot that state and
30
+ * mark this view when it moves (same pattern as autocomplete-v2's ngDoCheck).
31
+ */
32
+ ngDoCheck() {
33
+ const touched = this.ngControl?.touched ?? false;
34
+ const errors = this.ngControl?.errors ?? null;
35
+ if (touched !== this.lastTouched || errors !== this.lastErrors) {
36
+ this.lastTouched = touched;
37
+ this.lastErrors = errors;
38
+ this.cdr.markForCheck();
39
+ }
40
+ }
26
41
  getErrorValue(type) {
27
42
  const ngControlErrors = this.ngControl.errors;
28
43
  switch (type) {
@@ -44,20 +59,22 @@ class ValidationErrorComponent {
44
59
  resolveErrorMessage(key) {
45
60
  const template = this.customErrors[key];
46
61
  const errorData = this.ngControl?.errors?.[key];
47
- if (!template)
62
+ if (!template) {
48
63
  return '';
64
+ }
49
65
  if (typeof errorData === 'object' && errorData !== null) {
66
+ const data = errorData;
50
67
  // Replace {{key}} placeholders with error data values
51
- return template.replace(/\{\{(\w+)\}\}/g, (_, prop) => errorData[prop] ?? '');
68
+ return template.replace(/\{\{(\w+)\}\}/g, (_match, prop) => data[prop] ?? '');
52
69
  }
53
70
  return template;
54
71
  }
55
72
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ValidationErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ValidationErrorComponent, isStandalone: false, selector: "ui-validation-error", inputs: { ngControl: "ngControl", touchedOn: "touchedOn", errorMessage: "errorMessage", label: "label", applicationTheme: "applicationTheme", customErrors: "customErrors" }, host: { properties: { "attr.theme": "this.applicationTheme" } }, ngImport: i0, template: "@for (key of customErrorKeys; track $index) {\n <div class=\"errors\" *ngIf=\"ngControl?.hasError(key) && (touchedOn ? ngControl?.touched : true)\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ resolveErrorMessage(key) }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('maxlength') && !customErrors['maxlength']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + 'MAX_LENGTH' | uiTranslate: { maxlength: getErrorValue('maxlength') } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('minlength') && !customErrors['min']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + 'MIN_LENGTH' | uiTranslate: { maxlength: getErrorValue('minlength') } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('min') && !customErrors['min']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'MIN' | uiTranslate: { min: getErrorValue('min') } | async }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('max') && !customErrors['max']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'MAX' | uiTranslate: { max: getErrorValue('max') } | async }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('required') && (touchedOn ? ngControl?.touched : true) && !customErrors['required']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + (label ? 'REQUIRED_FIELD' : 'REQUIRED') | uiTranslate: { label } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('email') && !customErrors['email']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'EMAIL_INCORRECT' | uiTranslate | async }}</span>\n </div>\n}\n\n@if (errorMessage) {\n <div class=\"custom-errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ errorMessage }}</span>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.UiTranslatePipe, name: "uiTranslate" }] }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ValidationErrorComponent, isStandalone: true, selector: "ui-validation-error", inputs: { ngControl: "ngControl", touchedOn: "touchedOn", errorMessage: "errorMessage", label: "label", applicationTheme: "applicationTheme", customErrors: "customErrors" }, host: { properties: { "attr.theme": "this.applicationTheme" } }, ngImport: i0, template: "@for (key of customErrorKeys; track $index) {\n @if (ngControl?.hasError(key) && (touchedOn ? ngControl?.touched : true)) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ resolveErrorMessage(key) }}</span>\n </div>\n }\n}\n\n@if (ngControl?.hasError('maxlength') && !customErrors['maxlength']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + 'MAX_LENGTH' | uiTranslate: { maxlength: getErrorValue('maxlength') } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('minlength') && !customErrors['min']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + 'MIN_LENGTH' | uiTranslate: { maxlength: getErrorValue('minlength') } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('min') && !customErrors['min']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'MIN' | uiTranslate: { min: getErrorValue('min') } | async }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('max') && !customErrors['max']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'MAX' | uiTranslate: { max: getErrorValue('max') } | async }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('required') && (touchedOn ? ngControl?.touched : true) && !customErrors['required']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + (label ? 'REQUIRED_FIELD' : 'REQUIRED') | uiTranslate: { label } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('email') && !customErrors['email']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'EMAIL_INCORRECT' | uiTranslate | async }}</span>\n </div>\n}\n\n@if (errorMessage) {\n <div class=\"custom-errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ errorMessage }}</span>\n </div>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: IconComponentModule }, { kind: "component", type: i1.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
74
  }
58
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ValidationErrorComponent, decorators: [{
59
76
  type: Component,
60
- args: [{ selector: 'ui-validation-error', standalone: false, template: "@for (key of customErrorKeys; track $index) {\n <div class=\"errors\" *ngIf=\"ngControl?.hasError(key) && (touchedOn ? ngControl?.touched : true)\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ resolveErrorMessage(key) }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('maxlength') && !customErrors['maxlength']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + 'MAX_LENGTH' | uiTranslate: { maxlength: getErrorValue('maxlength') } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('minlength') && !customErrors['min']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + 'MIN_LENGTH' | uiTranslate: { maxlength: getErrorValue('minlength') } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('min') && !customErrors['min']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'MIN' | uiTranslate: { min: getErrorValue('min') } | async }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('max') && !customErrors['max']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'MAX' | uiTranslate: { max: getErrorValue('max') } | async }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('required') && (touchedOn ? ngControl?.touched : true) && !customErrors['required']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + (label ? 'REQUIRED_FIELD' : 'REQUIRED') | uiTranslate: { label } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('email') && !customErrors['email']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'EMAIL_INCORRECT' | uiTranslate | async }}</span>\n </div>\n}\n\n@if (errorMessage) {\n <div class=\"custom-errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ errorMessage }}</span>\n </div>\n}\n" }]
77
+ args: [{ selector: 'ui-validation-error', changeDetection: ChangeDetectionStrategy.OnPush, imports: [IconComponentModule, AsyncPipe, UiTranslatePipe], template: "@for (key of customErrorKeys; track $index) {\n @if (ngControl?.hasError(key) && (touchedOn ? ngControl?.touched : true)) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ resolveErrorMessage(key) }}</span>\n </div>\n }\n}\n\n@if (ngControl?.hasError('maxlength') && !customErrors['maxlength']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + 'MAX_LENGTH' | uiTranslate: { maxlength: getErrorValue('maxlength') } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('minlength') && !customErrors['min']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + 'MIN_LENGTH' | uiTranslate: { maxlength: getErrorValue('minlength') } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('min') && !customErrors['min']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'MIN' | uiTranslate: { min: getErrorValue('min') } | async }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('max') && !customErrors['max']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'MAX' | uiTranslate: { max: getErrorValue('max') } | async }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('required') && (touchedOn ? ngControl?.touched : true) && !customErrors['required']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{\n translationContextErrors + (label ? 'REQUIRED_FIELD' : 'REQUIRED') | uiTranslate: { label } | async\n }}</span>\n </div>\n}\n\n@if (ngControl?.hasError('email') && !customErrors['email']) {\n <div class=\"errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ translationContextErrors + 'EMAIL_INCORRECT' | uiTranslate | async }}</span>\n </div>\n}\n\n@if (errorMessage) {\n <div class=\"custom-errors\">\n <ui-icon [applicationTheme]=\"applicationTheme\" [name]=\"'Error'\"></ui-icon>\n <span>{{ errorMessage }}</span>\n </div>\n}\n" }]
61
78
  }], propDecorators: { ngControl: [{
62
79
  type: Input
63
80
  }], touchedOn: [{
@@ -77,15 +94,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
77
94
 
78
95
  class ValidationErrorModule {
79
96
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ValidationErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
80
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: ValidationErrorModule, declarations: [ValidationErrorComponent], imports: [CommonModule, IconComponentModule, UiTranslatePipe], exports: [ValidationErrorComponent] }); }
81
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ValidationErrorModule, imports: [CommonModule, IconComponentModule] }); }
97
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: ValidationErrorModule, imports: [CommonModule, IconComponentModule, UiTranslatePipe, ValidationErrorComponent], exports: [ValidationErrorComponent] }); }
98
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ValidationErrorModule, imports: [CommonModule, IconComponentModule, ValidationErrorComponent] }); }
82
99
  }
83
100
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ValidationErrorModule, decorators: [{
84
101
  type: NgModule,
85
102
  args: [{
86
- declarations: [ValidationErrorComponent],
87
103
  exports: [ValidationErrorComponent],
88
- imports: [CommonModule, IconComponentModule, UiTranslatePipe],
104
+ imports: [CommonModule, IconComponentModule, UiTranslatePipe, ValidationErrorComponent],
89
105
  }]
90
106
  }] });
91
107