@testgorilla/tgo-ui 11.16.0 → 11.18.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.
- package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-accordion.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-ai-audio-circle.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-ai-caveat.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-ai-feedback.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-alert-banner.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-audio-waveform.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs +15 -15
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete-v2.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs +19 -19
- package/fesm2022/testgorilla-tgo-ui-components-autocomplete.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-avatar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-badge.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-badge.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-breadcrumb.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-button.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-button.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-card.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-card.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-checkbox.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs +3 -3
- package/fesm2022/testgorilla-tgo-ui-components-checklist.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-core.mjs +42 -42
- package/fesm2022/testgorilla-tgo-ui-components-core.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs +19 -19
- package/fesm2022/testgorilla-tgo-ui-components-datepicker.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-device-control.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-device-control.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs +24 -24
- package/fesm2022/testgorilla-tgo-ui-components-dialog.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-divider.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-divider.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-donut-chart.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-dropdown.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-elevation-shadow.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-empty-state.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-field.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-field.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-file-upload.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-filter-button.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-gaussian-chart.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-icon-label.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-icon.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-icon.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-infinite-scroll-table.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-infinite-scroll-table.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-inline-field.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-logo.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-logo.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs +3 -3
- package/fesm2022/testgorilla-tgo-ui-components-media-card.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs +3 -3
- package/fesm2022/testgorilla-tgo-ui-components-media-dialog.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-multi-input.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-navbar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-overflow-menu.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-page-header.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-password-criteria.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-password-strength.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-phone-input.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-popover.mjs +6 -6
- package/fesm2022/testgorilla-tgo-ui-components-popover.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-popup-tip.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-popup-tip.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-progress-bar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-prompt.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-radial-progress.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-radio-button.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-rating.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-rating.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs +3 -3
- package/fesm2022/testgorilla-tgo-ui-components-scale-table.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-scale.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-scale.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-segmented-bar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-segmented-button.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs +3 -3
- package/fesm2022/testgorilla-tgo-ui-components-segmented-toggle.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-selectable-card.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-side-navigation.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs +103 -12
- package/fesm2022/testgorilla-tgo-ui-components-side-panel.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-side-sheet.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs +3 -3
- package/fesm2022/testgorilla-tgo-ui-components-skeleton.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-slider.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-slider.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-snackbar.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-spider-chart.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-spinner.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs +17 -17
- package/fesm2022/testgorilla-tgo-ui-components-stepper.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-table.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-table.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-tabs.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-tag.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-tag.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-toggle.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-tooltip.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs +17 -17
- package/fesm2022/testgorilla-tgo-ui-components-universal-skills.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui-components-validation-error.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs +10 -10
- package/fesm2022/testgorilla-tgo-ui-components-write-with-ai.mjs.map +1 -1
- package/fesm2022/testgorilla-tgo-ui.mjs +7 -7
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/mcp/catalog.json +1 -1
- package/mcp/server.mjs +412 -128
- package/package.json +9 -9
- package/types/testgorilla-tgo-ui-components-side-panel.d.ts +69 -5
|
@@ -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';\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":"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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":"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"}
|
|
@@ -69,10 +69,10 @@ class ValidationErrorComponent {
|
|
|
69
69
|
}
|
|
70
70
|
return template;
|
|
71
71
|
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
72
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ValidationErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", 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 }); }
|
|
74
74
|
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ValidationErrorComponent, decorators: [{
|
|
76
76
|
type: Component,
|
|
77
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" }]
|
|
78
78
|
}], propDecorators: { ngControl: [{
|
|
@@ -93,11 +93,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
93
93
|
}] } });
|
|
94
94
|
|
|
95
95
|
class ValidationErrorModule {
|
|
96
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
97
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
98
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
96
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ValidationErrorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
97
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: ValidationErrorModule, imports: [CommonModule, IconComponentModule, UiTranslatePipe, ValidationErrorComponent], exports: [ValidationErrorComponent] }); }
|
|
98
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ValidationErrorModule, imports: [CommonModule, IconComponentModule, ValidationErrorComponent] }); }
|
|
99
99
|
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ValidationErrorModule, decorators: [{
|
|
101
101
|
type: NgModule,
|
|
102
102
|
args: [{
|
|
103
103
|
exports: [ValidationErrorComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testgorilla-tgo-ui-components-validation-error.mjs","sources":["../../../components/validation-error/validation-error.component.ts","../../../components/validation-error/validation-error.component.html","../../../components/validation-error/validation-error.module.ts","../../../components/validation-error/testgorilla-tgo-ui-components-validation-error.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n HostBinding,\n Input,\n inject,\n} from '@angular/core';\nimport { NgControl, ValidationErrors } from '@angular/forms';\n\nimport { ApplicationTheme, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\n\nimport { ErrorType } from './validation-error.model';\n\n/**\n * Shapes of the built-in Angular range/length validator errors this component reads.\n * Each entry is only accessed once its matching error key is present (the template\n * shows the message for exactly that error), mirroring the previous `any` access.\n */\ninterface RangeValidationErrors {\n maxlength: { requiredLength: number };\n minlength: { requiredLength: number };\n max: { max: number };\n min: { min: number };\n}\n\n@Component({\n selector: 'ui-validation-error',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './validation-error.component.html',\n styleUrls: ['./validation-error.component.scss'],\n imports: [IconComponentModule, AsyncPipe, UiTranslatePipe],\n})\nexport class ValidationErrorComponent implements DoCheck {\n @Input() ngControl: NgControl;\n @Input() touchedOn = true;\n @Input() errorMessage = '';\n\n private readonly cdr = inject(ChangeDetectorRef);\n private lastTouched?: boolean;\n private lastErrors?: ValidationErrors | null;\n\n /**\n * The template renders off `ngControl.touched`/`ngControl.errors` — mutable\n * state behind a stable input reference, which OnPush alone never re-checks\n * (blur or markAllAsTouched() marks the parent view, not this one).\n * ngDoCheck runs whenever an ancestor is checked, so snapshot that state and\n * mark this view when it moves (same pattern as autocomplete-v2's ngDoCheck).\n */\n ngDoCheck(): void {\n const touched = this.ngControl?.touched ?? false;\n const errors = this.ngControl?.errors ?? null;\n if (touched !== this.lastTouched || errors !== this.lastErrors) {\n this.lastTouched = touched;\n this.lastErrors = errors;\n this.cdr.markForCheck();\n }\n }\n\n @Input() label: string | undefined | null;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof ValidationErrorComponent\n */\n @HostBinding('attr.theme')\n @Input()\n applicationTheme: ApplicationTheme = 'light';\n\n /** Maps validator error keys to display message templates. Supports {{placeholder}} interpolation. */\n @Input() customErrors: Record<string, string> = {};\n\n getErrorValue(type: ErrorType): number {\n const ngControlErrors = this.ngControl.errors as RangeValidationErrors;\n switch (type) {\n case 'maxlength':\n return ngControlErrors.maxlength.requiredLength;\n case 'minlength':\n return ngControlErrors.minlength.requiredLength;\n case 'max':\n return ngControlErrors.max.max;\n case 'min':\n return ngControlErrors.min.min;\n default:\n return 0;\n }\n }\n\n get customErrorKeys(): string[] {\n return Object.keys(this.customErrors);\n }\n\n resolveErrorMessage(key: string): string {\n const template = this.customErrors[key];\n const errorData: unknown = this.ngControl?.errors?.[key];\n if (!template) {\n return '';\n }\n if (typeof errorData === 'object' && errorData !== null) {\n const data = errorData as Record<string, unknown>;\n // Replace {{key}} placeholders with error data values\n return template.replace(/\\{\\{(\\w+)\\}\\}/g, (_match: string, prop: string) => (data[prop] as string) ?? '');\n }\n return template;\n }\n\n translationContextErrors = 'ERRORS.';\n}\n","@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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\n\nimport { ValidationErrorComponent } from './validation-error.component';\n\n@NgModule({\n exports: [ValidationErrorComponent],\n imports: [CommonModule, IconComponentModule, UiTranslatePipe, ValidationErrorComponent],\n})\nexport class ValidationErrorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testgorilla-tgo-ui-components-validation-error.mjs","sources":["../../../components/validation-error/validation-error.component.ts","../../../components/validation-error/validation-error.component.html","../../../components/validation-error/validation-error.module.ts","../../../components/validation-error/testgorilla-tgo-ui-components-validation-error.ts"],"sourcesContent":["import { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n HostBinding,\n Input,\n inject,\n} from '@angular/core';\nimport { NgControl, ValidationErrors } from '@angular/forms';\n\nimport { ApplicationTheme, UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\n\nimport { ErrorType } from './validation-error.model';\n\n/**\n * Shapes of the built-in Angular range/length validator errors this component reads.\n * Each entry is only accessed once its matching error key is present (the template\n * shows the message for exactly that error), mirroring the previous `any` access.\n */\ninterface RangeValidationErrors {\n maxlength: { requiredLength: number };\n minlength: { requiredLength: number };\n max: { max: number };\n min: { min: number };\n}\n\n@Component({\n selector: 'ui-validation-error',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './validation-error.component.html',\n styleUrls: ['./validation-error.component.scss'],\n imports: [IconComponentModule, AsyncPipe, UiTranslatePipe],\n})\nexport class ValidationErrorComponent implements DoCheck {\n @Input() ngControl: NgControl;\n @Input() touchedOn = true;\n @Input() errorMessage = '';\n\n private readonly cdr = inject(ChangeDetectorRef);\n private lastTouched?: boolean;\n private lastErrors?: ValidationErrors | null;\n\n /**\n * The template renders off `ngControl.touched`/`ngControl.errors` — mutable\n * state behind a stable input reference, which OnPush alone never re-checks\n * (blur or markAllAsTouched() marks the parent view, not this one).\n * ngDoCheck runs whenever an ancestor is checked, so snapshot that state and\n * mark this view when it moves (same pattern as autocomplete-v2's ngDoCheck).\n */\n ngDoCheck(): void {\n const touched = this.ngControl?.touched ?? false;\n const errors = this.ngControl?.errors ?? null;\n if (touched !== this.lastTouched || errors !== this.lastErrors) {\n this.lastTouched = touched;\n this.lastErrors = errors;\n this.cdr.markForCheck();\n }\n }\n\n @Input() label: string | undefined | null;\n\n /**\n *\n * Defines the application theme\n *\n * @type {ApplicationTheme}\n * @memberof ValidationErrorComponent\n */\n @HostBinding('attr.theme')\n @Input()\n applicationTheme: ApplicationTheme = 'light';\n\n /** Maps validator error keys to display message templates. Supports {{placeholder}} interpolation. */\n @Input() customErrors: Record<string, string> = {};\n\n getErrorValue(type: ErrorType): number {\n const ngControlErrors = this.ngControl.errors as RangeValidationErrors;\n switch (type) {\n case 'maxlength':\n return ngControlErrors.maxlength.requiredLength;\n case 'minlength':\n return ngControlErrors.minlength.requiredLength;\n case 'max':\n return ngControlErrors.max.max;\n case 'min':\n return ngControlErrors.min.min;\n default:\n return 0;\n }\n }\n\n get customErrorKeys(): string[] {\n return Object.keys(this.customErrors);\n }\n\n resolveErrorMessage(key: string): string {\n const template = this.customErrors[key];\n const errorData: unknown = this.ngControl?.errors?.[key];\n if (!template) {\n return '';\n }\n if (typeof errorData === 'object' && errorData !== null) {\n const data = errorData as Record<string, unknown>;\n // Replace {{key}} placeholders with error data values\n return template.replace(/\\{\\{(\\w+)\\}\\}/g, (_match: string, prop: string) => (data[prop] as string) ?? '');\n }\n return template;\n }\n\n translationContextErrors = 'ERRORS.';\n}\n","@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","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { UiTranslatePipe } from '@testgorilla/tgo-ui/components/core';\nimport { IconComponentModule } from '@testgorilla/tgo-ui/components/icon';\n\nimport { ValidationErrorComponent } from './validation-error.component';\n\n@NgModule({\n exports: [ValidationErrorComponent],\n imports: [CommonModule, IconComponentModule, UiTranslatePipe, ValidationErrorComponent],\n})\nexport class ValidationErrorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;MAoCa,wBAAwB,CAAA;AAPrC,IAAA,WAAA,GAAA;QASW,IAAA,CAAA,SAAS,GAAG,IAAI;QAChB,IAAA,CAAA,YAAY,GAAG,EAAE;AAET,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAuBhD;;;;;;AAMG;QAGH,IAAA,CAAA,gBAAgB,GAAqB,OAAO;;QAGnC,IAAA,CAAA,YAAY,GAA2B,EAAE;QAoClD,IAAA,CAAA,wBAAwB,GAAG,SAAS;AACrC,IAAA;AApEC;;;;;;AAMG;IACH,SAAS,GAAA;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,IAAI,IAAI;AAC7C,QAAA,IAAI,OAAO,KAAK,IAAI,CAAC,WAAW,IAAI,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;AAC9D,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO;AAC1B,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM;AACxB,YAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;QACzB;IACF;AAkBA,IAAA,aAAa,CAAC,IAAe,EAAA;AAC3B,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,MAA+B;QACtE,QAAQ,IAAI;AACV,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,eAAe,CAAC,SAAS,CAAC,cAAc;AACjD,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,eAAe,CAAC,SAAS,CAAC,cAAc;AACjD,YAAA,KAAK,KAAK;AACR,gBAAA,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG;AAChC,YAAA,KAAK,KAAK;AACR,gBAAA,OAAO,eAAe,CAAC,GAAG,CAAC,GAAG;AAChC,YAAA;AACE,gBAAA,OAAO,CAAC;;IAEd;AAEA,IAAA,IAAI,eAAe,GAAA;QACjB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IACvC;AAEA,IAAA,mBAAmB,CAAC,GAAW,EAAA;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;QACvC,MAAM,SAAS,GAAY,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;QACxD,IAAI,CAAC,QAAQ,EAAE;AACb,YAAA,OAAO,EAAE;QACX;QACA,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE;YACvD,MAAM,IAAI,GAAG,SAAoC;;YAEjD,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAc,EAAE,IAAY,KAAM,IAAI,CAAC,IAAI,CAAY,IAAI,EAAE,CAAC;QAC3G;AACA,QAAA,OAAO,QAAQ;IACjB;+GA1EW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,8TCpCrC,k3EA+DA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED7BY,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,yCAAE,eAAe,EAAA,IAAA,EAAA,aAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAE9C,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;+BACE,qBAAqB,EAAA,eAAA,EACd,uBAAuB,CAAC,MAAM,EAAA,OAAA,EAGtC,CAAC,mBAAmB,EAAE,SAAS,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,k3EAAA,EAAA;;sBAGzD;;sBACA;;sBACA;;sBAuBA;;sBASA,WAAW;uBAAC,YAAY;;sBACxB;;sBAIA;;;MEhEU,qBAAqB,CAAA;+GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAArB,qBAAqB,EAAA,OAAA,EAAA,CAFtB,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,CAAA,EAAA,OAAA,EAAA,CAD5E,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGvB,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,qBAAqB,EAAA,OAAA,EAAA,CAFtB,YAAY,EAAE,mBAAmB,EAAmB,wBAAwB,CAAA,EAAA,CAAA,CAAA;;4FAE3E,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,wBAAwB,CAAC;AACxF,iBAAA;;;ACXD;;AAEG;;"}
|
|
@@ -130,10 +130,10 @@ class WriteWithAiLlmService {
|
|
|
130
130
|
parts.push('Respond with only the requested content. Do not include explanations or preamble.');
|
|
131
131
|
return parts.join('\n\n');
|
|
132
132
|
}
|
|
133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
134
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.
|
|
133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiLlmService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
134
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiLlmService, providedIn: 'root' }); }
|
|
135
135
|
}
|
|
136
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiLlmService, decorators: [{
|
|
137
137
|
type: Injectable,
|
|
138
138
|
args: [{ providedIn: 'root' }]
|
|
139
139
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
@@ -405,8 +405,8 @@ class WriteWithAiComponent {
|
|
|
405
405
|
}
|
|
406
406
|
this.requestRefine.emit();
|
|
407
407
|
}
|
|
408
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
409
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.
|
|
408
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
409
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: WriteWithAiComponent, isStandalone: true, selector: "ui-write-with-ai", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, standalone: { classPropertyName: "standalone", publicName: "standalone", isSignal: true, isRequired: false, transformFunction: null }, defaultOpen: { classPropertyName: "defaultOpen", publicName: "defaultOpen", isSignal: true, isRequired: false, transformFunction: null }, fieldLabel: { classPropertyName: "fieldLabel", publicName: "fieldLabel", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, promptValue: { classPropertyName: "promptValue", publicName: "promptValue", isSignal: true, isRequired: false, transformFunction: null }, tags: { classPropertyName: "tags", publicName: "tags", isSignal: true, isRequired: false, transformFunction: null }, status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, subheader: { classPropertyName: "subheader", publicName: "subheader", isSignal: true, isRequired: false, transformFunction: null }, llmConfig: { classPropertyName: "llmConfig", publicName: "llmConfig", isSignal: true, isRequired: false, transformFunction: null }, fullHeight: { classPropertyName: "fullHeight", publicName: "fullHeight", isSignal: true, isRequired: false, transformFunction: null }, borderless: { classPropertyName: "borderless", publicName: "borderless", isSignal: true, isRequired: false, transformFunction: null }, tagsOnly: { classPropertyName: "tagsOnly", publicName: "tagsOnly", isSignal: true, isRequired: false, transformFunction: null }, metadata: { classPropertyName: "metadata", publicName: "metadata", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", promptChange: "promptChange", promptSubmit: "promptSubmit", cancelPending: "cancelPending", acceptResult: "acceptResult", requestRefine: "requestRefine" }, host: { styleAttribute: "display: block" }, providers: [
|
|
410
410
|
UiTranslatePipe,
|
|
411
411
|
{
|
|
412
412
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -415,7 +415,7 @@ class WriteWithAiComponent {
|
|
|
415
415
|
},
|
|
416
416
|
], viewQueries: [{ propertyName: "tagsScrollRef", first: true, predicate: ["tagsScrollContainer"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"write-with-ai\"\n [class.write-with-ai--standalone]=\"standalone()\"\n [class.write-with-ai--full-height]=\"fullHeight()\"\n>\n @if (!standalone()) {\n <div class=\"write-with-ai__host\">\n <ui-field\n [label]=\"fieldLabel() || (translationContext + 'FIELD_LABEL' | uiTranslate | async)!\"\n type=\"textarea\"\n [showBottomContent]=\"false\"\n [fullHeight]=\"fullHeight()\"\n [borderless]=\"borderless()\"\n [disabled]=\"cvaDisabled()\"\n [ngModel]=\"effectiveValue()\"\n (ngModelChange)=\"handleValueInput($event)\"\n ></ui-field>\n <ui-button\n class=\"write-with-ai__cta\"\n variant=\"ghost-ai\"\n size=\"small\"\n [label]=\"(translationContext + 'AI_ASSIST' | uiTranslate | async)!\"\n iconName=\"Sparkle-in-line\"\n iconPosition=\"left\"\n [disabled]=\"isPanelVisible() || cvaDisabled()\"\n (buttonClickEvent)=\"togglePanel()\"\n ></ui-button>\n </div>\n }\n\n @if (isPanelVisible()) {\n <section\n class=\"write-with-ai__panel\"\n [class.write-with-ai__panel--loading]=\"effectiveStatus() === 'loading'\"\n role=\"region\"\n [attr.aria-label]=\"(translationContext + 'AI_WRITING_ASSISTANT' | uiTranslate | async)!\"\n >\n <header class=\"write-with-ai__panel-header\">\n <div class=\"write-with-ai__panel-heading\">\n <div class=\"write-with-ai__title-row\">\n @if (effectiveStatus() !== 'loading') {\n <ui-icon class=\"write-with-ai__title-icon\" name=\"Sparkle-in-line\" color=\"ai\"></ui-icon>\n }\n <h4 class=\"write-with-ai__title\">\n {{ header() || (translationContext + 'HEADER' | uiTranslate | async) }}\n </h4>\n </div>\n @if (subheader()) {\n <p class=\"write-with-ai__subheader\">{{ subheader() }}</p>\n }\n </div>\n @if (!standalone()) {\n <ui-button\n variant=\"icon-button\"\n iconName=\"Close\"\n size=\"small\"\n [tooltip]=\"(translationContext + 'CLOSE' | uiTranslate | async)!\"\n [ariaLabel]=\"(translationContext + 'CLOSE_AI_ASSISTANT' | uiTranslate | async)!\"\n (buttonClickEvent)=\"togglePanel()\"\n ></ui-button>\n }\n </header>\n\n @if (effectiveStatus() === 'idle') {\n @if (tagsOnly()) {\n @if (tags().length) {\n <div class=\"write-with-ai__tags-prompt\">\n <div\n class=\"write-with-ai__tags-container\"\n role=\"group\"\n [attr.aria-label]=\"header() || (translationContext + 'HEADER' | uiTranslate | async)\"\n #tagsScrollContainer\n (scroll)=\"measureTagScroll(tagsScrollContainer)\"\n >\n @for (tag of tags(); track tag.id) {\n <ui-tag\n [label]=\"tag.label\"\n [ariaLabel]=\"tag.label\"\n [isDisabled]=\"cvaDisabled()\"\n (press)=\"handleTagClick(tag)\"\n ></ui-tag>\n }\n </div>\n <div class=\"write-with-ai__tags-arrows\">\n <ui-button\n variant=\"icon-button\"\n size=\"small\"\n iconName=\"Arrow-chevron-left-in-line\"\n [tooltip]=\"(translationContext + 'SCROLL_TAGS_LEFT' | uiTranslate | async)!\"\n [ariaLabel]=\"(translationContext + 'SCROLL_TAGS_LEFT' | uiTranslate | async)!\"\n [disabled]=\"cvaDisabled() || !canScrollTagsLeft()\"\n (buttonClickEvent)=\"scrollTags(tagsScrollContainer, -1)\"\n ></ui-button>\n <ui-button\n variant=\"icon-button\"\n size=\"small\"\n iconName=\"Arrow-chevron-right-in-line\"\n [tooltip]=\"(translationContext + 'SCROLL_TAGS_RIGHT' | uiTranslate | async)!\"\n [ariaLabel]=\"(translationContext + 'SCROLL_TAGS_RIGHT' | uiTranslate | async)!\"\n [disabled]=\"cvaDisabled() || !canScrollTagsRight()\"\n (buttonClickEvent)=\"scrollTags(tagsScrollContainer, 1)\"\n ></ui-button>\n </div>\n </div>\n }\n } @else {\n <div class=\"write-with-ai__prompt\">\n <ui-prompt\n [ngModel]=\"promptModelData()\"\n (ngModelChange)=\"handlePromptModelChange($event)\"\n [tags]=\"promptTags()\"\n [placeholder]=\"placeholder() || (translationContext + 'PLACEHOLDER' | uiTranslate | async)!\"\n [showSendButton]=\"true\"\n (promptData)=\"handlePromptSubmit($event)\"\n ></ui-prompt>\n </div>\n }\n }\n\n @if (statusConfig(); as cfg) {\n <ui-alert-banner\n [alertType]=\"cfg.alertType\"\n alertVariant=\"callout\"\n [message]=\"(cfg.messageKey | uiTranslate | async)!\"\n [includeDismissButton]=\"false\"\n [isLoading]=\"cfg.variant === 'loading'\"\n [hasIcon]=\"cfg.variant !== 'loading'\"\n [actions]=\"cfg.actions\"\n [isFullWidth]=\"true\"\n ></ui-alert-banner>\n }\n\n <div class=\"write-with-ai__caveat\">\n <ui-ai-caveat></ui-ai-caveat>\n </div>\n </section>\n }\n</div>\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}.write-with-ai{display:flex;flex-direction:column;gap:8px;padding-top:8px;max-width:100%;overflow:hidden}.write-with-ai--full-height{height:100%}.write-with-ai--full-height .write-with-ai__host{flex:1}.write-with-ai__host{position:relative;display:flex;flex-direction:column}.write-with-ai__cta{position:absolute;right:8px;bottom:8px;z-index:1;background-color:#fff;border-radius:100px}.write-with-ai__panel{border:none;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:8px;background-color:#f4f4f4}.write-with-ai__panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.write-with-ai__panel-heading{display:flex;flex-direction:column;gap:8px}.write-with-ai__title-row{display:flex;align-items:center;gap:8px}.write-with-ai__title{margin:0}.write-with-ai__subheader{margin:0;font-size:14px;line-height:22px;font-weight:400;color:#242424}.write-with-ai__quick-actions{display:flex;gap:8px;flex-wrap:wrap}.write-with-ai__prompt{display:flex;flex-direction:column;gap:4px}.write-with-ai__tags-prompt{display:flex;align-items:center;gap:4px;padding:8px;border:1px solid #919191;border-radius:10px;background-color:#fff}.write-with-ai__tags-container{display:flex;flex-flow:row nowrap;align-items:center;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.write-with-ai__tags-container::-webkit-scrollbar{display:none}.write-with-ai__tags-arrows{display:flex;align-items:center;gap:4px;flex-shrink:0}.write-with-ai__status-actions{display:flex;gap:8px;justify-content:flex-end}.write-with-ai__caveat{font-size:12px}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}:host ::ng-deep .write-with-ai__host textarea{padding-bottom:48px!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FieldComponentModule }, { kind: "component", type: i2.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "isAutocompleteOff", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "testId", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "autosizableTextarea", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }, { kind: "ngmodule", type: ButtonComponentModule }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "trailingIconName", "trailingIconFilled", "disabled", "loading", "loadingWithLabel", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaExpanded", "ariaControls", "ariaPressed", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled", "testId"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "ngmodule", type: IconComponentModule }, { kind: "component", type: i4.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }, { kind: "ngmodule", type: PromptModule }, { kind: "component", type: i5.PromptComponent, selector: "ui-prompt", inputs: ["tags", "actionTag", "maxCharacters", "supportedFileTypes", "autoClear", "showSendButton", "sendButtonDisabled", "enableFileUpload", "loading", "placeholder", "errorMessage", "dropdownItems", "dropdownHeading", "showDropdownClose", "showCharacterCount", "disabled"], outputs: ["promptData", "actionTagFileSelected", "dropdownItemSelected", "dropdownClosed"] }, { kind: "ngmodule", type: AiCaveatComponentModule }, { kind: "component", type: i6.AiCaveatComponent, selector: "ui-ai-caveat", inputs: ["applicationTheme"] }, { kind: "ngmodule", type: AlertBannerComponentModule }, { kind: "component", type: i7.AlertBannerComponent, selector: "ui-alert-banner", inputs: ["alertType", "alertVariant", "message", "includeDismissButton", "shadow", "linkText", "linkUrl", "linkTarget", "actions", "applicationTheme", "size", "isFullWidth", "closeButtonTooltip", "testId", "hasIcon", "isLoading", "fixed", "ariaDescribedby", "secondaryAlerts"], outputs: ["dismiss"] }, { kind: "ngmodule", type: TagComponentModule }, { kind: "component", type: i8.TagComponent, selector: "ui-tag", inputs: ["label", "icon", "allowClose", "readOnly", "isSelected", "showIconWhenSelected", "pinnedBackground", "constrainWidth", "isDisabled", "applicationTheme", "ariaLabel", "testId", "ariaRequired", "showBadge", "notificationsAmount"], outputs: ["isSelectedChange", "close", "press"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: UiTranslatePipe, name: "uiTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
417
417
|
}
|
|
418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiComponent, decorators: [{
|
|
419
419
|
type: Component,
|
|
420
420
|
args: [{ selector: 'ui-write-with-ai', changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'display: block' }, providers: [
|
|
421
421
|
UiTranslatePipe,
|
|
@@ -439,11 +439,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.19", ngImpo
|
|
|
439
439
|
}], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], standalone: [{ type: i0.Input, args: [{ isSignal: true, alias: "standalone", required: false }] }], defaultOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultOpen", required: false }] }], fieldLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "fieldLabel", required: false }] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], promptValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "promptValue", required: false }] }], tags: [{ type: i0.Input, args: [{ isSignal: true, alias: "tags", required: false }] }], status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], subheader: [{ type: i0.Input, args: [{ isSignal: true, alias: "subheader", required: false }] }], llmConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "llmConfig", required: false }] }], fullHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullHeight", required: false }] }], borderless: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderless", required: false }] }], tagsOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "tagsOnly", required: false }] }], metadata: [{ type: i0.Input, args: [{ isSignal: true, alias: "metadata", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], promptChange: [{ type: i0.Output, args: ["promptChange"] }], promptSubmit: [{ type: i0.Output, args: ["promptSubmit"] }], cancelPending: [{ type: i0.Output, args: ["cancelPending"] }], acceptResult: [{ type: i0.Output, args: ["acceptResult"] }], requestRefine: [{ type: i0.Output, args: ["requestRefine"] }], tagsScrollRef: [{ type: i0.ViewChild, args: ['tagsScrollContainer', { isSignal: true }] }] } });
|
|
440
440
|
|
|
441
441
|
class WriteWithAiComponentModule {
|
|
442
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.
|
|
443
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.
|
|
444
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.
|
|
442
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
443
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiComponentModule, imports: [WriteWithAiComponent], exports: [WriteWithAiComponent] }); }
|
|
444
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiComponentModule, imports: [WriteWithAiComponent] }); }
|
|
445
445
|
}
|
|
446
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.
|
|
446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: WriteWithAiComponentModule, decorators: [{
|
|
447
447
|
type: NgModule,
|
|
448
448
|
args: [{
|
|
449
449
|
imports: [WriteWithAiComponent],
|