@verisoft/ui-govcz 21.0.1 → 21.0.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"verisoft-ui-govcz.mjs","sources":["../../../../../src/libs/ui-govcz/src/lib/icons.ts","../../../../../src/libs/ui-govcz/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../../src/libs/ui-govcz/src/lib/pipes/color/color.pipe.ts","../../../../../src/libs/ui-govcz/src/lib/pipes/multiselect/multiselect-options.pipe.ts","../../../../../src/libs/ui-govcz/src/lib/pipes/size/size.pipe.ts","../../../../../src/libs/ui-govcz/src/lib/components/icon/icon.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/icon/icon.component.html","../../../../../src/libs/ui-govcz/src/lib/components/button/button.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/button/button.component.html","../../../../../src/libs/ui-govcz/src/lib/components/errors/error.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/errors/error.component.html","../../../../../src/libs/ui-govcz/src/lib/components/calendar/calendar.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/calendar/calendar.component.html","../../../../../src/libs/ui-govcz/src/lib/components/checkbox/checkbox.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/checkbox/checkbox.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/confirm-dialog/confirm-dialog.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/confirm-dialog/confirm-dialog.component.html","../../../../../src/libs/ui-govcz/src/lib/components/tooltip/tooltip.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/tooltip/tooltip.component.html","../../../../../src/libs/ui-govcz/src/lib/components/textfield/textfield.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/textfield/textfield.component.html","../../../../../src/libs/ui-govcz/src/lib/components/dropdown/dropdown-item.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/dropdown/dropdown-item.component.html","../../../../../src/libs/ui-govcz/src/lib/components/dropdown/dropdown.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/dropdown/dropdown.component.html","../../../../../src/libs/ui-govcz/src/lib/components/dropdown-button/dropdown-button.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/dropdown-button/dropdown-button.component.html","../../../../../src/libs/ui-govcz/src/lib/components/form-field/form-field.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/form-field/form-field.component.html","../../../../../src/libs/ui-govcz/src/lib/components/header/header.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/header/header.component.html","../../../../../src/libs/ui-govcz/src/lib/components/input-group/input-group.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/input-group/input-group.component.html","../../../../../src/libs/ui-govcz/src/lib/components/loader/loader.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/loader/loader.component.html","../../../../../src/libs/ui-govcz/src/lib/components/multiselect/multiselect.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/multiselect/multiselect.component.html","../../../../../src/libs/ui-govcz/src/lib/components/number-input/number-input.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/number-input/number-input.component.html","../../../../../src/libs/ui-govcz/src/lib/components/page-header/page-header.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/page-header/page-header.component.html","../../../../../src/libs/ui-govcz/src/lib/components/password/password.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/password/password.component.html","../../../../../src/libs/ui-govcz/src/lib/components/radiobutton/radiobutton.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/radiobutton/radiobutton.component.html","../../../../../src/libs/ui-govcz/src/lib/components/search/search.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/search/search.component.html","../../../../../src/libs/ui-govcz/src/lib/components/section/section.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/section/section.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/action-button-group/action-button-group.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/action-button-group/action-button-group.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-field/generic-field.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-field/generic-field.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-form/generic-form.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-form/generic-form.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-form/generic-form.component.html","../../../../../src/libs/ui-govcz/src/lib/components/side-menu/side-menu.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/side-menu/side-menu.component.html","../../../../../src/libs/ui-govcz/src/lib/components/side-menu/side-menu.module.ts","../../../../../src/libs/ui-govcz/src/lib/components/snackbar/snackbar.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/snackbar/snackbar.component.html","../../../../../src/libs/ui-govcz/src/lib/components/snackbar/services/snackbar.service.ts","../../../../../src/libs/ui-govcz/src/lib/components/stepper/stepper.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/stepper/stepper.component.html","../../../../../src/libs/ui-govcz/src/lib/components/switch/switch.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/switch/switch.component.html","../../../../../src/libs/ui-govcz/src/lib/components/tab-view/tab-view-item.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/tab-view/tab-view.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/tab-view/tab-view.component.html","../../../../../src/libs/ui-govcz/src/lib/components/table/table-pagination-info.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/table/table-pagination-info.component.html","../../../../../src/libs/ui-govcz/src/lib/components/table/table.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/table/table.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/table/table.component.html","../../../../../src/libs/ui-govcz/src/lib/components/tag/tag.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/tag/tag.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/tag/tag.component.html","../../../../../src/libs/ui-govcz/src/lib/components/textarea/textarea.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/textarea/textarea.component.html","../../../../../src/libs/ui-govcz/src/lib/components/filter/directives/filter-field.directive.ts","../../../../../src/libs/ui-govcz/src/lib/components/filter/filter.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/filter/filter.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/filter/filter.component.html","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/directives/feature-list-filter-field.directive.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list-filter.pipe.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list-page.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list-page.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list.component.html","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/directives/feature-list-column.directive.ts","../../../../../src/libs/ui-govcz/src/lib/init.service.ts","../../../../../src/libs/ui-govcz/src/lib/pages/not-authenticated/not-authenticated.component.ts","../../../../../src/libs/ui-govcz/src/lib/pages/not-authenticated/not-authenticated.component.html","../../../../../src/libs/ui-govcz/src/lib/pages/not-authorized/not-authorized.component.ts","../../../../../src/libs/ui-govcz/src/lib/pages/not-authorized/not-authorized.component.html","../../../../../src/libs/ui-govcz/src/lib/pages/not-found/not-found.component.ts","../../../../../src/libs/ui-govcz/src/lib/pages/not-found/not-found.component.html","../../../../../src/libs/ui-govcz/src/verisoft-ui-govcz.ts"],"sourcesContent":["import { CommonIcons } from '@verisoft/ui-core';\r\n\r\nexport const Icons: CommonIcons = {\r\n add: 'plus-lg',\r\n minus: 'dash',\r\n delete: 'trash',\r\n filter: 'filter',\r\n download: 'upload',\r\n save: 'download',\r\n print: 'print-fill',\r\n edit: 'pencil',\r\n calendar: 'calendar',\r\n settings: 'gear',\r\n house: 'house-door-fill',\r\n chevronRight: 'chevron-right',\r\n chevronDown: 'chevron-down',\r\n chevronLeft: 'chevron-left',\r\n chevronUp: 'chevron-up',\r\n checkbox: 'check-square',\r\n warning: 'exclamation-triangle-fill',\r\n search: 'search',\r\n action: 'bars',\r\n user: 'user',\r\n logout: 'logout',\r\n crossCircle: 'x-circle',\r\n infoCircle: 'info-circle',\r\n cross: 'x-lg',\r\n arrowLeft: 'arrow-left',\r\n arrowRight: 'arrow-right',\r\n questionCircle: 'question-circle',\r\n checkCircle: 'check-circle',\r\n sitemap: 'diagram',\r\n check: 'check-lg',\r\n envelope: 'envelope',\r\n loader: 'loader',\r\n};\r\n","\nimport { Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n BREADCRUMB_COMPONENT_TOKEN,\n BreadcrumbCoreComponent\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\n\n@Component({\n selector: 'v-breadcrumb',\n imports: [\n GovDesignSystemModule,\n RouterModule\n],\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n providers: [\n {\n provide: BREADCRUMB_COMPONENT_TOKEN,\n useExisting: BreadcrumbComponent\n },\n ]\n})\nexport class BreadcrumbComponent extends BreadcrumbCoreComponent { \n icons = Icons;\n}\n","<div class=\"gov-breadcrums mt-3 mb-3\">\n <gov-breadcrumbs accessible-label=\"gov-breadcrums\">\n <ul>\n @if (useHomeRoute) {\n <li>\n <gov-icon [name]=\"icons.house\" />\n <a [routerLink]=\"'/'\">Home</a>\n </li>\n }\n @if (items) { @for (item of items; track item; let index = $index) {\n <li>\n @if (index > 0 || useHomeRoute) {\n <gov-icon [name]=\"icons.chevronRight\" />\n }\n @if (item.icon) {\n <gov-icon [name]=\"item.icon\" />\n }\n <a [routerLink]=\"item.routerLink\">\n {{ item.label }}\n </a>\n </li>\n } }\n </ul>\n </gov-breadcrumbs>\n </div>\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { ControlSeverity, ControlSeverityType, GovControlSeverity } from \"@verisoft/ui-core\";\n\n@Pipe({\n name: 'govColor',\n standalone: true,\n})\nexport class GovColorPipe implements PipeTransform {\n transform(color: ControlSeverityType | undefined): string | undefined {\n switch (color) {\n case ControlSeverity.danger:\n return GovControlSeverity.error;\n \n case ControlSeverity.info:\n return GovControlSeverity.neutral;\n\n case ControlSeverity.help:\n case ControlSeverity.contrast:\n return GovControlSeverity.primary;\n }\n\n return color;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { GovFormMultiSelectItem } from '@gov-design-system-ce/components';\n\n@Pipe({\n name: 'govMultiselectOptions',\n standalone: true,\n})\nexport class GovMultiselectOptionsPipe implements PipeTransform {\n transform(\n options: any[] | undefined,\n optionLabel?: string,\n optionValue?: string,\n addEmptyOption = false,\n ): GovFormMultiSelectItem[] {\n if (!options?.length) return [];\n\n return this.convertToGovOption(options, addEmptyOption, optionLabel, optionValue);\n }\n\n private convertToGovOption(\n options: any[],\n addEmptyOption: boolean,\n optionLabel?: string,\n optionValue?: string\n ): GovFormMultiSelectItem[] {\n const convertedOptions: GovFormMultiSelectItem[] = [];\n options.forEach((obj) => {\n let stringKey = '';\n let numberKey = '';\n\n if (optionLabel && optionValue) {\n stringKey = optionLabel;\n numberKey = optionValue;\n } else {\n const keys = Object.keys(obj);\n\n keys.forEach((key) => {\n if (typeof obj[key] === 'string') {\n stringKey = key;\n } else if (typeof obj[key] === 'number') {\n numberKey = key;\n }\n });\n }\n\n convertedOptions.push({\n label: obj[stringKey] as string,\n value: (obj[numberKey] as string)?.toString() ?? 'VALUE NOT SET',\n });\n });\n\n if (addEmptyOption) {\n convertedOptions.unshift({\n label: '',\n value: 'null',\n });\n }\n\n return convertedOptions;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { FieldSize, FieldSizeType } from \"@verisoft/ui-core\";\n\n@Pipe({\n name: 'govSize',\n standalone: true,\n})\nexport class GovSizePipe implements PipeTransform {\n transform(size: FieldSizeType | undefined): string | undefined {\n switch (size) {\n case FieldSize.small:\n return 's';\n case FieldSize.medium:\n case undefined:\n return 'm';\n case FieldSize.large:\n return 'l';\n case FieldSize.xl:\n return 'xl';\n default:\n return size;\n }\n }\n}\n","\nimport { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, input } from '@angular/core';\nimport { ControlSeverity, ControlSeverityType, IconLibraryType, IconsComponent } from '@verisoft/ui-core';\n\n@Component({\n selector: 'v-icon',\n imports: [],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IconComponent extends IconsComponent {\n get govSize(): 's' | 'm' | 'l' | 'xl' {\n switch (this.size()) {\n case 'small':\n return 's';\n case 'large':\n return 'l';\n case 'medium':\n default:\n return 'm';\n }\n }\n\n get govColorClass(): string {\n const severity = this.mapSeverityToGovColor(this.severity());\n return severity ? `text-${severity}` : '';\n }\n\n get govClasses(): string {\n const colorClass = this.govColorClass;\n const customClass = this.class() || '';\n return `${colorClass} ${customClass}`.trim();\n }\n\n get bootstrapSizeClass(): string {\n switch (this.size()) {\n case 'small':\n return 'fs-6';\n case 'medium':\n return 'fs-4';\n case 'large':\n return 'fs-2';\n case 'xl':\n return 'fs-1';\n default:\n return '';\n }\n }\n \n get bootstrapClasses(): string {\n const baseClass = `bi bi-${this.name()}`;\n const sizeClass = this.bootstrapSizeClass;\n const colorClass = this.mapSeverityToBootstrapClass(this.severity());\n const customClass = this.class() || '';\n return `${baseClass} ${sizeClass} ${colorClass} ${customClass}`.trim();\n }\n\n private mapSeverityToGovColor(severity: ControlSeverityType | undefined): string | undefined {\n if (!severity) {\n return undefined;\n }\n\n switch (severity) {\n case ControlSeverity.danger:\n return 'error';\n case ControlSeverity.warning:\n return 'warning';\n case ControlSeverity.success:\n return 'success';\n case ControlSeverity.secondary:\n return 'secondary';\n case ControlSeverity.info:\n return 'neutral';\n case ControlSeverity.help:\n case ControlSeverity.primary:\n case ControlSeverity.contrast:\n return 'primary';\n default:\n return severity as string;\n }\n }\n\n private mapSeverityToBootstrapClass(severity: ControlSeverityType | undefined): string {\n if (!severity) {\n return '';\n }\n\n switch (severity) {\n case ControlSeverity.success:\n return 'text-success';\n case ControlSeverity.danger:\n return 'text-danger';\n case ControlSeverity.warning:\n return 'text-warning';\n case ControlSeverity.info:\n return 'text-info';\n case ControlSeverity.secondary:\n return 'text-secondary';\n case ControlSeverity.help:\n case ControlSeverity.primary:\n case ControlSeverity.contrast:\n return 'text-primary';\n default:\n return `text-${severity}`;\n }\n }\n}\n\n","@if (library() === 'native') {\n <gov-icon \n [name]=\"name()\" \n [size]=\"govSize\"\n [class]=\"govClasses\"\n />\n} @else if (library() === 'bootstrap') {\n <i [class]=\"bootstrapClasses\"></i>\n}\n\n\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from \"@angular/core\";\nimport { Params, RouterModule } from \"@angular/router\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ButtonEvent, GovButtonCustomEvent } from \"@gov-design-system-ce/components\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport {\n BUTTON_COMPONENT_TOKEN,\n ButtonCore,\n IconPositionType,\n IconPosition,\n FieldSize,\n FieldSizeType,\n ControlSeverity,\n ControlSeverityType,\n GovButtonType,\n GovButtonTypeType,\n IconLibraryType,\n} from \"@verisoft/ui-core\";\nimport { GovColorPipe, GovSizePipe } from \"../../pipes\";\nimport { IconComponent } from \"../icon\";\n\n@Component({\n selector: \"v-button\",\n styleUrl: \"./button.component.scss\",\n templateUrl: './button.component.html',\n imports: [\n GovDesignSystemModule, RouterModule, GovSizePipe, GovColorPipe, TranslateModule, IconComponent\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.v-button--expanded]': 'expanded'\n },\n providers: [\n {\n provide: BUTTON_COMPONENT_TOKEN,\n useExisting: ButtonComponent,\n }\n ]\n})\nexport class ButtonComponent\n implements ButtonCore\n{\n @Input() label: string | undefined;\n @Input() icon: string | undefined;\n @Input() library: IconLibraryType = 'native';\n @Input() badge!: string;\n @Input() iconPos: IconPositionType = IconPosition.left;\n @Input() disabled = false;\n @Input() rounded!: boolean;\n @Input() outlined!: boolean;\n @Input() raised!: boolean;\n @Input() routerLink!: any[];\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() queryParams!: Params;\n @Input() severity: ControlSeverityType | undefined = ControlSeverity.primary;\n @Input() type: GovButtonTypeType = GovButtonType.solid;\n @Input() expanded = false;\n @Input() name!: string;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter<any>();\n\n handleClick(event: GovButtonCustomEvent<ButtonEvent> | MouseEvent) {\n if (this.disabled) {\n event.stopPropagation();\n return;\n }\n\n this.click.emit(event);\n }\n}\n","<div class=\"v-button\" [class.v-button--expanded]=\"expanded\">\n <a\n [routerLink]=\"routerLink ? routerLink : undefined\"\n [queryParams]=\"queryParams ? queryParams : undefined\"\n >\n <gov-button\n [type]=\"outlined === true ? 'outlined' : type\"\n [class.v-button--rounded]=\"rounded\"\n [color]=\"severity | govColor\"\n [disabled]=\"disabled\"\n [size]=\"size | govSize\"\n [name]=\"name\"\n [expanded]=\"expanded\"\n (gov-click)=\"handleClick($event)\"\n (click)=\"handleClick($event)\"\n >\n @if (icon) {\n <v-icon \n [name]=\"icon\"\n [library]=\"library\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (label) {\n {{ label | translate }}\n }\n </gov-button>\n </a>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { Component, inject, Input, } from \"@angular/core\";\nimport { NgControl, ValidationErrors } from \"@angular/forms\";\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { ERROR_PROVIDER_TOKEN } from \"@verisoft/core\";\nimport { SlotPosition, SlotPositionType } from \"@verisoft/ui-core\";\nimport { Observable } from \"rxjs\";\nimport { Icons } from \"../../icons\";\n\n@Component({\n selector: \"v-validation-message\",\n templateUrl: \"./error.component.html\",\n styleUrl: \"./error.component.scss\",\n imports: [CommonModule, GovDesignSystemModule]\n})\nexport class ErrorComponent {\n @Input({ required: true }) ngControl?: NgControl;\n\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom\n\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom\n\n readonly errorService = inject(ERROR_PROVIDER_TOKEN);\n icons = Icons\n\n getErrorMessage(errors: ValidationErrors): Observable<string | undefined> {\n return this.errorService.mapError(errors);\n }\n}","@if (ngControl && ngControl.errors) {\n<gov-form-message \n [slot]=\"errorSlot\" \n color=\"error\"\n>\n {{ getErrorMessage(ngControl.errors) | async }}\n <gov-icon \n [name]=\"icons.warning\" \n slot=\"validation-icon\" />\n</gov-form-message>\n}\n","\nimport { ChangeDetectionStrategy, Component, Input, Optional, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n BaseFormInputComponent,\n CalendarCore,\n CALENDAR_COMPONENT_TOKEN,\n FieldType,\n FieldSizeType,\n FieldSize,\n SlotPosition,\n SlotPositionType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-calendar',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent,\n TranslateModule\n],\n templateUrl: './calendar.component.html',\n styleUrl: './calendar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: CALENDAR_COMPONENT_TOKEN,\n useExisting: CalendarComponent\n }\n ]\n})\n\nexport class CalendarComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, CalendarCore\n{\n @Input() icon!: string;\n\n @Input() floatLabel: string | undefined;\n\n @Input() maxDate!: Date;\n\n @Input() minDate!: Date;\n\n @Input() header!: string;\n\n @Input() footer!: string;\n\n @Input() selectionMode: 'single' | 'multiple' | 'range' | undefined;\n\n @Input() size: FieldSizeType = FieldSize.medium;\n\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom;\n\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n @Input() message!: string;\n\n @Input() name!: string;\n\n type = FieldType.date;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control class=\"mb-3\">\n @if (label) {\n <gov-form-label [slot]=\"labelSlot\" [size]=\"size | govSize\">\n {{ label | translate}}\n </gov-form-label>\n }\n <gov-form-group>\n <gov-form-input\n [formControl]=\"formControl\"\n [attr.input-type]=\"type\"\n [invalid]=\"ngControl?.errors ? true : false\"\n [size]=\"size | govSize\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [attr.disabled]=\"readonly ? 'true' : 'false'\"\n [name]=\"name\"\n />\n </gov-form-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message }}\n </gov-form-message>\n }\n</gov-form-control>","\nimport {\n ChangeDetectionStrategy,\n Component,\n Optional,\n Self,\n Input,\n input,\n} from \"@angular/core\";\nimport { ControlValueAccessor, NgControl, ReactiveFormsModule } from \"@angular/forms\";\nimport { RouterModule } from \"@angular/router\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport {\n BaseFormInputComponent,\n CHECKBOX_COMPONENT_TOKEN,\n CheckboxCore,\n FieldSize,\n FieldSizeType,\n} from \"@verisoft/ui-core\";\nimport { v4 as uuidv4 } from 'uuid';\nimport { Icons } from \"../../icons\";\nimport { GovSizePipe } from \"../../pipes\";\nimport { ErrorComponent } from \"../errors\";\n\n@Component({\n selector: \"v-checkbox\",\n styleUrl: \"./checkbox.component.scss\",\n templateUrl: './checkbox.component.html',\n imports: [\n GovDesignSystemModule,\n RouterModule,\n ReactiveFormsModule,\n GovSizePipe,\n ErrorComponent,\n TranslateModule\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: CHECKBOX_COMPONENT_TOKEN,\n useExisting: CheckboxComponent,\n }]\n})\nexport class CheckboxComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, CheckboxCore\n{\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() value!: string;\n @Input() name!: string;\n readonly indeterminate = input(false);\n @Input() noLabel = false;\n \n protected readonly icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n id = uuidv4();\n}\n","<gov-form-control class=\"mt-3\">\n <gov-form-checkbox \n [formControl]=\"formControl\"\n [size]=\"size | govSize\"\n [value]=\"value\"\n [required]=\"required\"\n [attr.disabled]=\"disabled ? 'true' : 'false'\"\n [identifier]=\"id\"\n [indeterminate]=\"indeterminate\"\n [name]=\"name\"\n [invalid]=\"ngControl?.errors\"\n [noLabel]=\"noLabel\"\n [disabled]=\"disabled\"\n > \n <gov-form-label\n [size]=\"size\"\n slot=\"label\"\n >\n {{ label ?? '' | translate }}\n </gov-form-label>\n </gov-form-checkbox>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport {\r\n Injectable,\r\n ViewContainerRef,\r\n Type,\r\n ComponentFactoryResolver,\r\n Injector,\r\n ComponentRef,\r\n ComponentFactory,\r\n OnChanges,\r\n SimpleChanges,\r\n SimpleChange,\r\n EventEmitter,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { ExtendedComponent } from '@verisoft/ui-core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicComponentFactoryService implements OnDestroy {\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribeComponentEvents(this);\r\n }\r\n\r\n async createDynamicComponent<TComponent>(\r\n componentType: Type<TComponent>,\r\n viewContainerRef: ViewContainerRef,\r\n inputs: ExtendedComponent<TComponent>,\r\n injector: Injector | undefined = undefined\r\n ) {\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n viewContainerRef.clear();\r\n const component = viewContainerRef.createComponent(\r\n componentFactory,\r\n undefined,\r\n injector\r\n );\r\n this.setComponentDataInt(componentFactory, component, inputs);\r\n this.fireComponentEvents(component.instance, inputs);\r\n return component;\r\n }\r\n\r\n setComponentData<TComponent>(\r\n component: ComponentRef<TComponent>,\r\n inputs: Partial<TComponent>\r\n ) {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(\r\n component.componentType\r\n );\r\n\r\n this.setComponentDataInt(factory, component, inputs);\r\n }\r\n\r\n private unsubscribeComponentEvents<TComponent>(instance: TComponent) {\r\n const subscriptionStoreKey = '__outputSubscriptions__';\r\n const subscriptions = (instance as any)[subscriptionStoreKey] as Map<string, Subscription>;\r\n\r\n if (subscriptions) {\r\n subscriptions.forEach((sub) => sub.unsubscribe());\r\n subscriptions.clear();\r\n }\r\n }\r\n\r\n private fireComponentEvents<TComponent>(\r\n instance: TComponent,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n if (!instance || typeof instance !== 'object') return;\r\n\r\n this.fireInputComponentEvents(instance, inputs);\r\n this.fireOutputComponentEvents(instance, inputs);\r\n }\r\n\r\n private setComponentDataInt<TComponent>(\r\n factory: ComponentFactory<TComponent>,\r\n component: ComponentRef<TComponent>,\r\n inputs: Partial<TComponent>\r\n ) {\r\n if (inputs) {\r\n const propertyNames = factory.inputs.map((x) => x.propName);\r\n const inputsHash = new Set(propertyNames);\r\n Object.keys(inputs)\r\n .filter((x) => inputsHash.has(x))\r\n .forEach((x) => {\r\n (<{ [key: string]: unknown }>component.instance)[x] = (<\r\n { [key: string]: unknown }\r\n >inputs)[x];\r\n });\r\n }\r\n }\r\n\r\n private fireInputComponentEvents<TComponent>(\r\n instance: TComponent,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n const onChangeComponent = instance as unknown as OnChanges;\r\n if (onChangeComponent.ngOnChanges && inputs) {\r\n const changeEventArgs = Object.keys(inputs).reduce((changes: SimpleChanges, key: string) => {\r\n const inputValue = (inputs as { [key: string]: unknown })[key];\r\n changes[key] = new SimpleChange(undefined, inputValue, true);\r\n return changes;\r\n }, {} as SimpleChanges);\r\n\r\n onChangeComponent.ngOnChanges(changeEventArgs);\r\n }\r\n }\r\n\r\n private fireOutputComponentEvents<TComponent>(\r\n instance: TComponent & object,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n const outputs = Object.keys(inputs).filter((key) => {\r\n const emitter = (instance as Record<string, any>)[key];\r\n return emitter instanceof EventEmitter;\r\n });\r\n\r\n const subscriptionStoreKey = '__outputSubscriptions__';\r\n if (!(subscriptionStoreKey in instance)) {\r\n (instance as any)[subscriptionStoreKey] = new Map<string, Subscription>();\r\n }\r\n const subscriptions = (instance as any)[subscriptionStoreKey] as Map<string, Subscription>;\r\n\r\n for (const outputKey of outputs) {\r\n const eventEmitter = (instance as Record<string, any>)[outputKey] as EventEmitter<any>;\r\n const callback = inputs[outputKey] as (value: any) => void;\r\n\r\n if (eventEmitter && typeof callback === 'function') {\r\n if (subscriptions.has(outputKey)) {\r\n subscriptions.get(outputKey)!.unsubscribe();\r\n }\r\n\r\n const subscription = eventEmitter.subscribe((value: any) => callback(value));\r\n subscriptions.set(outputKey, subscription);\r\n }\r\n }\r\n }\r\n}\r\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Injector,\n Input,\n OnChanges,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ExtendedComponent } from '@verisoft/ui-core';\nimport { DynamicComponentFactoryService } from './dynamic-component-factory.service';\n\n@Component({\n selector: 'v-dynamic-component',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-container #dynamicContainer></ng-container>`,\n})\nexport class DynamicComponent<TComponent> implements AfterViewInit, OnChanges {\n @Input() componentType!: Type<TComponent>;\n\n @Input() data!: ExtendedComponent<TComponent>;\n\n @ViewChild('dynamicContainer', { read: ViewContainerRef, static: true })\n container!: ViewContainerRef;\n\n private factoryServices = inject(DynamicComponentFactoryService);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private injector = inject(Injector);\n\n ngOnChanges(): void {\n this.createComponent();\n }\n\n ngAfterViewInit(): void {\n this.createComponent();\n this.changeDetectorRef.detectChanges();\n }\n\n private createComponent() {\n if (this.container) {\n this.factoryServices.createDynamicComponent(\n this.componentType,\n this.container,\n this.data,\n this.injector\n );\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, OnInit, inject } from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n CONFIRM_DIALOG_COMPONENT_TOKEN,\n ConfirmDialogCore,\n DialogData,\n DialogService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { takeUntil } from 'rxjs';\nimport { GovColorPipe } from '../../pipes';\nimport { DynamicComponent } from '../shared-components/dynamic-component';\n\n@Component({\n selector: 'v-confirm-dialog',\n imports: [\n CommonModule,\n GovDesignSystemModule,\n GovColorPipe,\n DynamicComponent,\n ],\n templateUrl: './confirm-dialog.component.html',\n styleUrl: './confirm-dialog.component.scss',\n providers: [\n {\n provide: CONFIRM_DIALOG_COMPONENT_TOKEN,\n useExisting: ConfirmDialogComponent,\n },\n ]\n})\nexport class ConfirmDialogComponent\n extends UnsubscribeComponent\n implements OnInit, ConfirmDialogCore\n{\n constructor(\n private readonly dialogService: DialogService,\n private readonly cdr: ChangeDetectorRef\n ) {\n super();\n }\n\n visible = false;\n protected closable = false;\n data: DialogData = { severity: 'primary', headerIcon: 'info-circle' };\n\n ngOnInit(): void {\n this.dialogService.showEvent\n .pipe(takeUntil(this.destroyed$))\n .subscribe((x: DialogData) => {\n this.data = x;\n this.visible = true;\n this.cdr.detectChanges();\n });\n\n this.dialogService.closeEvent\n .pipe(takeUntil(this.destroyed$))\n .subscribe(() => {\n this.data = {};\n this.visible = false;\n this.cdr.detectChanges();\n })\n }\n\n protected dialogClick(confirm: boolean) {\n const { confirmButtonFn, cancelButtonFn } = this.data;\n\n if (confirm && confirmButtonFn) {\n confirmButtonFn();\n }\n\n if (!confirm && cancelButtonFn) {\n cancelButtonFn();\n }\n\n this.visible = false;\n this.cdr.detectChanges();\n }\n}\n","<gov-dialog\n [open]=\"visible\"\n [attr.block-close]=\"data.closable !== undefined ? !data.closable : false\"\n [attr.block-backdrop-close]=\"data.closable !== undefined ? !data.closable : false\" \n [style.--dialog-max-width]=\"data.width\"\n [style.--dialog-max-height]=\"data.height\"\n role=\"dialog\"\n accessible-close-label=\"Close dialog box with more information\"\n (gov-close)=\"data.cancelButtonFn ? dialogClick(false) : (visible = false)\"\n>\n <gov-icon\n type=\"components\"\n [name]=\"data.headerIcon\"\n slot=\"icon\"\n [color]=\"data.severity | govColor\"\n />\n \n <h2 slot=\"title\">{{ data.title ?? 'Title' }}</h2>\n\n @if (data && data.innerHTML) {\n <div [innerHTML]=\"data.innerHTML\"></div>\n } @else if (data.componentType) {\n <v-dynamic-component\n [componentType]=\"data.componentType\"\n [data]=\"$any(data.data)\"\n ></v-dynamic-component>\n }\n\n <gov-button\n color=\"primary\"\n size=\"m\"\n type=\"solid\"\n slot=\"footer\"\n (gov-click)=\"data.confirmButtonFn ? dialogClick(true) : (visible = false)\"\n >\n {{ data.confirmButtonText ?? 'Yes'}}\n </gov-button>\n \n <gov-button\n [ngClass]=\"!data.showCancelButton ? 'd-none' : ''\"\n color=\"primary\"\n size=\"m\"\n type=\"outlined\"\n slot=\"footer\"\n [disabled]=\"!data.showCancelButton\"\n (gov-click)=\"data.cancelButtonFn ? dialogClick(false) : (visible = false)\"\n >\n {{ data.cancelButtonText ?? 'No' }}\n </gov-button>\n</gov-dialog>\n","import { Component, input } from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ControlSeverityType, FieldSizeType, PositionType, TooltipCore } from \"@verisoft/ui-core\";\nimport { GovSizePipe } from \"../../pipes\";\n\n@Component({\n selector: \"v-tooltip\",\n templateUrl: './tooltip.component.html',\n imports: [\n GovDesignSystemModule,\n GovSizePipe\n ]\n})\nexport class TooltipComponent implements TooltipCore {\n color = input<ControlSeverityType | undefined>(undefined);\n position = input<PositionType | undefined>(undefined);\n size = input<FieldSizeType | undefined>(undefined);\n tooltipText = input<string | undefined>(undefined);\n}\n","<gov-tooltip\n class=\"ms-2\"\n [color]=\"color\"\n [size]=\"size() | govSize\"\n [position]=\"position()\"\n [message]=\"tooltipText()\"\n>\n <ng-content></ng-content>\n</gov-tooltip>","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n TextfieldCore,\n TEXTFIELD_COMPONENT_TOKEN,\n FieldType,\n BaseFormInputComponent,\n FieldSizeType,\n FieldSize,\n IconPositionType,\n IconPosition,\n SlotPositionType,\n SlotPosition,\n FieldTypeType,\n} from '@verisoft/ui-core';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\nimport { TooltipComponent } from '../tooltip';\n@Component({\n selector: 'v-textfield',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n TooltipComponent,\n GovSizePipe,\n TranslateModule,\n ErrorComponent\n],\n templateUrl: './textfield.component.html',\n styleUrl: './textfield.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TEXTFIELD_COMPONENT_TOKEN,\n useExisting: TextfieldComponent,\n },\n ]\n})\nexport class TextfieldComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TextfieldCore, OnInit\n{\n @Input() floatLabel!: boolean;\n @Input() type: FieldTypeType = FieldType.text;\n @Input() minlength = 0;\n @Input() maxlength = 524288;\n @Input() min = -2147483648;\n @Input() max = 2147483647;\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() message!: string;\n @Input() name!: string;\n @Input() role!: string;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n if (ngControl) {\n ngControl.valueAccessor = this;\n }\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n\n if (!this.formControl && this.ngControl) {\n this.formControl = this.ngControl.control as FormControl;\n }\n\n if (this.formControl && this.type === FieldType.number) {\n this.setMinMaxNumberInputValidators();\n }\n }\n\n private setMinMaxNumberInputValidators(): void {\n if (!this.formControl) {\n return;\n }\n\n const validators = [];\n if (this.min !== undefined && this.min !== null) {\n validators.push(Validators.min(this.min));\n }\n if (this.max !== undefined && this.max !== null) {\n validators.push(Validators.max(this.max));\n }\n\n this.formControl.addValidators(validators);\n this.formControl.updateValueAndValidity({ onlySelf: true, emitEvent: true });\n }\n}\n","<gov-form-control>\n @if (label) {\n <gov-form-label [slot]=\"labelSlot\" [size]=\"size | govSize\">\n {{ label | translate }}\n @if (tooltip) {\n <v-tooltip [tooltipText]=\"tooltip | translate\" />\n }\n </gov-form-label>\n }\n <gov-form-group>\n <gov-form-input [inputType]=\"type\" [formControl]=\"formControl\" [minlength]=\"minlength\" [maxlength]=\"maxlength\"\n [min]=\"min\" [max]=\"max\" [size]='size | govSize' [name]='name' [role]='role' [required]=\"required\"\n [attr.disabled]=\"disabled ? 'true' : 'false'\" [invalid]=\"ngControl?.errors ? true : false\"\n [placeholder]=\"placeholder\">\n @if (icon) {\n <gov-icon [name]=\"icon\" [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\" />\n } @if (prefix) {\n <p slot=\"prefix\">\n {{ prefix }}\n </p>\n } @if (sufix) {\n <p slot=\"sufix\">\n {{ sufix }}\n </p>\n }\n </gov-form-input>\n <v-validation-message [ngControl]=\"ngControl\" />\n @if (message) {\n <gov-form-message [slot]=\"messageSlot\" color=\"neutral\">\n {{ message }}\n </gov-form-message>\n }\n </gov-form-group>\n</gov-form-control>","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DropDownItemData } from './dropdown.model';\n\n@Component({\n selector: 'v-dropdown-item',\n standalone: true,\n templateUrl: './dropdown-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DropdownItemComponent<T> {\n @Input() item : DropDownItemData<T> | undefined;\n}\n","<li\r\n role=\"option\"\r\n class=\"v-dropdown__item\"\r\n [attr.aria-selected]=\"item?.selected\"\r\n [class.is-active]=\"item?.selected\"\r\n>\r\n {{item?.label}}\r\n</li>","import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NO_ERRORS_SCHEMA,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DEFAULT_PAGE_SIZE, FilterEvent, getValueByPath, LazyLoadEvent } from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n DropdownCore,\n DROPDOWN_COMPONENT_TOKEN,\n FieldSizeType,\n FieldSize,\n} from '@verisoft/ui-core';\nimport { debounceTime, distinctUntilChanged, Subscription } from 'rxjs';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { TextfieldComponent } from '../textfield';\nimport { DropdownItemComponent } from './dropdown-item.component';\nimport { DropDownItemData } from './dropdown.model';\n\n@Component({\n selector: 'v-dropdown',\n imports: [\n CommonModule,\n ReactiveFormsModule,\n GovDesignSystemModule,\n ErrorComponent,\n DropdownItemComponent,\n TextfieldComponent,\n ScrollingModule,\n TranslateModule,\n ],\n templateUrl: './dropdown.component.html',\n styleUrl: './dropdown.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: DROPDOWN_COMPONENT_TOKEN,\n useExisting: DropdownComponent,\n },\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class DropdownComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, DropdownCore<T>, OnInit, OnChanges, OnDestroy {\n\n @ViewChild('filterTextField', { static: false }) filterTextField!: ElementRef;\n\n @Input() options: T[] | undefined = [];\n @Input() optionLabel: string | undefined;\n @Input() optionValue: string | undefined;\n @Input() dropdownIcon: string | undefined;\n @Input() floatLabel: string | undefined;\n @Input() lazy!: boolean;\n @Input() filter!: boolean;\n @Input() editable!: boolean;\n @Input() loading!: boolean;\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() showFilter = true;\n @Input() localSearch = true;\n @Input() forceMinWidth = false;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n opened = false;\n icons = Icons;\n selectedItem: DropDownItemData<T> | undefined;\n filterControl = new FormControl('');\n filterSub: Subscription | undefined\n dropdownOptions: DropDownItemData<T>[] | undefined;\n private readonly pageSize = DEFAULT_PAGE_SIZE;\n private lastPage: number | undefined;\n\n get labelClasses() {\n return {\n disabled: this.ngControl?.disabled,\n error: this.ngControl?.invalid\n };\n }\n\n get inputClasses() {\n return {\n 'disabled-input': this.ngControl?.disabled,\n 'error-input': this.ngControl?.invalid\n };\n }\n\n constructor(@Optional() @Self() ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef) {\n super(ngControl);\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this.filterSub = this.filterControl.valueChanges.pipe(\n debounceTime(300),\n distinctUntilChanged()\n ).subscribe((value) => {\n this.filterOptions(value);\n });\n }\n\n override writeValue(value: any): void {\n const selectedItem = (value == undefined || value === \"\") ? undefined : (this.dropdownOptions?.find(x => x.value === value)\n ?? { value, label: '', option: undefined as T, selected: false } as unknown as DropDownItemData<T>)\n this.selectItem(selectedItem, false);\n\n this.changeDetectorRef.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['options'] || changes['loading']) {\n this.dropdownOptions = this.convertToOptions();\n if (this.selectedItem && !this.selectedItem?.item) {\n const item = this.dropdownOptions?.find(x => this.selectedItem?.value === x.value);\n if (item) {\n this.selectItem(item, false);\n }\n }\n }\n\n this.changeDetectorRef.detectChanges();\n }\n\n private convertToOptions(): DropDownItemData<T>[] | undefined {\n return this.options?.map((option) => ({\n label: (this.optionLabel ? getValueByPath(option, this.optionLabel) : option) as unknown as string,\n value: this.optionValue ? getValueByPath(option, this.optionValue) : option as unknown as string,\n item: option,\n selected: false,\n } as DropDownItemData<T>)\n );\n }\n\n ngOnDestroy() {\n this.filterSub?.unsubscribe();\n }\n\n toggleDropdown() {\n if (this.ngControl?.disabled) {\n return;\n }\n\n if (!this.opened) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n protected clearSelection(event: MouseEvent) {\n event.stopPropagation();\n this.changed.emit(null);\n this.dropdownOptions = this.dropdownOptions?.map(x => ({ ...x, selected: false })) ?? [];\n this.ngControl?.control?.setValue(null);\n }\n\n private openDropdown() {\n this.opened = true;\n this.setFilterFocus();\n this.showed.emit();\n }\n\n selectItem(option: DropDownItemData<T> | undefined, emitChange: boolean) {\n if (option == undefined) {\n this.selectedItem = undefined;\n this.closeDropdown();\n return;\n }\n\n if (this.selectedItem && this.selectedItem != option) {\n this.selectedItem.selected = false;\n }\n\n option.selected = true;\n this.selectedItem = option;\n\n if (emitChange) {\n if (this.ngControl?.control?.value !== option.value) {\n this.changed.emit(option.value);\n this.ngControl?.control?.setValue(option?.value);\n }\n }\n\n this.closeDropdown();\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (!target.closest('v-dropdown')) {\n this.opened = false;\n }\n }\n\n onScroll(index: number) {\n this.loadDataForIndex(index);\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.formControl.disabled || this.readonly || this.loading || !this.opened) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n break;\n\n case 'ArrowUp':\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n break;\n }\n }\n\n private loadDataForIndex(index: number) {\n if (this.lazy) {\n const currentPage = Math.floor(index / this.pageSize);\n const shouldLazyLoad = currentPage !== this.lastPage;\n if (shouldLazyLoad) {\n this.lastPage = currentPage;\n this.lazyLoad.emit({\n filter: this.createFilterObject(this.filterControl.value),\n offset: currentPage * this.pageSize,\n limit: this.pageSize,\n });\n }\n }\n }\n\n private setFilterFocus() {\n setTimeout(() => {\n this.filterTextField?.nativeElement?.querySelector(\"input\").focus();\n }, 200);\n }\n\n private closeDropdown() {\n this.opened = false;\n }\n\n private filterOptions(value: string | null) {\n if (!this.localSearch) {\n this.filtered.emit({\n filter: !value ? undefined : value,\n });\n }\n\n if (this.lazy) {\n this.loadDataForIndex(0);\n } else {\n const loweredFilterValue = value?.toLocaleLowerCase();\n this.dropdownOptions = !loweredFilterValue ?\n this.convertToOptions()\n : this.convertToOptions()?.filter(x => x.label?.toLocaleLowerCase()?.indexOf(loweredFilterValue) !== -1);\n this.changeDetectorRef.detectChanges();\n }\n }\n\n private createFilterObject(filterValue: string | null): Partial<T> {\n return (this.optionLabel ? { [this.optionLabel]: filterValue } : filterValue) as unknown as Partial<T>\n }\n}\n","<div\n class=\"v-dropdown mb-3\"\n (keydown)=\"onKeyDown($event)\"\n>\n <gov-form-control [disabled]=\"this.ngControl?.disabled\">\n @if (label && !floatLabel) {\n <gov-form-label\n slot=\"top\"\n [ngClass]=\"labelClasses\"\n >\n <span [ngClass]=\"labelClasses\">\n {{ label | translate }}\n @if (tooltip) {\n <v-tooltip [message]=\"tooltip | translate\" />\n }\n </span>\n </gov-form-label>\n }\n <div\n class=\"gov-form-input\"\n [ngStyle]=\"forceMinWidth ? {'min-width': '16rem'} : {}\"\n [ngClass]=\"inputClasses\"\n >\n <div\n class=\"element d-flex gov-form-input-child\"\n [ngClass]=\"labelClasses\"\n (click)=\"toggleDropdown()\"\n >\n <div class=\"v-dropdown__value flex-grow-1 me-1\">{{ selectedItem?.label ?? placeholder }}</div>\n @if (clearable && ngControl?.enabled && selectedItem !== undefined && selectedItem !== null) {\n <gov-icon\n [name]=\"icons.cross\"\n size=\"m\"\n class=\"v-dropdown__clear me-1\"\n color=\"error\"\n (click)=\"clearSelection($event)\"\n />\n }\n @if (loading) {\n <div class=\"v-dropdown__loader\">\n <gov-icon [name]=\"icons.loader\" />\n </div>\n }\n <div class=\"v-dropdown__trigger\">\n <gov-icon [name]=\"opened ? icons.chevronUp : icons.chevronDown\" />\n </div>\n </div>\n </div>\n <div class=\"position-relative\">\n @if (opened) {\n <div class=\"v-dropdown__container\">\n @if (showFilter) {\n <div\n class=\"v-dropdown__filter\"\n #filterTextField\n (keydown)=\"onKeyDown($event)\"\n >\n <v-textfield\n placeholder=\"Search\"\n [formControl]=\"filterControl\"\n iconPos=\"right\"\n [icon]=\"icons.search\"\n />\n </div>\n }\n @if (!dropdownOptions?.length) {\n <div class=\"v-dropdown__no-item\">No option was found.</div>\n } @else {\n <ul\n role=\"listbox\"\n class=\"v-dropdown__list\"\n >\n <cdk-virtual-scroll-viewport\n [itemSize]=\"30\"\n class=\"v-dropdown__scroll\"\n (scrolledIndexChange)=\"onScroll($event)\"\n >\n <v-dropdown-item\n *cdkVirtualFor=\"let option of dropdownOptions;\"\n [item]=\"option\"\n (click)=\"selectItem(option, true)\"\n />\n </cdk-virtual-scroll-viewport>\n </ul>\n }\n </div>\n }\n </div>\n <v-validation-message [ngControl]=\"ngControl\" />\n </gov-form-control>\n</div>\n","import { Component, input, output } from \"@angular/core\";\r\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\r\nimport { DropdownButtonCore, DROPDOWN_BUTTON_COMPONENT_TOKEN, ButtonCore, ControlSeverityType, ControlSeverity, FieldSizeType, MenuItem, GovButtonTypeType, GovButtonType } from \"@verisoft/ui-core\";\r\nimport { ButtonComponent } from \"../button\";\r\n\r\n@Component({\r\n selector: 'v-dropdown-button',\r\n templateUrl: './dropdown-button.component.html',\r\n imports: [ GovDesignSystemModule, ButtonComponent],\r\n providers: [\r\n { provide: DROPDOWN_BUTTON_COMPONENT_TOKEN, useExisting: DropdownButtonComponent }\r\n ]\r\n})\r\n export class DropdownButtonComponent implements DropdownButtonCore {\r\n label = input<string | undefined>();\r\n icon = input<string | undefined>();\r\n rounded = input<boolean | undefined>(false);\r\n raised = input<boolean | undefined>(false);\r\n outlined = input<boolean | undefined>(false);\r\n severity = input<ControlSeverityType | undefined>(ControlSeverity.primary);\r\n size = input<FieldSizeType | undefined>();\r\n type = input<GovButtonTypeType>(GovButtonType.solid);\r\n items = input<MenuItem[] | undefined>(undefined);\r\n\r\n fireClick = output<MenuItem>();\r\n\r\n fireClickItem(item: MenuItem): void {\r\n if (item.command) {\r\n item.command();\r\n } else {\r\n this.fireClick.emit(item);\r\n }\r\n }\r\n }","<gov-dropdown position=\"left\">\r\n <v-button\r\n [label]=\"label()\"\r\n [icon]=\"icon()\"\r\n [rounded]=\"rounded() ?? false\"\r\n [outlined]=\"outlined() ?? false\"\r\n [raised]=\"raised() ?? false\"\r\n [severity]=\"severity()\"\r\n [type]=\"type()\"\r\n [size]=\"size()\"\r\n />\r\n \r\n @if (items()?.length) {\r\n <ul slot=\"list\">\r\n @for (item of items(); track item.id) {\r\n <li>\r\n <v-button\r\n class=\"w-100\"\r\n [label]=\"item.label\"\r\n [icon]=\"item.icon\"\r\n [severity]=\"$any('normal')\"\r\n [size]=\"'medium'\"\r\n [type]=\"type()\"\r\n (click)=\"fireClickItem(item)\"\r\n />\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </gov-dropdown>\r\n ","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n BaseFormInputComponent,\n FieldSize,\n FieldSizeType,\n FieldType,\n IconPositionType,\n IconPosition,\n FormFieldCore,\n FORM_FIELD_COMPONENT_TOKEN,\n FieldTypeType,\n SlotPosition,\n SlotPositionType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-form-field',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent\n],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FORM_FIELD_COMPONENT_TOKEN,\n useExisting: FormFieldComponent,\n },\n ]\n})\nexport class FormFieldComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, FormFieldCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() floatLabel!: boolean;\n @Input() type: FieldTypeType = FieldType.text;\n @Input() minlength = 0;\n @Input() maxlength = 524288;\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() message!: string;\n @Input() name! : string;\n @Input() role! : string;\n @Input() autocorrect: 'on' | 'off' = 'on';\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() display!: 'flex' | 'block';\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n icons = Icons;\n}\n","<gov-form-control>\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n }\n <gov-form-group>\n <ng-content />\n </gov-form-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>","import { AsyncPipe, CommonModule } from \"@angular/common\";\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n TemplateRef,\n} from \"@angular/core\";\nimport { Router, RouterModule } from \"@angular/router\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { HasPermissionDirective } from \"@verisoft/security-core\";\nimport {\n HEADER_COMPONENT_TOKEN,\n HeaderCore,\n MenuItem,\n SideMenuService,\n} from \"@verisoft/ui-core\";\nimport { Icons } from \"../../icons\";\n\n@Component({\n selector: \"v-header\",\n styleUrl: \"./header.component.scss\",\n templateUrl: './header.component.html',\n imports: [\n CommonModule,\n GovDesignSystemModule,\n AsyncPipe,\n RouterModule,\n HasPermissionDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: HEADER_COMPONENT_TOKEN,\n useExisting: HeaderComponent\n }\n ]\n})\nexport class HeaderComponent\n implements HeaderCore {\n\n @Input() title!: string;\n\n @Input() userName!: string;\n\n @Input() userAvatar!: string;\n\n @Input() logoUrl!: string;\n\n @Input() userRole!: any;\n\n @Input() menuRef!: HTMLDivElement;\n\n @Input() items: MenuItem[] = [];\n\n @Input() fixed: boolean = true;\n\n @ContentChild('action', { static: false })\n actionTemplate!: TemplateRef<{ $implicit: any }>;\n\n protected icons = Icons;\n protected menuVisible = false;\n private openedIndexes: number[] = [];\n\n protected readonly tabsService = inject(SideMenuService);\n private readonly router = inject(Router);\n\n toggleMenu() {\n this.menuVisible = !this.menuVisible;\n }\n\n protected canRedirect(url?: string, canRedirect?: boolean) {\n if (url && canRedirect) {\n this.router.navigateByUrl(url);\n }\n }\n\n protected showOrHide(index: number, children?: number): void {\n if (children === 0) {\n return;\n }\n\n if (!this.openedIndexes.includes(index)) {\n this.openedIndexes = [...[], index];\n } else if (this.openedIndexes.includes(index)) {\n this.openedIndexes = this.openedIndexes.filter(x => x !== index);\n }\n }\n\n protected canBeShown(index: number) {\n return this.openedIndexes.includes(index);\n }\n}\n","<header class=\"gov-header\">\n <div class=\"gov-header__divider\">\n <div class=\"gov-header__content\">\n <gov-flex\n justify-content=\"space-between\"\n align-items=\"center\"\n responsive=\"false\"\n >\n <a\n href=\"/\"\n class=\"gov-header__logo\"\n aria-label=\"Zpět na úvodní stránku\"\n >\n <gov-flex\n align-items=\"center\"\n gap=\"s\"\n responsive=\"false\"\n >\n @if (logoUrl) {\n <img\n class=\"gov-header__logo-img\"\n src=\"{{ logoUrl }}\"\n width=\"125px\"\n height=\"43px\"\n alt=\"GAČR Logo\"\n >\n }\n </gov-flex>\n </a>\n </gov-flex>\n <gov-flex\n class=\"gov-header__action\"\n justify-content=\"space-between\"\n align-items=\"center\"\n gap=\"s\"\n >\n <gov-button\n color=\"primary\"\n size=\"m\"\n type=\"base\"\n >{{ userName }}</gov-button>\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"\n this.actionTemplate;\n \"></ng-container>\n </gov-flex>\n </div>\n </div>\n <div class=\"gov-header__navigation\">\n <nav\n class=\"gov-navigation\"\n aria-label=\"Main navigation\"\n id=\"main-navigation\"\n >\n <ul>\n @for (tab of tabsService.menuItems$ | async; track tab; let index = $index) {\n <li\n *hasPermission=\"tab.data?.permissions ?? []\"\n class=\"gov-navigation--has-megamenu\"\n >\n <gov-button\n type=\"base\"\n color=\"primary\"\n size=\"l\"\n [attr.aria-label]=\"tab.label\"\n (gov-click)=\"\n showOrHide(index, tab.children?.length ?? 0);\n canRedirect(tab.url, !tab.children?.length)\n \"\n >\n {{ tab.label }}\n @if (tab.children?.length) {\n <gov-icon\n slot=\"icon-end\"\n size=\"s\"\n [name]=\"canBeShown(index) ? 'chevron-up' : 'chevron-down'\"\n ></gov-icon>\n }\n </gov-button>\n @if (canBeShown(index)) {\n <ul\n id=\"megamenu{{index}}\"\n class=\"gov-mega-menu gov-header__submenu\"\n [attr.aria-hidden]=\"canBeShown(index)\"\n >\n @for (child of tab.children; track child) {\n <li\n *hasPermission=\"child.data?.permissions ?? []\"\n class=\"gov-mega-menu__heading\"\n >\n <a\n [routerLink]=\"child.url\"\n (click)=\"showOrHide(index)\"\n >\n @if (child.icon) {\n <gov-icon\n [name]=\"child.icon\"\n size=\"m\"\n ></gov-icon>\n }\n <span>{{ child.label }}</span>\n </a>\n @if (child.children) { @for(miniChild of child.children; track miniChild) {\n <ul>\n <li *hasPermission=\"miniChild.data?.permissions ?? []\">\n <a\n [routerLink]=\"miniChild.url\"\n (click)=\"showOrHide(index)\"\n >{{ miniChild.label }}</a>\n </li>\n </ul>\n } }\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n</header>","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n BaseFormInputComponent,\n INPUT_GROUP_COMPONENT_TOKEN,\n InputGroupCore,\n InputGroupItem,\n FieldSizeType,\n FieldSize,\n IconPositionType,\n IconPosition,\n SlotPositionType,\n SlotPosition,\n FieldTypeType,\n FieldType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-input-group',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent\n],\n templateUrl: './input-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: INPUT_GROUP_COMPONENT_TOKEN,\n useExisting: InputGroupComponent,\n },\n ]\n})\nexport class InputGroupComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, InputGroupCore\n{\n @Input() floatLabel!: boolean;\n @Input() type: FieldTypeType = FieldType.text;\n @Input() minlength = 0;\n @Input() items!: InputGroupItem[];\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() maxlength = 524288;\n @Input() name! : string;\n @Input() role! : string;\n @Input() message! : string;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n icons = Icons;\n \n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control>\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n }\n @if(prefix) {\n <gov-icon\n [name]=\"name\"\n />\n }\n <gov-form-input \n input-type=\"input-type\"\n [formControl]=\"formControl\"\n [minlength]=\"minlength\" \n [maxlength]=\"maxlength\" \n [size]='size | govSize' \n [name]='name' \n [role]='role'\n [required]=\"required\"\n [readonly]=\"readonly\"\n [invalid]=\"ngControl?.errors ? true : false\"\n />\n @if(sufix) {\n <gov-icon\n [name]=\"name\"\n />\n }\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message }}\n </gov-form-message>\n }\n</gov-form-control>\n","\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { \n LOADER_COMPONENT_TOKEN, \n LoaderCore,\n FieldSize,\n FieldSizeType,\n} from '@verisoft/ui-core';\nimport { GovSizePipe } from '../../pipes';\n\n@Component({\n selector: 'v-loader',\n imports: [\n GovDesignSystemModule,\n GovSizePipe\n],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: LOADER_COMPONENT_TOKEN,\n useExisting: LoaderComponent,\n }\n ]\n})\nexport class LoaderComponent \n implements LoaderCore \n{\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() message!: string;\n}","<div style=\"min-height: 300px;\">\n <gov-loading\n [size]=\"size | govSize\"\n >\n {{ message }}\n </gov-loading>\n</div>","\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Optional,\n Output,\n Self,\n SimpleChanges,\n inject,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n FilterEvent,\n LazyLoadEvent,\n} from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n MULTISELECT_COMPONENT_TOKEN,\n MultiselectCore,\n FieldSize,\n FieldSizeType,\n SlotPosition,\n SlotPositionType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovMultiselectOptionsPipe, GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-multiselect',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n GovMultiselectOptionsPipe,\n ErrorComponent\n],\n templateUrl: './multiselect.component.html',\n styleUrl: './multiselect.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MULTISELECT_COMPONENT_TOKEN,\n useExisting: MultiselectComponent,\n },\n ]\n})\nexport class MultiselectComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, OnChanges, MultiselectCore<T>\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() options: T[] | undefined = [];\n @Input() optionLabel!: string | undefined;\n @Input() optionValue!: string | undefined;\n @Input() dropdownIcon: string | undefined;\n @Input() floatLabel: string | undefined;\n @Input() editable = true;\n @Input() display!: 'flex' | 'block';\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom;\n @Input() lazy!: boolean;\n @Input() filter!: boolean;\n @Input() loading = false;\n @Input() size: FieldSizeType = FieldSize.medium;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n icons = Icons;\n\n lazyLoadOptions: LazyLoadEvent = {\n limit: 50,\n offset: 0,\n };\n\n cdRef = inject(ChangeDetectorRef);\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['options'] && !changes['options'].firstChange) {\n this.cdRef.detectChanges();\n }\n }\n\n onLazyLoad(event: any): void {\n if (this.options && this.options.length - event.last <= 0) {\n this.lazyLoadOptions.offset = event.last;\n this.lazyLoad.emit(this.lazyLoadOptions);\n }\n }\n\n selectionChange(event: any): void {\n this.cleared.emit(event);\n }\n\n onDropdownShow(): void {\n this.showed.emit();\n }\n\n onDropdownClear(): void {\n this.cleared.emit();\n }\n}\n","<gov-form-control>\n <gov-form-label \n [slot]=\"label\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n <gov-form-multi-select\n [size]=\"size | govSize\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [invalid]=\"ngControl && ngControl.errors\"\n [options]=\"options | govMultiselectOptions : optionLabel : optionValue\"\n [placeholder]=\"placeholder ?? ''\"\n (gov-focus)=\"onDropdownShow()\"\n (gov-remove)=\"onDropdownClear()\"\n (gov-change)=\"selectionChange($event)\"\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n NumberInputCore,\n NUMBER_INPUT_COMPONENT_TOKEN,\n FieldType,\n BaseFormInputComponent,\n FieldSizeType,\n FieldSize,\n IconPositionType,\n IconPosition,\n SlotPositionType,\n SlotPosition,\n FieldTypeType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n@Component({\n selector: 'v-number-input',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent\n],\n templateUrl: './number-input.component.html',\n styleUrl: './number-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NUMBER_INPUT_COMPONENT_TOKEN,\n useExisting: NumberInputComponent,\n },\n ]\n})\n\nexport class NumberInputComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, NumberInputCore\n{ \n @Input() mode!: string;\n @Input() currency!: string;\n @Input() min!: number;\n @Input() max!: number;\n @Input() step = 1;\n @Input() floatLabel!: boolean;\n @Input() type: FieldTypeType = FieldType.number;\n @Input() minlength = 0;\n @Input() maxlength = 524288;\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() message!: string;\n @Input() name! : string;\n @Input() role! : string;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control>\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n }\n <gov-form-group>\n <gov-form-input \n [attr.input-type]=\"type\"\n [formControl]=\"formControl\"\n [minlength]=\"minlength\" \n [maxlength]=\"maxlength\" \n [size]='size | govSize' \n [name]='name' \n [role]='role'\n [required]=\"required\"\n [readonly]=\"readonly\"\n [invalid]=\"ngControl?.errors ? true : false\"\n >\n @if (icon) {\n <gov-icon\n [name]=\"icon\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (prefix) {\n <p slot=\"prefix\">\n {{ prefix }}\n </p>\n } @if (sufix) {\n <p slot=\"sufix\">\n {{ sufix }}\n </p>\n }\n </gov-form-input>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message }}\n </gov-form-message>\n }\n </gov-form-group>\n</gov-form-control>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n} from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PageHeaderCore } from '@verisoft/ui-core';\n\n@Component({\n selector: 'v-page-header',\n imports: [\n GovDesignSystemModule,\n TranslateModule\n],\n templateUrl: './page-header.component.html',\n styleUrl: './page-header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageHeaderComponent implements PageHeaderCore {\n @Input() title = '';\n\n @Input() subtitle: string | undefined;\n\n @Input() showBackButton: boolean | undefined;\n}\n","<div class=\"d-flex gap-3 align-items-center\">\n <h2>{{ title | translate }}</h2>\n</div>","\nimport { ChangeDetectionStrategy, Component, Input, Optional, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { \n BaseFormInputComponent,\n FieldType,\n PASSWORD_COMPONENT_TOKEN,\n PasswordCore,\n SlotPosition,\n SlotPositionType,\n IconPosition,\n IconPositionType,\n FieldSize,\n FieldSizeType,\n PasswordStrength,\n} from '@verisoft/ui-core';\nimport zxcvbn from 'zxcvbn';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-password',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent\n],\n templateUrl: './password.component.html',\n styleUrl: './password.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: PASSWORD_COMPONENT_TOKEN,\n useExisting: PasswordComponent\n }\n ]\n})\n\nexport class PasswordComponent \n extends BaseFormInputComponent\n implements ControlValueAccessor, PasswordCore \n{\n @Input() toggleMask = true;\n @Input() feedback = false;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() requiredStrength: PasswordStrength = PasswordStrength.None;\n @Input() message!: string;\n @Input() name! : string;\n @Input() role! : string;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n icons = Icons;\n passwordStrength: PasswordStrength = PasswordStrength.None;\n type = FieldType.password;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n valueChange(value: string) {\n if (!value) {\n this.passwordStrength = 0;\n return;\n }\n\n const result = zxcvbn(value);\n this.passwordStrength = result.score;\n\n if (!this.formControl) {\n return;\n }\n\n if (result.score < this.requiredStrength) {\n this.formControl.setErrors({passwordLowStrength: true}, {emitEvent: false})\n }\n }\n}\n","<gov-form-control class=\"mb-3\">\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n }\n <gov-form-group>\n @if (feedback) {\n <gov-form-password-power [power]=\"passwordStrength - 1\" />\n }\n <gov-form-input\n [formControl]=\"formControl\"\n [attr.input-type]=\"type\"\n [placeholder]=\"placeholder\"\n [invalid]=\"ngControl?.errors\"\n (ngModelChange)=\"valueChange($event)\"\n />\n </gov-form-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message }}\n </gov-form-message>\n }\n</gov-form-control>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n BaseFormInputComponent,\n FieldSize,\n FieldSizeType,\n RADIOBUTTON_COMPONENT_TOKEN,\n RadiobuttonCore,\n RadioButtonItem,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: \"v-radiobutton\",\n styleUrl: \"./radiobutton.component.scss\",\n templateUrl: './radiobutton.component.html',\n imports: [\n GovDesignSystemModule,\n RouterModule,\n ReactiveFormsModule,\n GovSizePipe,\n ErrorComponent\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: RADIOBUTTON_COMPONENT_TOKEN,\n useExisting: RadioButtonComponent,\n },\n ]\n})\n\nexport class RadioButtonComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, RadiobuttonCore<T>\n{\n @Input() radioGroupName = Math.random().toString();\n @Input() items: RadioButtonItem<T>[] = [];\n @Input() size: FieldSizeType = FieldSize.medium;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control>\n <gov-form-radio-group [formControl]=\"formControl\">\n @if (items) { @for(item of items; track item) {\n <gov-form-radio\n [size]=\"size | govSize\"\n [value]=\"item.value\"\n [required]=\"required\"\n [identifier]=\"item.id\"\n [name]=\"radioGroupName\"\n [invalid]=\"ngControl?.errors\"\n [disabled]=\"formControl.disabled\"\n >\n <gov-form-label\n [size]=\"size | govSize\"\n slot=\"label\"\n >\n {{ label }}\n </gov-form-label>\n </gov-form-radio>\n } }\n </gov-form-radio-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { FieldSizeType, FieldSize } from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\n\n@Component({\n selector: 'v-search',\n imports: [\n GovDesignSystemModule,\n GovSizePipe,\n ReactiveFormsModule\n],\n templateUrl: './search.component.html',\n styleUrl: './search.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SearchComponent {\n\n @Input() placeholder!: string;\n\n @Input() size: FieldSizeType = FieldSize.medium;\n\n @Output() searchTerm = new EventEmitter<string>();\n\n value!: string;\n\n icons = Icons\n\n setValue(event: any) {\n this.value = event.detail.value;\n }\n\n search() {\n this.searchTerm.emit(this.value);\n }\n}\n","<gov-form-control>\n <gov-form-group>\n <gov-form-search color=\"neutral\">\n <gov-form-input \n [placeholder]=\"placeholder\"\n [size]=\"size | govSize\"\n slot=\"input\"\n (gov-input)=\"setValue($event)\"\n />\n <gov-button\n [size]=\"size | govSize\"\n color=\"primary\"\n type=\"solid\"\n slot=\"button\"\n (gov-click)=\"search()\"\n >\n <gov-icon\n [name]=\"icons.search\"\n />\n </gov-button>\n </gov-form-search>\n </gov-form-group>\n</gov-form-control>","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n NO_ERRORS_SCHEMA,\n} from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n FieldSizeType,\n FieldSize,\n SECTION_COMPONENT_TOKEN,\n SectionCore,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\n\n@Component({\n selector: 'v-section',\n imports: [\n GovDesignSystemModule,\n GovSizePipe,\n TranslateModule\n],\n templateUrl: './section.component.html',\n styleUrl: './section.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: SECTION_COMPONENT_TOKEN,\n useExisting: SectionComponent,\n },\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class SectionComponent\n implements SectionCore\n{\n @Input() title!: string;\n @Input() badge!: string;\n @Input() showContent = false;\n @Input() backgroundColor!: string;\n @Input() annotation!: string;\n @Input() identifier!: string;\n @Input() icon!: string;\n @Input() iconType!: string;\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() badgeSlot: 'prefix' | 'sufix' = 'sufix';\n @Input() open = false;\n\n icons = Icons;\n}\n","<gov-accordion>\n <gov-accordion-item \n [size]=\"size | govSize\"\n [identifier]=\"identifier\"\n [open]=\"open\"\n >\n @if (icon) {\n <gov-icon\n [name]=\"icons.chevronDown\"\n />\n } @if (title) {\n <h2 slot=\"label\">{{ title | translate }}</h2>\n } @if (badge) {\n <gov-badge \n inverse=\"true\"\n size=\"s\"\n [slot]=\"badgeSlot\"\n >\n {{ badge }}\n </gov-badge>\n } @if (annotation) {\n <p slot=\"annotation\">{{ annotation | translate }}</p>\n }\n <ng-content></ng-content>\n </gov-accordion-item>\n</gov-accordion>","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n ActionButton,\n ActionButtonGroupCore,\n ControlSeverityType,\n FieldSizeType,\n} from '@verisoft/ui-core';\nimport { Observable, Subject } from 'rxjs';\nimport { Icons } from '../../../../../icons';\nimport { ButtonComponent } from '../../../../button';\n\n@Component({\n selector: 'v-action-button',\n imports: [ButtonComponent],\n templateUrl: './action-button.component.html',\n styleUrl: './action-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActionButtonComponent implements ActionButton, OnChanges {\n @Input() disabled = false;\n @Input() toolTip?: string;\n @Input() id?: string;\n @Input() icon?: string;\n @Input() outlined = false;\n @Input() raised = false;\n @Input() severity?: ControlSeverityType;\n @Input() label?: string;\n @Input() size?: FieldSizeType;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter<MouseEvent>();\n\n icons = Icons\n\n private propertyChangeSubject = new Subject();\n\n propertyChanged: Observable<unknown> =\n this.propertyChangeSubject.asObservable();\n\n buttonGroup: ActionButtonGroupCore | null = inject<ActionButtonGroupCore>(\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n {\n optional: true,\n }\n );\n\n ngOnChanges(changes: SimpleChanges): void {\n const isValueChange = Object.keys(changes).some(\n (x) => !changes[x].firstChange\n );\n if (isValueChange) {\n this.propertyChangeSubject.next(null);\n }\n }\n\n handleClick(event: MouseEvent) {\n event.stopPropagation();\n this.click.emit(event);\n }\n}\n","<v-button\n [label]=\"label\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [outlined]=\"outlined\"\n tooltipPosition=\"bottom\"\n [size]=\"size\"\n [severity]=\"severity\"\n (click)=\"handleClick($event)\"\n/>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n ActionButton,\n ActionButtonGroupCore,\n IconPositionType,\n MenuItem,\n queryListChanged,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport {\n combineLatestWith,\n takeUntil,\n} from 'rxjs';\nimport { Icons } from '../../../icons';\nimport { DropdownButtonComponent } from '../../dropdown-button';\nimport { ActionButtonComponent } from './components/action-button/action-button.component';\n\n@Component({\n selector: 'v-action-button-group',\n imports: [ActionButtonComponent, DropdownButtonComponent],\n templateUrl: './action-button-group.component.html',\n styleUrl: './action-button-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n useExisting: ActionButtonGroupComponent,\n },\n ]\n})\nexport class ActionButtonGroupComponent\n extends UnsubscribeComponent\n implements AfterContentInit, ActionButtonGroupCore {\n @ContentChildren(ActionButtonComponent)\n actions!: QueryList<ActionButtonComponent>;\n\n @Input() maxItems = 3;\n\n @Input() maxItemsMobile = 0;\n\n @Input() items: ActionButton[] = [];\n\n @Input() menuIconPos: IconPositionType = 'right';\n\n @Input() menuIcon = Icons.action;\n\n @Input() label?: string;\n\n @Input() icon?: string;\n\n icons = Icons;\n allItems: ActionButton[] = [];\n visibleActions: ActionButton[] = [];\n menuItems: MenuItem[] = [];\n\n constructor(\n private readonly changeDetectorRef: ChangeDetectorRef,\n readonly screenSizeService: ScreenSizeService\n ) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.subscribeItemChange();\n }\n\n fireClick(item: ActionButton, event: MouseEvent) {\n event.stopPropagation();\n item.click.emit();\n }\n\n private subscribeItemChange(): void {\n const screenResize$ = this.screenSizeService.isMobileBlock;\n\n const actions$ = queryListChanged(this.actions);\n\n screenResize$\n .pipe(takeUntil(this.destroyed$), combineLatestWith(actions$))\n .subscribe(([isMobile, actions]) => {\n this.computeItems(actions, isMobile);\n });\n }\n\n private computeItems(actions: ActionButton[], isMobile: boolean) {\n const allItems = [...(this.items ?? []), ...actions];\n const maxItems = isMobile ? this.maxItemsMobile : this.maxItems;\n this.visibleActions = allItems.slice(0, maxItems);\n this.menuItems = allItems.slice(maxItems).map(this.convertToMenuItem);\n this.changeDetectorRef.detectChanges();\n }\n\n private convertToMenuItem(item: ActionButton): MenuItem {\n return {\n label: item.label,\n icon: item.icon,\n command: () => {\n item.click.emit();\n },\n };\n }\n}\n","<div\n class=\"v-action-button-group align-items-center justify-content-center justify-content-md-end\"\n>\n <div class=\"v-action-button-group__actions d-flex gap-2\">\n @for (action of visibleActions; track action) {\n <v-action-button\n [disabled]=\"action.disabled\"\n [icon]=\"action.icon\"\n [id]=\"action.id\"\n [outlined]=\"action.outlined\"\n [raised]=\"action.raised\"\n [toolTip]=\"action.toolTip || action.label\"\n [severity]=\"action.severity\"\n [size]=\"action.size\"\n (click)=\"fireClick(action, $event)\"\n ></v-action-button>\n } @if (actions.length > visibleActions.length) {\n <v-dropdown-button\n [label]=\"label\"\n [icon]=\"menuIcon\"\n [items]=\"menuItems\"\n />\n }\n </div>\n</div>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n DatasourceType,\n FilterEvent,\n LazyLoadEvent,\n} from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n DatasourceDirective,\n FieldSize,\n FieldSizeType,\n GENERIC_FIELD_COMPONENT_TOKEN,\n GenericFieldCore,\n GenericFieldType,\n GenericFieldTypeType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../../icons';\nimport { CalendarComponent } from '../../calendar';\nimport { CheckboxComponent } from '../../checkbox';\nimport { DropdownComponent } from '../../dropdown';\nimport { MultiselectComponent } from '../../multiselect';\nimport { TextfieldComponent } from '../../textfield';\n\n@Component({\n selector: 'v-generic-field',\n imports: [\n DropdownComponent,\n CalendarComponent,\n MultiselectComponent,\n TextfieldComponent,\n ReactiveFormsModule,\n CheckboxComponent,\n DatasourceDirective\n],\n providers: [\n {\n provide: GENERIC_FIELD_COMPONENT_TOKEN,\n useExisting: GenericFieldComponent,\n },\n ],\n templateUrl: './generic-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GenericFieldComponent<T>\n extends BaseFormInputComponent\n implements GenericFieldCore<T>\n{\n @Input() type?: GenericFieldTypeType = GenericFieldType.text;\n\n @Input() floatLabel?: boolean;\n\n @Input() optionLabel: string | undefined;\n\n @Input() optionValue: string | undefined;\n\n @Input() options: T[] | undefined;\n\n @Input() size?: FieldSizeType = FieldSize.medium;\n\n @Input() loading = false;\n\n @Input() lazy = false;\n\n @Input() filter = true;\n\n @Input() datasource?: DatasourceType<T>\n\n @Input() filterField?: string;\n\n @Input() showFilter?: boolean;\n\n @Input() localSearch?: boolean;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n fieldTypes = GenericFieldType;\n icons = Icons;\n}\n","@if (!type || type === fieldTypes.text) {\n<v-textfield\n [label]=\"label\"\n [floatLabel]=\"floatLabel === true\"\n [size]=\"size\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.dropdown && !datasource) {\n<v-dropdown\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [forceMinWidth]=\"true\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/> \n} @else if (type === fieldTypes.dropdown && datasource) {\n <v-dropdown\n useDatasource\n [forceMinWidth]=\"true\"\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [filterField]=\"filterField ?? 'fulltext'\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n />\n} @else if (type === fieldTypes.multiselect && !datasource) {\n<v-multiselect\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.multiselect && datasource) {\n<v-multiselect\n useDatasource\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.checkbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [indeterminate]=\"true\"\n/>\n} @else if (type === fieldTypes.simplecheckbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.calendar) {\n<v-calendar\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [icon]=\"icons.calendar\"\n/>\n}\n","import {\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n} from '@angular/forms';\r\nimport { GenericFieldDefinition } from '@verisoft/ui-core';\r\n\r\nexport function generateFormGroup(\r\n fields: GenericFieldDefinition[] | undefined,\r\n lastGroupValue: UntypedFormGroup | undefined,\r\n inputGroup: UntypedFormGroup | undefined,\r\n inputGroupChanged = false\r\n): UntypedFormGroup {\r\n const formGroup =\r\n (inputGroupChanged\r\n ? inputGroup ?? lastGroupValue\r\n : lastGroupValue ?? inputGroup) ?? new UntypedFormGroup({});\r\n\r\n fields?.forEach((field) => {\r\n const control = formGroup.get(field.name);\r\n if (!control) {\r\n formGroup.addControl(\r\n field.name,\r\n new UntypedFormControl(field.value, field.validator)\r\n );\r\n } else if (control && control.value !== field.value) {\r\n if ('value' in field) {\r\n control.setValue(field.value);\r\n }\r\n control.setValidators(field.validator ?? null);\r\n } else {\r\n control.setValidators(field.validator ?? null);\r\n }\r\n\r\n if (field.readonly && (control || formGroup.get(field.name))) {\r\n formGroup.get(field.name)?.disable();\r\n }\r\n });\r\n if (!inputGroupChanged) {\r\n for (const field in formGroup.controls) {\r\n const control = fields?.find((x) => x.name == field);\r\n if (!control) {\r\n formGroup.removeControl(field);\r\n }\r\n }\r\n }\r\n\r\n return formGroup;\r\n}\r\n\r\nexport function getColumnClass(value?: number): string | undefined {\r\n if (!value) {\r\n return undefined;\r\n }\r\n\r\n switch (value) {\r\n case 1:\r\n return 'col-12';\r\n case 2:\r\n return 'col-12 col-md-6';\r\n case 3:\r\n return 'col-12 col-md-4';\r\n case 4:\r\n return 'col-12 col-md-3';\r\n case 6:\r\n return 'col-12 col-md-2';\r\n }\r\n\r\n return 'col-12 col-md-1';\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GenericFieldDefinition } from '@verisoft/ui-core';\nimport { GenericFieldComponent } from '../generic-field';\nimport {\n generateFormGroup,\n getColumnClass,\n} from './generic-form.model';\n\n@Component({\n selector: 'v-generic-form',\n imports: [\n CommonModule,\n GenericFieldComponent,\n ReactiveFormsModule,\n TranslateModule,\n ],\n templateUrl: './generic-form.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GenericFormComponent implements OnChanges {\n @Input() formGroup?: UntypedFormGroup;\n\n @Input() fields?: GenericFieldDefinition[];\n\n @Input() columns?: number;\n\n @Input() showAsRow!: boolean;\n\n formGroupComputed!: UntypedFormGroup;\n\n columnClass?: string;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['fields'] || changes['formGroup']) {\n this.formGroupComputed = generateFormGroup(\n this.fields,\n this.formGroupComputed,\n this.formGroup,\n !!changes['formGroup']\n );\n }\n\n if (changes['columns']) {\n this.columnClass = getColumnClass(this.columns);\n }\n }\n}\n","@if (formGroupComputed) {\r\n <div\r\n class=\"v-generic-form\"\r\n [ngClass]=\"showAsRow ? 'd-flex flex-row' : 'row'\"\r\n [formGroup]=\"formGroupComputed\"\r\n >\r\n @for(field of fields; track field) { @if (columnClass) {\r\n <div class=\"v-generic-form__column {{ columnClass }}\">\r\n <v-generic-field\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n </div>\r\n } @else {\r\n <v-generic-field\r\n class=\"me-4\"\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n } }\r\n </div>\r\n }\r\n","\nimport { Component, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n MenuItem,\n SIDE_MENU_COMPONENT_TOKEN,\n SideMenuCore,\n SideMenuService,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\n\n@Component({\n selector: 'v-side-menu',\n imports: [RouterModule, GovDesignSystemModule],\n templateUrl: './side-menu.component.html',\n styleUrl: './side-menu.component.scss',\n providers: [\n {\n provide: SIDE_MENU_COMPONENT_TOKEN,\n useExisting: SideMenuComponent,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SideMenuComponent implements SideMenuCore {\n menuService = inject(SideMenuService);\n\n @Input() items: MenuItem[] = [];\n\n @Input() logoUrl = '';\n\n @Input() userName!: string;\n\n @Input() userRole!: any | any[] | undefined;\n\n @Output() minimalized = new EventEmitter<boolean>();\n\n @Output() itemSelected = new EventEmitter<MenuItem>();\n\n icons = Icons;\n}\n","<div class=\"v-side-menu\">\n <div class=\"gov-category-list__col gov-category-list__categories\">\n <div class=\"gov-category-list__col-inner\">\n <ul class=\"main-nav gov-list--plain gov-category-list__nav\">\n @for (item of items; track item) {\n @for (child of item.children; track child) {\n <li class=\"gov-category-list__nav\">\n <a class=\"gov-category-list__nav-link p-2 d-flex align-items-center\" [routerLink]=\"child.url\"\n routerLinkActive=\"is-active\" title=\"{{child.label}}\">\n <p class=\"gov-text--body-s\">{{child.label}}\n @if (child.children) {\n <gov-icon [name]=\"icons.chevronDown\" />\n }\n </p>\n </a>\n </li>\n }\n }\n </ul>\n </div>\n </div>\n</div>","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport {\n MENU_TOKEN,\n MenuItem,\n SIDE_MENU_COMPONENT_TOKEN,\n SideMenuModuleConfig,\n SideMenuProviderService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { SideMenuComponent } from './side-menu.component';\n\n@NgModule({\n providers: [\n SideMenuProviderService,\n {\n provide: SIDE_MENU_COMPONENT_TOKEN,\n useExisting: SideMenuComponent,\n }\n ],\n})\nexport class SideMenuModule extends UnsubscribeComponent {\n constructor(private readonly service: SideMenuProviderService) {\n super();\n }\n\n static forRoot(\n config?: SideMenuModuleConfig\n ): ModuleWithProviders<SideMenuModule> {\n const moduleWithProvider: ModuleWithProviders<SideMenuModule> = {\n ngModule: SideMenuModule,\n };\n\n if (config?.items) {\n moduleWithProvider.providers = [\n {\n provide: MENU_TOKEN,\n useValue: config.items,\n },\n ];\n }\n\n return moduleWithProvider;\n }\n\n static forChild(menu: MenuItem[]): ModuleWithProviders<SideMenuModule> {\n return {\n ngModule: SideMenuModule,\n providers: [\n {\n provide: MENU_TOKEN,\n useValue: menu,\n },\n ],\n };\n }\n}\n","\nimport { Component, Inject, Input, Optional } from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { SNACKBAR_COMPONENT_TOKEN, SnackbarCore } from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { SnackbarConfig } from './snackbar.model';\n\n@Component({\n selector: 'v-snackbar',\n imports: [GovDesignSystemModule],\n templateUrl: './snackbar.component.html',\n styleUrl: './snackbar.component.scss',\n providers: [\n {\n provide: SNACKBAR_COMPONENT_TOKEN,\n useExisting: SnackbarComponent,\n },\n ]\n})\nexport class SnackbarComponent \n implements SnackbarCore\n{\n @Input({required: true}) message!: string;\n\n @Input() icon!: string;\n\n @Input() closeLabel!: string;\n\n @Input() color: \"error\" | \"neutral\" | \"primary\" | \"success\" | \"warning\" = \"primary\";\n\n @Input() gravity: \"bottom\" | \"top\" = \"top\";\n\n @Input() position: \"center\" | \"left\" | \"right\" = \"right\";\n\n @Input() time = 4000;\n\n @Input() type: \"bold\" | \"subtle\" = \"subtle\";\n\n icons = Icons;\n\n constructor(\n @Optional() @Inject('TOAST_CONFIG') public config: SnackbarConfig,\n ) { }\n}\n","<gov-toast\n [closeLabel]=\"config.closeLabel ?? closeLabel\"\n [color]=\"config.color || color\"\n [gravity]=\"config.gravity || gravity\"\n [position]=\"config.position || position\"\n [time]=\"config.time ?? time\"\n [type]=\"config.type || type\"\n>\n @if (config.icon || icon) {\n <gov-icon\n [name]=\"config.icon || icon\"\n />\n } {{ config.message || message }}\n</gov-toast>\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport * as portal from '@angular/cdk/portal';\nimport { Injectable, Injector } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SnackbarComponent } from '../snackbar.component';\nimport { SnackbarConfig } from '../snackbar.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackbarService {\n constructor(\n private overlay: Overlay,\n private translate: TranslateService,\n private injector: Injector\n ) {}\n\n showSuccess(message: string, icon?: string) {\n this.showToast({\n message: this.translate.instant(message),\n icon: icon,\n color: 'success',\n });\n }\n\n showInfo(message: string, icon?: string) {\n this.showToast({\n message: this.translate.instant(message),\n icon: icon,\n color: 'primary',\n });\n }\n\n showWarn(message: string, icon?: string) {\n this.showToast({\n message: this.translate.instant(message),\n icon: icon,\n color: 'warning',\n });\n }\n\n showError(message: string, icon?: string) {\n this.showToast({\n message: this.translate.instant(message),\n icon: icon,\n color: 'error',\n });\n }\n\n private showToast(config: SnackbarConfig) {\n const positionStrategy = this.overlay\n .position()\n .global();\n\n const overlayRef: OverlayRef = this.overlay.create({\n positionStrategy,\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n });\n\n const toastPortal = new portal.ComponentPortal(SnackbarComponent, null, this.createInjector(config));\n overlayRef.attach(toastPortal);\n }\n\n private createInjector(config: any) {\n return Injector.create({\n providers: [\n { provide: 'TOAST_CONFIG', useValue: config },\n ],\n parent: this.injector,\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n StepperCore,\n STEPPER_COMPONENT_TOKEN,\n StepperItem,\n FieldSizeType,\n FieldSize,\n LayoutType,\n LayoutTypeType,\n} from '@verisoft/ui-core';\nimport { GovSizePipe } from '../../pipes';\nimport { ButtonComponent } from '../button';\n@Component({\n selector: 'v-stepper',\n imports: [\n CommonModule,\n ButtonComponent,\n GovDesignSystemModule,\n GovSizePipe,\n ],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: STEPPER_COMPONENT_TOKEN, useExisting: StepperComponent },\n ]\n})\nexport class StepperComponent\n implements StepperCore, OnInit\n{\n @Input() items: StepperItem[] = [];\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() prefix!: string;\n @Input() annotation!: string;\n @Input() label!: string;\n @Input() layout: LayoutTypeType = LayoutType.horizontal;\n @Output() activeIndexChange = new EventEmitter<number>();\n\n steps = 0;\n currentStep = 0;\n\n ngOnInit(): void {\n this.steps = this.items.length;\n }\n\n previousStep(): void {\n if (this.currentStep > 0) {\n this.currentStep--;\n }\n }\n\n nextStep(): void {\n if (this.currentStep < this.items.length - 1) {\n this.currentStep++;\n }\n }\n}\n","<gov-stepper \n [ngClass]=\"layout === 'vertical' ? 'd-block' : 'd-flex justify-content-between'\"\n [size]=\"size | govSize\"\n>\n @for (item of items; track item; let index = $index) {\n <gov-stepper-item\n [ngClass]=\"{ 'active-step': index === currentStep }\"\n >\n <span \n slot=\"prefix\"\n [ngStyle]=\"{ 'background-color': index === currentStep ? 'var(--color-primary-300)' : 'var(--color-primary-600)' }\"\n >\n {{ item.prefix }}\n </span>\n <p slot=\"headline\">{{ item.header }}</p>\n <p slot=\"annotation\">{{ item.annotation }}</p>\n </gov-stepper-item>\n }\n</gov-stepper>\n<div class=\"d-flex pt-4 justify-content-between\">\n @if (currentStep > 0) {\n <v-button\n [label]=\"'Back'\"\n [size]=\"size\"\n (click)=\"previousStep()\"\n />\n }\n @if (currentStep < steps - 1) {\n <v-button\n [label]=\"'Next'\"\n [size]=\"size\"\n (click)=\"nextStep()\"\n />\n }\n</div>","\nimport { ChangeDetectionStrategy, Component, Input, Optional, Self } from \"@angular/core\";\nimport { ReactiveFormsModule, NgControl } from \"@angular/forms\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { SWITCH_COMPONENT_TOKEN, SwitchCore, BaseFormInputComponent, FieldSizeType, FieldSize } from \"@verisoft/ui-core\";\nimport { Icons } from \"../../icons\";\nimport { GovSizePipe } from \"../../pipes\";\nimport { ErrorComponent } from \"../errors\";\n\n@Component({\n selector: \"v-switch\",\n styleUrl: \"./switch.component.scss\",\n templateUrl: './switch.component.html',\n imports: [\n GovDesignSystemModule,\n ReactiveFormsModule,\n GovSizePipe,\n ErrorComponent\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: SWITCH_COMPONENT_TOKEN,\n useExisting: SwitchComponent,\n }]\n})\nexport class SwitchComponent\n extends BaseFormInputComponent\n implements SwitchCore\n{\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() noLabel = false;\n @Input() name!: string;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}","<gov-form-control>\n <gov-form-switch\n [formControl]=\"formControl\"\n [size]=\"size | govSize\"\n [required]=\"required\"\n [name]=\"name\"\n [invalid]=\"ngControl?.errors\"\n >\n @if (label && !noLabel) {\n <gov-form-label [size]=\"size\" slot=\"label\">\n {{ label }}\n </gov-form-label>\n }\n </gov-form-switch>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>\n","import { Component, Input, ViewChild, TemplateRef } from '@angular/core';\nimport { TabViewItemCore } from '@verisoft/ui-core';\n\n@Component({\n \n selector: 'v-tab-view-item',\n template: `<ng-template #contentTemplate>\n <ng-content></ng-content>\n </ng-template>`\n })\nexport class TabViewItemComponent \nimplements TabViewItemCore {\n\n @Input() id?: string;\n @Input() index?: number;\n @Input() disabled = false;\n @Input() title!: string;\n @Input() content?: string;\n @Input() url?: string;\n\n @ViewChild('contentTemplate', { static: true })\n contentTemplate!: TemplateRef<any>;\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n QueryList,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterLink, RouterLinkActive, RouterOutlet } from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { TabViewItemCore } from '@verisoft/ui-core';\nimport { TabViewItemComponent } from './tab-view-item.component';\n\n@Component({\n selector: 'v-tab-view',\n imports: [NgTemplateOutlet, RouterOutlet, RouterLink, RouterLinkActive, TranslatePipe],\n templateUrl: './tab-view.component.html',\n styleUrls: ['./tab-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TabViewComponent implements AfterContentInit {\n\n @ContentChildren(TabViewItemComponent) tabs!: QueryList<TabViewItemComponent>;\n\n @Input() highlight = false;\n @Input() useRouting = false;\n @Input() items: TabViewItemCore[] = [];\n @Input() activeIndex = 0;\n\n @Output() activeIndexChange = new EventEmitter<number>();\n\n private readonly cd = inject(ChangeDetectorRef);\n\n ngAfterContentInit(): void {\n this.initTabs();\n }\n\n initTabs(): void {\n this.items = [...this.tabs.toArray(), ...this.items];\n this.cd.detectChanges();\n }\n\n changeTabIndex(index: number) {\n if (this.activeIndex !== index) {\n this.activeIndex = index;\n this.activeIndexChange.emit(this.activeIndex);\n }\n\n this.activeIndexChange.emit(index);\n this.cd.detectChanges();\n }\n\n setTabActive(options: TabViewItemComponent[]): void {\n options.forEach((_, index) => {\n index === this.activeIndex;\n });\n this.cd.detectChanges();\n }\n}","<div class=\"gov-tabs\">\n <div class=\"gov-tabs__tabs\" role=\"tablist\">\n @for (item of items; track item; let index = $index) {\n @if (useRouting) {\n <button\n [attr.index]=\"index\"\n class=\"gov-tabs__btn\"\n [routerLink]=\"item.url\"\n [routerLinkActive]=\"'active'\"\n #rls=\"routerLinkActive\"\n [attr.aria-selected]=\"rls.isActive\"\n [disabled]=\"item.disabled\"\n role=\"tab\"\n [attr.activeIndex]=\"activeIndex\"\n (click)=\"changeTabIndex(index)\"\n >\n {{ item.title | translate }}\n </button>\n } @else {\n <button\n [attr.index]=\"index\"\n class=\"gov-tabs__btn\"\n [attr.aria-selected]=\"activeIndex === index\"\n [disabled]=\"item.disabled\"\n role=\"tab\"\n [attr.activeIndex]=\"activeIndex\"\n (click)=\"changeTabIndex(index)\"\n >\n {{ item.title | translate }}\n </button>}\n }\n </div>\n <div class=\"gov-tabs__tabs\">\n @for (item of items; track item; let index = $index) {\n <div class=\"gov-tabs__tab\" [class.active]=\"activeIndex === index\" >\n <div class=\"gov-tabs__list\">\n <div class=\"gov-tabs__content\">\n @if (item.contentTemplate) {\n <ng-container *ngTemplateOutlet=\"item.contentTemplate\"></ng-container>\n } @else if (item.content) {\n {{ item.content }}\n }\n </div>\n </div>\n </div>\n }\n @if (useRouting) {\n <router-outlet class=\"gov-tabs__content\"></router-outlet>\n }\n </div>\n</div>","import { Component, Input } from \"@angular/core\";\n\n@Component({\n standalone: true,\n selector: \"v-table-pagination-info\",\n templateUrl: \"./table-pagination-info.component.html\",\n})\nexport class TablePaginationInfoComponent {\n @Input() showingText = 'Showing'\n\n @Input() toText = 'to';\n\n @Input() ofText = 'of';\n\n @Input() entriesText = 'entries'\n\n @Input() currentPage = 0;\n\n @Input() pageSize = 0;\n\n @Input() total = 0;\n}\n","<span>\n {{ showingText }} {{ (currentPage - 1) * pageSize + 1 }} {{ toText }}\n {{\n currentPage * pageSize < total\n ? currentPage * pageSize\n : total\n }}\n {{ ofText }} {{ total }} {{ entriesText }}\n</span>","import { SortDirection, SortDirectionType } from '@verisoft/core';\n\nexport function getNextSortDirection(\n sortDirection: SortDirectionType | undefined,\n isNullable = false\n): SortDirectionType | undefined {\n return isNullable && sortDirection === SortDirection.desc\n ? undefined\n : !sortDirection || sortDirection === SortDirection.desc\n ? SortDirection.asc\n : SortDirection.desc;\n}\nexport function createCustomRoute<T>(row: T, entityKey?: string, customRoute?: string) {\n return customRoute && entityKey\n ? customRoute + (row as { [key: string]: string })[entityKey]\n : undefined;\n}\n","import { CommonModule, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n effect,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n FormCheckboxEvent,\n FormSelectEvent,\n} from '@gov-design-system-ce/components';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n DEFAULT_SEARCH_LIMIT,\n LazyLoadEvent,\n multiSort,\n Sort,\n SortDirectionType,\n} from '@verisoft/core';\nimport {\n ColumnDefinition,\n ColumnModel,\n ColumnProvider,\n DEFAULT_PAGINATION,\n FieldSize,\n FieldSizeType,\n MAX_COLUMN_CHAR_COUNT,\n RowModel,\n TABLE_COLUMN_PROVIDER,\n TABLE_COMPONENT_TOKEN,\n TableCore,\n TableSelectionMode,\n TableService,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { LoaderComponent } from '../loader';\nimport { TablePaginationInfoComponent } from './table-pagination-info.component';\nimport { getNextSortDirection } from './table.model';\n\n@Component({\n selector: 'v-table',\n imports: [\n CommonModule,\n RouterModule,\n GovDesignSystemModule,\n NgTemplateOutlet,\n TranslateModule,\n GovSizePipe,\n LoaderComponent,\n TablePaginationInfoComponent,\n ],\n templateUrl: './table.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './table.component.scss',\n providers: [\n {\n provide: TABLE_COMPONENT_TOKEN,\n useExisting: TableComponent,\n },\n ]\n})\nexport class TableComponent<T>\n implements OnChanges, AfterViewInit, TableCore<T>\n{\n @ContentChildren(TABLE_COLUMN_PROVIDER)\n viewColumns!: QueryList<ColumnProvider<T>>;\n\n @ContentChild('rowDetail', { static: false })\n rowDetailTemplate!: TemplateRef<{ $implicit: T }>;\n\n @ContentChild('rowDetailButton', { static: false })\n rowDetailButtonTemplate!: TemplateRef<{ $implicit: T }>;\n\n @Input() sorters!: Sort[];\n @Input() data!: T[];\n @Input() total = 0;\n @Input() filter: Partial<T> | undefined;\n @Input() extraFilter: Partial<T> | undefined;\n @Input() loading = false;\n @Input() scrollable = true;\n @Input() pageSize = DEFAULT_SEARCH_LIMIT;\n @Input() currentPage = 1;\n @Input() showPaginator = true;\n @Input() userTableWrapper = true;\n @Input() sortMultiple = false;\n @Input() lazy = false;\n @Input() selectionMode: 'single' | 'multiple' | undefined;\n @Input() selection: T[] = [];\n @Input() showPageSizePicker = true;\n @Input() entityKey: string | undefined;\n @Input() customRoute: string | undefined;\n @Input() disableCustomClicks = false;\n @Input() tableName?: string;\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() showActionButtons = false;\n @Input() maximumColumnLength = MAX_COLUMN_CHAR_COUNT;\n\n @Input()\n set columns(value: ColumnDefinition<T>[]) {\n this._columns = value;\n this.updateColumnModels();\n }\n\n get columns(): ColumnDefinition<T>[] {\n return this._columns;\n }\n\n @Output() selectionChange = new EventEmitter<T[]>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() download = new EventEmitter<RowModel<T>[]>();\n @Output() delete = new EventEmitter<RowModel<T>[]>();\n @Output() save = new EventEmitter<RowModel<T>[]>();\n\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n private readonly service = inject(TableService);\n private _columns: ColumnDefinition<T, keyof T>[] = [];\n\n tableColumns: ColumnModel<T>[] = [];\n tableRows: RowModel<T>[] = [];\n pageSizeOptions = DEFAULT_PAGINATION.map((x: number) => ({ value: x.toString() }));\n allSelected = false;\n icons = Icons;\n\n get govPageSize() {\n return this.pageSize.toString();\n }\n\n get tableRowView(): RowModel<T>[] {\n if (this.lazy) {\n return this.tableRows;\n } else {\n const start = (this.currentPage - 1) * this.pageSize;\n const end = start + this.pageSize;\n return this.tableRows.slice(start, end);\n }\n }\n\n get selected(): RowModel<T>[] {\n return this.tableRows.filter(r => r.selected);\n }\n\n get selectedCount(): number {\n return this.selected.length;\n }\n\n constructor() {\n effect(() => {\n this.reactToSignals();\n })\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['data']) {\n this.updateRowModels();\n if (!this.lazy && this.data) {\n this.total = this.data.length;\n }\n }\n\n if (changes['total']) {\n this.cdRef.markForCheck();\n }\n\n if (changes['selection']) {\n this.selectSelected();\n }\n\n if (changes['filter']) {\n this.updateFilter();\n }\n }\n\n ngAfterViewInit(): void {\n if (this.viewColumns?.length) {\n this.updateColumnModels();\n this.cdRef.detectChanges();\n }\n }\n\n protected sortColumn(column: ColumnModel<T>) {\n if (column.sortable) {\n column.sortDirection = getNextSortDirection(\n column.sortDirection,\n this.sortMultiple\n );\n\n if (!this.sortMultiple) {\n this.tableColumns\n .filter((x) => x !== column)\n .forEach((x) => {\n x.sortDirection = undefined;\n });\n }\n\n const sorts: Sort[] = this.getSorts().map((x) => ({\n field: 'row.' + x.field,\n direction: x.direction,\n }));\n\n if (!this.lazy) {\n this.tableRows = multiSort(this.tableRows, sorts);\n } else {\n this.fireLazyLoad();\n }\n }\n }\n\n protected changePage(event: { detail: { pagination: { currentPage: number } } }) {\n this.currentPage = event.detail.pagination.currentPage;\n this.fireLazyLoad();\n }\n\n protected changePageSize(event: CustomEvent<FormSelectEvent>) {\n this.pageSize = parseInt(event.detail.value);\n this.currentPage = 1;\n this.fireLazyLoad();\n }\n\n protected selectRow(row: RowModel<T>, event: MouseEvent) {\n if (event.ctrlKey || event.metaKey) {\n this.navigate(row, event);\n return;\n }\n\n if (this.selectionMode === 'single') {\n row.selected = !row.selected;\n this.tableRows.forEach((x) => (x !== row ? (x.selected = false) : null));\n this.fireSelectionChange();\n } else if (this.selectionMode === 'multiple') {\n row.selected = !row.selected;\n this.fireSelectionChange();\n }\n }\n\n protected navigate(row: RowModel<T>, event: MouseEvent) {\n if (this.disableCustomClicks) {\n return;\n }\n\n event.preventDefault();\n const targetUrl = this.createUrl(row);\n\n if (event.ctrlKey || event.metaKey) {\n setTimeout(() => {\n window.open(\n this.router.serializeUrl(this.router.createUrlTree([targetUrl], { relativeTo: this.route })),\n '_blank'\n );\n }, 0);\n } else {\n this.router.navigate([targetUrl], { relativeTo: this.route });\n }\n }\n\n protected navigateNewWindow(row: RowModel<T>, event: MouseEvent) {\n if (this.disableCustomClicks || event.button !== 1) {\n return;\n }\n\n event.preventDefault();\n const targetUrl = this.createUrl(row);\n\n window.open(this.router.serializeUrl(this.router.createUrlTree([targetUrl], { relativeTo: this.route })), '_blank');\n }\n\n protected toggleAll(event: CustomEvent<FormCheckboxEvent>) {\n this.allSelected = event.detail.checked;\n this.tableRows.forEach((x) => (x.selected = this.allSelected));\n this.fireSelectionChange();\n }\n\n protected toggleDetail(row: RowModel<T>) {\n row.expanded = !row.expanded;\n this.cdRef.detectChanges();\n }\n\n protected selectRowCheckbox(row: RowModel<T>, event: CustomEvent<FormCheckboxEvent>) {\n row.selected = event.detail.checked;\n this.allSelected = this.tableRows.every((x) => x.selected);\n this.fireSelectionChange();\n }\n\n protected truncate(text: string): string {\n return text.length > this.maximumColumnLength\n ? text.slice(0, this.maximumColumnLength) + '...'\n : text;\n }\n\n protected deselectAll() {\n this.allSelected = false;\n this.tableRows.forEach(x => (x.selected = this.allSelected));\n }\n\n private createUrl(row: RowModel<T>): string {\n if (row.customRoute) {\n return row.customRoute;\n }\n\n return row.id.toString();\n }\n\n private reactToSignals(): void {\n const reload = this.service.reload();\n\n if (typeof reload === 'symbol') {\n this.fireLazyLoad();\n } else if (reload.name === this.tableName) {\n this.fireLazyLoad()\n }\n\n this.deselectAll();\n }\n\n private updateColumnModels() {\n const viewColumns = this.viewColumns\n ?.toArray()\n .map((x) => x.getDefinition());\n this.tableColumns = [...(this._columns ?? []), ...(viewColumns ?? [])].map(\n (x) => new ColumnModel(x)\n );\n }\n\n private updateRowModels(): void {\n this.tableRows = (this.data ?? []).map(\n (x) => new RowModel(x, false, false, undefined, undefined, undefined, this.customRoute, this.entityKey)\n );\n }\n\n private fireSelectionChange() {\n const selectedRows = this.tableRows\n .filter((x) => x.selected)\n .map((x) => x.row);\n this.selectionChange.emit(selectedRows);\n }\n\n private selectSelected() {\n if (this.selection?.length && this.selectionMode) {\n const selection =\n this.selectionMode === TableSelectionMode.single\n ? [this.selection[0]]\n : this.selection;\n const selectionSet = new Set(selection);\n this.tableRows.forEach((item) => {\n item.selected = selectionSet.has(item.row);\n });\n\n this.allSelected = this.tableRows.every((x) => x.selected);\n }\n }\n\n private fireLazyLoad() {\n const lazyLoadEvent: LazyLoadEvent = {\n sort: this.getSorts(),\n offset: (this.currentPage - 1) * this.pageSize,\n limit: this.pageSize,\n filter: this.filter,\n };\n\n this.lazyLoad.emit(lazyLoadEvent);\n }\n\n private updateFilter() {\n this.fireLazyLoad();\n }\n\n private getSorts(): Sort[] {\n return this.tableColumns\n .filter((x) => x.sortable && x.sortDirection)\n .map((x) => ({\n field: x.id,\n direction: <SortDirectionType>x.sortDirection,\n }));\n }\n}\n","@if (selectionMode === 'multiple' && showActionButtons) {\n<gov-flex\n class=\"gov-table-complex__actions mt-2\"\n justify-content=\"space-between\"\n align-items=\"center\"\n>\n <div class=\"gov-table-complex__records-selected\">\n {{ selectedCount }} {{ ('TABLES.CHOSEN_RECORDS' | translate) ?? 'chosen records'}}\n </div>\n <div>\n <gov-button color=\"primary\" size=\"s\" type=\"solid\" (gov-click)=\"delete.emit(selected)\">\n {{ ('BUTTONS.DELETE' | translate) ?? 'Delete'}}\n </gov-button>\n <gov-button color=\"primary\" size=\"s\" type=\"solid\" (gov-click)=\"save.emit(selected)\">\n {{ ('BUTTONS.SAVE' | translate) ?? 'Save'}}\n </gov-button>\n <gov-button color=\"primary\" size=\"s\" type=\"solid\" (gov-click)=\"download.emit(selected)\">\n {{ ('BUTTONS.DOWNLOAD' | translate) ?? 'Download'}}\n </gov-button>\n <gov-button color=\"primary\" size=\"s\" type=\"solid\" (gov-click)=\"deselectAll()\">\n {{ ('BUTTONS.CANCEL' | translate) ?? 'Cancel'}}\n </gov-button>\n </div>\n</gov-flex>\n}\n\n<div\n class=\" v-table gov-table\"\n [attr.size]=\"size | govSize\"\n>\n <table class=\"v-table__table\">\n <thead class=\"v-table__head\">\n <tr class=\"v-table__header\">\n @if (this.rowDetailTemplate) {\n <th></th>\n } @if (selectionMode === 'multiple') {\n <th scope=\"col\">\n <gov-form-checkbox\n [checked]=\"allSelected\"\n (gov-change)=\"toggleAll($event)\"\n />\n </th>\n }\n @for (column of tableColumns; track column; let index = $index) {\n @if (column.visible && column.forceVisibility !== 'hidden') {\n <th\n scope=\"col\"\n [style]=\"{'text-align': column.textAlign}\"\n [class]=\"column.columnClass\"\n >\n <span\n class=\"gov-table--fit-width\"\n [class.v-table__sortable]=\"column.sortable\"\n [class.v-table__sortable--desc]=\"column.sortable && column.sortDirection === 'desc'\"\n [class.v-table__sortable--asc]=\"column.sortable && column.sortDirection === 'asc'\"\n (click)=\"sortColumn(column)\"\n >\n {{ column.headerGetter(column.id, index) | translate }}\n </span>\n </th>\n } @if (this.rowDetailButtonTemplate) {\n <th></th>\n }}\n </tr>\n </thead>\n @if (loading) {\n <v-loader />\n } @else {\n <tbody class=\"v-table__body\">\n @for (data of tableRowView; track data.id; let rowIndex = $index) {\n <tr\n class=\"v-table__row\"\n [class.gov-table--highlight]=\"data.selected && selectionMode\"\n (click)=\"selectRow(data, $event)\"\n (dblclick)=\"navigate(data, $event)\"\n (mousedown)=\"navigateNewWindow(data, $event)\"\n >\n @if (this.rowDetailTemplate) {\n <td>\n <gov-button\n [size]=\"size | govSize\"\n color=\"primary\"\n type=\"solid\"\n (gov-click)=\"toggleDetail(data)\"\n >\n <gov-icon\n [name]=\"data.expanded ? 'chevron-up' : 'chevron-down'\"\n [size]=\"size | govSize\"\n slot=\"icon-start\"\n ></gov-icon>\n </gov-button>\n </td>\n } @if (selectionMode === 'multiple') {\n <td class=\"gov-table--fit-content gov-table--border-right\">\n <gov-form-checkbox\n no-label\n [checked]=\"data.selected\"\n [size]=\"size | govSize\"\n (gov-change)=\"selectRowCheckbox(data, $event)\"\n />\n </td>\n }\n @for (column of tableColumns; track column; let columnIndex = $index) {\n @if (column.visible && column.forceVisibility !== 'hidden') {\n <td\n [style]=\"{'text-align': column.textAlign}\"\n [class]=\"column.columnClass!\"\n [class.v-auto-cell]=\"column.template\"\n >\n @if (column.template) {\n <ng-container\n *ngTemplateOutlet=\"\n column.template;\n context: { $implicit: data.row }\n \"\n ></ng-container>\n } @else {\n <span\n [queryParams]=\"column.queryParams ? column.queryParams : undefined\"\n [routerLink]=\"column.routerLink ? column.routerLink(data.row) : undefined\"\n [innerHTML]=\"truncate(column.valueGetter(data.row, rowIndex))\"\n [attr.title]=\"\n column.valueGetter(data.row, rowIndex).length > maximumColumnLength\n ? column.valueGetter(data.row, rowIndex)\n : null\n \"\n ></span>\n }\n </td>\n @if (this.rowDetailButtonTemplate) {\n <td scope=\"\">\n <ng-container\n *ngTemplateOutlet=\"\n this.rowDetailButtonTemplate;\n context: { $implicit: data.row }\n \"\n ></ng-container>\n </td>\n }}}\n </tr>\n @if (this.rowDetailTemplate && data.expanded) {\n <tr>\n <td [attr.colspan]=\"tableColumns.length + 1\">\n <ng-container\n class=\"w-100\"\n *ngTemplateOutlet=\"\n this.rowDetailTemplate;\n context: { $implicit: data.row }\n \"\n ></ng-container>\n </td>\n </tr>\n } } @if (!tableRows.length && !loading){\n <td [attr.colspan]=\"tableColumns.length\">\n <gov-empty align=\"center\" [size]=\"size | govSize\">\n <gov-icon slot=\"icon\" name=\"empty-file\" type=\"colored\"/>\n <p slot=\"headline\">\n {{ ('TABLES.EMPTY' | translate) ?? 'No records were found!' }}\n </p>\n </gov-empty>\n </td>\n }\n </tbody>\n }\n </table>\n @if(showPaginator) {\n <div class=\"v-table__paginator d-flex pt-3 pb-3\">\n @if (tableRows.length) {\n <div class=\"mt-2\">\n <v-table-pagination-info\n [showingText]=\"'TABLES.PAGINATION.SHOWING' | translate\"\n [toText]=\"'TABLES.PAGINATION.TO' | translate\"\n [ofText]=\"'TABLES.PAGINATION.OF' | translate\"\n [entriesText]=\"'TABLES.PAGINATION.ENTRIES' | translate\"\n [currentPage]=\"currentPage\"\n [pageSize]=\"pageSize\"\n [total]=\"total\"\n />\n </div>\n <div class=\"ms-4\">\n <gov-form-select\n [options]=\"pageSizeOptions\"\n [value]=\"govPageSize\"\n (gov-change)=\"changePageSize($event)\"\n />\n </div>\n }\n <div class=\"ms-4\">\n <gov-pagination\n [current]=\"currentPage\"\n [pageSize]=\"pageSize\"\n [total]=\"total\"\n [type]=\"'button'\"\n (gov-page)=\"changePage($event)\"\n />\n </div>\n </div>\n }\n</div>\n","export enum GovTagType {\n bold = 'bold',\n subtle = 'subtle',\n}\n\nexport type GovTagTypeType = keyof typeof GovTagType;\n\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n} from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport {\n ControlSeverity,\n ControlSeverityType,\n FieldSize,\n FieldSizeType,\n TagCore,\n TAG_COMPONENT_TOKEN,\n TagVariant,\n} from \"@verisoft/ui-core\";\nimport { GovColorPipe, GovSizePipe } from \"../../pipes\";\nimport { GovTagType } from \"./tag.model\";\n\n@Component({\n selector: \"v-tag\",\n styleUrl: \"./tag.component.scss\",\n templateUrl: './tag.component.html',\n imports: [\n GovDesignSystemModule,\n GovSizePipe,\n GovColorPipe,\n TranslateModule\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TAG_COMPONENT_TOKEN,\n useExisting: TagComponent,\n }\n ],\n})\nexport class TagComponent implements TagCore {\n label = input<string | undefined>();\n severity = input<ControlSeverityType | undefined>(ControlSeverity.primary);\n variant = input<TagVariant>(GovTagType.bold);\n size = input<FieldSizeType>(FieldSize.medium);\n}\n\n","<gov-tag\n [color]=\"severity() | govColor\"\n [type]=\"variant()\"\n [size]=\"size() | govSize\"\n>\n @if (label()) {\n {{ label() | translate }}\n } @else {\n <ng-content></ng-content>\n }\n</gov-tag>\n\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n TextfieldCore,\n FieldType,\n BaseFormInputComponent,\n FieldSizeType,\n FieldSize,\n IconPositionType,\n IconPosition,\n SlotPositionType,\n SlotPosition,\n TEXTAREA_COMPONENT_TOKEN,\n TextareaCore,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n@Component({\n selector: 'v-textarea',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent,\n TranslateModule\n],\n templateUrl: './textarea.component.html',\n styleUrl: './textarea.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TEXTAREA_COMPONENT_TOKEN,\n useExisting: TextareaComponent,\n },\n ]\n})\nexport class TextareaComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TextareaCore {\n @Input() floatLabel!: string | undefined;\n @Input() type = FieldType.text;\n @Input() minlength = 0;\n @Input() maxlength = 524288;\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() message!: string;\n @Input() name!: string;\n @Input() role!: string;\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n @Input() rows = 0;\n @Input() cols = 0;\n @Input() autoResize = false;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control class=\"mb-3\">\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label | translate }}\n </gov-form-label>\n }\n <gov-form-group>\n <gov-form-input [type]=\"type\"\n [formControl]=\"formControl\"\n [minlength]=\"minlength\" \n [maxlength]=\"maxlength\" \n [size]='size | govSize' \n [name]='name' \n [role]='role'\n [required]=\"required\"\n [readonly]=\"readonly\"\n [invalid]=\"ngControl?.errors ? true : false\"\n [multiline]=\"true\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n @if (icon) {\n <gov-icon\n [name]=\"icon\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (prefix) {\n <p slot=\"prefix\">\n {{ prefix }}\n </p>\n } @if (sufix) {\n <p slot=\"sufix\">\n {{ sufix }}\n </p>\n }\n </gov-form-input>\n </gov-form-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message | translate }}\n </gov-form-message>\n }\n</gov-form-control>\n","import { Directive, Input } from '@angular/core';\nimport { ValidatorFn } from '@angular/forms';\nimport { DatasourceType } from '@verisoft/core';\nimport { GenericFieldDefinition, GenericFieldType, GenericFieldTypeType } from '@verisoft/ui-core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-filter-field',\n standalone: true,\n})\nexport class FilterFieldDirective implements GenericFieldDefinition {\n @Input({ required: true }) name!: string;\n\n @Input() type: GenericFieldTypeType | undefined = GenericFieldType.text;\n\n @Input() label: string | undefined;\n\n @Input() optionLabel!: string;\n\n @Input() optionValue: string | undefined;\n\n @Input() options: unknown[] | undefined;\n\n @Input() value?: unknown;\n\n @Input() validator?: ValidatorFn[];\n\n @Input() datasource: DatasourceType<any> | undefined;\n\n @Input() filterField?: string;\n\n @Input() showFilter?: boolean;\n\n @Input() localSearch?: boolean;\n}\n","import { FormGroup } from '@angular/forms';\n\nexport function getFilledControlCount(formGroup: FormGroup): number {\n let count = 0;\n Object.keys(formGroup.controls).forEach((key) => {\n const control = formGroup.get(key);\n if (control?.value) {\n if (typeof control.value === 'boolean') {\n count++;\n }\n if (typeof control.value === 'string' && control.value.trim() !== '') {\n count++;\n }\n }\n });\n\n return count;\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BaseHttpService } from '@verisoft/core';\nimport {\n ButtonShortCutDirective,\n DEFAULT_DEBOUNCE_TIME,\n DialogService,\n FieldSize,\n FILTER_COMPONENT_TOKEN,\n FilterCore,\n GenericFieldDefinition,\n GovButtonType,\n GovButtonTypeType,\n isFilterEmpty,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport {\n BehaviorSubject,\n combineLatestWith,\n debounceTime,\n distinctUntilChanged,\n map,\n Observable,\n startWith,\n takeUntil,\n} from 'rxjs';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\nimport { generateFormGroup, GenericFormComponent } from '../shared-components/generic-form';\nimport { TextfieldComponent } from '../textfield';\nimport { FilterFieldDirective } from './directives/filter-field.directive';\nimport { getFilledControlCount } from './filter.model';\n\ntype FilterValueType = { [key: string]: unknown };\n\n@Component({\n selector: 'v-filter',\n imports: [\n AsyncPipe,\n ReactiveFormsModule,\n TranslateModule,\n TextfieldComponent,\n GenericFormComponent,\n ButtonComponent,\n ButtonShortCutDirective,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FilterComponent),\n multi: true,\n },\n {\n provide: FILTER_COMPONENT_TOKEN,\n useExisting: FilterComponent,\n },\n ],\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FilterComponent<T extends object>\n extends UnsubscribeComponent\n implements OnChanges, OnInit, AfterContentInit, FilterCore\n{\n @ContentChildren(FilterFieldDirective)\n fieldDeclarations!: QueryList<FilterFieldDirective>;\n\n @Input() fields: GenericFieldDefinition[] = [];\n\n @Input() filters: GenericFieldDefinition[] = [];\n\n @Input() title?: string;\n\n @Input() total?: number;\n\n @Input() fulltextFieldName = 'searchField';\n\n @Input() showFulltext = true;\n\n @Input() showFilters = true;\n\n @Input() autoBind = true;\n\n @Input() applyLabel = 'Apply';\n\n @Input() clearLabel = 'Clear';\n\n @Input() buttonType: GovButtonTypeType = GovButtonType.solid;\n\n @Input() buttonOutlined = false;\n\n @Input() debounceTime?: number = DEFAULT_DEBOUNCE_TIME;\n\n @Input() defaultExpanded = false;\n\n icons = Icons;\n\n protected isExpanded = false;\n\n fieldDefinitios$?: Observable<GenericFieldDefinition[]>;\n\n formGroup$?: Observable<FormGroup>;\n\n simpleFormFieldDefinitions$?: Observable<GenericFieldDefinition[]>;\n\n private get searchField(): GenericFieldDefinition {\n return {\n name: this.fulltextFieldName,\n };\n }\n\n private onTouch?: () => void;\n\n private onChange?: (value: FilterValueType | undefined) => void;\n\n private inputFields$ = new BehaviorSubject<\n GenericFieldDefinition[] | undefined\n >([...this.fields ?? [], ...this.filters ?? []]);\n\n FieldSize = FieldSize;\n\n protected screenSizeService = inject(ScreenSizeService);\n protected changeDetectorRef = inject(ChangeDetectorRef);\n protected dialogService = inject(DialogService);\n\n service!: BaseHttpService<T>;\n\n formGroup = new FormGroup({});\n\n filledFiltersCount$: Observable<string> = this.formGroup.valueChanges.pipe(\n startWith(this.formGroup),\n map(() => getFilledControlCount(this.formGroup).toString())\n );\n\n private lastFormFields: GenericFieldDefinition[] = [];\n\n ngOnInit(): void {\n this.isExpanded = this.defaultExpanded;\n this.formGroup.valueChanges\n .pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime ?? DEFAULT_DEBOUNCE_TIME),\n map((x) => this.convertFilter(x)),\n distinctUntilChanged()\n )\n .subscribe((value) => {\n this.onChange?.(value);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['total']) {\n this.changeDetectorRef.markForCheck();\n }\n if (changes['fields'] || changes['filters']) {\n this.inputFields$.next([...this.fields ?? [], ...this.filters ?? []]);\n }\n }\n\n ngAfterContentInit(): void {\n const fieldDeclaratios$: Observable<GenericFieldDefinition[]> =\n this.fieldDeclarations.changes.pipe(\n startWith({}),\n map(() => this.fieldDeclarations.toArray())\n );\n\n this.fieldDefinitios$ = this.inputFields$.pipe(\n combineLatestWith(fieldDeclaratios$),\n map(([inputs, views]) => {\n this.lastFormFields = [this.searchField, ...(inputs ?? []), ...views];\n return this.lastFormFields;\n })\n );\n\n this.simpleFormFieldDefinitions$ = this.fieldDefinitios$.pipe(\n map((fields) => {\n return fields\n .filter((x) => x.name !== this.fulltextFieldName)\n .map((x) => ({ ...x, floatLabel: false, size: x.size ?? FieldSize.medium }));\n })\n );\n\n this.formGroup$ = this.fieldDefinitios$.pipe(\n map((fields) => {\n const group = generateFormGroup(fields, this.formGroup, undefined, false);\n if (!group.get(this.fulltextFieldName) && this.showFulltext) {\n group.addControl(this.fulltextFieldName, new FormControl(''));\n }\n return group;\n })\n );\n\n this.changeDetectorRef.detectChanges();\n }\n\n protected toggleFilters() {\n this.isExpanded = !this.isExpanded;\n }\n\n protected openSearch() {\n this.dialogService.showDialog({\n headerIcon: 'pi pi-search',\n severity: 'primary',\n innerHTML: '<p>Search</p>',\n confirmButtonFn: () => this.submitValue(),\n confirmButtonText: 'Apply',\n cancelButtonFn: () => this.clear(),\n cancelButtonText: 'Clear all',\n showCancelButton: true,\n closable: false,\n });\n }\n\n writeValue(data: FilterValueType): void {\n this.formGroup.patchValue(data);\n }\n\n registerOnChange(fn: (value: FilterValueType | undefined) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n isDisabled ? this.formGroup.disable() : this.formGroup.enable();\n }\n\n submitValue() {\n if (!this.autoBind) {\n this.onChange?.(this.formGroup.value);\n }\n }\n\n setFilterValues(dialogFormGroup: FormGroup) {\n this.formGroup.setValue(dialogFormGroup.value);\n this.submitValue();\n }\n\n clear() {\n this.formGroup.reset();\n this.submitValue();\n }\n\n private convertFilter(\n value: FilterValueType | undefined\n ): FilterValueType | undefined {\n if (value == undefined) {\n return undefined;\n }\n\n const isEmpty = isFilterEmpty(value);\n if (isEmpty) {\n return undefined;\n }\n\n return value;\n }\n}\n","<div class=\"v-filter w-100\">\n @if (formGroup$ | async; as formGroup){\n <form [formGroup]=\"formGroup\">\n <div class=\"v-filter__header d-flex align-items-center p-3\">\n @if (title) {\n <div class=\"v-filter_title pe-4\">\n <h2 class=\"m-0\">{{ title }}</h2>\n </div>\n }\n <div class=\"v-filter__fulltext flex-grow-1 pe-4\">\n @if (showFulltext){\n <v-textfield\n placeholder=\"Search\"\n size=\"large\"\n [formControlName]=\"fulltextFieldName\"\n type=\"search\"\n [clearable]=\"true\"\n />\n }\n </div>\n <div class=\"v-filter_action-buttons d-flex align-items-center gap-2\">\n @if (!autoBind) {\n <v-button\n useShortCut\n [shortCutFn]=\"submitValue.bind(this)\"\n shortCutKey=\"Enter\"\n [type]=\"buttonType\"\n [outlined]=\"buttonOutlined\"\n size=\"small\"\n [label]=\"applyLabel\"\n (click)=\"submitValue()\"\n />\n }\n @if (isExpanded) {\n <v-button\n useShortCut\n [shortCutFn]=\"clear.bind(this)\"\n shortCutKey=\"Escape\"\n size=\"small\"\n [type]=\"buttonType\"\n [outlined]=\"buttonOutlined\"\n [label]=\"clearLabel\"\n (click)=\"clear()\"\n />\n }\n @if (simpleFormFieldDefinitions$ | async; as declaration){ @if\n (declaration.length) {\n <v-button\n size=\"small\"\n [type]=\"buttonType\"\n [outlined]=\"buttonOutlined\"\n [icon]=\"icons.filter\"\n [label]=\"$any(filledFiltersCount$ | async)\"\n (click)=\"toggleFilters()\"\n />\n } }\n\n <ng-content select=\"v-action-button-group\"></ng-content>\n </div>\n </div>\n @if (simpleFormFieldDefinitions$ | async; as declaration){ @if (isExpanded\n && declaration.length) {\n <div class=\"v-filter__expanded p-3\">\n <v-generic-form\n [fields]=\"declaration\"\n [formGroup]=\"formGroup\"\n [columns]=\"2\"\n />\n </div>\n } }\n </form>\n }\n</div>\n","import { Directive } from '@angular/core';\nimport { FilterFieldDirective } from '../../filter';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-feature-list-filter-field',\n})\nexport class FeatureListFilterFieldDirective extends FilterFieldDirective {}","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { GenericFieldDefinition, GenericFieldType } from \"@verisoft/ui-core\";\nimport { FeatureListColumnDefinition } from \"./feature-list-page.model\";\n\n@Pipe({\n name: 'featureListColumn',\n})\nexport class FeatureListFilterPipe<T> implements PipeTransform {\n transform(value: FeatureListColumnDefinition<T>[] | undefined): GenericFieldDefinition[] | undefined {\n if (!value){\n return undefined;\n }\n\n return value.filter(x => x.filter).map((x, index) => ({\n name: x.id,\n label: typeof x.headerName === 'function'? x.headerName(x.id, index) : x.headerName ?? '',\n type: x.type as GenericFieldType,\n }));\n }\n}","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n FEATURE_LIST_PAGE_CONFIG_PROPERTY,\n FeatureListPageConfig,\n} from './feature-list-page.model';\nimport { FeatureListComponent } from './feature-list.component';\n\n@Component({\n selector: 'v-feature-list-page',\n imports: [FeatureListComponent],\n template: `\n <v-feature-list\n [title]=\"config.title\"\n [tableName]=\"config.tableName\"\n [showAdd]=\"config.showAdd ?? true\"\n [showDownload]=\"config.showDownload ?? true\"\n [showDelete]=\"config.showDelete ?? true\"\n >\n </v-feature-list>\n `\n})\nexport class FeatureListPageComponent {\n config!: FeatureListPageConfig;\n\n constructor(activatedRoute: ActivatedRoute) {\n this.config =\n activatedRoute.snapshot.data[FEATURE_LIST_PAGE_CONFIG_PROPERTY];\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { ColumnDefinition, GenericFieldTypeType } from '@verisoft/ui-core';\nimport { FeatureListPageComponent } from './feature-list-page.component';\n\nexport interface FeatureListPageConfig {\n title: string;\n datasource: string;\n tableName: string;\n showAdd?: boolean;\n showDownload?: boolean;\n showDelete?: boolean;\n}\n\nexport const FEATURE_LIST_PAGE_CONFIG_PROPERTY = 'feature_list_config';\n\nexport function addFeatureListPage(\n value: Partial<Route> & { config: FeatureListPageConfig }\n): Route {\n const { config, ...route } = value;\n return {\n component: FeatureListPageComponent,\n ...route,\n data: {\n [FEATURE_LIST_PAGE_CONFIG_PROPERTY]: config,\n ...(route.data ?? {}),\n },\n };\n}\n\nexport interface FeatureListColumnDefinition<T> extends ColumnDefinition<T> {\n filter?: boolean;\n type?: GenericFieldTypeType;\n}\n\nexport const FEATURE_LIST_COLUMN_PROVIDER = new InjectionToken(\n 'FEATURE_LIST_COLUMN_PROVIDER'\n);\n\nexport interface FeatureListColumnProvider<T> {\n getDefinition: () => FeatureListColumnDefinition<T>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AllDataRequestParams,\n BASE_URL_PATH,\n BaseHttpService,\n convertDatasource,\n DatasourceType,\n DEFAULT_PAGE_SIZE,\n} from '@verisoft/core';\nimport {\n ColumnModel,\n DialogService,\n downloadFile,\n GenericFieldDefinition,\n GovButtonType,\n GovButtonTypeType,\n MAX_COLUMN_CHAR_COUNT,\n TableDatasourceDirective,\n TableFilterDirective,\n TableSelectionMode,\n TableSelectionModeType,\n} from '@verisoft/ui-core';\nimport { take, switchMap, forkJoin, Observable, of } from 'rxjs';\nimport { Icons } from '../../icons';\nimport { FilterComponent } from '../filter';\nimport {\n ActionButtonComponent,\n ActionButtonGroupComponent,\n} from '../shared-components/action-button-group';\nimport { TableComponent } from '../table';\nimport { FeatureListFilterFieldDirective } from './directives/feature-list-filter-field.directive';\nimport { FeatureListFilterPipe } from './feature-list-filter.pipe';\nimport {\n FEATURE_LIST_COLUMN_PROVIDER,\n FeatureListColumnDefinition,\n FeatureListColumnProvider,\n} from './feature-list-page.model';\n\n@Component({\n selector: 'v-feature-list',\n imports: [\n TableComponent,\n TableDatasourceDirective,\n FilterComponent,\n TableFilterDirective,\n ActionButtonGroupComponent,\n ActionButtonComponent,\n FeatureListFilterPipe,\n ],\n templateUrl: './feature-list.component.html',\n styleUrls: ['./feature-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FeatureListComponent<T> implements AfterViewInit {\n @ContentChildren(FEATURE_LIST_COLUMN_PROVIDER) viewColumns!: QueryList<\n FeatureListColumnProvider<T>\n >;\n\n @ContentChildren(FeatureListFilterFieldDirective)\n fieldDeclarations!: QueryList<FeatureListFilterFieldDirective>;\n\n @ViewChild(TableDatasourceDirective)\n tableDatasourceDirective!: TableDatasourceDirective<T>;\n\n @ViewChild('table')\n tableComponent!: TableComponent<T>;\n\n @Input() autoBind = true;\n\n @Input() title!: string;\n\n @Input() columns!: FeatureListColumnDefinition<T>[];\n\n @Input() filters!: GenericFieldDefinition[];\n\n @Input() maxVisibleActions = 2;\n\n @Input({ required: true }) tableName!: string;\n\n @Input() ngrxFeatureKey?: string;\n\n @Input() maxVisibleMobileActions = 0;\n\n @Input() showExtendedFilter = false;\n\n @Input() showDownload = false;\n\n @Input() showDelete = false;\n\n @Input() showAdd = false;\n\n @Input() canDownload = true;\n\n @Input() canDelete = true;\n\n @Input() canAdd = true;\n\n @Input() useRouterFilter = true;\n\n @Input() fulltextFieldName = 'searchField';\n\n @Input() showFulltext = true;\n\n @Input() applyLabel = 'Apply';\n\n @Input() clearLabel = 'Clear';\n\n @Input() buttonType: GovButtonTypeType = GovButtonType.solid;\n\n @Input() buttonOutlined = false;\n\n @Input() deleteConfirmMessage: string | undefined;\n\n @Input() autoDeleteEnabled = true;\n\n @Input() autoDownloadEnabled = true;\n\n @Input() downloadFileName = 'export.csv';\n\n @Input() datasource!: DatasourceType<T>;\n\n @Input() extraFilter?: Partial<T>;\n\n @Input() disableCustomClicks = false;\n\n @Input() maximumColumnLength = MAX_COLUMN_CHAR_COUNT;\n\n @Output() addClick = new EventEmitter();\n\n @Output() downloadClick = new EventEmitter();\n\n @Output() deleteClick = new EventEmitter<T[]>();\n\n @Output() selectionChange = new EventEmitter();\n\n @Input() set selectionMode(mode: TableSelectionModeType | undefined) {\n this._selectionMode = mode;\n }\n\n get selectionMode(): TableSelectionModeType | undefined {\n return this.canDelete\n ? TableSelectionMode.single\n : this._selectionMode;\n }\n\n icons = Icons;\n\n private httpClient = inject(HttpClient);\n\n private baseUrl: string = inject(BASE_URL_PATH);\n\n private _selectionMode: TableSelectionModeType | undefined;\n\n private cdRef = inject(ChangeDetectorRef);\n\n private dialogService = inject(DialogService);\n\n selection: T[] = [];\n\n get tableTotal(): number | undefined {\n return this.tableComponent?.total;\n }\n\n ngAfterViewInit(): void {\n if (this.viewColumns?.length) {\n const vewColumns = this.viewColumns\n ?.toArray()\n .map((x) => x.getDefinition());\n this.columns = [...(this.columns ?? []), ...(vewColumns ?? [])];\n this.cdRef.detectChanges();\n }\n\n if (this.fieldDeclarations?.length) {\n this.filters = this.fieldDeclarations?.toArray();\n }\n\n this.cdRef.detectChanges();\n }\n\n selectItems(items: T[]) {\n this.selection = items ?? [];\n\n if (this.selectionMode !== undefined) {\n this.selectionChange.emit(\n this.selectionMode === 'multiple'\n ? this.selection\n : this.selection[0]\n );\n }\n }\n\n startDeleteItems() {\n if (!this.selection.length) {\n return;\n }\n\n if (this.deleteConfirmMessage) {\n const message = this.deleteConfirmMessage;\n this.dialogService.showDialog({\n innerHTML: message,\n confirmButtonFn: () => this.deleteItems(this.selection),\n });\n } else {\n this.deleteItems(this.selection);\n }\n }\n\n startDownload() {\n this.downloadClick.emit();\n if (!this.autoDownloadEnabled) {\n return;\n }\n\n const dowloadFn = this.createDownloadFn(this.datasource);\n if (dowloadFn) {\n this.tableDatasourceDirective.params$\n .pipe(\n take(1),\n switchMap((params) => dowloadFn(params))\n )\n .subscribe((blob) => {\n downloadFile(this.downloadFileName, blob);\n });\n }\n }\n\n private deleteItems(items: T[]) {\n if (!this.autoDeleteEnabled) {\n this.deleteClick.emit(items);\n } else {\n this.forceDelete(items);\n }\n }\n\n private forceDelete(items: T[]) {\n const deleteFn = this.createDeleteFn(this.datasource);\n if (deleteFn) {\n const deleteMethods = items.map((x) => deleteFn(x));\n forkJoin(deleteMethods)\n .pipe(take(1))\n .subscribe(() => this.finishDeletion(items));\n } else {\n this.finishDeletion(items);\n }\n }\n\n private createDeleteFn(\n datasource: DatasourceType<T>\n ): ((item: T) => Observable<unknown>) | undefined {\n if (!datasource) {\n return undefined;\n }\n\n if (typeof datasource === 'string') {\n const service = new BaseHttpService<T>(\n this.httpClient,\n this.baseUrl,\n datasource\n );\n\n return (item: T) => service.delete((item as { id: string }).id);\n }\n\n if (datasource instanceof BaseHttpService) {\n return (item: T) => datasource.delete((item as { id: string }).id);\n }\n\n return undefined;\n }\n\n private createDownloadFn(\n datasource: DatasourceType<T>\n ): ((request: AllDataRequestParams<T>) => Observable<Blob>) | undefined {\n if (!datasource) {\n return undefined;\n }\n\n if (typeof datasource === 'string') {\n const service = new BaseHttpService<T>(\n this.httpClient,\n this.baseUrl,\n datasource\n );\n\n return (request: AllDataRequestParams<T>) => service.export(request);\n }\n\n if (datasource instanceof BaseHttpService) {\n return (request: AllDataRequestParams<T>) => datasource.export(request);\n }\n\n const fetchFunction = convertDatasource(\n datasource,\n this.baseUrl,\n this.httpClient\n );\n\n return (request: AllDataRequestParams<T>) => {\n const allData: T[] = [];\n let offset = 0;\n const fetchAllData = (): Observable<Blob> => {\n return fetchFunction({\n ...request,\n offset,\n limit: DEFAULT_PAGE_SIZE,\n }).pipe(\n take(1),\n switchMap((response) => {\n allData.push(...response.data);\n if (allData.length < response.total) {\n offset = offset + DEFAULT_PAGE_SIZE;\n return fetchAllData();\n } else {\n return of(this.convertToBlob(allData));\n }\n })\n );\n };\n\n return fetchAllData();\n };\n }\n\n private finishDeletion(items: T[]) {\n if (this.datasource && Array.isArray(this.datasource)) {\n this.datasource = this.datasource.filter((x) => !items.includes(x));\n } else {\n this.tableDatasourceDirective.reload();\n }\n\n this.deleteClick.emit(items);\n }\n\n private convertToBlob(data: T[]): Blob {\n const columnModel = this.columns.map((x) => new ColumnModel(x));\n const headers = columnModel.map((x, index) => x.headerGetter(x.id, index));\n const dataValues = data.map((row, rowIndex) =>\n columnModel.map((column) => column.valueGetter(row, rowIndex))\n );\n const csvData = [headers, ...dataValues]\n .map((row) => row.join(','))\n .join('\\n');\n return new Blob([csvData], { type: 'text/csv' });\n }\n}\n","<div class=\"feature-list__container full-height-container\">\n <v-filter\n #filter\n [title]=\"title\"\n [total]=\"tableTotal\"\n [fields]=\"columns | featureListColumn\"\n [filters]=\"filters\"\n [fulltextFieldName]=\"fulltextFieldName\"\n [showFulltext]=\"showFulltext\"\n [showFilters]=\"showExtendedFilter\"\n [applyLabel]=\"applyLabel\"\n [clearLabel]=\"clearLabel\"\n [buttonType]=\"buttonType\"\n [buttonOutlined]=\"buttonOutlined\"\n >\n <v-action-button-group\n [maxItems]=\"maxVisibleActions\"\n [maxItemsMobile]=\"maxVisibleMobileActions\"\n >\n @if (showAdd) {\n <v-action-button\n [icon]=\"icons.add\"\n label=\"Add\"\n [disabled]=\"!canAdd\"\n (click)=\"addClick.emit()\"\n />\n } @if (showDelete){\n <v-action-button\n [icon]=\"icons.delete\"\n label=\"Delete\"\n [disabled]=\"!canDelete || !selection.length\"\n (click)=\"startDeleteItems()\"\n />\n } @if (showDownload){\n <v-action-button\n [icon]=\"icons.download\"\n label=\"Download\"\n [disabled]=\"!canDownload\"\n (click)=\"startDownload()\"\n />\n }\n </v-action-button-group>\n </v-filter>\n <div class=\"feature-list__table-container full-height-container\">\n <div class=\"full-height-container\">\n <v-table\n #table\n useDatasource\n useFilter\n [filterComponent]=\"filter\"\n class=\"full-height-container\"\n [selectionMode]=\"selectionMode\"\n [tableName]=\"tableName\"\n [autoBind]=\"true\"\n [datasource]=\"datasource\"\n [columns]=\"columns\"\n [extraFilter]=\"extraFilter\"\n [maximumColumnLength]=\"maximumColumnLength\"\n [disableCustomClicks]=\"disableCustomClicks\"\n (selectionChange)=\"selectItems($event)\"\n >\n <ng-content />\n </v-table>\n </div>\n </div>\n</div>\n","import { Directive, Input } from '@angular/core';\nimport { GenericFieldType, GenericFieldTypeType, TableColumnDirective } from '@verisoft/ui-core';\nimport { FEATURE_LIST_COLUMN_PROVIDER, FeatureListColumnDefinition, FeatureListColumnProvider } from '../feature-list-page.model';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-feature-list-column',\n standalone: true,\n providers: [\n {\n provide: FEATURE_LIST_COLUMN_PROVIDER,\n useExisting: FeatureListColumnDirective,\n multi: true,\n },\n ],\n})\nexport class FeatureListColumnDirective<T>\n extends TableColumnDirective<T>\n implements FeatureListColumnProvider<T>\n{\n @Input() filter = false;\n\n @Input() type: GenericFieldTypeType = GenericFieldType.text;\n\n override getDefinition(): FeatureListColumnDefinition<T> {\n const definition = super.getDefinition() as FeatureListColumnDefinition<T>;\n definition.filter = this.filter;\n definition.type = this.type;\n definition.format = this.format;\n return definition;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { defineCustomElements } from \"@gov-design-system-ce/components/loader\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GovInitService {\n constructor() {\n defineCustomElements(window);\n }\n}\n","import { Component } from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ButtonComponent } from \"./../../components\";\n\n@Component({\n selector: 'v-not-authenticated',\n templateUrl: \"./not-authenticated.component.html\",\n imports: [\n GovDesignSystemModule,\n ButtonComponent,\n ]\n})\nexport class NotAuthenticatedComponent { }\n","<gov-error-code>\n <gov-icon type=\"complex\" name=\"card-401\" slot=\"icon\"></gov-icon>\n <p>You are not logged in, please do so.</p>\n <v-button color=\"primary\" size=\"medium\" type=\"solid\" label=\"Login\" [routerLink]=\"['/login']\" />\n</gov-error-code>\n","import { Component } from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ButtonComponent } from \"../../components\";\n\n@Component({\n selector: 'v-not-authorized',\n templateUrl: \"./not-authorized.component.html\",\n imports: [\n GovDesignSystemModule,\n ButtonComponent,\n ]\n})\nexport class NotAuthorizedComponent {\n goBack(): void {\n history.back();\n }\n}\n","<gov-error-code>\n <gov-icon type=\"complex\" name=\"card-403\" slot=\"icon\"></gov-icon>\n <p>You are not authorized to view this content.</p>\n <v-button color=\"primary\" size=\"medium\" type=\"solid\" label=\"Go back\" (click)=\"goBack()\" />\n</gov-error-code>\n","import { Component } from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ButtonComponent } from \"../../components\";\n\n@Component({\n selector: 'v-not-found',\n templateUrl: \"./not-found.component.html\",\n imports: [\n GovDesignSystemModule,\n ButtonComponent\n ]\n})\nexport class NotFoundComponent {\n goBack(): void {\n history.back();\n }\n}\n","<gov-error-code>\n <gov-icon type=\"complex\" name=\"card-404\" slot=\"icon\"></gov-icon>\n <p>The item you are looking for does not exist.</p>\n <v-button color=\"primary\" size=\"medium\" type=\"solid\" label=\"Go back\" (click)=\"goBack()\" />\n</gov-error-code>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","uuidv4","i3","i5"],"mappings":"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"}
1
+ {"version":3,"file":"verisoft-ui-govcz.mjs","sources":["../../../../../src/libs/ui-govcz/src/lib/icons.ts","../../../../../src/libs/ui-govcz/src/lib/components/breadcrumb/breadcrumb.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/breadcrumb/breadcrumb.component.html","../../../../../src/libs/ui-govcz/src/lib/pipes/color/color.pipe.ts","../../../../../src/libs/ui-govcz/src/lib/pipes/multiselect/multiselect-options.pipe.ts","../../../../../src/libs/ui-govcz/src/lib/pipes/size/size.pipe.ts","../../../../../src/libs/ui-govcz/src/lib/components/icon/icon.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/icon/icon.component.html","../../../../../src/libs/ui-govcz/src/lib/components/button/button.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/button/button.component.html","../../../../../src/libs/ui-govcz/src/lib/components/errors/error.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/errors/error.component.html","../../../../../src/libs/ui-govcz/src/lib/components/calendar/calendar.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/calendar/calendar.component.html","../../../../../src/libs/ui-govcz/src/lib/components/checkbox/checkbox.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/checkbox/checkbox.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/confirm-dialog/confirm-dialog.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/confirm-dialog/confirm-dialog.component.html","../../../../../src/libs/ui-govcz/src/lib/components/tooltip/tooltip.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/tooltip/tooltip.component.html","../../../../../src/libs/ui-govcz/src/lib/components/textfield/textfield.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/textfield/textfield.component.html","../../../../../src/libs/ui-govcz/src/lib/components/dropdown/dropdown-item.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/dropdown/dropdown-item.component.html","../../../../../src/libs/ui-govcz/src/lib/components/dropdown/dropdown.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/dropdown/dropdown.component.html","../../../../../src/libs/ui-govcz/src/lib/components/dropdown-button/dropdown-button.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/dropdown-button/dropdown-button.component.html","../../../../../src/libs/ui-govcz/src/lib/components/form-field/form-field.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/form-field/form-field.component.html","../../../../../src/libs/ui-govcz/src/lib/components/header/header.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/header/header.component.html","../../../../../src/libs/ui-govcz/src/lib/components/input-group/input-group.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/input-group/input-group.component.html","../../../../../src/libs/ui-govcz/src/lib/components/loader/loader.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/loader/loader.component.html","../../../../../src/libs/ui-govcz/src/lib/components/multiselect/multiselect.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/multiselect/multiselect.component.html","../../../../../src/libs/ui-govcz/src/lib/components/number-input/number-input.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/number-input/number-input.component.html","../../../../../src/libs/ui-govcz/src/lib/components/page-header/page-header.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/page-header/page-header.component.html","../../../../../src/libs/ui-govcz/src/lib/components/password/password.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/password/password.component.html","../../../../../src/libs/ui-govcz/src/lib/components/radiobutton/radiobutton.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/radiobutton/radiobutton.component.html","../../../../../src/libs/ui-govcz/src/lib/components/search/search.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/search/search.component.html","../../../../../src/libs/ui-govcz/src/lib/components/section/section.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/section/section.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/action-button-group/action-button-group.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/action-button-group/action-button-group.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-field/generic-field.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-field/generic-field.component.html","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-form/generic-form.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-form/generic-form.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/shared-components/generic-form/generic-form.component.html","../../../../../src/libs/ui-govcz/src/lib/components/side-menu/side-menu.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/side-menu/side-menu.component.html","../../../../../src/libs/ui-govcz/src/lib/components/side-menu/side-menu.module.ts","../../../../../src/libs/ui-govcz/src/lib/components/snackbar/snackbar.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/snackbar/snackbar.component.html","../../../../../src/libs/ui-govcz/src/lib/components/snackbar/services/snackbar.service.ts","../../../../../src/libs/ui-govcz/src/lib/components/stepper/stepper.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/stepper/stepper.component.html","../../../../../src/libs/ui-govcz/src/lib/components/switch/switch.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/switch/switch.component.html","../../../../../src/libs/ui-govcz/src/lib/components/tab-view/tab-view-item.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/tab-view/tab-view.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/tab-view/tab-view.component.html","../../../../../src/libs/ui-govcz/src/lib/components/table/table-pagination-info.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/table/table-pagination-info.component.html","../../../../../src/libs/ui-govcz/src/lib/components/table/table.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/table/table.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/table/table.component.html","../../../../../src/libs/ui-govcz/src/lib/components/tag/tag.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/tag/tag.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/tag/tag.component.html","../../../../../src/libs/ui-govcz/src/lib/components/textarea/textarea.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/textarea/textarea.component.html","../../../../../src/libs/ui-govcz/src/lib/components/filter/directives/filter-field.directive.ts","../../../../../src/libs/ui-govcz/src/lib/components/filter/filter.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/filter/filter.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/filter/filter.component.html","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/directives/feature-list-filter-field.directive.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list-filter.pipe.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list-page.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list-page.model.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list.component.ts","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/feature-list.component.html","../../../../../src/libs/ui-govcz/src/lib/components/feature-list/directives/feature-list-column.directive.ts","../../../../../src/libs/ui-govcz/src/lib/init.service.ts","../../../../../src/libs/ui-govcz/src/lib/pages/not-authenticated/not-authenticated.component.ts","../../../../../src/libs/ui-govcz/src/lib/pages/not-authenticated/not-authenticated.component.html","../../../../../src/libs/ui-govcz/src/lib/pages/not-authorized/not-authorized.component.ts","../../../../../src/libs/ui-govcz/src/lib/pages/not-authorized/not-authorized.component.html","../../../../../src/libs/ui-govcz/src/lib/pages/not-found/not-found.component.ts","../../../../../src/libs/ui-govcz/src/lib/pages/not-found/not-found.component.html","../../../../../src/libs/ui-govcz/src/verisoft-ui-govcz.ts"],"sourcesContent":["import { CommonIcons } from '@verisoft/ui-core';\r\n\r\nexport const Icons: CommonIcons = {\r\n add: 'plus-lg',\r\n minus: 'dash',\r\n delete: 'trash',\r\n filter: 'filter',\r\n download: 'upload',\r\n save: 'download',\r\n print: 'print-fill',\r\n edit: 'pencil',\r\n calendar: 'calendar',\r\n settings: 'gear',\r\n house: 'house-door-fill',\r\n chevronRight: 'chevron-right',\r\n chevronDown: 'chevron-down',\r\n chevronLeft: 'chevron-left',\r\n chevronUp: 'chevron-up',\r\n checkbox: 'check-square',\r\n warning: 'exclamation-triangle-fill',\r\n search: 'search',\r\n action: 'bars',\r\n user: 'user',\r\n logout: 'logout',\r\n crossCircle: 'x-circle',\r\n infoCircle: 'info-circle',\r\n cross: 'x-lg',\r\n arrowLeft: 'arrow-left',\r\n arrowRight: 'arrow-right',\r\n questionCircle: 'question-circle',\r\n checkCircle: 'check-circle',\r\n sitemap: 'diagram',\r\n check: 'check-lg',\r\n envelope: 'envelope',\r\n loader: 'loader',\r\n map: 'map-empty',\r\n file: 'file',\r\n folder: 'folder',\r\n arrowCounterclockwise: 'arrow-counterclockwise'\r\n};\r\n","\nimport { Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n BREADCRUMB_COMPONENT_TOKEN,\n BreadcrumbCoreComponent\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\n\n@Component({\n selector: 'v-breadcrumb',\n imports: [\n GovDesignSystemModule,\n RouterModule\n],\n templateUrl: './breadcrumb.component.html',\n styleUrl: './breadcrumb.component.scss',\n providers: [\n {\n provide: BREADCRUMB_COMPONENT_TOKEN,\n useExisting: BreadcrumbComponent\n },\n ]\n})\nexport class BreadcrumbComponent extends BreadcrumbCoreComponent { \n icons = Icons;\n}\n","<div class=\"gov-breadcrums mt-3 mb-3\">\n <gov-breadcrumbs accessible-label=\"gov-breadcrums\">\n <ul>\n @if (useHomeRoute) {\n <li>\n <gov-icon [name]=\"icons.house\" />\n <a [routerLink]=\"'/'\">Home</a>\n </li>\n }\n @if (items) { @for (item of items; track item; let index = $index) {\n <li>\n @if (index > 0 || useHomeRoute) {\n <gov-icon [name]=\"icons.chevronRight\" />\n }\n @if (item.icon) {\n <gov-icon [name]=\"item.icon\" />\n }\n <a [routerLink]=\"item.routerLink\">\n {{ item.label }}\n </a>\n </li>\n } }\n </ul>\n </gov-breadcrumbs>\n </div>\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { ControlSeverity, ControlSeverityType, GovControlSeverity } from \"@verisoft/ui-core\";\n\n@Pipe({\n name: 'govColor',\n standalone: true,\n})\nexport class GovColorPipe implements PipeTransform {\n transform(color: ControlSeverityType | undefined): string | undefined {\n switch (color) {\n case ControlSeverity.danger:\n return GovControlSeverity.error;\n \n case ControlSeverity.info:\n return GovControlSeverity.neutral;\n\n case ControlSeverity.help:\n case ControlSeverity.contrast:\n return GovControlSeverity.primary;\n }\n\n return color;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { GovFormMultiSelectItem } from '@gov-design-system-ce/components';\n\n@Pipe({\n name: 'govMultiselectOptions',\n standalone: true,\n})\nexport class GovMultiselectOptionsPipe implements PipeTransform {\n transform(\n options: any[] | undefined,\n optionLabel?: string,\n optionValue?: string,\n addEmptyOption = false,\n ): GovFormMultiSelectItem[] {\n if (!options?.length) return [];\n\n return this.convertToGovOption(options, addEmptyOption, optionLabel, optionValue);\n }\n\n private convertToGovOption(\n options: any[],\n addEmptyOption: boolean,\n optionLabel?: string,\n optionValue?: string\n ): GovFormMultiSelectItem[] {\n const convertedOptions: GovFormMultiSelectItem[] = [];\n options.forEach((obj) => {\n let stringKey = '';\n let numberKey = '';\n\n if (optionLabel && optionValue) {\n stringKey = optionLabel;\n numberKey = optionValue;\n } else {\n const keys = Object.keys(obj);\n\n keys.forEach((key) => {\n if (typeof obj[key] === 'string') {\n stringKey = key;\n } else if (typeof obj[key] === 'number') {\n numberKey = key;\n }\n });\n }\n\n convertedOptions.push({\n label: obj[stringKey] as string,\n value: (obj[numberKey] as string)?.toString() ?? 'VALUE NOT SET',\n });\n });\n\n if (addEmptyOption) {\n convertedOptions.unshift({\n label: '',\n value: 'null',\n });\n }\n\n return convertedOptions;\n }\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { FieldSize, FieldSizeType } from \"@verisoft/ui-core\";\n\n@Pipe({\n name: 'govSize',\n standalone: true,\n})\nexport class GovSizePipe implements PipeTransform {\n transform(size: FieldSizeType | undefined): string | undefined {\n switch (size) {\n case FieldSize.small:\n return 's';\n case FieldSize.medium:\n case undefined:\n return 'm';\n case FieldSize.large:\n return 'l';\n case FieldSize.xl:\n return 'xl';\n default:\n return size;\n }\n }\n}\n","\nimport { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, input } from '@angular/core';\nimport { ControlSeverity, ControlSeverityType, IconLibraryType, IconsComponent } from '@verisoft/ui-core';\n\n@Component({\n selector: 'v-icon',\n imports: [],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n templateUrl: './icon.component.html',\n styleUrl: './icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class IconComponent extends IconsComponent {\n get govSize(): 's' | 'm' | 'l' | 'xl' {\n switch (this.size()) {\n case 'small':\n return 's';\n case 'large':\n return 'l';\n case 'medium':\n default:\n return 'm';\n }\n }\n\n get govColorClass(): string {\n const severity = this.mapSeverityToGovColor(this.severity());\n return severity ? `text-${severity}` : '';\n }\n\n get govClasses(): string {\n const colorClass = this.govColorClass;\n const customClass = this.class() || '';\n return `${colorClass} ${customClass}`.trim();\n }\n\n get bootstrapSizeClass(): string {\n switch (this.size()) {\n case 'small':\n return 'fs-6';\n case 'medium':\n return 'fs-4';\n case 'large':\n return 'fs-2';\n case 'xl':\n return 'fs-1';\n default:\n return '';\n }\n }\n \n get bootstrapClasses(): string {\n const baseClass = `bi bi-${this.name()}`;\n const sizeClass = this.bootstrapSizeClass;\n const colorClass = this.mapSeverityToBootstrapClass(this.severity());\n const customClass = this.class() || '';\n return `${baseClass} ${sizeClass} ${colorClass} ${customClass}`.trim();\n }\n\n private mapSeverityToGovColor(severity: ControlSeverityType | undefined): string | undefined {\n if (!severity) {\n return undefined;\n }\n\n switch (severity) {\n case ControlSeverity.danger:\n return 'error';\n case ControlSeverity.warning:\n return 'warning';\n case ControlSeverity.success:\n return 'success';\n case ControlSeverity.secondary:\n return 'secondary';\n case ControlSeverity.info:\n return 'neutral';\n case ControlSeverity.help:\n case ControlSeverity.primary:\n case ControlSeverity.contrast:\n return 'primary';\n default:\n return severity as string;\n }\n }\n\n private mapSeverityToBootstrapClass(severity: ControlSeverityType | undefined): string {\n if (!severity) {\n return '';\n }\n\n switch (severity) {\n case ControlSeverity.success:\n return 'text-success';\n case ControlSeverity.danger:\n return 'text-danger';\n case ControlSeverity.warning:\n return 'text-warning';\n case ControlSeverity.info:\n return 'text-info';\n case ControlSeverity.secondary:\n return 'text-secondary';\n case ControlSeverity.help:\n case ControlSeverity.primary:\n case ControlSeverity.contrast:\n return 'text-primary';\n default:\n return `text-${severity}`;\n }\n }\n}\n\n","@if (library() === 'native') {\n <gov-icon \n [name]=\"name()\" \n [size]=\"govSize\"\n [class]=\"govClasses\"\n />\n} @else if (library() === 'bootstrap') {\n <i [class]=\"bootstrapClasses\"></i>\n}\n\n\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from \"@angular/core\";\nimport { Params, RouterModule } from \"@angular/router\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ButtonEvent, GovButtonCustomEvent } from \"@gov-design-system-ce/components\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport {\n BUTTON_COMPONENT_TOKEN,\n ButtonCore,\n IconPositionType,\n IconPosition,\n FieldSize,\n FieldSizeType,\n ControlSeverity,\n ControlSeverityType,\n GovButtonType,\n GovButtonTypeType,\n IconLibraryType,\n} from \"@verisoft/ui-core\";\nimport { GovColorPipe, GovSizePipe } from \"../../pipes\";\nimport { IconComponent } from \"../icon\";\n\n@Component({\n selector: \"v-button\",\n styleUrl: \"./button.component.scss\",\n templateUrl: './button.component.html',\n imports: [\n GovDesignSystemModule, RouterModule, GovSizePipe, GovColorPipe, TranslateModule, IconComponent\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.v-button--expanded]': 'expanded'\n },\n providers: [\n {\n provide: BUTTON_COMPONENT_TOKEN,\n useExisting: ButtonComponent,\n }\n ]\n})\nexport class ButtonComponent\n implements ButtonCore\n{\n @Input() label: string | undefined;\n @Input() icon: string | undefined;\n @Input() library: IconLibraryType = 'native';\n @Input() badge!: string;\n @Input() iconPos: IconPositionType = IconPosition.left;\n @Input() disabled = false;\n @Input() rounded!: boolean;\n @Input() outlined!: boolean;\n @Input() raised!: boolean;\n @Input() routerLink!: any[];\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() queryParams!: Params;\n @Input() severity: ControlSeverityType | undefined = ControlSeverity.primary;\n @Input() type: GovButtonTypeType = GovButtonType.solid;\n @Input() expanded = false;\n @Input() name!: string;\n\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter<any>();\n\n handleClick(event: GovButtonCustomEvent<ButtonEvent> | MouseEvent) {\n if (this.disabled) {\n event.stopPropagation();\n return;\n }\n\n this.click.emit(event);\n }\n}\n","<div class=\"v-button\" [class.v-button--expanded]=\"expanded\">\n <a\n [routerLink]=\"routerLink ? routerLink : undefined\"\n [queryParams]=\"queryParams ? queryParams : undefined\"\n >\n <gov-button\n [type]=\"outlined === true ? 'outlined' : type\"\n [class.v-button--rounded]=\"rounded\"\n [color]=\"severity | govColor\"\n [disabled]=\"disabled\"\n [size]=\"size | govSize\"\n [name]=\"name\"\n [expanded]=\"expanded\"\n (gov-click)=\"handleClick($event)\"\n (click)=\"handleClick($event)\"\n >\n @if (icon) {\n <v-icon \n [name]=\"icon\"\n [library]=\"library\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (label) {\n {{ label | translate }}\n }\n </gov-button>\n </a>\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { Component, inject, Input, } from \"@angular/core\";\nimport { NgControl, ValidationErrors } from \"@angular/forms\";\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { ERROR_PROVIDER_TOKEN } from \"@verisoft/core\";\nimport { SlotPosition, SlotPositionType } from \"@verisoft/ui-core\";\nimport { Observable } from \"rxjs\";\nimport { Icons } from \"../../icons\";\n\n@Component({\n selector: \"v-validation-message\",\n templateUrl: \"./error.component.html\",\n styleUrl: \"./error.component.scss\",\n imports: [CommonModule, GovDesignSystemModule]\n})\nexport class ErrorComponent {\n @Input({ required: true }) ngControl?: NgControl;\n\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom\n\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom\n\n readonly errorService = inject(ERROR_PROVIDER_TOKEN);\n icons = Icons\n\n getErrorMessage(errors: ValidationErrors): Observable<string | undefined> {\n return this.errorService.mapError(errors);\n }\n}","@if (ngControl && ngControl.errors) {\n<gov-form-message \n [slot]=\"errorSlot\" \n color=\"error\"\n>\n {{ getErrorMessage(ngControl.errors) | async }}\n <gov-icon \n [name]=\"icons.warning\" \n slot=\"validation-icon\" />\n</gov-form-message>\n}\n","\nimport { ChangeDetectionStrategy, Component, Input, Optional, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n BaseFormInputComponent,\n CalendarCore,\n CALENDAR_COMPONENT_TOKEN,\n FieldType,\n FieldSizeType,\n FieldSize,\n SlotPosition,\n SlotPositionType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-calendar',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent,\n TranslateModule\n],\n templateUrl: './calendar.component.html',\n styleUrl: './calendar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: CALENDAR_COMPONENT_TOKEN,\n useExisting: CalendarComponent\n }\n ]\n})\n\nexport class CalendarComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, CalendarCore\n{\n @Input() icon!: string;\n\n @Input() floatLabel: string | undefined;\n\n @Input() maxDate!: Date;\n\n @Input() minDate!: Date;\n\n @Input() header!: string;\n\n @Input() footer!: string;\n\n @Input() selectionMode: 'single' | 'multiple' | 'range' | undefined;\n\n @Input() size: FieldSizeType = FieldSize.medium;\n\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom;\n\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n @Input() message!: string;\n\n @Input() name!: string;\n\n type = FieldType.date;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control class=\"mb-3\">\n @if (label) {\n <gov-form-label [slot]=\"labelSlot\" [size]=\"size | govSize\">\n {{ label | translate}}\n </gov-form-label>\n }\n <gov-form-group>\n <gov-form-input\n [formControl]=\"formControl\"\n [attr.input-type]=\"type\"\n [invalid]=\"ngControl?.errors ? true : false\"\n [size]=\"size | govSize\"\n [required]=\"required\"\n [readonly]=\"readonly\"\n [attr.disabled]=\"readonly ? 'true' : 'false'\"\n [name]=\"name\"\n />\n </gov-form-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message }}\n </gov-form-message>\n }\n</gov-form-control>","\nimport {\n ChangeDetectionStrategy,\n Component,\n Optional,\n Self,\n Input,\n input,\n} from \"@angular/core\";\nimport { ControlValueAccessor, NgControl, ReactiveFormsModule } from \"@angular/forms\";\nimport { RouterModule } from \"@angular/router\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport {\n BaseFormInputComponent,\n CHECKBOX_COMPONENT_TOKEN,\n CheckboxCore,\n FieldSize,\n FieldSizeType,\n} from \"@verisoft/ui-core\";\nimport { v4 as uuidv4 } from 'uuid';\nimport { Icons } from \"../../icons\";\nimport { GovSizePipe } from \"../../pipes\";\nimport { ErrorComponent } from \"../errors\";\n\n@Component({\n selector: \"v-checkbox\",\n styleUrl: \"./checkbox.component.scss\",\n templateUrl: './checkbox.component.html',\n imports: [\n GovDesignSystemModule,\n RouterModule,\n ReactiveFormsModule,\n GovSizePipe,\n ErrorComponent,\n TranslateModule\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: CHECKBOX_COMPONENT_TOKEN,\n useExisting: CheckboxComponent,\n }]\n})\nexport class CheckboxComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, CheckboxCore\n{\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() value!: string;\n @Input() name!: string;\n readonly indeterminate = input(false);\n @Input() noLabel = false;\n \n protected readonly icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n id = uuidv4();\n}\n","<gov-form-control class=\"mt-3\">\n <gov-form-checkbox \n [formControl]=\"formControl\"\n [size]=\"size | govSize\"\n [value]=\"value\"\n [required]=\"required\"\n [attr.disabled]=\"disabled ? 'true' : 'false'\"\n [identifier]=\"id\"\n [indeterminate]=\"indeterminate\"\n [name]=\"name\"\n [invalid]=\"ngControl?.errors\"\n [noLabel]=\"noLabel\"\n [disabled]=\"disabled\"\n > \n <gov-form-label\n [size]=\"size\"\n slot=\"label\"\n >\n {{ label ?? '' | translate }}\n </gov-form-label>\n </gov-form-checkbox>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport {\r\n Injectable,\r\n ViewContainerRef,\r\n Type,\r\n ComponentFactoryResolver,\r\n Injector,\r\n ComponentRef,\r\n ComponentFactory,\r\n OnChanges,\r\n SimpleChanges,\r\n SimpleChange,\r\n EventEmitter,\r\n OnDestroy,\r\n} from '@angular/core';\r\nimport { ExtendedComponent } from '@verisoft/ui-core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class DynamicComponentFactoryService implements OnDestroy {\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy(): void {\r\n this.unsubscribeComponentEvents(this);\r\n }\r\n\r\n async createDynamicComponent<TComponent>(\r\n componentType: Type<TComponent>,\r\n viewContainerRef: ViewContainerRef,\r\n inputs: ExtendedComponent<TComponent>,\r\n injector: Injector | undefined = undefined\r\n ) {\r\n const componentFactory =\r\n this.componentFactoryResolver.resolveComponentFactory(componentType);\r\n viewContainerRef.clear();\r\n const component = viewContainerRef.createComponent(\r\n componentFactory,\r\n undefined,\r\n injector\r\n );\r\n this.setComponentDataInt(componentFactory, component, inputs);\r\n this.fireComponentEvents(component.instance, inputs);\r\n return component;\r\n }\r\n\r\n setComponentData<TComponent>(\r\n component: ComponentRef<TComponent>,\r\n inputs: Partial<TComponent>\r\n ) {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(\r\n component.componentType\r\n );\r\n\r\n this.setComponentDataInt(factory, component, inputs);\r\n }\r\n\r\n private unsubscribeComponentEvents<TComponent>(instance: TComponent) {\r\n const subscriptionStoreKey = '__outputSubscriptions__';\r\n const subscriptions = (instance as any)[subscriptionStoreKey] as Map<string, Subscription>;\r\n\r\n if (subscriptions) {\r\n subscriptions.forEach((sub) => sub.unsubscribe());\r\n subscriptions.clear();\r\n }\r\n }\r\n\r\n private fireComponentEvents<TComponent>(\r\n instance: TComponent,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n if (!instance || typeof instance !== 'object') return;\r\n\r\n this.fireInputComponentEvents(instance, inputs);\r\n this.fireOutputComponentEvents(instance, inputs);\r\n }\r\n\r\n private setComponentDataInt<TComponent>(\r\n factory: ComponentFactory<TComponent>,\r\n component: ComponentRef<TComponent>,\r\n inputs: Partial<TComponent>\r\n ) {\r\n if (inputs) {\r\n const propertyNames = factory.inputs.map((x) => x.propName);\r\n const inputsHash = new Set(propertyNames);\r\n Object.keys(inputs)\r\n .filter((x) => inputsHash.has(x))\r\n .forEach((x) => {\r\n (<{ [key: string]: unknown }>component.instance)[x] = (<\r\n { [key: string]: unknown }\r\n >inputs)[x];\r\n });\r\n }\r\n }\r\n\r\n private fireInputComponentEvents<TComponent>(\r\n instance: TComponent,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n const onChangeComponent = instance as unknown as OnChanges;\r\n if (onChangeComponent.ngOnChanges && inputs) {\r\n const changeEventArgs = Object.keys(inputs).reduce((changes: SimpleChanges, key: string) => {\r\n const inputValue = (inputs as { [key: string]: unknown })[key];\r\n changes[key] = new SimpleChange(undefined, inputValue, true);\r\n return changes;\r\n }, {} as SimpleChanges);\r\n\r\n onChangeComponent.ngOnChanges(changeEventArgs);\r\n }\r\n }\r\n\r\n private fireOutputComponentEvents<TComponent>(\r\n instance: TComponent & object,\r\n inputs: ExtendedComponent<TComponent>\r\n ) {\r\n const outputs = Object.keys(inputs).filter((key) => {\r\n const emitter = (instance as Record<string, any>)[key];\r\n return emitter instanceof EventEmitter;\r\n });\r\n\r\n const subscriptionStoreKey = '__outputSubscriptions__';\r\n if (!(subscriptionStoreKey in instance)) {\r\n (instance as any)[subscriptionStoreKey] = new Map<string, Subscription>();\r\n }\r\n const subscriptions = (instance as any)[subscriptionStoreKey] as Map<string, Subscription>;\r\n\r\n for (const outputKey of outputs) {\r\n const eventEmitter = (instance as Record<string, any>)[outputKey] as EventEmitter<any>;\r\n const callback = inputs[outputKey] as (value: any) => void;\r\n\r\n if (eventEmitter && typeof callback === 'function') {\r\n if (subscriptions.has(outputKey)) {\r\n subscriptions.get(outputKey)!.unsubscribe();\r\n }\r\n\r\n const subscription = eventEmitter.subscribe((value: any) => callback(value));\r\n subscriptions.set(outputKey, subscription);\r\n }\r\n }\r\n }\r\n}\r\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n inject,\n Injector,\n Input,\n OnChanges,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ExtendedComponent } from '@verisoft/ui-core';\nimport { DynamicComponentFactoryService } from './dynamic-component-factory.service';\n\n@Component({\n selector: 'v-dynamic-component',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `<ng-container #dynamicContainer></ng-container>`,\n})\nexport class DynamicComponent<TComponent> implements AfterViewInit, OnChanges {\n @Input() componentType!: Type<TComponent>;\n\n @Input() data!: ExtendedComponent<TComponent>;\n\n @ViewChild('dynamicContainer', { read: ViewContainerRef, static: true })\n container!: ViewContainerRef;\n\n private factoryServices = inject(DynamicComponentFactoryService);\n\n private changeDetectorRef = inject(ChangeDetectorRef);\n\n private injector = inject(Injector);\n\n ngOnChanges(): void {\n this.createComponent();\n }\n\n ngAfterViewInit(): void {\n this.createComponent();\n this.changeDetectorRef.detectChanges();\n }\n\n private createComponent() {\n if (this.container) {\n this.factoryServices.createDynamicComponent(\n this.componentType,\n this.container,\n this.data,\n this.injector\n );\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, HostListener, OnInit, inject } from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n CONFIRM_DIALOG_COMPONENT_TOKEN,\n ConfirmDialogCore,\n DialogData,\n DialogService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { takeUntil } from 'rxjs';\nimport { GovColorPipe } from '../../pipes';\nimport { DynamicComponent } from '../shared-components/dynamic-component';\n\n@Component({\n selector: 'v-confirm-dialog',\n imports: [CommonModule, GovDesignSystemModule, GovColorPipe, DynamicComponent],\n templateUrl: './confirm-dialog.component.html',\n styleUrl: './confirm-dialog.component.scss',\n providers: [\n { provide: CONFIRM_DIALOG_COMPONENT_TOKEN, useExisting: ConfirmDialogComponent },\n ],\n // Important: host is needed to capture keyboard events when dialog is open\n host: {\n '(document:keydown)': 'onKeyDown($event)',\n '[attr.tabindex]': 'visible ? \"0\" : null',\n },\n})\nexport class ConfirmDialogComponent\n extends UnsubscribeComponent\n implements OnInit, ConfirmDialogCore\n{\n private readonly dialogService = inject(DialogService);\n private readonly cdr = inject(ChangeDetectorRef);\n\n visible = false;\n protected closable = false;\n data: DialogData = { severity: 'primary', headerIcon: 'info-circle' };\n\n ngOnInit(): void {\n this.dialogService.showEvent\n .pipe(takeUntil(this.destroyed$))\n .subscribe((x: DialogData) => {\n this.data = x;\n this.visible = true;\n this.cdr.detectChanges();\n\n });\n\n this.dialogService.closeEvent\n .pipe(takeUntil(this.destroyed$))\n .subscribe(() => {\n this.data = {};\n this.visible = false;\n this.cdr.detectChanges();\n });\n }\n\n @HostListener('document:keydown', ['$event'])\n onKeyDown(event: KeyboardEvent) {\n if (!this.visible) return;\n\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n this.dialogClick(true);\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n this.dialogClick(false);\n }\n }\n\n protected dialogClick(confirm: boolean) {\n const { confirmButtonFn, cancelButtonFn } = this.data;\n\n if (confirm && confirmButtonFn) {\n confirmButtonFn();\n } else if (!confirm && cancelButtonFn) {\n cancelButtonFn();\n }\n\n this.visible = false;\n this.cdr.detectChanges();\n }\n}","<gov-dialog\n [open]=\"visible\"\n [attr.block-close]=\"data.closable !== undefined ? !data.closable : false\"\n [attr.block-backdrop-close]=\"data.closable !== undefined ? !data.closable : false\" \n [style.--dialog-max-width]=\"data.width\"\n [style.--dialog-max-height]=\"data.height\"\n role=\"dialog\"\n accessible-close-label=\"Close dialog box with more information\"\n (gov-close)=\"data.cancelButtonFn ? dialogClick(false) : (visible = false)\"\n>\n <gov-icon\n type=\"components\"\n [name]=\"data.headerIcon\"\n slot=\"icon\"\n [color]=\"data.severity | govColor\"\n />\n \n <h2 slot=\"title\">{{ data.title ?? 'Title' }}</h2>\n\n @if (data && data.innerHTML) {\n <div [innerHTML]=\"data.innerHTML\"></div>\n } @else if (data.componentType) {\n <v-dynamic-component\n [componentType]=\"data.componentType\"\n [data]=\"$any(data.data)\"\n ></v-dynamic-component>\n }\n\n <gov-button\n color=\"primary\"\n size=\"m\"\n type=\"solid\"\n slot=\"footer\"\n (gov-click)=\"data.confirmButtonFn ? dialogClick(true) : (visible = false)\"\n >\n {{ data.confirmButtonText ?? 'Yes'}}\n </gov-button>\n \n <gov-button\n [ngClass]=\"!data.showCancelButton ? 'd-none' : ''\"\n color=\"primary\"\n size=\"m\"\n type=\"outlined\"\n slot=\"footer\"\n [disabled]=\"!data.showCancelButton\"\n (gov-click)=\"data.cancelButtonFn ? dialogClick(false) : (visible = false)\"\n >\n {{ data.cancelButtonText ?? 'No' }}\n </gov-button>\n</gov-dialog>\n","import { Component, input } from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ControlSeverityType, FieldSizeType, PositionType, TooltipCore } from \"@verisoft/ui-core\";\nimport { GovSizePipe } from \"../../pipes\";\n\n@Component({\n selector: \"v-tooltip\",\n templateUrl: './tooltip.component.html',\n imports: [\n GovDesignSystemModule,\n GovSizePipe\n ]\n})\nexport class TooltipComponent implements TooltipCore {\n color = input<ControlSeverityType | undefined>(undefined);\n position = input<PositionType | undefined>(undefined);\n size = input<FieldSizeType | undefined>(undefined);\n tooltipText = input<string | undefined>(undefined);\n}\n","<gov-tooltip\n class=\"ms-2\"\n [color]=\"color\"\n [size]=\"size() | govSize\"\n [position]=\"position()\"\n [message]=\"tooltipText()\"\n>\n <ng-content></ng-content>\n</gov-tooltip>","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NgControl,\n ReactiveFormsModule,\n Validators,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n TextfieldCore,\n TEXTFIELD_COMPONENT_TOKEN,\n FieldType,\n BaseFormInputComponent,\n FieldSizeType,\n FieldSize,\n IconPositionType,\n IconPosition,\n SlotPositionType,\n SlotPosition,\n FieldTypeType,\n} from '@verisoft/ui-core';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\nimport { TooltipComponent } from '../tooltip';\n@Component({\n selector: 'v-textfield',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n TooltipComponent,\n GovSizePipe,\n TranslateModule,\n ErrorComponent\n],\n templateUrl: './textfield.component.html',\n styleUrl: './textfield.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TEXTFIELD_COMPONENT_TOKEN,\n useExisting: TextfieldComponent,\n },\n ]\n})\nexport class TextfieldComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TextfieldCore, OnInit\n{\n @Input() floatLabel!: boolean;\n @Input() type: FieldTypeType = FieldType.text;\n @Input() minlength = 0;\n @Input() maxlength = 524288;\n @Input() min = -2147483648;\n @Input() max = 2147483647;\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() message!: string;\n @Input() name!: string;\n @Input() role!: string;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n if (ngControl) {\n ngControl.valueAccessor = this;\n }\n }\n\n override ngOnInit(): void {\n super.ngOnInit();\n\n if (!this.formControl && this.ngControl) {\n this.formControl = this.ngControl.control as FormControl;\n }\n\n if (this.formControl && this.type === FieldType.number) {\n this.setMinMaxNumberInputValidators();\n }\n }\n\n private setMinMaxNumberInputValidators(): void {\n if (!this.formControl) {\n return;\n }\n\n const validators = [];\n if (this.min !== undefined && this.min !== null) {\n validators.push(Validators.min(this.min));\n }\n if (this.max !== undefined && this.max !== null) {\n validators.push(Validators.max(this.max));\n }\n\n this.formControl.addValidators(validators);\n this.formControl.updateValueAndValidity({ onlySelf: true, emitEvent: true });\n }\n}\n","<gov-form-control>\n @if (label) {\n <gov-form-label [slot]=\"labelSlot\" [size]=\"size | govSize\">\n {{ label | translate }}\n @if (tooltip) {\n <v-tooltip [tooltipText]=\"tooltip | translate\" />\n }\n </gov-form-label>\n }\n <gov-form-group>\n <gov-form-input [inputType]=\"type\" [formControl]=\"formControl\" [minlength]=\"minlength\" [maxlength]=\"maxlength\"\n [min]=\"min\" [max]=\"max\" [size]='size | govSize' [name]='name' [role]='role' [required]=\"required\"\n [attr.disabled]=\"disabled ? 'true' : 'false'\" [invalid]=\"ngControl?.errors ? true : false\"\n [placeholder]=\"placeholder\">\n @if (icon) {\n <gov-icon [name]=\"icon\" [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\" />\n } @if (prefix) {\n <p slot=\"prefix\">\n {{ prefix }}\n </p>\n } @if (sufix) {\n <p slot=\"sufix\">\n {{ sufix }}\n </p>\n }\n </gov-form-input>\n <v-validation-message [ngControl]=\"ngControl\" />\n @if (message) {\n <gov-form-message [slot]=\"messageSlot\" color=\"neutral\">\n {{ message }}\n </gov-form-message>\n }\n </gov-form-group>\n</gov-form-control>","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DropDownItemData } from './dropdown.model';\n\n@Component({\n selector: 'v-dropdown-item',\n standalone: true,\n templateUrl: './dropdown-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class DropdownItemComponent<T> {\n @Input() item : DropDownItemData<T> | undefined;\n}\n","<li\r\n role=\"option\"\r\n class=\"v-dropdown__item\"\r\n [attr.aria-selected]=\"item?.selected\"\r\n [class.is-active]=\"item?.selected\"\r\n>\r\n {{item?.label}}\r\n</li>","import { ScrollingModule } from '@angular/cdk/scrolling';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n NO_ERRORS_SCHEMA,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n FormControl,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { DEFAULT_PAGE_SIZE, FilterEvent, getValueByPath, LazyLoadEvent } from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n DropdownCore,\n DROPDOWN_COMPONENT_TOKEN,\n FieldSizeType,\n FieldSize,\n} from '@verisoft/ui-core';\nimport { debounceTime, distinctUntilChanged, Subscription } from 'rxjs';\nimport { Icons } from '../../icons';\nimport { ErrorComponent } from '../errors';\nimport { TextfieldComponent } from '../textfield';\nimport { DropdownItemComponent } from './dropdown-item.component';\nimport { DropDownItemData } from './dropdown.model';\n\n@Component({\n selector: 'v-dropdown',\n imports: [\n CommonModule,\n ReactiveFormsModule,\n GovDesignSystemModule,\n ErrorComponent,\n DropdownItemComponent,\n TextfieldComponent,\n ScrollingModule,\n TranslateModule,\n ],\n templateUrl: './dropdown.component.html',\n styleUrl: './dropdown.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: DROPDOWN_COMPONENT_TOKEN,\n useExisting: DropdownComponent,\n },\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class DropdownComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, DropdownCore<T>, OnInit, OnChanges, OnDestroy {\n\n @ViewChild('filterTextField', { static: false }) filterTextField!: ElementRef;\n\n @Input() options: T[] | undefined = [];\n @Input() optionLabel: string | undefined;\n @Input() optionValue: string | undefined;\n @Input() dropdownIcon: string | undefined;\n @Input() floatLabel: string | undefined;\n @Input() lazy!: boolean;\n @Input() filter!: boolean;\n @Input() editable!: boolean;\n @Input() loading!: boolean;\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() showFilter = true;\n @Input() localSearch = true;\n @Input() forceMinWidth = false;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n opened = false;\n icons = Icons;\n selectedItem: DropDownItemData<T> | undefined;\n filterControl = new FormControl('');\n filterSub: Subscription | undefined\n dropdownOptions: DropDownItemData<T>[] | undefined;\n private readonly pageSize = DEFAULT_PAGE_SIZE;\n private lastPage: number | undefined;\n\n get labelClasses() {\n return {\n disabled: this.ngControl?.disabled,\n error: this.ngControl?.invalid\n };\n }\n\n get inputClasses() {\n return {\n 'disabled-input': this.ngControl?.disabled,\n 'error-input': this.ngControl?.invalid\n };\n }\n\n constructor(@Optional() @Self() ngControl: NgControl,\n private changeDetectorRef: ChangeDetectorRef) {\n super(ngControl);\n }\n\n override ngOnInit() {\n super.ngOnInit();\n this.filterSub = this.filterControl.valueChanges.pipe(\n debounceTime(300),\n distinctUntilChanged()\n ).subscribe((value) => {\n this.filterOptions(value);\n });\n }\n\n override writeValue(value: any): void {\n const selectedItem = (value == undefined || value === \"\") ? undefined : (this.dropdownOptions?.find(x => x.value === value)\n ?? { value, label: '', option: undefined as T, selected: false } as unknown as DropDownItemData<T>)\n this.selectItem(selectedItem, false);\n\n this.changeDetectorRef.detectChanges();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes['options'] || changes['loading']) {\n this.dropdownOptions = this.convertToOptions();\n if (this.selectedItem && !this.selectedItem?.item) {\n const item = this.dropdownOptions?.find(x => this.selectedItem?.value === x.value);\n if (item) {\n this.selectItem(item, false);\n }\n }\n }\n\n this.changeDetectorRef.detectChanges();\n }\n\n private convertToOptions(): DropDownItemData<T>[] | undefined {\n return this.options?.map((option) => ({\n label: (this.optionLabel ? getValueByPath(option, this.optionLabel) : option) as unknown as string,\n value: this.optionValue ? getValueByPath(option, this.optionValue) : option as unknown as string,\n item: option,\n selected: false,\n } as DropDownItemData<T>)\n );\n }\n\n ngOnDestroy() {\n this.filterSub?.unsubscribe();\n }\n\n toggleDropdown() {\n if (this.ngControl?.disabled) {\n return;\n }\n\n if (!this.opened) {\n this.openDropdown();\n } else {\n this.closeDropdown();\n }\n }\n\n protected clearSelection(event: MouseEvent) {\n event.stopPropagation();\n this.changed.emit(null);\n this.dropdownOptions = this.dropdownOptions?.map(x => ({ ...x, selected: false })) ?? [];\n this.ngControl?.control?.setValue(null);\n }\n\n private openDropdown() {\n this.opened = true;\n this.setFilterFocus();\n this.showed.emit();\n }\n\n selectItem(option: DropDownItemData<T> | undefined, emitChange: boolean) {\n if (option == undefined) {\n this.selectedItem = undefined;\n this.closeDropdown();\n return;\n }\n\n if (this.selectedItem && this.selectedItem != option) {\n this.selectedItem.selected = false;\n }\n\n option.selected = true;\n this.selectedItem = option;\n\n if (emitChange) {\n if (this.ngControl?.control?.value !== option.value) {\n this.changed.emit(option.value);\n this.ngControl?.control?.setValue(option?.value);\n }\n }\n\n this.closeDropdown();\n }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (!target.closest('v-dropdown')) {\n this.opened = false;\n }\n }\n\n onScroll(index: number) {\n this.loadDataForIndex(index);\n }\n\n onKeyDown(event: KeyboardEvent) {\n if (this.formControl.disabled || this.readonly || this.loading || !this.opened) {\n return;\n }\n\n switch (event.code) {\n case 'ArrowDown':\n break;\n\n case 'ArrowUp':\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n break;\n }\n }\n\n private loadDataForIndex(index: number) {\n if (this.lazy) {\n const currentPage = Math.floor(index / this.pageSize);\n const shouldLazyLoad = currentPage !== this.lastPage;\n if (shouldLazyLoad) {\n this.lastPage = currentPage;\n this.lazyLoad.emit({\n filter: this.createFilterObject(this.filterControl.value),\n offset: currentPage * this.pageSize,\n limit: this.pageSize,\n });\n }\n }\n }\n\n private setFilterFocus() {\n setTimeout(() => {\n this.filterTextField?.nativeElement?.querySelector(\"input\").focus();\n }, 200);\n }\n\n private closeDropdown() {\n this.opened = false;\n }\n\n private filterOptions(value: string | null) {\n if (!this.localSearch) {\n this.filtered.emit({\n filter: !value ? undefined : value,\n });\n }\n\n if (this.lazy) {\n this.loadDataForIndex(0);\n } else {\n const loweredFilterValue = value?.toLocaleLowerCase();\n this.dropdownOptions = !loweredFilterValue ?\n this.convertToOptions()\n : this.convertToOptions()?.filter(x => x.label?.toLocaleLowerCase()?.indexOf(loweredFilterValue) !== -1);\n this.changeDetectorRef.detectChanges();\n }\n }\n\n private createFilterObject(filterValue: string | null): Partial<T> {\n return (this.optionLabel ? { [this.optionLabel]: filterValue } : filterValue) as unknown as Partial<T>\n }\n}\n","<div\n class=\"v-dropdown mb-3\"\n (keydown)=\"onKeyDown($event)\"\n>\n <gov-form-control [disabled]=\"this.ngControl?.disabled\">\n @if (label && !floatLabel) {\n <gov-form-label\n slot=\"top\"\n [ngClass]=\"labelClasses\"\n >\n <span [ngClass]=\"labelClasses\">\n {{ label | translate }}\n @if (tooltip) {\n <v-tooltip [message]=\"tooltip | translate\" />\n }\n </span>\n </gov-form-label>\n }\n <div\n class=\"gov-form-input\"\n [ngStyle]=\"forceMinWidth ? {'min-width': '16rem'} : {}\"\n [ngClass]=\"inputClasses\"\n >\n <div\n class=\"element d-flex gov-form-input-child\"\n [ngClass]=\"labelClasses\"\n (click)=\"toggleDropdown()\"\n >\n <div class=\"v-dropdown__value flex-grow-1 me-1\">{{ selectedItem?.label ?? placeholder }}</div>\n @if (clearable && ngControl?.enabled && selectedItem !== undefined && selectedItem !== null) {\n <gov-icon\n [name]=\"icons.cross\"\n size=\"m\"\n class=\"v-dropdown__clear me-1\"\n color=\"error\"\n (click)=\"clearSelection($event)\"\n />\n }\n @if (loading) {\n <div class=\"v-dropdown__loader\">\n <gov-icon [name]=\"icons.loader\" />\n </div>\n }\n <div class=\"v-dropdown__trigger\">\n <gov-icon [name]=\"opened ? icons.chevronUp : icons.chevronDown\" />\n </div>\n </div>\n </div>\n <div class=\"position-relative\">\n @if (opened) {\n <div class=\"v-dropdown__container\">\n @if (showFilter) {\n <div\n class=\"v-dropdown__filter\"\n #filterTextField\n (keydown)=\"onKeyDown($event)\"\n >\n <v-textfield\n placeholder=\"Search\"\n [formControl]=\"filterControl\"\n iconPos=\"right\"\n [icon]=\"icons.search\"\n />\n </div>\n }\n @if (!dropdownOptions?.length) {\n <div class=\"v-dropdown__no-item\">No option was found.</div>\n } @else {\n <ul\n role=\"listbox\"\n class=\"v-dropdown__list\"\n >\n <cdk-virtual-scroll-viewport\n [itemSize]=\"30\"\n class=\"v-dropdown__scroll\"\n (scrolledIndexChange)=\"onScroll($event)\"\n >\n <v-dropdown-item\n *cdkVirtualFor=\"let option of dropdownOptions;\"\n [item]=\"option\"\n (click)=\"selectItem(option, true)\"\n />\n </cdk-virtual-scroll-viewport>\n </ul>\n }\n </div>\n }\n </div>\n <v-validation-message [ngControl]=\"ngControl\" />\n </gov-form-control>\n</div>\n","import { Component, input, output } from \"@angular/core\";\r\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\r\nimport { DropdownButtonCore, DROPDOWN_BUTTON_COMPONENT_TOKEN, ButtonCore, ControlSeverityType, ControlSeverity, FieldSizeType, MenuItem, GovButtonTypeType, GovButtonType } from \"@verisoft/ui-core\";\r\nimport { ButtonComponent } from \"../button\";\r\n\r\n@Component({\r\n selector: 'v-dropdown-button',\r\n templateUrl: './dropdown-button.component.html',\r\n imports: [ GovDesignSystemModule, ButtonComponent],\r\n providers: [\r\n { provide: DROPDOWN_BUTTON_COMPONENT_TOKEN, useExisting: DropdownButtonComponent }\r\n ]\r\n})\r\n export class DropdownButtonComponent implements DropdownButtonCore {\r\n label = input<string | undefined>();\r\n icon = input<string | undefined>();\r\n rounded = input<boolean | undefined>(false);\r\n raised = input<boolean | undefined>(false);\r\n outlined = input<boolean | undefined>(false);\r\n severity = input<ControlSeverityType | undefined>(ControlSeverity.primary);\r\n size = input<FieldSizeType | undefined>();\r\n type = input<GovButtonTypeType>(GovButtonType.solid);\r\n items = input<MenuItem[] | undefined>(undefined);\r\n\r\n fireClick = output<MenuItem>();\r\n\r\n fireClickItem(item: MenuItem): void {\r\n if (item.command) {\r\n item.command();\r\n } else {\r\n this.fireClick.emit(item);\r\n }\r\n }\r\n }","<gov-dropdown position=\"left\">\r\n <v-button\r\n [label]=\"label()\"\r\n [icon]=\"icon()\"\r\n [rounded]=\"rounded() ?? false\"\r\n [outlined]=\"outlined() ?? false\"\r\n [raised]=\"raised() ?? false\"\r\n [severity]=\"severity()\"\r\n [type]=\"type()\"\r\n [size]=\"size()\"\r\n />\r\n \r\n @if (items()?.length) {\r\n <ul slot=\"list\">\r\n @for (item of items(); track item.id) {\r\n <li>\r\n <v-button\r\n class=\"w-100\"\r\n [label]=\"item.label\"\r\n [icon]=\"item.icon\"\r\n [severity]=\"$any('normal')\"\r\n [size]=\"'medium'\"\r\n [type]=\"type()\"\r\n (click)=\"fireClickItem(item)\"\r\n />\r\n </li>\r\n }\r\n </ul>\r\n }\r\n </gov-dropdown>\r\n ","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n BaseFormInputComponent,\n FieldSize,\n FieldSizeType,\n FieldType,\n IconPositionType,\n IconPosition,\n FormFieldCore,\n FORM_FIELD_COMPONENT_TOKEN,\n FieldTypeType,\n SlotPosition,\n SlotPositionType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-form-field',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent\n],\n templateUrl: './form-field.component.html',\n styleUrl: './form-field.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FORM_FIELD_COMPONENT_TOKEN,\n useExisting: FormFieldComponent,\n },\n ]\n})\nexport class FormFieldComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, FormFieldCore\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() floatLabel!: boolean;\n @Input() type: FieldTypeType = FieldType.text;\n @Input() minlength = 0;\n @Input() maxlength = 524288;\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() message!: string;\n @Input() name! : string;\n @Input() role! : string;\n @Input() autocorrect: 'on' | 'off' = 'on';\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() display!: 'flex' | 'block';\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n icons = Icons;\n}\n","<gov-form-control>\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n }\n <gov-form-group>\n <ng-content />\n </gov-form-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>","import { AsyncPipe, CommonModule } from \"@angular/common\";\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n inject,\n Input,\n TemplateRef,\n} from \"@angular/core\";\nimport { Router, RouterModule } from \"@angular/router\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { HasPermissionDirective } from \"@verisoft/security-core\";\nimport {\n HEADER_COMPONENT_TOKEN,\n HeaderCore,\n MenuItem,\n SideMenuService,\n} from \"@verisoft/ui-core\";\nimport { Icons } from \"../../icons\";\n\n@Component({\n selector: \"v-header\",\n styleUrl: \"./header.component.scss\",\n templateUrl: './header.component.html',\n imports: [\n CommonModule,\n GovDesignSystemModule,\n AsyncPipe,\n RouterModule,\n HasPermissionDirective,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: HEADER_COMPONENT_TOKEN,\n useExisting: HeaderComponent\n }\n ]\n})\nexport class HeaderComponent\n implements HeaderCore {\n\n @Input() title!: string;\n\n @Input() userName!: string;\n\n @Input() userAvatar!: string;\n\n @Input() logoUrl!: string;\n\n @Input() userRole!: any;\n\n @Input() menuRef!: HTMLDivElement;\n\n @Input() items: MenuItem[] = [];\n\n @Input() fixed: boolean = true;\n\n @ContentChild('action', { static: false })\n actionTemplate!: TemplateRef<{ $implicit: any }>;\n\n protected icons = Icons;\n protected menuVisible = false;\n private openedIndexes: number[] = [];\n\n protected readonly tabsService = inject(SideMenuService);\n private readonly router = inject(Router);\n\n toggleMenu() {\n this.menuVisible = !this.menuVisible;\n }\n\n protected canRedirect(url?: string, canRedirect?: boolean) {\n if (url && canRedirect) {\n this.router.navigateByUrl(url);\n }\n }\n\n protected showOrHide(index: number, children?: number): void {\n if (children === 0) {\n return;\n }\n\n if (!this.openedIndexes.includes(index)) {\n this.openedIndexes = [...[], index];\n } else if (this.openedIndexes.includes(index)) {\n this.openedIndexes = this.openedIndexes.filter(x => x !== index);\n }\n }\n\n protected canBeShown(index: number) {\n return this.openedIndexes.includes(index);\n }\n}\n","<header class=\"gov-header\">\n <div class=\"gov-header__divider\">\n <div class=\"gov-header__content\">\n <gov-flex\n justify-content=\"space-between\"\n align-items=\"center\"\n responsive=\"false\"\n >\n <a\n href=\"/\"\n class=\"gov-header__logo\"\n aria-label=\"Zpět na úvodní stránku\"\n >\n <gov-flex\n align-items=\"center\"\n gap=\"s\"\n responsive=\"false\"\n >\n @if (logoUrl) {\n <img\n class=\"gov-header__logo-img\"\n src=\"{{ logoUrl }}\"\n width=\"125px\"\n height=\"43px\"\n alt=\"GAČR Logo\"\n >\n }\n </gov-flex>\n </a>\n </gov-flex>\n <gov-flex\n class=\"gov-header__action\"\n justify-content=\"space-between\"\n align-items=\"center\"\n gap=\"s\"\n >\n <gov-button\n color=\"primary\"\n size=\"m\"\n type=\"base\"\n >{{ userName }}</gov-button>\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"\n this.actionTemplate;\n \"></ng-container>\n </gov-flex>\n </div>\n </div>\n <div class=\"gov-header__navigation\">\n <nav\n class=\"gov-navigation\"\n aria-label=\"Main navigation\"\n id=\"main-navigation\"\n >\n <ul>\n @for (tab of tabsService.menuItems$ | async; track tab; let index = $index) {\n <li\n *hasPermission=\"tab.data?.permissions ?? []\"\n class=\"gov-navigation--has-megamenu\"\n >\n <gov-button\n type=\"base\"\n color=\"primary\"\n size=\"l\"\n [attr.aria-label]=\"tab.label\"\n (gov-click)=\"\n showOrHide(index, tab.children?.length ?? 0);\n canRedirect(tab.url, !tab.children?.length)\n \"\n >\n {{ tab.label }}\n @if (tab.children?.length) {\n <gov-icon\n slot=\"icon-end\"\n size=\"s\"\n [name]=\"canBeShown(index) ? 'chevron-up' : 'chevron-down'\"\n ></gov-icon>\n }\n </gov-button>\n @if (canBeShown(index)) {\n <ul\n id=\"megamenu{{index}}\"\n class=\"gov-mega-menu gov-header__submenu\"\n [attr.aria-hidden]=\"canBeShown(index)\"\n >\n @for (child of tab.children; track child) {\n <li\n *hasPermission=\"child.data?.permissions ?? []\"\n class=\"gov-mega-menu__heading\"\n >\n <a\n [routerLink]=\"child.url\"\n (click)=\"showOrHide(index)\"\n >\n @if (child.icon) {\n <gov-icon\n [name]=\"child.icon\"\n size=\"m\"\n ></gov-icon>\n }\n <span>{{ child.label }}</span>\n </a>\n @if (child.children) { @for(miniChild of child.children; track miniChild) {\n <ul>\n <li *hasPermission=\"miniChild.data?.permissions ?? []\">\n <a\n [routerLink]=\"miniChild.url\"\n (click)=\"showOrHide(index)\"\n >{{ miniChild.label }}</a>\n </li>\n </ul>\n } }\n </li>\n }\n </ul>\n }\n </li>\n }\n </ul>\n </nav>\n </div>\n</header>","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n BaseFormInputComponent,\n INPUT_GROUP_COMPONENT_TOKEN,\n InputGroupCore,\n InputGroupItem,\n FieldSizeType,\n FieldSize,\n IconPositionType,\n IconPosition,\n SlotPositionType,\n SlotPosition,\n FieldTypeType,\n FieldType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-input-group',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent\n],\n templateUrl: './input-group.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: INPUT_GROUP_COMPONENT_TOKEN,\n useExisting: InputGroupComponent,\n },\n ]\n})\nexport class InputGroupComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, InputGroupCore\n{\n @Input() floatLabel!: boolean;\n @Input() type: FieldTypeType = FieldType.text;\n @Input() minlength = 0;\n @Input() items!: InputGroupItem[];\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() maxlength = 524288;\n @Input() name! : string;\n @Input() role! : string;\n @Input() message! : string;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n icons = Icons;\n \n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control>\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n }\n @if(prefix) {\n <gov-icon\n [name]=\"name\"\n />\n }\n <gov-form-input \n input-type=\"input-type\"\n [formControl]=\"formControl\"\n [minlength]=\"minlength\" \n [maxlength]=\"maxlength\" \n [size]='size | govSize' \n [name]='name' \n [role]='role'\n [required]=\"required\"\n [readonly]=\"readonly\"\n [invalid]=\"ngControl?.errors ? true : false\"\n />\n @if(sufix) {\n <gov-icon\n [name]=\"name\"\n />\n }\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message }}\n </gov-form-message>\n }\n</gov-form-control>\n","\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { \n LOADER_COMPONENT_TOKEN, \n LoaderCore,\n FieldSize,\n FieldSizeType,\n} from '@verisoft/ui-core';\nimport { GovSizePipe } from '../../pipes';\n\n@Component({\n selector: 'v-loader',\n imports: [\n GovDesignSystemModule,\n GovSizePipe\n],\n templateUrl: './loader.component.html',\n styleUrl: './loader.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: LOADER_COMPONENT_TOKEN,\n useExisting: LoaderComponent,\n }\n ]\n})\nexport class LoaderComponent \n implements LoaderCore \n{\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() message!: string;\n}","<div style=\"min-height: 300px;\">\n <gov-loading\n [size]=\"size | govSize\"\n >\n {{ message }}\n </gov-loading>\n</div>","\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Optional,\n Output,\n Self,\n SimpleChanges,\n inject,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n FilterEvent,\n LazyLoadEvent,\n} from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n MULTISELECT_COMPONENT_TOKEN,\n MultiselectCore,\n FieldSize,\n FieldSizeType,\n SlotPosition,\n SlotPositionType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovMultiselectOptionsPipe, GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-multiselect',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n GovMultiselectOptionsPipe,\n ErrorComponent\n],\n templateUrl: './multiselect.component.html',\n styleUrl: './multiselect.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MULTISELECT_COMPONENT_TOKEN,\n useExisting: MultiselectComponent,\n },\n ]\n})\nexport class MultiselectComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, OnChanges, MultiselectCore<T>\n{\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n @Input() options: T[] | undefined = [];\n @Input() optionLabel!: string | undefined;\n @Input() optionValue!: string | undefined;\n @Input() dropdownIcon: string | undefined;\n @Input() floatLabel: string | undefined;\n @Input() editable = true;\n @Input() display!: 'flex' | 'block';\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom;\n @Input() lazy!: boolean;\n @Input() filter!: boolean;\n @Input() loading = false;\n @Input() size: FieldSizeType = FieldSize.medium;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n icons = Icons;\n\n lazyLoadOptions: LazyLoadEvent = {\n limit: 50,\n offset: 0,\n };\n\n cdRef = inject(ChangeDetectorRef);\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['options'] && !changes['options'].firstChange) {\n this.cdRef.detectChanges();\n }\n }\n\n onLazyLoad(event: any): void {\n if (this.options && this.options.length - event.last <= 0) {\n this.lazyLoadOptions.offset = event.last;\n this.lazyLoad.emit(this.lazyLoadOptions);\n }\n }\n\n selectionChange(event: any): void {\n this.cleared.emit(event);\n }\n\n onDropdownShow(): void {\n this.showed.emit();\n }\n\n onDropdownClear(): void {\n this.cleared.emit();\n }\n}\n","<gov-form-control>\n <gov-form-label \n [slot]=\"label\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n <gov-form-multi-select\n [size]=\"size | govSize\"\n [formControl]=\"formControl\"\n [required]=\"required\"\n [invalid]=\"ngControl && ngControl.errors\"\n [options]=\"options | govMultiselectOptions : optionLabel : optionValue\"\n [placeholder]=\"placeholder ?? ''\"\n (gov-focus)=\"onDropdownShow()\"\n (gov-remove)=\"onDropdownClear()\"\n (gov-change)=\"selectionChange($event)\"\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\n />\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n NumberInputCore,\n NUMBER_INPUT_COMPONENT_TOKEN,\n FieldType,\n BaseFormInputComponent,\n FieldSizeType,\n FieldSize,\n IconPositionType,\n IconPosition,\n SlotPositionType,\n SlotPosition,\n FieldTypeType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n@Component({\n selector: 'v-number-input',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent\n],\n templateUrl: './number-input.component.html',\n styleUrl: './number-input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NUMBER_INPUT_COMPONENT_TOKEN,\n useExisting: NumberInputComponent,\n },\n ]\n})\n\nexport class NumberInputComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, NumberInputCore\n{ \n @Input() mode!: string;\n @Input() currency!: string;\n @Input() min!: number;\n @Input() max!: number;\n @Input() step = 1;\n @Input() floatLabel!: boolean;\n @Input() type: FieldTypeType = FieldType.number;\n @Input() minlength = 0;\n @Input() maxlength = 524288;\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() message!: string;\n @Input() name! : string;\n @Input() role! : string;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() errorSlot: SlotPositionType = SlotPosition.bottom;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control>\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n }\n <gov-form-group>\n <gov-form-input \n [attr.input-type]=\"type\"\n [formControl]=\"formControl\"\n [minlength]=\"minlength\" \n [maxlength]=\"maxlength\" \n [size]='size | govSize' \n [name]='name' \n [role]='role'\n [required]=\"required\"\n [readonly]=\"readonly\"\n [invalid]=\"ngControl?.errors ? true : false\"\n >\n @if (icon) {\n <gov-icon\n [name]=\"icon\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (prefix) {\n <p slot=\"prefix\">\n {{ prefix }}\n </p>\n } @if (sufix) {\n <p slot=\"sufix\">\n {{ sufix }}\n </p>\n }\n </gov-form-input>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message }}\n </gov-form-message>\n }\n </gov-form-group>\n</gov-form-control>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n} from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { PageHeaderCore } from '@verisoft/ui-core';\n\n@Component({\n selector: 'v-page-header',\n imports: [\n GovDesignSystemModule,\n TranslateModule\n],\n templateUrl: './page-header.component.html',\n styleUrl: './page-header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageHeaderComponent implements PageHeaderCore {\n @Input() title = '';\n\n @Input() subtitle: string | undefined;\n\n @Input() showBackButton: boolean | undefined;\n}\n","<div class=\"d-flex gap-3 align-items-center\">\n <h2>{{ title | translate }}</h2>\n</div>","\nimport { ChangeDetectionStrategy, Component, Input, Optional, Self } from '@angular/core';\nimport { ControlValueAccessor, NgControl, ReactiveFormsModule } from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { \n BaseFormInputComponent,\n FieldType,\n PASSWORD_COMPONENT_TOKEN,\n PasswordCore,\n SlotPosition,\n SlotPositionType,\n IconPosition,\n IconPositionType,\n FieldSize,\n FieldSizeType,\n PasswordStrength,\n} from '@verisoft/ui-core';\nimport zxcvbn from 'zxcvbn';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: 'v-password',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent\n],\n templateUrl: './password.component.html',\n styleUrl: './password.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: PASSWORD_COMPONENT_TOKEN,\n useExisting: PasswordComponent\n }\n ]\n})\n\nexport class PasswordComponent \n extends BaseFormInputComponent\n implements ControlValueAccessor, PasswordCore \n{\n @Input() toggleMask = true;\n @Input() feedback = false;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() requiredStrength: PasswordStrength = PasswordStrength.None;\n @Input() message!: string;\n @Input() name! : string;\n @Input() role! : string;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n\n icons = Icons;\n passwordStrength: PasswordStrength = PasswordStrength.None;\n type = FieldType.password;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n\n valueChange(value: string) {\n if (!value) {\n this.passwordStrength = 0;\n return;\n }\n\n const result = zxcvbn(value);\n this.passwordStrength = result.score;\n\n if (!this.formControl) {\n return;\n }\n\n if (result.score < this.requiredStrength) {\n this.formControl.setErrors({passwordLowStrength: true}, {emitEvent: false})\n }\n }\n}\n","<gov-form-control class=\"mb-3\">\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label }}\n </gov-form-label>\n }\n <gov-form-group>\n @if (feedback) {\n <gov-form-password-power [power]=\"passwordStrength - 1\" />\n }\n <gov-form-input\n [formControl]=\"formControl\"\n [attr.input-type]=\"type\"\n [placeholder]=\"placeholder\"\n [invalid]=\"ngControl?.errors\"\n (ngModelChange)=\"valueChange($event)\"\n />\n </gov-form-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message }}\n </gov-form-message>\n }\n</gov-form-control>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n BaseFormInputComponent,\n FieldSize,\n FieldSizeType,\n RADIOBUTTON_COMPONENT_TOKEN,\n RadiobuttonCore,\n RadioButtonItem,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n\n@Component({\n selector: \"v-radiobutton\",\n styleUrl: \"./radiobutton.component.scss\",\n templateUrl: './radiobutton.component.html',\n imports: [\n GovDesignSystemModule,\n RouterModule,\n ReactiveFormsModule,\n GovSizePipe,\n ErrorComponent\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: RADIOBUTTON_COMPONENT_TOKEN,\n useExisting: RadioButtonComponent,\n },\n ]\n})\n\nexport class RadioButtonComponent<T>\n extends BaseFormInputComponent\n implements ControlValueAccessor, RadiobuttonCore<T>\n{\n @Input() radioGroupName = Math.random().toString();\n @Input() items: RadioButtonItem<T>[] = [];\n @Input() size: FieldSizeType = FieldSize.medium;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control>\n <gov-form-radio-group [formControl]=\"formControl\">\n @if (items) { @for(item of items; track item) {\n <gov-form-radio\n [size]=\"size | govSize\"\n [value]=\"item.value\"\n [required]=\"required\"\n [identifier]=\"item.id\"\n [name]=\"radioGroupName\"\n [invalid]=\"ngControl?.errors\"\n [disabled]=\"formControl.disabled\"\n >\n <gov-form-label\n [size]=\"size | govSize\"\n slot=\"label\"\n >\n {{ label }}\n </gov-form-label>\n </gov-form-radio>\n } }\n </gov-form-radio-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { FieldSizeType, FieldSize } from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\n\n@Component({\n selector: 'v-search',\n imports: [\n GovDesignSystemModule,\n GovSizePipe,\n ReactiveFormsModule\n],\n templateUrl: './search.component.html',\n styleUrl: './search.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SearchComponent {\n\n @Input() placeholder!: string;\n\n @Input() size: FieldSizeType = FieldSize.medium;\n\n @Output() searchTerm = new EventEmitter<string>();\n\n value!: string;\n\n icons = Icons\n\n setValue(event: any) {\n this.value = event.detail.value;\n }\n\n search() {\n this.searchTerm.emit(this.value);\n }\n}\n","<gov-form-control>\n <gov-form-group>\n <gov-form-search color=\"neutral\">\n <gov-form-input \n [placeholder]=\"placeholder\"\n [size]=\"size | govSize\"\n slot=\"input\"\n (gov-input)=\"setValue($event)\"\n />\n <gov-button\n [size]=\"size | govSize\"\n color=\"primary\"\n type=\"solid\"\n slot=\"button\"\n (gov-click)=\"search()\"\n >\n <gov-icon\n [name]=\"icons.search\"\n />\n </gov-button>\n </gov-form-search>\n </gov-form-group>\n</gov-form-control>","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n NO_ERRORS_SCHEMA,\n} from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n FieldSizeType,\n FieldSize,\n SECTION_COMPONENT_TOKEN,\n SectionCore,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\n\n@Component({\n selector: 'v-section',\n imports: [\n GovDesignSystemModule,\n GovSizePipe,\n TranslateModule\n],\n templateUrl: './section.component.html',\n styleUrl: './section.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: SECTION_COMPONENT_TOKEN,\n useExisting: SectionComponent,\n },\n ],\n schemas: [\n NO_ERRORS_SCHEMA\n ]\n})\nexport class SectionComponent\n implements SectionCore\n{\n @Input() title!: string;\n @Input() badge!: string;\n @Input() showContent = false;\n @Input() backgroundColor!: string;\n @Input() annotation!: string;\n @Input() identifier!: string;\n @Input() icon!: string;\n @Input() iconType!: string;\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() badgeSlot: 'prefix' | 'sufix' = 'sufix';\n @Input() open = false;\n\n icons = Icons;\n}\n","<gov-accordion>\n <gov-accordion-item \n [size]=\"size | govSize\"\n [identifier]=\"identifier\"\n [open]=\"open\"\n >\n @if (icon) {\n <gov-icon\n [name]=\"icons.chevronDown\"\n />\n } @if (title) {\n <h2 slot=\"label\">{{ title | translate }}</h2>\n } @if (badge) {\n <gov-badge \n inverse=\"true\"\n size=\"s\"\n [slot]=\"badgeSlot\"\n >\n {{ badge }}\n </gov-badge>\n } @if (annotation) {\n <p slot=\"annotation\">{{ annotation | translate }}</p>\n }\n <ng-content></ng-content>\n </gov-accordion-item>\n</gov-accordion>","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n inject,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport {\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n ActionButton,\n ActionButtonGroupCore,\n ControlSeverityType,\n FieldSizeType,\n} from '@verisoft/ui-core';\nimport { Observable, Subject } from 'rxjs';\nimport { Icons } from '../../../../../icons';\nimport { ButtonComponent } from '../../../../button';\n\n@Component({\n selector: 'v-action-button',\n imports: [ButtonComponent],\n templateUrl: './action-button.component.html',\n styleUrl: './action-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ActionButtonComponent implements ActionButton, OnChanges {\n @Input() disabled = false;\n @Input() toolTip?: string;\n @Input() id?: string;\n @Input() icon?: string;\n @Input() outlined = false;\n @Input() raised = false;\n @Input() severity?: ControlSeverityType;\n @Input() label?: string;\n @Input() size?: FieldSizeType;\n // eslint-disable-next-line @angular-eslint/no-output-native\n @Output() click = new EventEmitter<MouseEvent>();\n\n icons = Icons\n\n private propertyChangeSubject = new Subject();\n\n propertyChanged: Observable<unknown> =\n this.propertyChangeSubject.asObservable();\n\n buttonGroup: ActionButtonGroupCore | null = inject<ActionButtonGroupCore>(\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n {\n optional: true,\n }\n );\n\n ngOnChanges(changes: SimpleChanges): void {\n const isValueChange = Object.keys(changes).some(\n (x) => !changes[x].firstChange\n );\n if (isValueChange) {\n this.propertyChangeSubject.next(null);\n }\n }\n\n handleClick(event: MouseEvent) {\n event.stopPropagation();\n this.click.emit(event);\n }\n}\n","<v-button\n [label]=\"label\"\n [disabled]=\"disabled\"\n [icon]=\"icon\"\n [outlined]=\"outlined\"\n tooltipPosition=\"bottom\"\n [size]=\"size\"\n [severity]=\"severity\"\n (click)=\"handleClick($event)\"\n/>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n ActionButton,\n ActionButtonGroupCore,\n IconPositionType,\n MenuItem,\n queryListChanged,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport {\n combineLatestWith,\n takeUntil,\n} from 'rxjs';\nimport { Icons } from '../../../icons';\nimport { DropdownButtonComponent } from '../../dropdown-button';\nimport { ActionButtonComponent } from './components/action-button/action-button.component';\n\n@Component({\n selector: 'v-action-button-group',\n imports: [ActionButtonComponent, DropdownButtonComponent],\n templateUrl: './action-button-group.component.html',\n styleUrl: './action-button-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: ACTION_BUTTON_GROUP_COMPONENT_TOKEN,\n useExisting: ActionButtonGroupComponent,\n },\n ]\n})\nexport class ActionButtonGroupComponent\n extends UnsubscribeComponent\n implements AfterContentInit, ActionButtonGroupCore {\n @ContentChildren(ActionButtonComponent)\n actions!: QueryList<ActionButtonComponent>;\n\n @Input() maxItems = 3;\n\n @Input() maxItemsMobile = 0;\n\n @Input() items: ActionButton[] = [];\n\n @Input() menuIconPos: IconPositionType = 'right';\n\n @Input() menuIcon = Icons.action;\n\n @Input() label?: string;\n\n @Input() icon?: string;\n\n icons = Icons;\n allItems: ActionButton[] = [];\n visibleActions: ActionButton[] = [];\n menuItems: MenuItem[] = [];\n\n constructor(\n private readonly changeDetectorRef: ChangeDetectorRef,\n readonly screenSizeService: ScreenSizeService\n ) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.subscribeItemChange();\n }\n\n fireClick(item: ActionButton, event: MouseEvent) {\n event.stopPropagation();\n item.click.emit();\n }\n\n private subscribeItemChange(): void {\n const screenResize$ = this.screenSizeService.isMobileBlock;\n\n const actions$ = queryListChanged(this.actions);\n\n screenResize$\n .pipe(takeUntil(this.destroyed$), combineLatestWith(actions$))\n .subscribe(([isMobile, actions]) => {\n this.computeItems(actions, isMobile);\n });\n }\n\n private computeItems(actions: ActionButton[], isMobile: boolean) {\n const allItems = [...(this.items ?? []), ...actions];\n const maxItems = isMobile ? this.maxItemsMobile : this.maxItems;\n this.visibleActions = allItems.slice(0, maxItems);\n this.menuItems = allItems.slice(maxItems).map(this.convertToMenuItem);\n this.changeDetectorRef.detectChanges();\n }\n\n private convertToMenuItem(item: ActionButton): MenuItem {\n return {\n label: item.label,\n icon: item.icon,\n command: () => {\n item.click.emit();\n },\n };\n }\n}\n","<div\n class=\"v-action-button-group align-items-center justify-content-center justify-content-md-end\"\n>\n <div class=\"v-action-button-group__actions d-flex gap-2\">\n @for (action of visibleActions; track action) {\n <v-action-button\n [disabled]=\"action.disabled\"\n [icon]=\"action.icon\"\n [id]=\"action.id\"\n [outlined]=\"action.outlined\"\n [raised]=\"action.raised\"\n [toolTip]=\"action.toolTip || action.label\"\n [severity]=\"action.severity\"\n [size]=\"action.size\"\n (click)=\"fireClick(action, $event)\"\n ></v-action-button>\n } @if (actions.length > visibleActions.length) {\n <v-dropdown-button\n [label]=\"label\"\n [icon]=\"menuIcon\"\n [items]=\"menuItems\"\n />\n }\n </div>\n</div>\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport {\n DatasourceType,\n FilterEvent,\n LazyLoadEvent,\n} from '@verisoft/core';\nimport {\n BaseFormInputComponent,\n DatasourceDirective,\n FieldSize,\n FieldSizeType,\n GENERIC_FIELD_COMPONENT_TOKEN,\n GenericFieldCore,\n GenericFieldType,\n GenericFieldTypeType,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../../icons';\nimport { CalendarComponent } from '../../calendar';\nimport { CheckboxComponent } from '../../checkbox';\nimport { DropdownComponent } from '../../dropdown';\nimport { MultiselectComponent } from '../../multiselect';\nimport { TextfieldComponent } from '../../textfield';\n\n@Component({\n selector: 'v-generic-field',\n imports: [\n DropdownComponent,\n CalendarComponent,\n MultiselectComponent,\n TextfieldComponent,\n ReactiveFormsModule,\n CheckboxComponent,\n DatasourceDirective\n],\n providers: [\n {\n provide: GENERIC_FIELD_COMPONENT_TOKEN,\n useExisting: GenericFieldComponent,\n },\n ],\n templateUrl: './generic-field.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GenericFieldComponent<T>\n extends BaseFormInputComponent\n implements GenericFieldCore<T>\n{\n @Input() type?: GenericFieldTypeType = GenericFieldType.text;\n\n @Input() floatLabel?: boolean;\n\n @Input() optionLabel: string | undefined;\n\n @Input() optionValue: string | undefined;\n\n @Input() options: T[] | undefined;\n\n @Input() size?: FieldSizeType = FieldSize.medium;\n\n @Input() loading = false;\n\n @Input() lazy = false;\n\n @Input() filter = true;\n\n @Input() datasource?: DatasourceType<T>\n\n @Input() filterField?: string;\n\n @Input() showFilter?: boolean;\n\n @Input() localSearch?: boolean;\n\n @Output() changed = new EventEmitter<any>();\n @Output() showed = new EventEmitter<any>();\n @Output() cleared = new EventEmitter<any>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() filtered = new EventEmitter<FilterEvent>();\n\n fieldTypes = GenericFieldType;\n icons = Icons;\n}\n","@if (!type || type === fieldTypes.text) {\n<v-textfield\n [label]=\"label\"\n [floatLabel]=\"floatLabel === true\"\n [size]=\"size\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.dropdown && !datasource) {\n<v-dropdown\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [forceMinWidth]=\"true\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/> \n} @else if (type === fieldTypes.dropdown && datasource) {\n <v-dropdown\n useDatasource\n [forceMinWidth]=\"true\"\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n [showFilter]=\"showFilter ?? false\"\n [filterField]=\"filterField ?? 'fulltext'\"\n [localSearch]=\"localSearch ?? false\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n />\n} @else if (type === fieldTypes.multiselect && !datasource) {\n<v-multiselect\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [options]=\"options\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.multiselect && datasource) {\n<v-multiselect\n useDatasource\n [datasource]=\"datasource\"\n [optionLabel]=\"optionLabel\"\n [optionValue]=\"optionValue ?? optionLabel\"\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [loading]=\"loading\"\n [formControl]=\"formControl\"\n (changeEvent)=\"changed.emit($event)\"\n (clearEvent)=\"cleared.emit($event)\"\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\n (showEvent)=\"showed.emit($event)\"\n/>\n} @else if (type === fieldTypes.checkbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [indeterminate]=\"true\"\n/>\n} @else if (type === fieldTypes.simplecheckbox) {\n<v-checkbox\n [label]=\"label\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n/>\n} @else if (type === fieldTypes.calendar) {\n<v-calendar\n [label]=\"!floatLabel ? label : ''\"\n [floatLabel]=\"floatLabel ? label : ''\"\n [testId]=\"testId\"\n [formControl]=\"formControl\"\n [icon]=\"icons.calendar\"\n/>\n}\n","import {\r\n UntypedFormControl,\r\n UntypedFormGroup,\r\n} from '@angular/forms';\r\nimport { GenericFieldDefinition } from '@verisoft/ui-core';\r\n\r\nexport function generateFormGroup(\r\n fields: GenericFieldDefinition[] | undefined,\r\n lastGroupValue: UntypedFormGroup | undefined,\r\n inputGroup: UntypedFormGroup | undefined,\r\n inputGroupChanged = false\r\n): UntypedFormGroup {\r\n const formGroup =\r\n (inputGroupChanged\r\n ? inputGroup ?? lastGroupValue\r\n : lastGroupValue ?? inputGroup) ?? new UntypedFormGroup({});\r\n\r\n fields?.forEach((field) => {\r\n const control = formGroup.get(field.name);\r\n if (!control) {\r\n formGroup.addControl(\r\n field.name,\r\n new UntypedFormControl(field.value, field.validator)\r\n );\r\n } else if (control && control.value !== field.value) {\r\n if ('value' in field) {\r\n control.setValue(field.value);\r\n }\r\n control.setValidators(field.validator ?? null);\r\n } else {\r\n control.setValidators(field.validator ?? null);\r\n }\r\n\r\n if (field.readonly && (control || formGroup.get(field.name))) {\r\n formGroup.get(field.name)?.disable();\r\n }\r\n });\r\n if (!inputGroupChanged) {\r\n for (const field in formGroup.controls) {\r\n const control = fields?.find((x) => x.name == field);\r\n if (!control) {\r\n formGroup.removeControl(field);\r\n }\r\n }\r\n }\r\n\r\n return formGroup;\r\n}\r\n\r\nexport function getColumnClass(value?: number): string | undefined {\r\n if (!value) {\r\n return undefined;\r\n }\r\n\r\n switch (value) {\r\n case 1:\r\n return 'col-12';\r\n case 2:\r\n return 'col-12 col-md-6';\r\n case 3:\r\n return 'col-12 col-md-4';\r\n case 4:\r\n return 'col-12 col-md-3';\r\n case 6:\r\n return 'col-12 col-md-2';\r\n }\r\n\r\n return 'col-12 col-md-1';\r\n}\r\n","import { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\nimport { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { GenericFieldDefinition } from '@verisoft/ui-core';\nimport { GenericFieldComponent } from '../generic-field';\nimport {\n generateFormGroup,\n getColumnClass,\n} from './generic-form.model';\n\n@Component({\n selector: 'v-generic-form',\n imports: [\n CommonModule,\n GenericFieldComponent,\n ReactiveFormsModule,\n TranslateModule,\n ],\n templateUrl: './generic-form.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GenericFormComponent implements OnChanges {\n @Input() formGroup?: UntypedFormGroup;\n\n @Input() fields?: GenericFieldDefinition[];\n\n @Input() columns?: number;\n\n @Input() showAsRow!: boolean;\n\n formGroupComputed!: UntypedFormGroup;\n\n columnClass?: string;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['fields'] || changes['formGroup']) {\n this.formGroupComputed = generateFormGroup(\n this.fields,\n this.formGroupComputed,\n this.formGroup,\n !!changes['formGroup']\n );\n }\n\n if (changes['columns']) {\n this.columnClass = getColumnClass(this.columns);\n }\n }\n}\n","@if (formGroupComputed) {\r\n <div\r\n class=\"v-generic-form\"\r\n [ngClass]=\"showAsRow ? 'd-flex flex-row' : 'row'\"\r\n [formGroup]=\"formGroupComputed\"\r\n >\r\n @for(field of fields; track field) { @if (columnClass) {\r\n <div class=\"v-generic-form__column {{ columnClass }}\">\r\n <v-generic-field\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n </div>\r\n } @else {\r\n <v-generic-field\r\n class=\"me-4\"\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n } }\r\n </div>\r\n }\r\n","\nimport { Component, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n MenuItem,\n SIDE_MENU_COMPONENT_TOKEN,\n SideMenuCore,\n SideMenuService,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\n\n@Component({\n selector: 'v-side-menu',\n imports: [RouterModule, GovDesignSystemModule],\n templateUrl: './side-menu.component.html',\n styleUrl: './side-menu.component.scss',\n providers: [\n {\n provide: SIDE_MENU_COMPONENT_TOKEN,\n useExisting: SideMenuComponent,\n },\n ],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SideMenuComponent implements SideMenuCore {\n menuService = inject(SideMenuService);\n\n @Input() items: MenuItem[] = [];\n\n @Input() logoUrl = '';\n\n @Input() userName!: string;\n\n @Input() userRole!: any | any[] | undefined;\n\n @Output() minimalized = new EventEmitter<boolean>();\n\n @Output() itemSelected = new EventEmitter<MenuItem>();\n\n icons = Icons;\n}\n","<div class=\"v-side-menu\">\n <div class=\"gov-category-list__col gov-category-list__categories\">\n <div class=\"gov-category-list__col-inner\">\n <ul class=\"main-nav gov-list--plain gov-category-list__nav\">\n @for (item of items; track item) {\n @for (child of item.children; track child) {\n <li class=\"gov-category-list__nav\">\n <a class=\"gov-category-list__nav-link p-2 d-flex align-items-center\" [routerLink]=\"child.url\"\n routerLinkActive=\"is-active\" title=\"{{child.label}}\">\n <p class=\"gov-text--body-s\">{{child.label}}\n @if (child.children) {\n <gov-icon [name]=\"icons.chevronDown\" />\n }\n </p>\n </a>\n </li>\n }\n }\n </ul>\n </div>\n </div>\n</div>","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport {\n MENU_TOKEN,\n MenuItem,\n SIDE_MENU_COMPONENT_TOKEN,\n SideMenuModuleConfig,\n SideMenuProviderService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport { SideMenuComponent } from './side-menu.component';\n\n@NgModule({\n providers: [\n SideMenuProviderService,\n {\n provide: SIDE_MENU_COMPONENT_TOKEN,\n useExisting: SideMenuComponent,\n }\n ],\n})\nexport class SideMenuModule extends UnsubscribeComponent {\n constructor(private readonly service: SideMenuProviderService) {\n super();\n }\n\n static forRoot(\n config?: SideMenuModuleConfig\n ): ModuleWithProviders<SideMenuModule> {\n const moduleWithProvider: ModuleWithProviders<SideMenuModule> = {\n ngModule: SideMenuModule,\n };\n\n if (config?.items) {\n moduleWithProvider.providers = [\n {\n provide: MENU_TOKEN,\n useValue: config.items,\n },\n ];\n }\n\n return moduleWithProvider;\n }\n\n static forChild(menu: MenuItem[]): ModuleWithProviders<SideMenuModule> {\n return {\n ngModule: SideMenuModule,\n providers: [\n {\n provide: MENU_TOKEN,\n useValue: menu,\n },\n ],\n };\n }\n}\n","\nimport { Component, Inject, Input, Optional } from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { SNACKBAR_COMPONENT_TOKEN, SnackbarCore } from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { SnackbarConfig } from './snackbar.model';\n\n@Component({\n selector: 'v-snackbar',\n imports: [GovDesignSystemModule],\n templateUrl: './snackbar.component.html',\n styleUrl: './snackbar.component.scss',\n providers: [\n {\n provide: SNACKBAR_COMPONENT_TOKEN,\n useExisting: SnackbarComponent,\n },\n ]\n})\nexport class SnackbarComponent \n implements SnackbarCore\n{\n @Input({required: true}) message!: string;\n\n @Input() icon!: string;\n\n @Input() closeLabel!: string;\n\n @Input() color: \"error\" | \"neutral\" | \"primary\" | \"success\" | \"warning\" = \"primary\";\n\n @Input() gravity: \"bottom\" | \"top\" = \"top\";\n\n @Input() position: \"center\" | \"left\" | \"right\" = \"right\";\n\n @Input() time = 4000;\n\n @Input() type: \"bold\" | \"subtle\" = \"subtle\";\n\n icons = Icons;\n\n constructor(\n @Optional() @Inject('TOAST_CONFIG') public config: SnackbarConfig,\n ) { }\n}\n","<gov-toast\n [closeLabel]=\"config.closeLabel ?? closeLabel\"\n [color]=\"config.color || color\"\n [gravity]=\"config.gravity || gravity\"\n [position]=\"config.position || position\"\n [time]=\"config.time ?? time\"\n [type]=\"config.type || type\"\n>\n @if (config.icon || icon) {\n <gov-icon\n [name]=\"config.icon || icon\"\n />\n } {{ config.message || message }}\n</gov-toast>\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport * as portal from '@angular/cdk/portal';\nimport { Injectable, Injector } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { SnackbarComponent } from '../snackbar.component';\nimport { SnackbarConfig } from '../snackbar.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SnackbarService {\n constructor(\n private overlay: Overlay,\n private translate: TranslateService,\n private injector: Injector\n ) {}\n\n showSuccess(message: string, icon?: string) {\n this.showToast({\n message: this.translate.instant(message),\n icon: icon,\n color: 'success',\n });\n }\n\n showInfo(message: string, icon?: string) {\n this.showToast({\n message: this.translate.instant(message),\n icon: icon,\n color: 'primary',\n });\n }\n\n showWarn(message: string, icon?: string) {\n this.showToast({\n message: this.translate.instant(message),\n icon: icon,\n color: 'warning',\n });\n }\n\n showError(message: string, icon?: string) {\n this.showToast({\n message: this.translate.instant(message),\n icon: icon,\n color: 'error',\n });\n }\n\n private showToast(config: SnackbarConfig) {\n const positionStrategy = this.overlay\n .position()\n .global();\n\n const overlayRef: OverlayRef = this.overlay.create({\n positionStrategy,\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n });\n\n const toastPortal = new portal.ComponentPortal(SnackbarComponent, null, this.createInjector(config));\n overlayRef.attach(toastPortal);\n }\n\n private createInjector(config: any) {\n return Injector.create({\n providers: [\n { provide: 'TOAST_CONFIG', useValue: config },\n ],\n parent: this.injector,\n });\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport {\n StepperCore,\n STEPPER_COMPONENT_TOKEN,\n StepperItem,\n FieldSizeType,\n FieldSize,\n LayoutType,\n LayoutTypeType,\n} from '@verisoft/ui-core';\nimport { GovSizePipe } from '../../pipes';\nimport { ButtonComponent } from '../button';\n@Component({\n selector: 'v-stepper',\n imports: [\n CommonModule,\n ButtonComponent,\n GovDesignSystemModule,\n GovSizePipe,\n ],\n templateUrl: './stepper.component.html',\n styleUrl: './stepper.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: STEPPER_COMPONENT_TOKEN, useExisting: StepperComponent },\n ]\n})\nexport class StepperComponent\n implements StepperCore, OnInit\n{\n @Input() items: StepperItem[] = [];\n @Input() size: FieldSizeType | undefined = FieldSize.medium;\n @Input() icon!: string;\n @Input() prefix!: string;\n @Input() annotation!: string;\n @Input() label!: string;\n @Input() layout: LayoutTypeType = LayoutType.horizontal;\n @Output() activeIndexChange = new EventEmitter<number>();\n\n steps = 0;\n currentStep = 0;\n\n ngOnInit(): void {\n this.steps = this.items.length;\n }\n\n previousStep(): void {\n if (this.currentStep > 0) {\n this.currentStep--;\n }\n }\n\n nextStep(): void {\n if (this.currentStep < this.items.length - 1) {\n this.currentStep++;\n }\n }\n}\n","<gov-stepper \n [ngClass]=\"layout === 'vertical' ? 'd-block' : 'd-flex justify-content-between'\"\n [size]=\"size | govSize\"\n>\n @for (item of items; track item; let index = $index) {\n <gov-stepper-item\n [ngClass]=\"{ 'active-step': index === currentStep }\"\n >\n <span \n slot=\"prefix\"\n [ngStyle]=\"{ 'background-color': index === currentStep ? 'var(--color-primary-300)' : 'var(--color-primary-600)' }\"\n >\n {{ item.prefix }}\n </span>\n <p slot=\"headline\">{{ item.header }}</p>\n <p slot=\"annotation\">{{ item.annotation }}</p>\n </gov-stepper-item>\n }\n</gov-stepper>\n<div class=\"d-flex pt-4 justify-content-between\">\n @if (currentStep > 0) {\n <v-button\n [label]=\"'Back'\"\n [size]=\"size\"\n (click)=\"previousStep()\"\n />\n }\n @if (currentStep < steps - 1) {\n <v-button\n [label]=\"'Next'\"\n [size]=\"size\"\n (click)=\"nextStep()\"\n />\n }\n</div>","\nimport { ChangeDetectionStrategy, Component, Input, Optional, Self } from \"@angular/core\";\nimport { ReactiveFormsModule, NgControl } from \"@angular/forms\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { SWITCH_COMPONENT_TOKEN, SwitchCore, BaseFormInputComponent, FieldSizeType, FieldSize } from \"@verisoft/ui-core\";\nimport { Icons } from \"../../icons\";\nimport { GovSizePipe } from \"../../pipes\";\nimport { ErrorComponent } from \"../errors\";\n\n@Component({\n selector: \"v-switch\",\n styleUrl: \"./switch.component.scss\",\n templateUrl: './switch.component.html',\n imports: [\n GovDesignSystemModule,\n ReactiveFormsModule,\n GovSizePipe,\n ErrorComponent\n],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: SWITCH_COMPONENT_TOKEN,\n useExisting: SwitchComponent,\n }]\n})\nexport class SwitchComponent\n extends BaseFormInputComponent\n implements SwitchCore\n{\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() noLabel = false;\n @Input() name!: string;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}","<gov-form-control>\n <gov-form-switch\n [formControl]=\"formControl\"\n [size]=\"size | govSize\"\n [required]=\"required\"\n [name]=\"name\"\n [invalid]=\"ngControl?.errors\"\n >\n @if (label && !noLabel) {\n <gov-form-label [size]=\"size\" slot=\"label\">\n {{ label }}\n </gov-form-label>\n }\n </gov-form-switch>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n</gov-form-control>\n","import { Component, Input, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'v-tab-view-item',\n standalone: true,\n template: `\n <ng-template #content>\n <ng-content></ng-content>\n </ng-template>\n `,\n})\nexport class TabViewItemComponent {\n @Input() title!: string;\n @Input() disabled = false;\n @Input() url?: string;\n\n @ViewChild('content', { static: true })\n contentTemplate!: TemplateRef<unknown>;\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n QueryList,\n ViewEncapsulation,\n inject,\n signal,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n NavigationEnd,\n Router,\n RouterLink,\n RouterLinkActive,\n RouterOutlet,\n} from '@angular/router';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { TabViewItemCore } from '@verisoft/ui-core';\nimport { TabViewItemComponent } from './tab-view-item.component';\n\n\nexport type TabMode = 'content' | 'router';\n\n@Component({\n selector: 'v-tab-view',\n standalone: true,\n imports: [\n NgTemplateOutlet,\n RouterLink,\n RouterLinkActive,\n RouterOutlet,\n TranslatePipe,\n ],\n templateUrl: './tab-view.component.html',\n styleUrls: ['./tab-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TabViewComponent implements AfterContentInit {\n @ContentChildren(TabViewItemComponent)\n private projectedTabs!: QueryList<TabViewItemComponent>;\n\n private readonly _mode = signal<TabMode>('content');\n\n @Input() items: TabViewItemCore[] = [];\n\n @Input()\n set mode(value: TabMode) {\n this._mode.set(value ?? 'content');\n }\n readonly modeSig = this._mode.asReadonly();\n\n private readonly _activeIndex = signal(0);\n @Input()\n set activeIndex(value: number) {\n this._activeIndex.set(value ?? 0);\n }\n readonly activeIndexSig = this._activeIndex.asReadonly();\n\n @Output() activeIndexChange = new EventEmitter<number>();\n\nreadonly tabs = signal<TabViewItemComponent[]>([]);\n\nprivate readonly route = inject(ActivatedRoute);\nprivate readonly router = inject(Router);\n\nconstructor() {\n this.router.events.subscribe(event => {\n if (event instanceof NavigationEnd) {\n const idx = this.tabs().findIndex(tab => this.router.isActive(tab.url ?? '', false));\n if (idx >= 0) this._activeIndex.set(idx);\n }\n });\n}\n\n ngAfterContentInit(): void {\n this.tabs.set(this.projectedTabs.toArray());\n }\n\n selectTab(index: number): void {\n if (this.modeSig() === 'content' && this._activeIndex() !== index) {\n this._activeIndex.set(index);\n }\n }\n\n get relativeRoute(): ActivatedRoute {\n return this.route;\n }\n}\n","<div class=\"gov-tabs\">\n <div class=\"gov-tabs__tabs\" role=\"tablist\">\n @for (tab of tabs(); track tab; let i = $index) {\n <button\n class=\"gov-tabs__btn\"\n role=\"tab\"\n [disabled]=\"tab.disabled\"\n [routerLink]=\"modeSig() === 'router' ? tab.url : null\"\n [relativeTo]=\"modeSig() === 'router' ? relativeRoute : null\"\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"{ exact: true }\"\n #rla=\"routerLinkActive\"\n [attr.aria-selected]=\"\n modeSig() === 'router'\n ? rla.isActive\n : activeIndexSig() === i\n \"\n (click)=\"modeSig() === 'content' && selectTab(i)\"\n >\n {{ tab.title | translate }}\n </button>\n\n }\n </div>\n <div class=\"gov-tabs__tabs\">\n @if (modeSig() === 'content') {\n <div class=\"gov-tabs__content\">\n @for (tab of tabs(); track tab; let i = $index) {\n <div class=\"gov-tabs__tab\" [class.active]=\"activeIndexSig() === i\">\n <ng-container *ngTemplateOutlet=\"tab.contentTemplate\"></ng-container>\n </div>\n }\n </div>\n }\n\n @if (modeSig() === 'router') {\n <router-outlet></router-outlet>\n }\n </div>\n</div>\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n standalone: true,\n selector: \"v-table-pagination-info\",\n templateUrl: \"./table-pagination-info.component.html\",\n})\nexport class TablePaginationInfoComponent {\n @Input() showingText = 'Showing'\n\n @Input() toText = 'to';\n\n @Input() ofText = 'of';\n\n @Input() entriesText = 'entries'\n\n @Input() currentPage = 0;\n\n @Input() pageSize = 0;\n\n @Input() total = 0;\n}\n","<span>\n {{ showingText }} {{ (currentPage - 1) * pageSize + 1 }} {{ toText }}\n {{\n currentPage * pageSize < total\n ? currentPage * pageSize\n : total\n }}\n {{ ofText }} {{ total }} {{ entriesText }}\n</span>","import { SortDirection, SortDirectionType } from '@verisoft/core';\n\nexport function getNextSortDirection(\n sortDirection: SortDirectionType | undefined,\n isNullable = false\n): SortDirectionType | undefined {\n return isNullable && sortDirection === SortDirection.desc\n ? undefined\n : !sortDirection || sortDirection === SortDirection.desc\n ? SortDirection.asc\n : SortDirection.desc;\n}\nexport function createCustomRoute<T>(row: T, entityKey?: string, customRoute?: string) {\n return customRoute && entityKey\n ? customRoute + (row as { [key: string]: string })[entityKey]\n : undefined;\n}\n","import { CommonModule, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { FormCheckboxEvent, FormSelectEvent } from '@gov-design-system-ce/components';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n DEFAULT_SEARCH_LIMIT,\n LazyLoadEvent,\n multiSort,\n Sort,\n SortDirectionType,\n} from '@verisoft/core';\nimport {\n ColumnDefinition,\n ColumnModel,\n ColumnProvider,\n DEFAULT_PAGINATION,\n FieldSize,\n FieldSizeType,\n MAX_COLUMN_CHAR_COUNT,\n RowModel,\n TABLE_COLUMN_PROVIDER,\n TABLE_COMPONENT_TOKEN,\n TableCore,\n TableSelectionMode,\n TableService,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { LoaderComponent } from '../loader';\nimport { TablePaginationInfoComponent } from './table-pagination-info.component';\nimport { getNextSortDirection } from './table.model';\n\n@Component({\n selector: 'v-table',\n standalone: true,\n imports: [\n CommonModule,\n RouterModule,\n GovDesignSystemModule,\n NgTemplateOutlet,\n TranslateModule,\n GovSizePipe,\n LoaderComponent,\n TablePaginationInfoComponent,\n ],\n templateUrl: './table.component.html',\n styleUrl: './table.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TABLE_COMPONENT_TOKEN,\n useExisting: TableComponent,\n },\n ],\n})\nexport class TableComponent<T>\n implements OnChanges, AfterViewInit, OnDestroy, TableCore<T>\n{\n @ContentChildren(TABLE_COLUMN_PROVIDER)\n viewColumns!: QueryList<ColumnProvider<T>>;\n\n @ContentChild('rowDetail', { static: false })\n rowDetailTemplate!: TemplateRef<{ $implicit: T }>;\n\n @ContentChild('rowDetailButton', { static: false })\n rowDetailButtonTemplate!: TemplateRef<{ $implicit: T }>;\n\n @Input() sorters!: Sort[];\n @Input() data!: T[];\n @Input() total = 0;\n @Input() filter: Partial<T> | undefined;\n @Input() extraFilter: Partial<T> | undefined;\n @Input() loading = false;\n @Input() scrollable = true;\n @Input() pageSize = DEFAULT_SEARCH_LIMIT;\n @Input() currentPage = 1;\n @Input() showPaginator = true;\n @Input() userTableWrapper = true;\n @Input() sortMultiple = false;\n @Input() lazy = false;\n @Input() selectionMode: 'single' | 'multiple' | undefined;\n @Input() selection: T[] = [];\n @Input() showPageSizePicker = true;\n @Input() entityKey: string | undefined;\n @Input() customRoute: string | undefined;\n @Input() disableCustomClicks = false;\n @Input() tableName?: string;\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() showActionButtons = false;\n @Input() maximumColumnLength = MAX_COLUMN_CHAR_COUNT;\n\n @Input()\n set columns(value: ColumnDefinition<T>[]) {\n this._columns = value;\n this.updateColumnModels();\n }\n get columns(): ColumnDefinition<T>[] {\n return this._columns;\n }\n\n @Output() selectionChange = new EventEmitter<T[]>();\n @Output() lazyLoad = new EventEmitter<LazyLoadEvent>();\n @Output() download = new EventEmitter<RowModel<T>[]>();\n @Output() delete = new EventEmitter<RowModel<T>[]>();\n @Output() save = new EventEmitter<RowModel<T>[]>();\n\n @ViewChild('tableRef', { static: true }) tableRef!: ElementRef<HTMLTableElement>;\n\n private readonly cdRef = inject(ChangeDetectorRef);\n private readonly router = inject(Router);\n private readonly route = inject(ActivatedRoute);\n private readonly service = inject(TableService);\n private _columns: ColumnDefinition<T, keyof T>[] = [];\n\n tableColumns: ColumnModel<T>[] = [];\n tableRows: RowModel<T>[] = [];\n pageSizeOptions = DEFAULT_PAGINATION.map((x: number) => ({ value: x.toString() }));\n allSelected = false;\n icons = Icons;\n focusedIndex = -1;\n\n private isMouseDown = false;\n private dragActive = false;\n private dragStartIndex = -1;\n private initialSelectionSet = new Set<T | RowModel<T>>();\n\n get govPageSize() {\n return this.pageSize.toString();\n }\n\n get tableRowView(): RowModel<T>[] {\n if (this.lazy) {\n return this.tableRows;\n } else {\n const start = (this.currentPage - 1) * this.pageSize;\n const end = start + this.pageSize;\n return this.tableRows.slice(start, end);\n }\n }\n\n get selected(): RowModel<T>[] {\n return this.tableRows.filter(r => r.selected);\n }\n\n get selectedCount(): number {\n return this.selected.length;\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['data']) {\n this.updateRowModels();\n if (!this.lazy && this.data) {\n this.total = this.data.length;\n }\n }\n if (changes['total']) {\n this.cdRef.markForCheck();\n }\n if (changes['selection']) {\n this.selectSelected();\n }\n if (changes['filter']) {\n this.updateFilter();\n }\n }\n\n ngAfterViewInit(): void {\n if (this.viewColumns?.length) {\n this.updateColumnModels();\n this.cdRef.detectChanges();\n }\n this.tableRef.nativeElement.tabIndex = 0;\n this.tableRef.nativeElement.addEventListener('keydown', this.handleKeydown.bind(this));\n }\n\n ngOnDestroy(): void {\n this.tableRef.nativeElement.removeEventListener('keydown', this.handleKeydown.bind(this));\n }\n\n protected sortColumn(column: ColumnModel<T>) {\n if (column.sortable) {\n column.sortDirection = getNextSortDirection(column.sortDirection, this.sortMultiple);\n if (!this.sortMultiple) {\n this.tableColumns\n .filter(x => x !== column)\n .forEach(x => (x.sortDirection = undefined));\n }\n const sorts: Sort[] = this.getSorts().map(x => ({\n field: 'row.' + x.field,\n direction: x.direction,\n }));\n if (!this.lazy) {\n this.tableRows = multiSort(this.tableRows, sorts);\n } else {\n this.fireLazyLoad();\n }\n }\n }\n\n protected changePage(event: { detail: { pagination: { currentPage: number } } }) {\n this.currentPage = event.detail.pagination.currentPage;\n this.fireLazyLoad();\n }\n\n protected changePageSize(event: CustomEvent<FormSelectEvent>) {\n this.pageSize = parseInt(event.detail.value);\n this.currentPage = 1;\n this.fireLazyLoad();\n }\n\n private performClickSelect(row: RowModel<T>, event: MouseEvent) {\n if (event.ctrlKey || event.metaKey) {\n this.navigate(row, event);\n return;\n }\n if (this.selectionMode === 'single') {\n row.selected = !row.selected;\n this.tableRows.forEach(x => (x !== row ? (x.selected = false) : null));\n this.fireSelectionChange();\n } else if (this.selectionMode === 'multiple') {\n row.selected = !row.selected;\n this.fireSelectionChange();\n }\n }\n\n onRowMouseDown(row: RowModel<T>, index: number, event: MouseEvent) {\n if (event.button === 1) {\n this.navigateNewWindow(row, event);\n return;\n }\n if (this.selectionMode !== 'multiple') {\n return;\n }\n this.isMouseDown = true;\n this.dragActive = false;\n this.dragStartIndex = index;\n this.initialSelectionSet = new Set(this.tableRows.filter(r => r.selected).map(r => r.row));\n }\n\n onRowMouseEnter(index: number) {\n this.setFocusedIndex(index);\n if (this.isMouseDown && this.selectionMode === 'multiple') {\n this.dragActive = true;\n this.updateDragSelection(index);\n }\n }\n\n onRowMouseUp(row: RowModel<T>, index: number, event: MouseEvent) {\n if (this.dragActive && this.selectionMode === 'multiple') {\n this.updateDragSelection(index);\n this.stopDrag();\n return;\n }\n if (!this.isMouseDown) {\n return;\n }\n if (!this.dragActive) {\n this.performClickSelect(row, event);\n }\n this.stopDrag();\n }\n\n private updateDragSelection(endIndex: number) {\n const min = Math.min(this.dragStartIndex, endIndex);\n const max = Math.max(this.dragStartIndex, endIndex);\n this.tableRows.forEach((r, i) => {\n if (this.initialSelectionSet.has(r.row)) {\n r.selected = true;\n } else if (i >= min && i <= max) {\n r.selected = true;\n } else {\n r.selected = this.initialSelectionSet.has(r.row);\n }\n });\n this.fireSelectionChange();\n this.allSelected = this.tableRows.every(r => r.selected);\n this.cdRef.markForCheck();\n }\n\n private stopDrag() {\n this.isMouseDown = false;\n this.dragActive = false;\n this.dragStartIndex = -1;\n this.initialSelectionSet = new Set();\n }\n\n protected navigate(row: RowModel<T>, event: MouseEvent) {\n if (this.disableCustomClicks) return;\n event.preventDefault();\n const targetUrl = this.createUrl(row);\n if (event.ctrlKey || event.metaKey) {\n setTimeout(() => {\n window.open(\n this.router.serializeUrl(this.router.createUrlTree([targetUrl], { relativeTo: this.route })),\n '_blank'\n );\n }, 0);\n } else {\n this.router.navigate([targetUrl], { relativeTo: this.route });\n }\n }\n\n protected navigateNewWindow(row: RowModel<T>, event: MouseEvent) {\n if (this.disableCustomClicks || event.button !== 1) return;\n event.preventDefault();\n const targetUrl = this.createUrl(row);\n window.open(this.router.serializeUrl(this.router.createUrlTree([targetUrl], { relativeTo: this.route })), '_blank');\n }\n\n protected toggleAll(event: CustomEvent<FormCheckboxEvent>) {\n this.allSelected = event.detail.checked;\n this.tableRows.forEach(x => (x.selected = this.allSelected));\n this.fireSelectionChange();\n }\n\n protected toggleDetail(row: RowModel<T>) {\n row.expanded = !row.expanded;\n this.cdRef.detectChanges();\n }\n\n protected selectRowCheckbox(row: RowModel<T>, event: CustomEvent<FormCheckboxEvent>) {\n row.selected = event.detail.checked;\n this.allSelected = this.tableRows.every(x => x.selected);\n this.fireSelectionChange();\n }\n\n protected truncate(text: string): string {\n return text.length > this.maximumColumnLength\n ? text.slice(0, this.maximumColumnLength) + '...'\n : text;\n }\n\n protected deselectAll() {\n this.allSelected = false;\n this.tableRows.forEach(x => (x.selected = false));\n this.fireSelectionChange();\n }\n\n setFocusedIndex(index: number) {\n this.focusedIndex = index;\n this.cdRef.markForCheck();\n }\n\n handleKeydown(event: KeyboardEvent): void {\n const rows = this.tableRowView;\n if (rows.length === 0) return;\n if (event.key === ' ' || event.code === 'Space') {\n if (this.focusedIndex >= 0 && this.selectionMode) {\n this.toggleSelection(rows[this.focusedIndex]);\n }\n event.preventDefault();\n return;\n }\n let newIndex = this.focusedIndex;\n switch (event.key) {\n case 'ArrowDown':\n newIndex = Math.min(newIndex + 1, rows.length - 1);\n break;\n case 'ArrowUp':\n newIndex = Math.max(newIndex - 1, 0);\n break;\n case 'PageDown':\n newIndex = Math.min(newIndex + 5, rows.length - 1);\n break;\n case 'PageUp':\n newIndex = Math.max(newIndex - 5, 0);\n break;\n case 'Home':\n newIndex = 0;\n break;\n case 'End':\n newIndex = rows.length - 1;\n break;\n default:\n return;\n }\n if (newIndex !== this.focusedIndex) {\n this.focusedIndex = newIndex;\n this.scrollRowIntoView(newIndex);\n event.preventDefault();\n this.cdRef.markForCheck();\n }\n }\n\n private toggleSelection(row: RowModel<T>): void {\n if (this.selectionMode === 'single') {\n const shouldSelect = !row.selected;\n this.tableRows.forEach(r => (r.selected = r === row && shouldSelect));\n } else if (this.selectionMode === 'multiple') {\n row.selected = !row.selected;\n }\n this.fireSelectionChange();\n this.allSelected = this.tableRows.every(r => r.selected);\n }\n\n private scrollRowIntoView(index: number): void {\n const rowEl = this.tableRef.nativeElement.querySelectorAll('tbody tr.v-table__row')[index] as HTMLElement;\n if (rowEl) {\n rowEl.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }\n\n private createUrl(row: RowModel<T>): string {\n return row.customRoute ?? row.id.toString();\n }\n\n private reactToSignals(): void {\n const reload = this.service.reload();\n if (typeof reload === 'symbol' || reload.name === this.tableName) {\n this.fireLazyLoad();\n }\n this.deselectAll();\n }\n\n private updateColumnModels() {\n const viewColumns = this.viewColumns?.toArray().map(x => x.getDefinition());\n this.tableColumns = [...(this._columns ?? []), ...(viewColumns ?? [])].map(x => new ColumnModel(x));\n }\n\n private updateRowModels(): void {\n this.tableRows = (this.data ?? []).map(\n x => new RowModel(x, false, false, undefined, undefined, undefined, this.customRoute, this.entityKey)\n );\n this.focusedIndex = -1;\n }\n\n private fireSelectionChange() {\n const selectedRows = this.tableRows.filter(x => x.selected).map(x => x.row);\n this.selectionChange.emit(selectedRows);\n }\n\n private selectSelected() {\n if (this.selection?.length && this.selectionMode) {\n const selection = this.selectionMode === TableSelectionMode.single ? [this.selection[0]] : this.selection;\n const selectionSet = new Set(selection);\n this.tableRows.forEach(item => {\n item.selected = selectionSet.has(item.row);\n });\n this.allSelected = this.tableRows.every(x => x.selected);\n }\n }\n\n private fireLazyLoad() {\n const lazyLoadEvent: LazyLoadEvent = {\n sort: this.getSorts(),\n offset: (this.currentPage - 1) * this.pageSize,\n limit: this.pageSize,\n filter: this.filter,\n };\n this.lazyLoad.emit(lazyLoadEvent);\n }\n\n private updateFilter() {\n this.fireLazyLoad();\n }\n\n private getSorts(): Sort[] {\n return this.tableColumns\n .filter(x => x.sortable && x.sortDirection)\n .map(x => ({\n field: x.id,\n direction: <SortDirectionType>x.sortDirection,\n }));\n }\n\n protected getQueryParams(column: ColumnModel<T>, row: T): { [key: string]: unknown } | null {\n if (column.queryParams) {\n if (typeof column.queryParams === 'function') {\n return column.queryParams(row);\n }\n return column.queryParams;\n }\n return null;\n }\n\n\n}\n","@if (selectionMode === 'multiple' && showActionButtons) {\n <gov-flex class=\"gov-table-complex__actions mt-2\" justify-content=\"space-between\" align-items=\"center\">\n <div class=\"gov-table-complex__records-selected\">\n {{ selectedCount }} {{ ('TABLES.CHOSEN_RECORDS' | translate) ?? 'chosen records' }}\n </div>\n <div>\n <gov-button color=\"primary\" size=\"s\" type=\"solid\" (gov-click)=\"delete.emit(selected)\">\n {{ ('BUTTONS.DELETE' | translate) ?? 'Delete' }}\n </gov-button>\n <gov-button color=\"primary\" size=\"s\" type=\"solid\" (gov-click)=\"save.emit(selected)\">\n {{ ('BUTTONS.SAVE' | translate) ?? 'Save' }}\n </gov-button>\n <gov-button color=\"primary\" size=\"s\" type=\"solid\" (gov-click)=\"download.emit(selected)\">\n {{ ('BUTTONS.DOWNLOAD' | translate) ?? 'Download' }}\n </gov-button>\n <gov-button color=\"primary\" size=\"s\" type=\"solid\" (gov-click)=\"deselectAll()\">\n {{ ('BUTTONS.CANCEL' | translate) ?? 'Cancel' }}\n </gov-button>\n </div>\n </gov-flex>\n}\n\n<div class=\"v-table gov-table\" [attr.size]=\"size | govSize\">\n <table #tableRef class=\"v-table__table\">\n <thead class=\"v-table__head\">\n <tr class=\"v-table__header\">\n @if (rowDetailTemplate) {\n <th></th>\n }\n @if (selectionMode === 'multiple') {\n <th scope=\"col\">\n <gov-form-checkbox [checked]=\"allSelected\" (gov-change)=\"toggleAll($event)\" />\n </th>\n }\n @for (column of tableColumns; track column; let index = $index) {\n @if (column.visible && column.forceVisibility !== 'hidden') {\n <th scope=\"col\" [style]=\"{'text-align': column.textAlign}\" [class]=\"column.columnClass\">\n <span\n class=\"gov-table--fit-width\"\n [class.v-table__sortable]=\"column.sortable\"\n [class.v-table__sortable--desc]=\"column.sortable && column.sortDirection === 'desc'\"\n [class.v-table__sortable--asc]=\"column.sortable && column.sortDirection === 'asc'\"\n (click)=\"sortColumn(column)\"\n >\n {{ column.headerGetter(column.id, index) | translate }}\n </span>\n </th>\n }\n }\n @if (rowDetailButtonTemplate) {\n <th></th>\n }\n </tr>\n </thead>\n\n @if (loading) {\n <v-loader />\n } @else {\n <tbody class=\"v-table__body\">\n @for (data of tableRowView; track data.id; let rowIndex = $index) {\n <tr\n class=\"v-table__row\"\n [class.gov-table--highlight]=\"data.selected && selectionMode\"\n [class.v-table__row--focused]=\"rowIndex === focusedIndex\"\n [attr.tabindex]=\"0\"\n [attr.disable-custom-clicks]=\"disableCustomClicks || null\"\n (mousedown)=\"onRowMouseDown(data, rowIndex, $event)\"\n (mouseup)=\"onRowMouseUp(data, rowIndex, $event)\"\n (mouseenter)=\"onRowMouseEnter(rowIndex)\"\n (dblclick)=\"navigate(data, $event)\"\n >\n @if (rowDetailTemplate) {\n <td>\n <gov-button [size]=\"size | govSize\" color=\"primary\" type=\"solid\" (gov-click)=\"toggleDetail(data)\">\n <gov-icon\n [name]=\"data.expanded ? 'chevron-up' : 'chevron-down'\"\n [size]=\"size | govSize\"\n slot=\"icon-start\"\n ></gov-icon>\n </gov-button>\n </td>\n }\n @if (selectionMode === 'multiple') {\n <td class=\"gov-table--fit-content gov-table--border-right\">\n <gov-form-checkbox\n no-label\n [checked]=\"data.selected\"\n [size]=\"size | govSize\"\n (gov-change)=\"selectRowCheckbox(data, $event)\"\n />\n </td>\n }\n @for (column of tableColumns; track column; let columnIndex = $index) {\n @if (column.visible && column.forceVisibility !== 'hidden') {\n <td\n [style]=\"{'text-align': column.textAlign}\"\n [class]=\"column.columnClass!\"\n [class.v-auto-cell]=\"column.template\"\n >\n @if (column.template) {\n <ng-container *ngTemplateOutlet=\"column.template; context: { $implicit: data.row }\"></ng-container>\n } @else {\n <span\n [routerLink]=\"column.routerLink ? column.routerLink(data.row) : null\"\n [queryParams]=\"getQueryParams(column, data.row)\"\n [innerHTML]=\"truncate(column.valueGetter(data.row, rowIndex))\"\n [attr.title]=\"column.valueGetter(data.row, rowIndex).length > maximumColumnLength ? column.valueGetter(data.row, rowIndex) : null\"\n ></span>\n }\n </td>\n }\n }\n @if (rowDetailButtonTemplate) {\n <td>\n <ng-container *ngTemplateOutlet=\"rowDetailButtonTemplate; context: { $implicit: data.row }\"></ng-container>\n </td>\n }\n </tr>\n\n @if (rowDetailTemplate && data.expanded) {\n <tr>\n <td [attr.colspan]=\"tableColumns.length + (selectionMode === 'multiple' ? 1 : 0) + (rowDetailTemplate ? 1 : 0) + (rowDetailButtonTemplate ? 1 : 0)\">\n <ng-container *ngTemplateOutlet=\"rowDetailTemplate; context: { $implicit: data.row }\"></ng-container>\n </td>\n </tr>\n }\n }\n\n @if (!tableRows.length && !loading) {\n <tr>\n <td [attr.colspan]=\"tableColumns.length + (selectionMode === 'multiple' ? 1 : 0) + (rowDetailTemplate ? 1 : 0) + (rowDetailButtonTemplate ? 1 : 0)\">\n <gov-empty align=\"center\" [size]=\"size | govSize\">\n <gov-icon slot=\"icon\" name=\"empty-file\" type=\"colored\" />\n <p slot=\"headline\">\n {{ ('TABLES.EMPTY' | translate) ?? 'No records were found!' }}\n </p>\n </gov-empty>\n </td>\n </tr>\n }\n </tbody>\n }\n </table>\n\n @if (showPaginator) {\n <div class=\"v-table__paginator d-flex pt-3 pb-3\">\n @if (tableRows.length) {\n <div class=\"mt-2\">\n <v-table-pagination-info\n [showingText]=\"'TABLES.PAGINATION.SHOWING' | translate\"\n [toText]=\"'TABLES.PAGINATION.TO' | translate\"\n [ofText]=\"'TABLES.PAGINATION.OF' | translate\"\n [entriesText]=\"'TABLES.PAGINATION.ENTRIES' | translate\"\n [currentPage]=\"currentPage\"\n [pageSize]=\"pageSize\"\n [total]=\"total\"\n />\n </div>\n <div class=\"ms-4\">\n <gov-form-select\n [options]=\"pageSizeOptions\"\n [value]=\"govPageSize\"\n (gov-change)=\"changePageSize($event)\"\n />\n </div>\n }\n <div class=\"ms-4\">\n <gov-pagination\n [current]=\"currentPage\"\n [pageSize]=\"pageSize\"\n [total]=\"total\"\n [type]=\"'button'\"\n (gov-page)=\"changePage($event)\"\n />\n </div>\n </div>\n }\n</div>\n","export enum GovTagType {\n bold = 'bold',\n subtle = 'subtle',\n}\n\nexport type GovTagTypeType = keyof typeof GovTagType;\n\n","import {\n ChangeDetectionStrategy,\n Component,\n input,\n} from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport {\n ControlSeverity,\n ControlSeverityType,\n FieldSize,\n FieldSizeType,\n TagCore,\n TAG_COMPONENT_TOKEN,\n TagVariant,\n} from \"@verisoft/ui-core\";\nimport { GovColorPipe, GovSizePipe } from \"../../pipes\";\nimport { GovTagType } from \"./tag.model\";\n\n@Component({\n selector: \"v-tag\",\n styleUrl: \"./tag.component.scss\",\n templateUrl: './tag.component.html',\n imports: [\n GovDesignSystemModule,\n GovSizePipe,\n GovColorPipe,\n TranslateModule\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TAG_COMPONENT_TOKEN,\n useExisting: TagComponent,\n }\n ],\n})\nexport class TagComponent implements TagCore {\n label = input<string | undefined>();\n severity = input<ControlSeverityType | undefined>(ControlSeverity.primary);\n variant = input<TagVariant>(GovTagType.bold);\n size = input<FieldSizeType>(FieldSize.medium);\n}\n\n","<gov-tag\n [color]=\"severity() | govColor\"\n [type]=\"variant()\"\n [size]=\"size() | govSize\"\n>\n @if (label()) {\n {{ label() | translate }}\n } @else {\n <ng-content></ng-content>\n }\n</gov-tag>\n\n","\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { GovDesignSystemModule } from '@gov-design-system-ce/angular';\nimport { TranslateModule } from '@ngx-translate/core';\nimport {\n TextfieldCore,\n FieldType,\n BaseFormInputComponent,\n FieldSizeType,\n FieldSize,\n IconPositionType,\n IconPosition,\n SlotPositionType,\n SlotPosition,\n TEXTAREA_COMPONENT_TOKEN,\n TextareaCore,\n} from '@verisoft/ui-core';\nimport { Icons } from '../../icons';\nimport { GovSizePipe } from '../../pipes';\nimport { ErrorComponent } from '../errors';\n@Component({\n selector: 'v-textarea',\n imports: [\n ReactiveFormsModule,\n GovDesignSystemModule,\n GovSizePipe,\n ErrorComponent,\n TranslateModule\n],\n templateUrl: './textarea.component.html',\n styleUrl: './textarea.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TEXTAREA_COMPONENT_TOKEN,\n useExisting: TextareaComponent,\n },\n ]\n})\nexport class TextareaComponent\n extends BaseFormInputComponent\n implements ControlValueAccessor, TextareaCore {\n @Input() floatLabel!: string | undefined;\n @Input() type = FieldType.text;\n @Input() minlength = 0;\n @Input() maxlength = 524288;\n @Input() prefix!: string;\n @Input() sufix!: string;\n @Input() message!: string;\n @Input() name!: string;\n @Input() role!: string;\n @Input() size: FieldSizeType = FieldSize.medium;\n @Input() icon!: string;\n @Input() iconPos: IconPositionType = IconPosition.right;\n @Input() labelSlot: SlotPositionType = SlotPosition.top;\n @Input() messageSlot: SlotPositionType = SlotPosition.bottom;\n @Input() rows = 0;\n @Input() cols = 0;\n @Input() autoResize = false;\n\n icons = Icons;\n\n constructor(@Optional() @Self() ngControl: NgControl) {\n super(ngControl);\n }\n}\n","<gov-form-control class=\"mb-3\">\n @if (label) {\n <gov-form-label \n [slot]=\"labelSlot\"\n [size]=\"size | govSize\"\n >\n {{ label | translate }}\n </gov-form-label>\n }\n <gov-form-group>\n <gov-form-input [type]=\"type\"\n [formControl]=\"formControl\"\n [minlength]=\"minlength\" \n [maxlength]=\"maxlength\" \n [size]='size | govSize' \n [name]='name' \n [role]='role'\n [required]=\"required\"\n [readonly]=\"readonly\"\n [invalid]=\"ngControl?.errors ? true : false\"\n [multiline]=\"true\"\n [rows]=\"rows\"\n [cols]=\"cols\"\n >\n @if (icon) {\n <gov-icon\n [name]=\"icon\"\n [slot]=\"iconPos === 'left' ? 'icon-start' : 'icon-end'\"\n />\n } @if (prefix) {\n <p slot=\"prefix\">\n {{ prefix }}\n </p>\n } @if (sufix) {\n <p slot=\"sufix\">\n {{ sufix }}\n </p>\n }\n </gov-form-input>\n </gov-form-group>\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\n @if (message) {\n <gov-form-message \n [slot]=\"messageSlot\" \n color=\"neutral\"\n >\n {{ message | translate }}\n </gov-form-message>\n }\n</gov-form-control>\n","import { Directive, Input } from '@angular/core';\nimport { ValidatorFn } from '@angular/forms';\nimport { DatasourceType } from '@verisoft/core';\nimport { GenericFieldDefinition, GenericFieldType, GenericFieldTypeType } from '@verisoft/ui-core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-filter-field',\n standalone: true,\n})\nexport class FilterFieldDirective implements GenericFieldDefinition {\n @Input({ required: true }) name!: string;\n\n @Input() type: GenericFieldTypeType | undefined = GenericFieldType.text;\n\n @Input() label: string | undefined;\n\n @Input() optionLabel!: string;\n\n @Input() optionValue: string | undefined;\n\n @Input() options: unknown[] | undefined;\n\n @Input() value?: unknown;\n\n @Input() validator?: ValidatorFn[];\n\n @Input() datasource: DatasourceType<any> | undefined;\n\n @Input() filterField?: string;\n\n @Input() showFilter?: boolean;\n\n @Input() localSearch?: boolean;\n}\n","import { FormGroup } from '@angular/forms';\n\nexport function getFilledControlCount(formGroup: FormGroup): number {\n let count = 0;\n Object.keys(formGroup.controls).forEach((key) => {\n const control = formGroup.get(key);\n if (control?.value) {\n if (typeof control.value === 'boolean') {\n count++;\n }\n if (typeof control.value === 'string' && control.value.trim() !== '') {\n count++;\n }\n }\n });\n\n return count;\n}\n","import { AsyncPipe } from '@angular/common';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n forwardRef,\n inject,\n Input,\n OnChanges,\n OnInit,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport {\n FormControl,\n FormGroup,\n NG_VALUE_ACCESSOR,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BaseHttpService } from '@verisoft/core';\nimport {\n ButtonShortCutDirective,\n DEFAULT_DEBOUNCE_TIME,\n DialogService,\n FieldSize,\n FILTER_COMPONENT_TOKEN,\n FilterCore,\n GenericFieldDefinition,\n GovButtonType,\n GovButtonTypeType,\n isFilterEmpty,\n ScreenSizeService,\n UnsubscribeComponent,\n} from '@verisoft/ui-core';\nimport {\n BehaviorSubject,\n combineLatestWith,\n debounceTime,\n distinctUntilChanged,\n map,\n Observable,\n startWith,\n takeUntil,\n} from 'rxjs';\nimport { Icons } from '../../icons';\nimport { ButtonComponent } from '../button';\nimport { generateFormGroup, GenericFormComponent } from '../shared-components/generic-form';\nimport { TextfieldComponent } from '../textfield';\nimport { FilterFieldDirective } from './directives/filter-field.directive';\nimport { getFilledControlCount } from './filter.model';\n\ntype FilterValueType = { [key: string]: unknown };\n\n@Component({\n selector: 'v-filter',\n imports: [\n AsyncPipe,\n ReactiveFormsModule,\n TranslateModule,\n TextfieldComponent,\n GenericFormComponent,\n ButtonComponent,\n ButtonShortCutDirective,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FilterComponent),\n multi: true,\n },\n {\n provide: FILTER_COMPONENT_TOKEN,\n useExisting: FilterComponent,\n },\n ],\n templateUrl: './filter.component.html',\n styleUrl: './filter.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FilterComponent<T extends object>\n extends UnsubscribeComponent\n implements OnChanges, OnInit, AfterContentInit, FilterCore\n{\n @ContentChildren(FilterFieldDirective)\n fieldDeclarations!: QueryList<FilterFieldDirective>;\n\n @Input() fields: GenericFieldDefinition[] = [];\n\n @Input() filters: GenericFieldDefinition[] = [];\n\n @Input() title?: string;\n\n @Input() total?: number;\n\n @Input() fulltextFieldName = 'searchField';\n\n @Input() showFulltext = true;\n\n @Input() showFilters = true;\n\n @Input() autoBind = true;\n\n @Input() applyLabel = 'Apply';\n\n @Input() clearLabel = 'Clear';\n\n @Input() buttonType: GovButtonTypeType = GovButtonType.solid;\n\n @Input() buttonOutlined = false;\n\n @Input() debounceTime?: number = DEFAULT_DEBOUNCE_TIME;\n\n @Input() defaultExpanded = false;\n\n icons = Icons;\n\n protected isExpanded = false;\n\n fieldDefinitios$?: Observable<GenericFieldDefinition[]>;\n\n formGroup$?: Observable<FormGroup>;\n\n simpleFormFieldDefinitions$?: Observable<GenericFieldDefinition[]>;\n\n private get searchField(): GenericFieldDefinition {\n return {\n name: this.fulltextFieldName,\n };\n }\n\n private onTouch?: () => void;\n\n private onChange?: (value: FilterValueType | undefined) => void;\n\n private inputFields$ = new BehaviorSubject<\n GenericFieldDefinition[] | undefined\n >([...this.fields ?? [], ...this.filters ?? []]);\n\n FieldSize = FieldSize;\n\n protected screenSizeService = inject(ScreenSizeService);\n protected changeDetectorRef = inject(ChangeDetectorRef);\n protected dialogService = inject(DialogService);\n\n service!: BaseHttpService<T>;\n\n formGroup = new FormGroup({});\n\n filledFiltersCount$: Observable<string> = this.formGroup.valueChanges.pipe(\n startWith(this.formGroup),\n map(() => getFilledControlCount(this.formGroup).toString())\n );\n\n private lastFormFields: GenericFieldDefinition[] = [];\n\n ngOnInit(): void {\n this.isExpanded = this.defaultExpanded;\n this.formGroup.valueChanges\n .pipe(\n takeUntil(this.destroyed$),\n debounceTime(this.debounceTime ?? DEFAULT_DEBOUNCE_TIME),\n map((x) => this.convertFilter(x)),\n distinctUntilChanged()\n )\n .subscribe((value) => {\n this.onChange?.(value);\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['total']) {\n this.changeDetectorRef.markForCheck();\n }\n if (changes['fields'] || changes['filters']) {\n this.inputFields$.next([...this.fields ?? [], ...this.filters ?? []]);\n }\n }\n\n ngAfterContentInit(): void {\n const fieldDeclaratios$: Observable<GenericFieldDefinition[]> =\n this.fieldDeclarations.changes.pipe(\n startWith({}),\n map(() => this.fieldDeclarations.toArray())\n );\n\n this.fieldDefinitios$ = this.inputFields$.pipe(\n combineLatestWith(fieldDeclaratios$),\n map(([inputs, views]) => {\n this.lastFormFields = [this.searchField, ...(inputs ?? []), ...views];\n return this.lastFormFields;\n })\n );\n\n this.simpleFormFieldDefinitions$ = this.fieldDefinitios$.pipe(\n map((fields) => {\n return fields\n .filter((x) => x.name !== this.fulltextFieldName)\n .map((x) => ({ ...x, floatLabel: false, size: x.size ?? FieldSize.medium }));\n })\n );\n\n this.formGroup$ = this.fieldDefinitios$.pipe(\n map((fields) => {\n const group = generateFormGroup(fields, this.formGroup, undefined, false);\n if (!group.get(this.fulltextFieldName) && this.showFulltext) {\n group.addControl(this.fulltextFieldName, new FormControl(''));\n }\n return group;\n })\n );\n\n this.changeDetectorRef.detectChanges();\n }\n\n protected toggleFilters() {\n this.isExpanded = !this.isExpanded;\n }\n\n protected openSearch() {\n this.dialogService.showDialog({\n headerIcon: 'pi pi-search',\n severity: 'primary',\n innerHTML: '<p>Search</p>',\n confirmButtonFn: () => this.submitValue(),\n confirmButtonText: 'Apply',\n cancelButtonFn: () => this.clear(),\n cancelButtonText: 'Clear all',\n showCancelButton: true,\n closable: false,\n });\n }\n\n writeValue(data: FilterValueType): void {\n this.formGroup.patchValue(data);\n }\n\n registerOnChange(fn: (value: FilterValueType | undefined) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouch = fn;\n }\n\n setDisabledState?(isDisabled: boolean): void {\n isDisabled ? this.formGroup.disable() : this.formGroup.enable();\n }\n\n submitValue() {\n if (!this.autoBind) {\n this.onChange?.(this.formGroup.value);\n }\n }\n\n setFilterValues(dialogFormGroup: FormGroup) {\n this.formGroup.setValue(dialogFormGroup.value);\n this.submitValue();\n }\n\n clear() {\n this.formGroup.reset();\n this.submitValue();\n }\n\n private convertFilter(\n value: FilterValueType | undefined\n ): FilterValueType | undefined {\n if (value == undefined) {\n return undefined;\n }\n\n const isEmpty = isFilterEmpty(value);\n if (isEmpty) {\n return undefined;\n }\n\n return value;\n }\n}\n","<div class=\"v-filter w-100\">\n @if (formGroup$ | async; as formGroup){\n <form [formGroup]=\"formGroup\">\n <div class=\"v-filter__header d-flex align-items-center p-3\">\n @if (title) {\n <div class=\"v-filter_title pe-4\">\n <h2 class=\"m-0\">{{ title }}</h2>\n </div>\n }\n <div class=\"v-filter__fulltext flex-grow-1 pe-4\">\n @if (showFulltext){\n <v-textfield\n placeholder=\"Search\"\n size=\"large\"\n [formControlName]=\"fulltextFieldName\"\n type=\"search\"\n [clearable]=\"true\"\n />\n }\n </div>\n <div class=\"v-filter_action-buttons d-flex align-items-center gap-2\">\n @if (!autoBind) {\n <v-button\n useShortCut\n [shortCutFn]=\"submitValue.bind(this)\"\n shortCutKey=\"Enter\"\n [type]=\"buttonType\"\n [outlined]=\"buttonOutlined\"\n size=\"small\"\n [label]=\"applyLabel\"\n (click)=\"submitValue()\"\n />\n }\n @if (isExpanded) {\n <v-button\n useShortCut\n [shortCutFn]=\"clear.bind(this)\"\n shortCutKey=\"Escape\"\n size=\"small\"\n [type]=\"buttonType\"\n [outlined]=\"buttonOutlined\"\n [label]=\"clearLabel\"\n (click)=\"clear()\"\n />\n }\n @if (simpleFormFieldDefinitions$ | async; as declaration){ @if\n (declaration.length) {\n <v-button\n size=\"small\"\n [type]=\"buttonType\"\n [outlined]=\"buttonOutlined\"\n [icon]=\"icons.filter\"\n [label]=\"$any(filledFiltersCount$ | async)\"\n (click)=\"toggleFilters()\"\n />\n } }\n\n <ng-content select=\"v-action-button-group\"></ng-content>\n </div>\n </div>\n @if (simpleFormFieldDefinitions$ | async; as declaration){ @if (isExpanded\n && declaration.length) {\n <div class=\"v-filter__expanded p-3\">\n <v-generic-form\n [fields]=\"declaration\"\n [formGroup]=\"formGroup\"\n [columns]=\"2\"\n />\n </div>\n } }\n </form>\n }\n</div>\n","import { Directive } from '@angular/core';\nimport { FilterFieldDirective } from '../../filter';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-feature-list-filter-field',\n})\nexport class FeatureListFilterFieldDirective extends FilterFieldDirective {}","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { GenericFieldDefinition, GenericFieldType } from \"@verisoft/ui-core\";\nimport { FeatureListColumnDefinition } from \"./feature-list-page.model\";\n\n@Pipe({\n name: 'featureListColumn',\n})\nexport class FeatureListFilterPipe<T> implements PipeTransform {\n transform(value: FeatureListColumnDefinition<T>[] | undefined): GenericFieldDefinition[] | undefined {\n if (!value){\n return undefined;\n }\n\n return value.filter(x => x.filter).map((x, index) => ({\n name: x.id,\n label: typeof x.headerName === 'function'? x.headerName(x.id, index) : x.headerName ?? '',\n type: x.type as GenericFieldType,\n }));\n }\n}","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport {\n FEATURE_LIST_PAGE_CONFIG_PROPERTY,\n FeatureListPageConfig,\n} from './feature-list-page.model';\nimport { FeatureListComponent } from './feature-list.component';\n\n@Component({\n selector: 'v-feature-list-page',\n imports: [FeatureListComponent],\n template: `\n <v-feature-list\n [title]=\"config.title\"\n [tableName]=\"config.tableName\"\n [showAdd]=\"config.showAdd ?? true\"\n [showDownload]=\"config.showDownload ?? true\"\n [showDelete]=\"config.showDelete ?? true\"\n >\n </v-feature-list>\n `\n})\nexport class FeatureListPageComponent {\n config!: FeatureListPageConfig;\n\n constructor(activatedRoute: ActivatedRoute) {\n this.config =\n activatedRoute.snapshot.data[FEATURE_LIST_PAGE_CONFIG_PROPERTY];\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { Route } from '@angular/router';\nimport { ColumnDefinition, GenericFieldTypeType } from '@verisoft/ui-core';\nimport { FeatureListPageComponent } from './feature-list-page.component';\n\nexport interface FeatureListPageConfig {\n title: string;\n datasource: string;\n tableName: string;\n showAdd?: boolean;\n showDownload?: boolean;\n showDelete?: boolean;\n}\n\nexport const FEATURE_LIST_PAGE_CONFIG_PROPERTY = 'feature_list_config';\n\nexport function addFeatureListPage(\n value: Partial<Route> & { config: FeatureListPageConfig }\n): Route {\n const { config, ...route } = value;\n return {\n component: FeatureListPageComponent,\n ...route,\n data: {\n [FEATURE_LIST_PAGE_CONFIG_PROPERTY]: config,\n ...(route.data ?? {}),\n },\n };\n}\n\nexport interface FeatureListColumnDefinition<T> extends ColumnDefinition<T> {\n filter?: boolean;\n type?: GenericFieldTypeType;\n}\n\nexport const FEATURE_LIST_COLUMN_PROVIDER = new InjectionToken(\n 'FEATURE_LIST_COLUMN_PROVIDER'\n);\n\nexport interface FeatureListColumnProvider<T> {\n getDefinition: () => FeatureListColumnDefinition<T>;\n}\n","import { HttpClient } from '@angular/common/http';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n inject,\n Input,\n Output,\n QueryList,\n ViewChild,\n} from '@angular/core';\nimport {\n AllDataRequestParams,\n BASE_URL_PATH,\n BaseHttpService,\n convertDatasource,\n DatasourceType,\n DEFAULT_PAGE_SIZE,\n} from '@verisoft/core';\nimport {\n ColumnModel,\n DialogService,\n downloadFile,\n GenericFieldDefinition,\n GovButtonType,\n GovButtonTypeType,\n MAX_COLUMN_CHAR_COUNT,\n TableDatasourceDirective,\n TableFilterDirective,\n TableSelectionMode,\n TableSelectionModeType,\n} from '@verisoft/ui-core';\nimport { take, switchMap, forkJoin, Observable, of } from 'rxjs';\nimport { Icons } from '../../icons';\nimport { FilterComponent } from '../filter';\nimport {\n ActionButtonComponent,\n ActionButtonGroupComponent,\n} from '../shared-components/action-button-group';\nimport { TableComponent } from '../table';\nimport { FeatureListFilterFieldDirective } from './directives/feature-list-filter-field.directive';\nimport { FeatureListFilterPipe } from './feature-list-filter.pipe';\nimport {\n FEATURE_LIST_COLUMN_PROVIDER,\n FeatureListColumnDefinition,\n FeatureListColumnProvider,\n} from './feature-list-page.model';\n\n@Component({\n selector: 'v-feature-list',\n imports: [\n TableComponent,\n TableDatasourceDirective,\n FilterComponent,\n TableFilterDirective,\n ActionButtonGroupComponent,\n ActionButtonComponent,\n FeatureListFilterPipe,\n ],\n templateUrl: './feature-list.component.html',\n styleUrls: ['./feature-list.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class FeatureListComponent<T> implements AfterViewInit {\n @ContentChildren(FEATURE_LIST_COLUMN_PROVIDER) viewColumns!: QueryList<\n FeatureListColumnProvider<T>\n >;\n\n @ContentChildren(FeatureListFilterFieldDirective)\n fieldDeclarations!: QueryList<FeatureListFilterFieldDirective>;\n\n @ViewChild(TableDatasourceDirective)\n tableDatasourceDirective!: TableDatasourceDirective<T>;\n\n @ViewChild('table')\n tableComponent!: TableComponent<T>;\n\n @Input() autoBind = true;\n\n @Input() title!: string;\n\n @Input() columns!: FeatureListColumnDefinition<T>[];\n\n @Input() filters!: GenericFieldDefinition[];\n\n @Input() maxVisibleActions = 2;\n\n @Input({ required: true }) tableName!: string;\n\n @Input() ngrxFeatureKey?: string;\n\n @Input() maxVisibleMobileActions = 0;\n\n @Input() showExtendedFilter = false;\n\n @Input() showDownload = false;\n\n @Input() showDelete = false;\n\n @Input() showAdd = false;\n\n @Input() canDownload = true;\n\n @Input() canDelete = true;\n\n @Input() canAdd = true;\n\n @Input() useRouterFilter = true;\n\n @Input() fulltextFieldName = 'searchField';\n\n @Input() showFulltext = true;\n\n @Input() applyLabel = 'Apply';\n\n @Input() clearLabel = 'Clear';\n\n @Input() buttonType: GovButtonTypeType = GovButtonType.solid;\n\n @Input() buttonOutlined = false;\n\n @Input() deleteConfirmMessage: string | undefined;\n\n @Input() autoDeleteEnabled = true;\n\n @Input() autoDownloadEnabled = true;\n\n @Input() downloadFileName = 'export.csv';\n\n @Input() datasource!: DatasourceType<T>;\n\n @Input() extraFilter?: Partial<T>;\n\n @Input() disableCustomClicks = false;\n\n @Input() maximumColumnLength = MAX_COLUMN_CHAR_COUNT;\n\n @Output() addClick = new EventEmitter();\n\n @Output() downloadClick = new EventEmitter();\n\n @Output() deleteClick = new EventEmitter<T[]>();\n\n @Output() selectionChange = new EventEmitter();\n\n @Input() set selectionMode(mode: TableSelectionModeType | undefined) {\n this._selectionMode = mode;\n }\n\n get selectionMode(): TableSelectionModeType | undefined {\n return this.canDelete\n ? TableSelectionMode.single\n : this._selectionMode;\n }\n\n icons = Icons;\n\n private httpClient = inject(HttpClient);\n\n private baseUrl: string = inject(BASE_URL_PATH);\n\n private _selectionMode: TableSelectionModeType | undefined;\n\n private cdRef = inject(ChangeDetectorRef);\n\n private dialogService = inject(DialogService);\n\n selection: T[] = [];\n\n get tableTotal(): number | undefined {\n return this.tableComponent?.total;\n }\n\n ngAfterViewInit(): void {\n if (this.viewColumns?.length) {\n const vewColumns = this.viewColumns\n ?.toArray()\n .map((x) => x.getDefinition());\n this.columns = [...(this.columns ?? []), ...(vewColumns ?? [])];\n this.cdRef.detectChanges();\n }\n\n if (this.fieldDeclarations?.length) {\n this.filters = this.fieldDeclarations?.toArray();\n }\n\n this.cdRef.detectChanges();\n }\n\n selectItems(items: T[]) {\n this.selection = items ?? [];\n\n if (this.selectionMode !== undefined) {\n this.selectionChange.emit(\n this.selectionMode === 'multiple'\n ? this.selection\n : this.selection[0]\n );\n }\n }\n\n startDeleteItems() {\n if (!this.selection.length) {\n return;\n }\n\n if (this.deleteConfirmMessage) {\n const message = this.deleteConfirmMessage;\n this.dialogService.showDialog({\n innerHTML: message,\n confirmButtonFn: () => this.deleteItems(this.selection),\n });\n } else {\n this.deleteItems(this.selection);\n }\n }\n\n startDownload() {\n this.downloadClick.emit();\n if (!this.autoDownloadEnabled) {\n return;\n }\n\n const dowloadFn = this.createDownloadFn(this.datasource);\n if (dowloadFn) {\n this.tableDatasourceDirective.params$\n .pipe(\n take(1),\n switchMap((params) => dowloadFn(params))\n )\n .subscribe((blob) => {\n downloadFile(this.downloadFileName, blob);\n });\n }\n }\n\n private deleteItems(items: T[]) {\n if (!this.autoDeleteEnabled) {\n this.deleteClick.emit(items);\n } else {\n this.forceDelete(items);\n }\n }\n\n private forceDelete(items: T[]) {\n const deleteFn = this.createDeleteFn(this.datasource);\n if (deleteFn) {\n const deleteMethods = items.map((x) => deleteFn(x));\n forkJoin(deleteMethods)\n .pipe(take(1))\n .subscribe(() => this.finishDeletion(items));\n } else {\n this.finishDeletion(items);\n }\n }\n\n private createDeleteFn(\n datasource: DatasourceType<T>\n ): ((item: T) => Observable<unknown>) | undefined {\n if (!datasource) {\n return undefined;\n }\n\n if (typeof datasource === 'string') {\n const service = new BaseHttpService<T>(\n this.httpClient,\n this.baseUrl,\n datasource\n );\n\n return (item: T) => service.delete((item as { id: string }).id);\n }\n\n if (datasource instanceof BaseHttpService) {\n return (item: T) => datasource.delete((item as { id: string }).id);\n }\n\n return undefined;\n }\n\n private createDownloadFn(\n datasource: DatasourceType<T>\n ): ((request: AllDataRequestParams<T>) => Observable<Blob>) | undefined {\n if (!datasource) {\n return undefined;\n }\n\n if (typeof datasource === 'string') {\n const service = new BaseHttpService<T>(\n this.httpClient,\n this.baseUrl,\n datasource\n );\n\n return (request: AllDataRequestParams<T>) => service.export(request);\n }\n\n if (datasource instanceof BaseHttpService) {\n return (request: AllDataRequestParams<T>) => datasource.export(request);\n }\n\n const fetchFunction = convertDatasource(\n datasource,\n this.baseUrl,\n this.httpClient\n );\n\n return (request: AllDataRequestParams<T>) => {\n const allData: T[] = [];\n let offset = 0;\n const fetchAllData = (): Observable<Blob> => {\n return fetchFunction({\n ...request,\n offset,\n limit: DEFAULT_PAGE_SIZE,\n }).pipe(\n take(1),\n switchMap((response) => {\n allData.push(...response.data);\n if (allData.length < response.total) {\n offset = offset + DEFAULT_PAGE_SIZE;\n return fetchAllData();\n } else {\n return of(this.convertToBlob(allData));\n }\n })\n );\n };\n\n return fetchAllData();\n };\n }\n\n private finishDeletion(items: T[]) {\n if (this.datasource && Array.isArray(this.datasource)) {\n this.datasource = this.datasource.filter((x) => !items.includes(x));\n } else {\n this.tableDatasourceDirective.reload();\n }\n\n this.deleteClick.emit(items);\n }\n\n private convertToBlob(data: T[]): Blob {\n const columnModel = this.columns.map((x) => new ColumnModel(x));\n const headers = columnModel.map((x, index) => x.headerGetter(x.id, index));\n const dataValues = data.map((row, rowIndex) =>\n columnModel.map((column) => column.valueGetter(row, rowIndex))\n );\n const csvData = [headers, ...dataValues]\n .map((row) => row.join(','))\n .join('\\n');\n return new Blob([csvData], { type: 'text/csv' });\n }\n}\n","<div class=\"feature-list__container full-height-container\">\n <v-filter\n #filter\n [title]=\"title\"\n [total]=\"tableTotal\"\n [fields]=\"columns | featureListColumn\"\n [filters]=\"filters\"\n [fulltextFieldName]=\"fulltextFieldName\"\n [showFulltext]=\"showFulltext\"\n [showFilters]=\"showExtendedFilter\"\n [applyLabel]=\"applyLabel\"\n [clearLabel]=\"clearLabel\"\n [buttonType]=\"buttonType\"\n [buttonOutlined]=\"buttonOutlined\"\n >\n <v-action-button-group\n [maxItems]=\"maxVisibleActions\"\n [maxItemsMobile]=\"maxVisibleMobileActions\"\n >\n @if (showAdd) {\n <v-action-button\n [icon]=\"icons.add\"\n label=\"Add\"\n [disabled]=\"!canAdd\"\n (click)=\"addClick.emit()\"\n />\n } @if (showDelete){\n <v-action-button\n [icon]=\"icons.delete\"\n label=\"Delete\"\n [disabled]=\"!canDelete || !selection.length\"\n (click)=\"startDeleteItems()\"\n />\n } @if (showDownload){\n <v-action-button\n [icon]=\"icons.download\"\n label=\"Download\"\n [disabled]=\"!canDownload\"\n (click)=\"startDownload()\"\n />\n }\n </v-action-button-group>\n </v-filter>\n <div class=\"feature-list__table-container full-height-container\">\n <div class=\"full-height-container\">\n <v-table\n #table\n useDatasource\n useFilter\n [filterComponent]=\"filter\"\n class=\"full-height-container\"\n [selectionMode]=\"selectionMode\"\n [tableName]=\"tableName\"\n [autoBind]=\"true\"\n [datasource]=\"datasource\"\n [columns]=\"columns\"\n [extraFilter]=\"extraFilter\"\n [maximumColumnLength]=\"maximumColumnLength\"\n [disableCustomClicks]=\"disableCustomClicks\"\n (selectionChange)=\"selectItems($event)\"\n >\n <ng-content />\n </v-table>\n </div>\n </div>\n</div>\n","import { Directive, Input } from '@angular/core';\nimport { GenericFieldType, GenericFieldTypeType, TableColumnDirective } from '@verisoft/ui-core';\nimport { FEATURE_LIST_COLUMN_PROVIDER, FeatureListColumnDefinition, FeatureListColumnProvider } from '../feature-list-page.model';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'v-feature-list-column',\n standalone: true,\n providers: [\n {\n provide: FEATURE_LIST_COLUMN_PROVIDER,\n useExisting: FeatureListColumnDirective,\n multi: true,\n },\n ],\n})\nexport class FeatureListColumnDirective<T>\n extends TableColumnDirective<T>\n implements FeatureListColumnProvider<T>\n{\n @Input() filter = false;\n\n @Input() type: GenericFieldTypeType = GenericFieldType.text;\n\n override getDefinition(): FeatureListColumnDefinition<T> {\n const definition = super.getDefinition() as FeatureListColumnDefinition<T>;\n definition.filter = this.filter;\n definition.type = this.type;\n definition.format = this.format;\n return definition;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { defineCustomElements } from \"@gov-design-system-ce/components/loader\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class GovInitService {\n constructor() {\n defineCustomElements(window);\n }\n}\n","import { Component } from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ButtonComponent } from \"./../../components\";\n\n@Component({\n selector: 'v-not-authenticated',\n templateUrl: \"./not-authenticated.component.html\",\n imports: [\n GovDesignSystemModule,\n ButtonComponent,\n ]\n})\nexport class NotAuthenticatedComponent { }\n","<gov-error-code>\n <gov-icon type=\"complex\" name=\"card-401\" slot=\"icon\"></gov-icon>\n <p>You are not logged in, please do so.</p>\n <v-button color=\"primary\" size=\"medium\" type=\"solid\" label=\"Login\" [routerLink]=\"['/login']\" />\n</gov-error-code>\n","import { Component } from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ButtonComponent } from \"../../components\";\n\n@Component({\n selector: 'v-not-authorized',\n templateUrl: \"./not-authorized.component.html\",\n imports: [\n GovDesignSystemModule,\n ButtonComponent,\n ]\n})\nexport class NotAuthorizedComponent {\n goBack(): void {\n history.back();\n }\n}\n","<gov-error-code>\n <gov-icon type=\"complex\" name=\"card-403\" slot=\"icon\"></gov-icon>\n <p>You are not authorized to view this content.</p>\n <v-button color=\"primary\" size=\"medium\" type=\"solid\" label=\"Go back\" (click)=\"goBack()\" />\n</gov-error-code>\n","import { Component } from \"@angular/core\";\nimport { GovDesignSystemModule } from \"@gov-design-system-ce/angular\";\nimport { ButtonComponent } from \"../../components\";\n\n@Component({\n selector: 'v-not-found',\n templateUrl: \"./not-found.component.html\",\n imports: [\n GovDesignSystemModule,\n ButtonComponent\n ]\n})\nexport class NotFoundComponent {\n goBack(): void {\n history.back();\n }\n}\n","<gov-error-code>\n <gov-icon type=\"complex\" name=\"card-404\" slot=\"icon\"></gov-icon>\n <p>The item you are looking for does not exist.</p>\n <v-button color=\"primary\" size=\"medium\" type=\"solid\" label=\"Go back\" (click)=\"goBack()\" />\n</gov-error-code>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","uuidv4","i3","i5"],"mappings":"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"}