@cauca-911/material 21.2.1 → 21.2.3

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":"cauca-911-material.mjs","sources":["../../../projects/cauca-material/src/lib/cauca-material.service.ts","../../../projects/cauca-material/src/lib/cauca-material.component.ts","../../../projects/cauca-material/src/lib/cauca-material.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.ts","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.ts","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/cauca-date-time-picker.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/cauca-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/components/buttons/base-button.ts","../../../projects/cauca-material/src/lib/components/buttons/basic-button/basic-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/basic-button/basic-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/fab-button/fab-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/fab-button/fab-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/flat-button/flat-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/flat-button/flat-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/icon-button/icon-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/icon-button/icon-button.component.html","../../../projects/cauca-material/src/lib/components/button/button.component.html","../../../projects/cauca-material/src/lib/components/button/button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/link-button/link-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/link-button/link-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/menu-item/menu-item.component.html","../../../projects/cauca-material/src/lib/components/buttons/menu-item/menu-item.component.ts","../../../projects/cauca-material/src/lib/components/buttons/raised-button/raised-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/raised-button/raised-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/refresh-button/refresh-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/refresh-button/refresh-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/round-button/round-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/round-button/round-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/stroked-button/stroked-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/stroked-button/stroked-button.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/alert-dialog/alert-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/alert-dialog/alert-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/confirm-dialog/confirm-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/confirm-dialog/confirm-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/text-input-dialog/text-input-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/text-input-dialog/text-input-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/delete-dialog/delete-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/delete-dialog/delete-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/error-dialog/error-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/error-dialog/error-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/services/dialog.service.ts","../../../projects/cauca-material/src/lib/core/models/breadcrumb-location.ts","../../../projects/cauca-material/src/lib/core/breadcrumb.service.ts","../../../projects/cauca-material/src/lib/core/loading-state.service.ts","../../../projects/cauca-material/src/lib/components/misc/snack-bar/snack-bar.component.html","../../../projects/cauca-material/src/lib/components/misc/snack-bar/snack-bar.component.ts","../../../projects/cauca-material/src/lib/components/misc/loading-error/loading-error.component.html","../../../projects/cauca-material/src/lib/components/misc/loading-error/loading-error.component.ts","../../../projects/cauca-material/src/lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component.html","../../../projects/cauca-material/src/lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component.ts","../../../projects/cauca-material/src/lib/components/presenters/badge/badge.component.ts","../../../projects/cauca-material/src/lib/components/presenters/badge/badge.component.html","../../../projects/cauca-material/src/lib/components/presenters/icon/icon.component.ts","../../../projects/cauca-material/src/lib/components/list-paginator/list-paginator.component.html","../../../projects/cauca-material/src/lib/components/list-paginator/list-paginator.component.ts","../../../projects/cauca-material/src/lib/components/inputs/password/password-criteria/password-criteria.component.html","../../../projects/cauca-material/src/lib/components/inputs/password/password-criteria/password-criteria.component.ts","../../../projects/cauca-material/src/lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component.ts","../../../projects/cauca-material/src/lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component.html","../../../projects/cauca-material/src/lib/components/inputs/password/password-input/password-input.component.html","../../../projects/cauca-material/src/lib/components/inputs/password/password-input/password-input.component.ts","../../../projects/cauca-material/src/lib/core/models/password-validation.ts","../../../projects/cauca-material/src/lib/core/validators/password/password-validator.ts","../../../projects/cauca-material/src/lib/components/inputs/password/password-selection/password-selection.component.html","../../../projects/cauca-material/src/lib/components/inputs/password/password-selection/password-selection.component.ts","../../../projects/cauca-material/src/lib/components/inputs/date-range-picker/date-range-picker.component.ts","../../../projects/cauca-material/src/lib/components/inputs/date-range-picker/date-range-picker.component.html","../../../projects/cauca-material/src/lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component.html","../../../projects/cauca-material/src/lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component.ts","../../../projects/cauca-material/src/lib/components/inputs/color-picker/color-picker.component.ts","../../../projects/cauca-material/src/lib/components/inputs/color-picker/color-picker.component.html","../../../projects/cauca-material/src/lib/components/inputs/select-with-search/select-with-search.component.html","../../../projects/cauca-material/src/lib/components/inputs/select-with-search/select-with-search.component.ts","../../../projects/cauca-material/src/lib/components/layout/group-container/group-container.component.ts","../../../projects/cauca-material/src/lib/components/layout/group-container/group-container.component.html","../../../projects/cauca-material/src/lib/components/layout/sections/main-section/main-section.component.html","../../../projects/cauca-material/src/lib/components/layout/sections/main-section/main-section.component.ts","../../../projects/cauca-material/src/lib/components/layout/sections/section-column/section-column.component.ts","../../../projects/cauca-material/src/lib/components/layout/sections/section-column/section-column.component.html","../../../projects/cauca-material/src/lib/components/layout/sections/section-field/section-field.component.html","../../../projects/cauca-material/src/lib/components/layout/sections/section-field/section-field.component.ts","../../../projects/cauca-material/src/lib/components/layout/page-title/page-title.component.html","../../../projects/cauca-material/src/lib/components/layout/page-title/page-title.component.ts","../../../projects/cauca-material/src/lib/components/layout/expandable-panel/expandable-panel.component.ts","../../../projects/cauca-material/src/lib/components/layout/expandable-panel/expandable-panel.component.html","../../../projects/cauca-material/src/lib/components/layout/expandable-panel-accordion/expandable-panel-accordion.component.ts","../../../projects/cauca-material/src/lib/components/layout/expandable-panel-accordion/expandable-panel-accordion.component.html","../../../projects/cauca-material/src/lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.ts","../../../projects/cauca-material/src/lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.html","../../../projects/cauca-material/src/lib/components/layout/menu-expandable-panel/menu-expandable-panel.component.html","../../../projects/cauca-material/src/lib/components/layout/menu-expandable-panel/menu-expandable-panel.component.ts","../../../projects/cauca-material/src/lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component.html","../../../projects/cauca-material/src/lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component.ts","../../../projects/cauca-material/src/lib/components/notifications/saving-error-box/saving-error-box.component.html","../../../projects/cauca-material/src/lib/components/notifications/saving-error-box/saving-error-box.component.ts","../../../projects/cauca-material/src/lib/components/notifications/status-message/status-message.component.ts","../../../projects/cauca-material/src/lib/components/notifications/status-message/status-message.component.html","../../../projects/cauca-material/src/lib/core/directives/auto-trim-and-lower.directive.ts","../../../projects/cauca-material/src/lib/core/directives/form-error/has-error-root.directive.ts","../../../projects/cauca-material/src/lib/core/directives/form-error/has-error.directive.ts","../../../projects/cauca-material/src/lib/core/directives/form-error/form-error.module.ts","../../../projects/cauca-material/src/lib/core/pipes/iso8601-time-span.pipe.ts","../../../projects/cauca-material/src/lib/provide-cauca-material.ts","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component.html","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component.ts","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-input-file/cauca-input-file.component.html","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-input-file/cauca-input-file.component.ts","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component.html","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component.ts","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component.html","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component.ts","../../../projects/cauca-material/src/public-api.ts","../../../projects/cauca-material/src/cauca-911-material.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaucaMaterialService {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-material',\n templateUrl: './cauca-material.component.html',\n styles: [],\n imports: [TranslateModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CaucaMaterialComponent {\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'cauca-mobile-time-picker',\n imports: [\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule\n ],\n templateUrl: './mobile-time-picker.component.html',\n styleUrl: './mobile-time-picker.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MobileTimePickerComponent {\n public value = input.required<number>();\n public options = input.required<number[]>();\n\n public valueChange = output<number>();\n\n public valueUp(): void {\n const currentIndex = this.options().indexOf(this.value());\n let newValue = 0;\n if (currentIndex === this.options().length - 1) {\n newValue = this.options()[0];\n } else {\n newValue = this.options()[currentIndex + 1];\n }\n\n this.valueChange.emit(newValue);\n }\n\n public valueDown(): void {\n const currentIndex = this.options().indexOf(this.value());\n let newValue = 0;\n if (currentIndex === 0) {\n newValue = this.options()[this.options().length - 1];\n } else {\n newValue = this.options()[currentIndex - 1];\n }\n\n this.valueChange.emit(newValue);\n }\n}\n","<button mat-icon-button (click)=\"valueUp()\">\n <mat-icon>keyboard_arrow_up</mat-icon>\n</button>\n<div>\n{{(value() < 10 ? '0' : '' ) + value()}}\n</div>\n<button mat-icon-button (click)=\"valueDown()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n</button>\n","<mat-list [disabled]=\"disabled()?.all\">\n @for (option of options(); track option) {\n <mat-list-item [activated]=\"value() === option\" [disabled]=\"disabled()?.someOptions?.includes(option)\"\n (click)=\"valueChange.emit(option)\">{{(option < 10 ? '0' : '' ) + option}}</mat-list-item>\n }\n</mat-list>","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { MatListModule } from '@angular/material/list';\n\n@Component({\n selector: 'cauca-desktop-time-picker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatListModule\n ],\n templateUrl: './desktop-time-picker.component.html',\n styleUrl: './desktop-time-picker.component.scss'\n})\nexport class DesktopTimePickerComponent {\n public readonly options = input<number[]>([]);\n public readonly value = input<number>();\n public readonly disabled = input<DesktopTimePickerComponentDisabled>();\n\n public readonly valueChange = output<number>();\n}\n\nexport interface DesktopTimePickerComponentDisabled {\n all: boolean;\n someOptions: number[];\n}","<div mat-dialog-content>\n <div [ngClass]=\"showSeconds() ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n @if (showTime()) {\n @if (!showMobileUi) {\n <div class=\"hours\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n }\n @if (showMobileUi) {\n <div class=\"hours\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n }\n\n @if (showMobileUi) {\n <div class=\"hour-and-minute-separator\">:</div>\n }\n\n @if (!showMobileUi) {\n <div class=\"minutes\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n }\n @if (showMobileUi) {\n <div class=\"minutes\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n }\n\n @if (showSeconds() && showMobileUi) {\n <div class=\"minute-and-second-separator\">:</div>\n }\n @if (showSeconds() && !showMobileUi) {\n <div class=\"seconds\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n }\n @if (showSeconds() && showMobileUi) {\n <div class=\"seconds\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n }\n }\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n @if (showClearButton) {\n <button mat-stroked-button (click)=\"clear()\">\n @if (showButtonIcons) {\n <mat-icon>clear</mat-icon>\n }\n {{'material.clear' | translate}}\n </button>\n }\n <button color=\"primary\" mat-stroked-button (click)=\"cancel()\">\n @if (showButtonIcons) {\n <mat-icon>cancel</mat-icon>\n }\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n @if (showButtonIcons) {\n <mat-icon>check</mat-icon>\n }\n {{'material.ok' | translate}}\n </button>\n</div>","import { ChangeDetectionStrategy, Component, HostListener, OnInit, signal, WritableSignal, inject } from '@angular/core';\nimport { provideNativeDateAdapter } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatListModule } from '@angular/material/list';\nimport { DialogDateTimePickerOptions, DialogDateTimePickerDataDisabled, DialogDateTimePickerDataStep } from '../../models/dialog-date-time-picker-data';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { MobileTimePickerComponent } from '../mobile-time-picker/mobile-time-picker.component';\nimport { DesktopTimePickerComponent } from '../desktop-time-picker/desktop-time-picker.component';\n\n@Component({\n selector: 'cauca-dialog-date-time-picker',\n imports: [\n CommonModule,\n CaucaCoreForChildModule,\n MatButtonModule,\n MatDatepickerModule,\n MatIconModule,\n MatListModule,\n MobileTimePickerComponent,\n DesktopTimePickerComponent\n ],\n providers: [provideNativeDateAdapter()],\n templateUrl: './dialog-date-time-picker.component.html',\n styleUrl: './dialog-date-time-picker.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DialogDateTimePickerComponent implements OnInit {\n\n public selectedHour = 0;\n public selectedMinute = 0;\n public selectedSecond = 0;\n public initialDate: Date = null;\n public selectedDate: Date = null;\n public minimumDate = new Date();\n public maximumDate = new Date();\n public showSeconds: WritableSignal<boolean> = signal(false);\n public showClearButton: boolean = true;\n public showButtonIcons: boolean = true;\n\n public hours = [...Array(24).keys()];\n public minutes = [...Array(60).keys()];\n public seconds = [...Array(60).keys()];\n public showMobileUi: boolean = false;\n\n public showTime: WritableSignal<boolean> = signal(true);\n\n public disabled: DialogDateTimePickerDataDisabled = {\n hours: true,\n someHours: [],\n minutes: true,\n someMinutes: [],\n seconds: true,\n someSeconds: [],\n };\n\n private step: DialogDateTimePickerDataStep = {\n hours: 1,\n minutes: 1,\n seconds: 1,\n };\n\n private readonly dialogRef = inject<MatDialogRef<DialogDateTimePickerComponent>>(MatDialogRef);\n private readonly options = inject<DialogDateTimePickerOptions>(MAT_DIALOG_DATA);\n\n public constructor() {\n const options = this.options;\n\n this.step = options.step || this.step;\n this.showSeconds.set(options.showSeconds);\n this.showButtonIcons = options.showButtonIcons ?? this.showButtonIcons;\n this.showClearButton = options.showClearButton ?? this.showClearButton;\n this.showTime.set(options.showTime ?? true);\n this.setListHoursMinutes();\n this.initialEachComponentValue(options);\n }\n\n public ngOnInit(): void {\n this.onWindowWithChange(window.innerWidth);\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(event) {\n this.onWindowWithChange(event.target.innerWidth);\n }\n\n public dateChanged(date: Date): void {\n if (date) {\n this.selectedDate = date;\n this.selectedDate.setHours(this.selectedHour);\n this.selectedDate.setMinutes(this.selectedMinute);\n this.selectedDate.setSeconds(this.selectedSecond);\n this.disabled.hours = false;\n this.disabled.someHours = this.hours.filter(hour => this.hourOfSelectedDateIsDisabled(hour));\n } else {\n this.selectedDate = null;\n this.disabled.hours = true;\n }\n }\n\n public hourChanged(hour: number): void {\n if (this.disabled.hours || this.disabled.someHours.includes(hour)) return;\n\n this.selectedHour = hour;\n this.selectedDate.setHours(hour);\n this.disabled.minutes = false;\n this.disabled.someMinutes = this.minutes.filter(minute => this.minuteOfSelectedDateIsDisabled(minute));\n }\n\n public minuteChanged(minute: number): void {\n if (this.disabled.minutes || this.disabled.someMinutes.includes(minute)) return;\n\n this.selectedMinute = minute;\n this.selectedDate.setMinutes(minute);\n this.disabled.seconds = false;\n this.disabled.someSeconds = this.seconds.filter(second => this.secondOfSelectedDateIsDisabled(second));\n }\n\n public secondChanged(second: number): void {\n if (this.disabled.seconds || this.disabled.someSeconds.includes(second)) return;\n\n this.selectedSecond = second;\n this.selectedDate.setSeconds(second);\n }\n\n public clear(): void {\n this.dialogRef.close({\n value: null\n });\n }\n\n public cancel(): void {\n this.dialogRef.close({\n value: this.initialDate\n });\n }\n\n public confirm(): void {\n this.dialogRef.close({\n value: this.selectedDate\n });\n }\n\n private onWindowWithChange(width: number): void {\n this.showMobileUi = width && width <= 555;\n }\n\n private hourOfSelectedDateIsDisabled(hour: number): boolean {\n if (this.selectedDateIsTheMinimumDate()) {\n return hour < this.minimumDate.getHours();\n } else if (this.selectedDateIsTheMaximumDate()) {\n return hour > this.maximumDate.getHours();\n }\n\n return false;\n }\n\n private minuteOfSelectedDateIsDisabled(minute: number): boolean {\n if (\n this.selectedDateIsTheMinimumDate() &&\n this.selectedDate.getHours() === this.minimumDate.getHours()\n ) {\n return minute < this.minimumDate.getMinutes();\n } else if (\n this.selectedDateIsTheMaximumDate() &&\n this.selectedDate.getHours() === this.maximumDate.getHours()\n ) {\n return minute > this.maximumDate.getMinutes();\n }\n\n return false;\n }\n\n private secondOfSelectedDateIsDisabled(second: number): boolean {\n if (\n this.selectedDateIsTheMinimumDate() &&\n this.selectedDate.getHours() === this.minimumDate.getHours() &&\n this.selectedDate.getMinutes() === this.minimumDate.getMinutes()\n ) {\n return second < this.minimumDate.getSeconds();\n } else if (\n this.selectedDateIsTheMaximumDate() &&\n this.selectedDate.getMinutes() === this.maximumDate.getMinutes()\n ) {\n return second > this.maximumDate.getSeconds();\n }\n\n return false;\n }\n\n private initialEachComponentValue(options: DialogDateTimePickerOptions): void {\n this.initialDate = options.selectedDate ? new Date(options.selectedDate) : null;\n this.minimumDate = options.minimumDate ? new Date(options.minimumDate) : null;\n this.maximumDate = options.maximumDate ? new Date(options.maximumDate) : null;\n this.selectedDate = options.selectedDate ? new Date(options.selectedDate) : new Date();\n this.dateChanged(options.selectedDate ? new Date(options.selectedDate) : null);\n this.hourChanged(options.selectedDate ? new Date(options.selectedDate).getHours() : 0);\n this.minuteChanged(options.selectedDate ? new Date(options.selectedDate).getMinutes() : 0);\n this.secondChanged(options.selectedDate ? new Date(options.selectedDate).getSeconds() : 0);\n }\n\n private selectedDateIsTheMinimumDate(): boolean {\n return (\n this.minimumDate &&\n this.selectedDate.getFullYear() === this.minimumDate.getFullYear() &&\n this.selectedDate.getMonth() === this.minimumDate.getMonth() &&\n this.selectedDate.getDate() === this.minimumDate.getDate()\n );\n }\n\n private selectedDateIsTheMaximumDate(): boolean {\n return (\n this.maximumDate &&\n this.selectedDate.getFullYear() === this.maximumDate.getFullYear() &&\n this.selectedDate.getMonth() === this.maximumDate.getMonth() &&\n this.selectedDate.getDate() === this.maximumDate.getDate()\n );\n }\n\n private setListHoursMinutes(): void {\n this.hours = this.hours.filter(hour => hour % this.step.hours === 0);\n this.minutes = this.minutes.filter(minute => minute % this.step.minutes === 0);\n this.seconds = this.seconds.filter(seconde => seconde % this.step.seconds === 0);\n }\n}\n","<mat-form-field [subscriptSizing]=\"subscriptSizing()\">\n @if (label()) {\n <mat-label>{{ translateLabel() ? (label() | translate) : label() }}{{isRequired() ? '*' : ''}}</mat-label>\n }\n <input (focusout)=\"onTouched()\" matInput [value]=\"stringDate()\" readonly=\"readonly\">\n <button matSuffix mat-icon-button (click)=\"showDialog()\">\n <mat-icon>calendar_month</mat-icon>\n </button>\n</mat-form-field>","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, Injector, input, model, OnInit, output } from '@angular/core';\nimport { DialogPosition, MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { DialogDateTimePickerComponent } from './components/dialog-date-time-picker/dialog-date-time-picker.component';\nimport { DialogDateTimePickerOptions, DialogDateTimePickerValue } from './models/dialog-date-time-picker-data';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DatePipe } from '@angular/common';\nimport { AbstractControl, ControlContainer, ControlValueAccessor, FormControl, FormControlName, FormGroup, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';\nimport { MatFormFieldModule, SubscriptSizing } from '@angular/material/form-field';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-date-time-picker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule,\n MatButtonModule,\n MatIconModule,\n MatInputModule,\n MatFormFieldModule\n ],\n providers: [\n DatePipe,\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: CaucaDateTimePickerComponent,\n }\n ],\n templateUrl: './cauca-date-time-picker.component.html',\n styleUrl: './cauca-date-time-picker.component.scss'\n})\nexport class CaucaDateTimePickerComponent implements ControlValueAccessor, OnInit {\n\n public readonly value = model<Date>(null);\n public readonly subscriptSizing = input<SubscriptSizing>('fixed');\n public readonly showTime = input<boolean>(true);\n public readonly label = input<string>('');\n public readonly translateLabel = input<boolean>(true);\n public readonly stepHours = input(1);\n public readonly stepMinutes = input(1);\n public readonly stepSecondes = input(1);\n public readonly minimumDate = input<Date>(null);\n public readonly maximumDate = input<Date>(null);\n public readonly showSeconds = input<boolean>(false);\n public readonly showFormat = input<string>('yyyy/MM/dd, HH:mm');\n public readonly showClearButton = input<boolean>(true);\n public readonly showButtonIcons = input<boolean>(true);\n public readonly selectedChange = output<Date>();\n\n public control: AbstractControl;\n public readonly stringDate = computed(() => this.value() ? this.stringifyDate(this.value()) : '');\n public readonly isRequired = computed(() => Boolean(this.control?.hasValidator(Validators.required)));\n\n private readonly injector = inject(Injector);\n private readonly elementRef = inject(ElementRef);\n private readonly dialog = inject(MatDialog);\n private readonly datePipe = inject(DatePipe);\n\n public ngOnInit(): void {\n const ngControl = this.injector.get(NgControl, null, { self: true, optional: true });\n if (ngControl instanceof FormControlName) {\n const container = this.injector.get(ControlContainer).control as FormGroup;\n this.control = container.controls[ngControl.name] as FormControl;\n } else {\n this.control = new FormControl();\n }\n }\n\n public showDialog(): void {\n const dialogRef = this.dialog.open(DialogDateTimePickerComponent, {\n position: this.getDialogPosition(),\n data: this.getDateTimePickerOptions(),\n maxWidth: '100vw',\n });\n\n dialogRef.afterClosed().subscribe((data: DialogDateTimePickerValue) => {\n if (data) {\n this.value.set(data.value);\n this.selectedChange.emit(data.value);\n this.onChange(data.value);\n }\n });\n }\n\n public writeValue(date: Date): void {\n this.value.set(date);\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public onChange = (value: Date): Date => value;\n\n public onTouched = (): void => {/* This method needs to be empty */ };\n\n private getDateTimePickerOptions(): DialogDateTimePickerOptions {\n return {\n selectedDate: this.value(),\n minimumDate: this.minimumDate(),\n maximumDate: this.maximumDate(),\n showSeconds: this.showSeconds(),\n showClearButton: this.showClearButton(),\n showButtonIcons: this.showButtonIcons(),\n showTime: this.showTime(),\n step: {\n hours: this.stepHours(),\n minutes: this.stepMinutes(),\n seconds: this.stepSecondes(),\n }\n };\n }\n\n private stringifyDate(date: Date): string {\n return this.datePipe.transform(date, this.showFormat());\n }\n\n private getDialogPosition(): DialogPosition {\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const top = rect.y + rect.height - 22;\n const bottom = window.innerHeight - rect.y;\n const minimumDialogHeight = 400;\n const minimumScreenSize = 800;\n\n if (window.innerHeight < minimumScreenSize || window.innerWidth < minimumScreenSize) {\n return null;\n } else if (window.innerHeight > (top + minimumDialogHeight)) {\n return {\n left: `${rect.x}px`,\n top: `${top}px`,\n };\n }\n\n return {\n left: `${rect.x}px`,\n bottom: `${bottom}px`,\n };\n }\n}\n","import { InputSignal, input, computed, output, Directive, OutputEmitterRef, signal } from \"@angular/core\";\r\n\r\n@Directive()\r\nexport abstract class BaseButton {\r\n public colorOnHover: InputSignal<string> = input(undefined);\r\n public color: InputSignal<string> = input(undefined);\r\n public icon: InputSignal<string> = input();\r\n public iconAlignment: InputSignal<'left' | 'right'> = input('left');\r\n public isDisabled: InputSignal<boolean> = input(false);\r\n public isInProgress: InputSignal<boolean> = input(false);\r\n\r\n public iconColor = computed(() => this.isHovered() ? this.colorOnHover() || this.color() : this.color()); \r\n public showIcon = computed(() => !!this.icon() || this.isInProgress());\r\n public iconToShow = computed(() => this.isInProgress() ? 'update' : this.icon());\r\n public buttonDisabled = computed(() => this.isDisabled() || this.isInProgress());\r\n\r\n public buttonClick: OutputEmitterRef<void> = output();\r\n\r\n public isHovered = signal(false);\r\n\r\n public onMouseEnter(): void {\r\n this.isHovered.set(true);\r\n }\r\n\r\n public onMouseLeave(): void {\r\n this.isHovered.set(false);\r\n }\r\n}\r\n\r\n@Directive()\r\nexport abstract class BaseButtonWithLabel extends BaseButton {\r\n public translateLabel: InputSignal<boolean> = input(true);\r\n public label: InputSignal<string> = input();\r\n public small: InputSignal<boolean> = input(false);\r\n}","<button mat-button [ngClass]=\"small() ? 'small-button' : ''\" [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\">\r\n @if(showIcon() && iconAlignment() === 'left') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n @if(showIcon() && iconAlignment() === 'right') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\n\r\n@Component({\r\n selector: 'cauca-basic-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIcon, MatButton, TranslateModule, NgClass],\r\n templateUrl: './basic-button.component.html',\r\n styleUrl: './basic-button.component.scss'\r\n})\r\nexport class BasicButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","<button mat-fab [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\">\r\n @if (showIcon()) { <mat-icon [style.color]=\"iconColor()\" [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { ChangeDetectionStrategy, Component, computed } from '@angular/core';\r\nimport { MatButtonModule, } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\n\r\n@Component({\r\n selector: 'cauca-fab-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatButtonModule, MatIconModule],\r\n templateUrl: './fab-button.component.html',\r\n styleUrl: './fab-button.component.scss',\r\n})\r\nexport class FabButtonComponent extends BaseButtonWithLabel {\r\n public iconColor = computed(() => this.color() === 'primary' ? 'white' : undefined);\r\n}\r\n","<button mat-flat-button [ngClass]=\"small() ? 'small-button' : ''\" [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit();\">\r\n @if(showIcon() && iconAlignment() === 'left') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n @if(showIcon() && iconAlignment() === 'right') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\n\r\n@Component({\r\n selector: 'cauca-flat-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIcon, MatButton, TranslateModule, NgClass],\r\n templateUrl: './flat-button.component.html',\r\n styleUrl: './flat-button.component.scss'\r\n})\r\nexport class FlatButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatIconButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { BaseButton } from '../base-button';\r\n\r\n@Component({\r\n selector: 'cauca-icon-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIconButton, MatIcon],\r\n templateUrl: './icon-button.component.html',\r\n styleUrl: './icon-button.component.scss'\r\n})\r\nexport class IconButtonComponent extends BaseButton {\r\n}\r\n","<button (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\" mat-icon-button onclick=\"this.blur()\" (click)=\"buttonClick.emit();\" [disabled]=\"buttonDisabled()\">\r\n <mat-icon [style.color]=\"iconColor()\" [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon>\r\n</button>","@if (type() === 'basic') {\n <button [ngClass]=\"class()\" mat-button (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-basic\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}\n\n@if (type() === 'raised') {\n <button [ngClass]=\"class()\" matButton=\"elevated\" (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-raised\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}\n\n@if (type() === 'stroked') {\n <button [ngClass]=\"class()\" matButton=\"outlined\" (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-stroked\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}\n\n@if (type() === 'flat') {\n <button [ngClass]=\"class()\" matButton=\"filled\" (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-flat\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}\n\n@if (type() === 'icon') {\n <button [ngClass]=\"class()\" matIconButton (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-icon\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n </button>\n}\n\n@if (type() === 'fab') {\n <button [ngClass]=\"class()\" matFab (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-icon\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'cauca-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n imports: [MatIconModule, MatButtonModule, NgClass],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n public class = input<string | null>(null);\n public inProgress = input<boolean>(false);\n public disable = input<boolean>(false);\n public label = input<string>('');\n public icon = input<string | null>(null);\n public color = input<string>('');\n public type = input<'basic' | 'raised' | 'stroked' | 'flat' | 'icon' | 'fab'>('basic');\n public buttonClick = output<void>();\n}","import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { ButtonComponent } from '../../button/button.component';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n\n@Component({\n selector: 'cauca-link-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './link-button.component.html',\n styleUrls: ['./link-button.component.scss'],\n imports: [ButtonComponent, TranslatePipe]\n})\nexport class LinkButtonComponent {\n public readonly segments = input<string[]>();\n\n private readonly clipboard = inject(Clipboard);\n\n public copyLink(): void {\n const link = location.origin + this.segments().map((segment: string) => `/${segment}`).join('');\n this.clipboard.copy(link);\n }\n}\n","<cauca-button class=\"link-button\" icon=\"link\" type=\"stroked\" color=\"primary\" (buttonClick)=\"copyLink()\" [label]=\"'copyLink'|translate\" />","<button (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\" mat-menu-item [ngClass]=\"small() ? 'small-button' : ''\" class=\"change-password-menu-item\" [matMenuTriggerFor]=\"trigger()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\">\r\n @if(showIcon() && iconAlignment() === 'left') { <mat-icon [style.color]=\"iconColor()\" [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n @if(showIcon() && iconAlignment() === 'right') { <mat-icon [style.color]=\"iconColor()\" [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>\r\n","import { ChangeDetectionStrategy, Component, InputSignal, input, } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cauca-menu-item',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatMenuItem, TranslateModule, MatIcon, MatMenuTrigger, NgClass],\r\n templateUrl: './menu-item.component.html',\r\n styleUrl: './menu-item.component.scss',\r\n})\r\nexport class MenuItemComponent extends BaseButtonWithLabel {\r\n public translateLabel: InputSignal<boolean> = input(false);\r\n public trigger: InputSignal<any> = input();\r\n}\r\n","<button mat-raised-button [ngClass]=\"small() ? 'small-button' : ''\" [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\">\r\n @if (showIcon() && iconAlignment() === 'left') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n @if (showIcon() && iconAlignment() === 'right') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatButton, } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cauca-raised-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatButton, MatIconModule, TranslateModule, NgClass],\r\n templateUrl: './raised-button.component.html',\r\n styleUrl: './raised-button.component.scss',\r\n})\r\nexport class RaisedButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","import { Component, ChangeDetectionStrategy, input, output } from '@angular/core';\nimport { ButtonComponent } from '../../button/button.component';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-refresh-button',\n imports: [ButtonComponent, TranslatePipe],\n templateUrl: './refresh-button.component.html',\n styleUrl: './refresh-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RefreshButtonComponent {\n public readonly inProgress = input<boolean>(false);\n public readonly refreshEvent = output<void>();\n\n public refresh(): void {\n this.refreshEvent.emit();\n }\n}","<cauca-button class=\"refresh-button\" icon=\"refresh\" type=\"stroked\" color=\"primary\" (buttonClick)=\"refresh()\" [label]=\"'refresh' | translate\" />","<button (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\" onclick=\"this.blur()\" (click)=\"buttonClick.emit();\" [disabled]=\"buttonDisabled()\">\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n</button>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-round-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [TranslateModule],\r\n templateUrl: './round-button.component.html',\r\n styleUrl: './round-button.component.scss'\r\n})\r\nexport class RoundButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","<button mat-stroked-button [ngClass]=\"small() ? 'small-button' : ''\" [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\" [class.icon-only]=\"!label()\">\r\n @if(showIcon() && iconAlignment() === 'left') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (label()) { @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}} }\r\n @if(showIcon() && iconAlignment() === 'right') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatButton, } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cauca-stroked-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatButton, MatIconModule, TranslateModule, NgClass],\r\n templateUrl: './stroked-button.component.html',\r\n styleUrl: './stroked-button.component.scss',\r\n})\r\nexport class StrokedButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { ConfirmationOptions } from '../services/dialog.service';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\n\n@Component({\n selector: 'cauca-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, RaisedButtonComponent, IconButtonComponent, MatDialogModule]\n})\nexport class AlertDialogComponent {\n public readonly title: string;\n public readonly message: string;\n\n private readonly dialogRef = inject<MatDialogRef<AlertDialogComponent>>(MatDialogRef);\n\n public constructor() {\n const data = inject<AlertDialogData>(MAT_DIALOG_DATA);\n const breakdownObserver = inject(BreakpointObserver);\n\n this.title = data.title;\n this.message = data.message;\n this.dialogRef.addPanelClass(\"dialog-global-style\");\n breakdownObserver.observe('(max-width: 500px)').pipe(takeUntilDestroyed()).subscribe(result => this.dialogRef.updateSize(result.matches ? '100vw' : 'auto'));\n }\n\n public closeClick(): void {\n this.dialogRef.close();\n }\n}\n\nexport interface AlertDialogData {\n title: string;\n message: string;\n options: ConfirmationOptions;\n}\n","<div mat-dialog-title>\n <div class=\"h6\">{{ title | translate }}</div>\n <cauca-icon-button id=\"closeButton\" (buttonClick)=\"closeClick()\" icon=\"close\" />\n</div>\n<div class=\"alert-dialog-content\" mat-dialog-content>\n <p>{{ message | translate }}</p>\n</div>\n<mat-dialog-actions align=\"end\">\n <cauca-raised-button id=\"okButton\" label=\"ok\" color=\"primary\" (buttonClick)=\"closeClick()\" />\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\nimport { AlertDialogData } from '../alert-dialog/alert-dialog.component';\nimport { ConfirmationOptions, ConfirmationResult } from '../services/dialog.service';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\nimport { StrokedButtonComponent } from '../../buttons/stroked-button/stroked-button.component';\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\n\n@Component({\n selector: 'cauca-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, MatDialogModule, RaisedButtonComponent, StrokedButtonComponent, IconButtonComponent]\n})\nexport class ConfirmDialogComponent {\n public readonly title: string;\n public readonly message: string;\n public readonly options: ConfirmationOptions;\n\n private readonly dialogRef = inject<MatDialogRef<ConfirmDialogComponent>>(MatDialogRef);\n\n public constructor() {\n const data = inject<AlertDialogData>(MAT_DIALOG_DATA);\n const breakdownObserver = inject(BreakpointObserver);\n\n this.title = data.title;\n this.message = data.message;\n this.options = data.options;\n this.dialogRef.addPanelClass(\"dialog-global-style\");\n breakdownObserver.observe('(max-width: 500px)').pipe(takeUntilDestroyed()).subscribe(result => this.dialogRef.updateSize(result.matches ? '100vw' : 'auto'));\n }\n\n public noClick(): void {\n this.dialogRef.close(ConfirmationResult.No);\n }\n\n public yesClick(): void {\n this.dialogRef.close(ConfirmationResult.Yes);\n }\n\n public cancelClick(): void {\n this.dialogRef.close(ConfirmationResult.Cancel);\n }\n}","<div mat-dialog-title>\n <div class=\"h6 title\">{{ title | translate: options.titleArgs }}</div>\n <cauca-icon-button id=\"close-button\" (buttonClick)=\"cancelClick()\" icon=\"close\" />\n </div>\n <div mat-dialog-content>\n <p class=\"message\">{{ message | translate: options.messageArgs }}</p>\n </div>\n <mat-dialog-actions align=\"end\" class=\"action-buttons\">\n <cauca-stroked-button class=\"no-button\" [label]=\"options.noText\" [color]=\"options.noColor\" (buttonClick)=\"noClick()\" />\n <cauca-raised-button class=\"yes-button\" [label]=\"options.yesText\" [color]=\"options.yesColor\" (buttonClick)=\"yesClick()\" />\n </mat-dialog-actions>","<div mat-dialog-title>\r\n <div class=\"h6\">{{ titleLabel | translate }}</div>\r\n <cauca-icon-button id=\"close-button\" icon=\"close\" (buttonClick)=\"cancelClick()\" />\r\n</div>\r\n<div mat-dialog-content>\r\n <form [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-label>{{ inputLabel | translate}}</mat-label>\r\n @if (useTextArea()) {\r\n <textarea cdkTextareaAutosize formControlName=\"input\" matInput></textarea>\r\n } @else {\r\n <input formControlName=\"input\" matInput />\r\n }\r\n @if (showSuffix()) { <span matTextSuffix>{{suffix()}}</span> }\r\n @if (form.controls.input.hasError('required')) {<mat-error>{{'error.requiredField' | translate}}</mat-error>}\r\n @if (form.controls.input.hasError('invalidName')) {<mat-error>{{'error.invalidName' | translate}}</mat-error>}\r\n @if (form.controls.input.hasError('alreadyUsed')) {<mat-error>{{'error.alreadyUsed' | translate}}</mat-error>}\r\n </mat-form-field>\r\n </form>\r\n</div>\r\n<mat-dialog-actions align=\"end\">\r\n <cauca-stroked-button id=\"close-button\" [label]=\"cancelButtonLabel\" (buttonClick)=\"cancelClick()\" color=\"primary\" />\r\n <cauca-raised-button class=\"yes-button\" [isDisabled]=\"!form.valid\" [label]=\"validateButtonLabel\" color=\"primary\" (buttonClick)=\"validateClick()\" />\r\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { FormGroup, ReactiveFormsModule, UntypedFormBuilder, ValidatorFn } from '@angular/forms';\r\nimport { ConfirmationResult } from '../services/dialog.service';\r\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\r\nimport { StrokedButtonComponent } from '../../buttons/stroked-button/stroked-button.component';\r\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\r\n\r\n@Component({\r\n selector: 'cauca-text-input-dialog',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [TranslateModule, RaisedButtonComponent, MatDialogModule, StrokedButtonComponent, MatFormFieldModule, MatInputModule, ReactiveFormsModule, IconButtonComponent],\r\n templateUrl: './text-input-dialog.component.html',\r\n styleUrl: './text-input-dialog.component.scss'\r\n})\r\nexport class TextInputDialogComponent {\r\n public form: FormGroup;\r\n\r\n public readonly titleLabel: string;\r\n public readonly validateButtonLabel: string;\r\n public readonly cancelButtonLabel: string;\r\n public readonly inputLabel: string;\r\n public readonly suffix = signal<string>('');\r\n public readonly showSuffix = computed(() => !!this.suffix());\r\n public readonly useTextArea = signal<boolean>(false);\r\n\r\n private readonly dialogRef = inject<MatDialogRef<TextInputDialogComponent>>(MatDialogRef);\r\n private readonly data = inject<TextInputDialogData>(MAT_DIALOG_DATA);\r\n\r\n public constructor() {\r\n const formBuilder = inject(UntypedFormBuilder);\r\n const data = this.data;\r\n\r\n this.suffix.set(data.suffix);\r\n this.titleLabel = data.titleLabel;\r\n this.validateButtonLabel = data.validateButtonLabel;\r\n this.cancelButtonLabel = data.cancelButtonLabel;\r\n this.inputLabel = data.inputLabel;\r\n this.useTextArea.set(data.useTextArea ?? false);\r\n\r\n this.form = formBuilder.group({\r\n input: [data.value, data.validators]\r\n });\r\n }\r\n\r\n public cancelClick(): void {\r\n this.dialogRef.close({ result: ConfirmationResult.Cancel, value: null });\r\n }\r\n\r\n public validateClick(): void {\r\n const trimmedValue = this.form.controls.input.value.trim();\r\n this.dialogRef.close({ result: ConfirmationResult.Yes, value: trimmedValue });\r\n }\r\n}\r\n\r\nexport interface TextInputDialogData {\r\n titleLabel: string;\r\n validateButtonLabel: string;\r\n cancelButtonLabel: string;\r\n inputLabel: string;\r\n suffix?: string;\r\n useTextArea?: boolean;\r\n validators?: ValidatorFn | ValidatorFn[];\r\n value?: string;\r\n}","<div mat-dialog-title>\n @if (itemGenderIsFemale)\n {\n <div class=\"h6 title\">{{ ('deleteDialog.titleFemale' | translate:{itemType}) }}</div>\n } @else\n {\n <div class=\"h6 title\">{{ ('deleteDialog.titleMale' | translate:{itemType}) }}</div>\n }\n <cauca-icon-button id=\"closeButton\" (buttonClick)=\"closeClick()\" icon=\"close\" />\n</div>\n<div mat-dialog-content>\n <p>{{('deleteDialog.message' | translate:{itemName})}}</p>\n</div>\n<mat-dialog-actions align=\"end\">\n <cauca-stroked-button id=\"cancelButton\" label=\"cancel\" color=\"primary\" (buttonClick)=\"closeClick()\"/>\n <cauca-raised-button id=\"deleteButton\" label=\"delete\" color=\"warn\" (buttonClick)=\"deleteClick()\" />\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { DeleteDialogData } from './models/delete-dialog-data';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\nimport { StrokedButtonComponent } from '../../buttons/stroked-button/stroked-button.component';\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\n\n@Component({\n selector: 'cauca-delete-dialog',\n templateUrl: './delete-dialog.component.html',\n styleUrls: ['./delete-dialog.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatDialogModule, TranslateModule, StrokedButtonComponent, IconButtonComponent, RaisedButtonComponent]\n})\nexport class DeleteDialogComponent {\n public readonly itemGenderIsFemale: boolean;\n public readonly itemName: string;\n public readonly itemType: string;\n\n private readonly dialogRef = inject<MatDialogRef<DeleteDialogComponent>>(MatDialogRef);\n\n public constructor() {\n const data = inject<DeleteDialogData>(MAT_DIALOG_DATA);\n const breakdownObserver = inject(BreakpointObserver);\n\n this.itemGenderIsFemale = data.female;\n this.itemName = data.name ? data.name : '';\n this.itemType = data.type ? data.type.toLowerCase() : '';\n this.dialogRef.addPanelClass(\"dialog-global-style\");\n breakdownObserver.observe('(max-width: 500px)').pipe(takeUntilDestroyed()).subscribe(result => this.dialogRef.updateSize(result.matches ? '100vw' : 'auto'));\n }\n\n public deleteClick(): void {\n this.dialogRef.close(true);\n }\n\n public closeClick(): void {\n this.dialogRef.close(false);\n }\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { DeleteDialogData } from '../delete-dialog/models/delete-dialog-data';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\n\n@Component({\n selector: 'cauca-error-dialog',\n templateUrl: './error-dialog.component.html',\n styleUrls: ['./error-dialog.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatDialogModule, TranslateModule, RaisedButtonComponent, IconButtonComponent]\n})\nexport class ErrorDialogComponent {\n public readonly itemName: string;\n\n private readonly dialogRef = inject<MatDialogRef<ErrorDialogComponent>>(MatDialogRef);\n\n public constructor() {\n const data = inject<DeleteDialogData>(MAT_DIALOG_DATA);\n const breakdownObserver = inject(BreakpointObserver);\n\n this.itemName = data.name ? data.name : '';\n this.dialogRef.addPanelClass(\"dialog-global-style\");\n breakdownObserver.observe('(max-width: 500px)').pipe(takeUntilDestroyed()).subscribe(result => this.dialogRef.updateSize(result.matches ? '100vw' : 'auto'));\n }\n\n public closeClick(): void {\n this.dialogRef.close();\n }\n}\n","<div mat-dialog-title>\n <div class=\"h6\">{{('errorDialog.titleError' | translate)}}</div>\n <cauca-icon-button id=\"closeButton\" (buttonClick)=\"closeClick()\" icon=\"close\"/>\n</div>\n<div mat-dialog-content>\n <p>{{('errorDialog.messageError' | translate:{itemName})}}</p>\n</div>\n<mat-dialog-actions align=\"end\">\n <cauca-raised-button id=\"okButton\" label=\"ok\" color=\"warn\" (buttonClick)=\"closeClick()\"/>\n</mat-dialog-actions>","import { inject, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { firstValueFrom } from 'rxjs';\nimport { AlertDialogComponent, AlertDialogData } from '../alert-dialog/alert-dialog.component';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { TextInputDialogComponent } from '../text-input-dialog/text-input-dialog.component';\nimport { ValidatorFn } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';\nimport { DeleteDialogData } from '../delete-dialog/models/delete-dialog-data';\nimport { ErrorDialogComponent } from '../error-dialog/error-dialog.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogService {\n\n private readonly defaultConfirmationOptions: ConfirmationOptions = {\n noText: 'no',\n noColor: 'primary',\n noType: 'stroked',\n yesText: 'yes',\n yesType: 'raised',\n messageArgs: null,\n titleArgs: null,\n yesColor: 'primary'\n };\n\n private readonly translate = inject(TranslateService);\n private readonly dialog = inject(MatDialog);\n\n public async showDialog(title: string, message: string): Promise<any> {\n const dialogRef = this.dialog.open(AlertDialogComponent, {\n data: { title, message } as AlertDialogData,\n autoFocus: false\n });\n return await firstValueFrom(dialogRef.afterClosed());\n }\n\n public async showCustomDialog(component: ComponentType<unknown>, args: any , options: any = { autoFocus: false }): Promise<any> {\n const config = { ...options, ... { data: args} };\n return await firstValueFrom(this.dialog.open(component, config)\n .afterClosed());\n }\n\n public async askForConfirmation(title: string, message: string, args: Partial<ConfirmationOptions> = null, options: any = { autoFocus: false}): Promise<ConfirmationResult> {\n args = { ...this.defaultConfirmationOptions, ...(args || {}) };\n const data = { options: args, title, message };\n const config = { ...options, ... { data } };\n const dialogRef = this.dialog.open(ConfirmDialogComponent, config);\n return await firstValueFrom(dialogRef.afterClosed());\n }\n\n public async askForDeleteConfirmation(name: string, type: string, translateType: boolean = false): Promise<any> {\n if (translateType) {\n type = this.translate.instant(type);\n }\n const dialogRef = this.dialog.open(DeleteDialogComponent, {\n data: { name, type } as DeleteDialogData,\n autoFocus: false\n });\n return await firstValueFrom(dialogRef.afterClosed());\n }\n\n public async showDeletionError(name: string): Promise<any> {\n const dialogRef = this.dialog.open(ErrorDialogComponent, {\n data: { name } as DeleteDialogData,\n autoFocus: '#okButton'\n });\n return await firstValueFrom(dialogRef.afterClosed());\n }\n\n public async input(inputOptions: InputOptions, optionsDialog: any = { autoFocus: false }, value: string = '' , suffix = ''): Promise<{ result: ConfirmationResult, value: string }> {\n const args = { ...inputOptions, value, suffix };\n const config = { ...optionsDialog, ... { data: args } };\n\n return await firstValueFrom(this.dialog.open(TextInputDialogComponent, config)\n .afterClosed());\n }\n}\n\nexport interface ConfirmationOptions {\n noText: string;\n noColor: string;\n noType?: 'basic' | 'raised' | 'stroked' | 'flat' | 'icon';\n yesText: string;\n yesColor: string;\n yesType?: 'basic' | 'raised' | 'stroked' | 'flat' | 'icon';\n messageArgs: any;\n titleArgs: any;\n}\n\nexport enum ConfirmationResult {\n Cancel,\n Yes,\n No\n}\n\nexport interface InputOptions {\n titleLabel: string;\n validateButtonLabel: string;\n cancelButtonLabel: string;\n inputLabel: string;\n useTextArea?: boolean;\n validators?: ValidatorFn | ValidatorFn[];\n}","export class BreadcrumbLocation {\r\n public link?: string;\r\n public title: string;\r\n public translate?: boolean = false;\r\n public action?: () => void;\r\n}","import { computed, Injectable, Signal, signal, WritableSignal } from '@angular/core';\r\nimport { BreadcrumbLocation } from './models/breadcrumb-location';\r\n\r\n@Injectable()\r\nexport class BreadcrumbService {\r\n public showBreadcrumb: Signal<boolean> = computed(() => this.isShown());\r\n\r\n public location: WritableSignal<BreadcrumbLocation[]> = signal([]);\r\n public breadcrumb: WritableSignal<string> = signal('');\r\n public translateBreadcrumb = signal<boolean>(false);\r\n\r\n private readonly isShown: WritableSignal<boolean> = signal(false);\r\n\r\n public show(breadcrumb: string, location: BreadcrumbLocation[] = [], translateBreadcrumb: boolean = true): void {\r\n this.isShown.set(true);\r\n this.breadcrumb.set(breadcrumb);\r\n this.location.set(location);\r\n this.translateBreadcrumb.set(translateBreadcrumb);\r\n }\r\n\r\n public hide(): void {\r\n this.isShown.set(false);\r\n }\r\n}\r\n","import { Injectable, Signal, WritableSignal, computed, signal } from '@angular/core';\r\nimport { Observable, catchError, finalize, mergeMap, of, tap, throwError } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LoadingStateService {\r\n\r\n public showLoadingIndicator: Signal<boolean> = computed(() => this.isLoading());\r\n public showError: Signal<boolean> = computed(() => this.hasError());\r\n\r\n private readonly isLoading: WritableSignal<boolean> = signal(false);\r\n private readonly hasError: WritableSignal<boolean> = signal(false);\r\n\r\n public showLoading(): void {\r\n this.isLoading.set(true);\r\n }\r\n\r\n public hideLoading(): void {\r\n this.isLoading.set(false);\r\n }\r\n\r\n public withLoadingIndicator<T>(observable$: Observable<T>): Observable<T> {\r\n return of(null).pipe(\r\n tap(() => this.startLoading()),\r\n mergeMap(() => observable$),\r\n catchError((error) => this.handleError(error)),\r\n finalize(() => this.hideLoading()),\r\n );\r\n }\r\n\r\n public setAsInError(): void {\r\n this.hasError.set(true);\r\n }\r\n\r\n private startLoading(): void {\r\n this.hasError.set(false);\r\n this.showLoading();\r\n }\r\n\r\n private handleError(error: any): Observable<never> {\r\n console.error('Could not load data.', error);\r\n this.hasError.set(true);\r\n return throwError(() => error);\r\n }\r\n}\r\n","<div class=\"container\" [class]=\"appearanceClasses()\">\r\n\r\n <div class=\"icon-container\">\r\n <mat-icon>{{icon()}}</mat-icon>\r\n </div>\r\n\r\n <div class=\"text-container\">\r\n <div class=\"title alert-title\">{{caption()|translate}}</div>\r\n <div class=\"message body2\"><ng-content></ng-content></div>\r\n </div>\r\n\r\n @if (showButton()) {<cauca-stroked-button [color]=\"buttonColor()\" [label]=\"buttonLabel()\" (click)=\"buttonClick.emit()\" onkeypress=\"buttonClick.emit()\" [isInProgress]=\"inProgress()\" [icon]=\"buttonIcon()\" />}\r\n\r\n @if (showCloseButton()) {<cauca-icon-button icon=\"close\" (click)=\"closeClick.emit()\" onkeypress=\"closeClick.emit()\" />}\r\n\r\n</div>","import { ChangeDetectionStrategy, Component, InputSignal, Signal, computed, input, output } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { StrokedButtonComponent } from '../../buttons/stroked-button/stroked-button.component';\r\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-snackbar',\r\n imports: [MatIcon, StrokedButtonComponent, IconButtonComponent, TranslateModule],\r\n templateUrl: './snack-bar.component.html',\r\n styleUrl: './snack-bar.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SnackBarComponent {\r\n\r\n public icon: InputSignal<string> = input('info_outlined');\r\n public caption: InputSignal<string> = input('');\r\n public showCloseButton: InputSignal<boolean> = input(false);\r\n public type: InputSignal<'info'|'success'|'warning'|'error'> = input('info');\r\n public variant: InputSignal<'filled'|'outlined'|'standard'> = input('standard');\r\n public appearanceClasses = computed(() => [this.type(), this.variant()]);\r\n\r\n public buttonSpecificColor = input<string>(undefined);\r\n public buttonIcon = input<string>(undefined);\r\n public inProgress = input<boolean>(false);\r\n public showButton: InputSignal<boolean> = input(false);\r\n public buttonLabel: InputSignal<string> = input('');\r\n\r\n public buttonColor: Signal<string> = computed(() => {\r\n if (this.buttonSpecificColor()) {\r\n return this.buttonSpecificColor();\r\n } else {\r\n return this.variant() === 'filled' ? 'white' : undefined;\r\n }\r\n });\r\n\r\n public readonly closeClick = output<void>();\r\n public readonly buttonClick = output<void>();\r\n}\r\n","@if (showError()) {\r\n <cauca-snackbar\r\n caption=\"generalError.loadingErrorAlertTitle\"\r\n type=\"error\"\r\n variant=\"standard\"\r\n [showButton]=\"true\"\r\n buttonLabel=\"generalError.retryButtonLabel\"\r\n (buttonClick)=\"retryRequest.emit()\">\r\n {{'generalError.loadingErrorAlertMessage' | translate}}\r\n </cauca-snackbar>\r\n}","import { ChangeDetectionStrategy, Component, inject, output } from '@angular/core';\r\nimport { SnackBarComponent } from '../snack-bar/snack-bar.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { LoadingStateService } from '../../../core/loading-state.service';\r\n\r\n@Component({\r\n selector: 'cauca-loading-error',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [SnackBarComponent, TranslateModule],\r\n templateUrl: './loading-error.component.html',\r\n styleUrl: './loading-error.component.scss'\r\n})\r\nexport class LoadingErrorComponent {\r\n public readonly retryRequest = output<void>();\r\n\r\n public readonly loadingState = inject(LoadingStateService);\r\n public showError = this.loadingState.showError;\r\n}\r\n","@if (loadingState.showLoadingIndicator()) {\r\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"diameter()\" />\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject, input, InputSignal } from '@angular/core';\r\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\r\nimport { LoadingStateService } from '../../../core/loading-state.service';\r\n\r\n@Component({\r\n selector: 'cauca-loading-spinner-indicator',\r\n standalone: true,\r\n imports: [MatProgressSpinner],\r\n templateUrl: './loading-spinner-indicator.component.html',\r\n styleUrl: './loading-spinner-indicator.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LoadingSpinnerIndicatorComponent {\r\n public diameter: InputSignal<number> = input(100);\r\n public loadingState = inject(LoadingStateService);\r\n}\r\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-badge',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, MatChipsModule, MatIcon],\n templateUrl: './badge.component.html',\n styleUrl: './badge.component.scss'\n})\nexport class BadgeComponent {\n public icon = input.required<string>();\n public label = input.required<string>();\n public color = input<string>('primary');\n}\n","<mat-chip highlighted disableRipple [color]=\"color()\">\n <div class=\"mat-chip-content\">\n <mat-icon>{{icon()}}</mat-icon>\n <div class=\"chip-label\">{{label() | translate}}</div>\n </div>\n</mat-chip>","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\n@Component({\n selector: 'cauca-icon',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FontAwesomeModule],\n template: `\n @if (isFontAwesome() && faIcon().length > 0) {\n <div class=\"icon\">\n <fa-icon [icon]=\"faIcon()\"></fa-icon>\n </div>\n }\n @if (!isFontAwesome() && image()) {\n <div class=\"icon\">\n <img [src]=\"image()\" alt=\"icon\" />\n </div>\n }\n `,\n styleUrls: ['./icon.component.scss']\n})\nexport class IconComponent {\n public readonly icon = input<string>('');\n\n public readonly isFontAwesome = computed(() => {\n const value = this.icon();\n return value && value.indexOf(' ') > -1;\n });\n\n public readonly faIcon = computed(() => {\n return this.isFontAwesome() ? this.icon().split(' ') : [];\n });\n\n public readonly image = computed(() => {\n return this.isFontAwesome() ? '' : this.icon();\n });\n}\n","<div class=\"pages\">\r\n <cauca-icon-button class=\"page first\" [isDisabled]=\"previousDisabled()\" (buttonClick)=\"tryMoveToFirst()\" icon=\"first_page\" />\r\n <cauca-icon-button class=\"page previous\" [isDisabled]=\"previousDisabled()\" (buttonClick)=\"tryMoveToPrevious()\" icon=\"chevron_left\" />\r\n\r\n @for(page of pagesToShow(); track page) {\r\n @if (page === pageSplitterValue) {\r\n <div class=\"page\">{{pageSplitter}}\r\n </div>\r\n } @else {\r\n <cauca-round-button class=\"page specific\" [class.selected]=\"page === currentPage()\" (buttonClick)=\"changePage(page)\" [translateLabel]=\"false\" [label]=\"page.toString()\" />\r\n }\r\n }\r\n\r\n <cauca-icon-button class=\"page next\" [isDisabled]=\"nextDisabled()\" (buttonClick)=\"tryMoveToNext()\" icon=\"chevron_right\" />\r\n <cauca-icon-button class=\"page last\" [isDisabled]=\"nextDisabled()\" (buttonClick)=\"tryMoveToLast()\" icon=\"last_page\" />\r\n</div>","import { ChangeDetectionStrategy, Component, InputSignal, Signal, WritableSignal, computed, input, output, signal } from '@angular/core';\r\nimport { RoundButtonComponent } from '../buttons/round-button/round-button.component';\r\nimport { IconButtonComponent } from '../buttons/icon-button/icon-button.component';\r\n\r\n@Component({\r\n selector: 'cauca-list-paginator',\r\n imports: [IconButtonComponent, RoundButtonComponent],\r\n templateUrl: './list-paginator.component.html',\r\n styleUrl: './list-paginator.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ListPaginatorComponent {\r\n public itemsCount: InputSignal<number> = input(0);\r\n public showTotalPage: InputSignal<number> = input(9);\r\n public pageSize: InputSignal<number> = input(50);\r\n public pageCount: Signal<number> = computed(() => this.itemsCount() > 0 ? Math.ceil(this.itemsCount() / this.pageSize()) : 1);\r\n public pages: Signal<number[]> = computed(() => [...Array(this.pageCount()).keys()]);\r\n public currentPage: WritableSignal<number> = signal(1);\r\n public previousDisabled: Signal<boolean> = computed(() => this.currentPage() === 1);\r\n public nextDisabled: Signal<boolean> = computed(() => this.currentPage() === this.pageCount());\r\n\r\n public pagesToShow: Signal<number[]> = computed(() => {\r\n const pagesToShow: number[] = [];\r\n\r\n const rangeStart = Math.max(this.currentPage() - Math.floor(this.showTotalPage() / 2), 1);\r\n const rangeEnd = Math.min(rangeStart + this.showTotalPage() - 1, this.pageCount());\r\n\r\n for (let index = rangeStart; index <= rangeEnd; index++) {\r\n pagesToShow.push(index);\r\n }\r\n\r\n if (!pagesToShow.includes(1)) {\r\n pagesToShow.unshift(1, -1);\r\n }\r\n if (!pagesToShow.includes(this.pageCount())) {\r\n pagesToShow.push(-1, this.pageCount());\r\n }\r\n\r\n return pagesToShow;\r\n });\r\n public readonly pageChange = output<number>();\r\n\r\n public get pageSplitter(): string {\r\n return '...';\r\n }\r\n\r\n public get pageSplitterValue(): number {\r\n return -1;\r\n }\r\n\r\n public changePage(page: number): void {\r\n if (page != this.currentPage()) {\r\n this.currentPage.set(page);\r\n this.pageChange.emit(this.currentPage());\r\n }\r\n }\r\n\r\n public moveToFirst(): void {\r\n this.currentPage.set(1);\r\n }\r\n\r\n public tryMoveToFirst(): void {\r\n if (this.previousDisabled()) return;\r\n this.changePage(1);\r\n }\r\n\r\n public tryMoveToLast(): void {\r\n if (this.nextDisabled()) return;\r\n this.changePage(this.pageCount());\r\n }\r\n\r\n public tryMoveToPrevious(): void {\r\n if (this.previousDisabled()) return;\r\n this.changePage(this.currentPage() - 1);\r\n }\r\n\r\n public tryMoveToNext(): void {\r\n if (this.nextDisabled()) return;\r\n this.changePage(this.currentPage() + 1);\r\n }\r\n}\r\n","@if (condition()) {\r\n<mat-icon [ngClass]=\"disabled() ? 'disabled' : ''\" class=\"green\">check_circle</mat-icon>\r\n}@else {\r\n<mat-icon [ngClass]=\"disabled() ? 'disabled' : ''\" class=\"red\">cancel</mat-icon>\r\n}\r\n<label [ngClass]=\"disabled() ? 'disabled' : ''\" class=\"body2\" translate>{{label()}}</label>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, InputSignal, input } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-password-criteria',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIconModule, TranslateModule, NgClass],\r\n templateUrl: './password-criteria.component.html',\r\n styleUrl: './password-criteria.component.scss'\r\n})\r\nexport class PasswordCriteriaComponent {\r\n public label: InputSignal<string> = input.required<string>();\r\n public condition: InputSignal<boolean> = input(false);\r\n public disabled: InputSignal<boolean> = input(false);\r\n}\r\n","import { ChangeDetectionStrategy, Component, InputSignal, input } from '@angular/core';\r\nimport { PasswordCriteriaComponent } from '../password-criteria/password-criteria.component';\r\nimport { PasswordValidation } from '../../../../core/models/password-validation';\r\n\r\n\r\n@Component({\r\n selector: 'cauca-password-criteria-viewer',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [PasswordCriteriaComponent],\r\n templateUrl: './password-criteria-viewer.component.html',\r\n styleUrl: './password-criteria-viewer.component.scss'\r\n})\r\nexport class PasswordCriteriaViewerComponent {\r\n public passwordValidation: InputSignal<PasswordValidation> = input.required();\r\n public disabled: InputSignal<boolean> = input(false);\r\n}\r\n","<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.minimumCharacters\" [condition]=\"passwordValidation().hasMinimumCharacters\"/>\r\n<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.minimumOneNumeric\" [condition]=\"passwordValidation().hasMinimumNumeric\"/>\r\n<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.minimumOneSpecialCharacter\" [condition]=\"passwordValidation().hasSpecialCharacter\"/>\r\n<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.needLowerAndUppercase\" [condition]=\"passwordValidation().hasLowerAndUppercase\"/>\r\n<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.equalPasswords\" [condition]=\"passwordValidation().hasIdenticalPassword\"/>","<mat-form-field subscriptSizing=\"dynamic\">\r\n @if(translateLabel()) {<mat-label>{{label() | translate}}</mat-label>}\r\n @else {<mat-label>{{label()}}</mat-label>}\r\n <input (keydown.enter)=\"enterKeyDown.emit()\" [autocomplete]=\"autocomplete()\" #password class=\"password\"\r\n [type]=\"inputType()\" [formControl]=\"passwordControl\" matInput [required]=\"required()\"\r\n [placeholder]=\"translatePlaceholder() ? (placeholder() | translate) : placeholder()\" />\r\n <mat-icon [ngClass]=\"disabled() ? 'disabled' : ''\" style=\"cursor: pointer\" matSuffix\r\n (click)=\"showPassword.set(!showPassword())\">\r\n {{ password.type === \"password\" ? \"visibility_off\" : \"visibility\" }}\r\n </mat-icon>\r\n</mat-form-field>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, computed, forwardRef, input, InputSignal, output, signal, WritableSignal } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-password-input',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [TranslateModule, NgClass, MatFormFieldModule, MatIconModule, MatInputModule, ReactiveFormsModule],\r\n templateUrl: './password-input.component.html',\r\n styleUrl: './password-input.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: forwardRef(() => PasswordInputComponent),\r\n },\r\n ],\r\n})\r\nexport class PasswordInputComponent implements ControlValueAccessor {\r\n public autocomplete: InputSignal<string> = input<'password' | 'new-password'>('password');\r\n public translateLabel: InputSignal<boolean> = input(true);\r\n public label: InputSignal<string> = input();\r\n public translatePlaceholder: InputSignal<boolean> = input(true);\r\n public placeholder: InputSignal<string> = input();\r\n public required: InputSignal<boolean> = input(false);\r\n public enterKeyDown = output();\r\n\r\n public passwordControl: FormControl = new FormControl('');\r\n public disabled: WritableSignal<boolean> = signal(false);\r\n public showPassword: WritableSignal<boolean> = signal(false);\r\n public inputType = computed(() => this.showPassword() ? 'text' : 'password');\r\n\r\n public constructor() {\r\n this.passwordControl.valueChanges.subscribe(value => {\r\n this.onChange(value);\r\n });\r\n }\r\n\r\n public writeValue(value: string): void {\r\n this.passwordControl.setValue(value);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState?(isDisabled: boolean): void {\r\n this.disabled.set(isDisabled);\r\n if (isDisabled) {\r\n this.passwordControl.disable();\r\n } else {\r\n this.passwordControl.enable();\r\n }\r\n }\r\n\r\n public onChange = (value: string): string => value;\r\n\r\n public onTouched = (): void => {/* This method needs to be empty */ };\r\n}\r\n","export class PasswordValidation {\r\n public hasMinimumCharacters: boolean;\r\n public hasMinimumNumeric: boolean;\r\n public hasLowerAndUppercase: boolean;\r\n public hasSpecialCharacter: boolean;\r\n public hasIdenticalPassword: boolean;\r\n\r\n public constructor(hasMinimumCharacters: boolean = false, hasMinimumNumeric: boolean = false, hasLowerAndUppercase: boolean = false, hasSpecialCharacter: boolean = false, hasIdenticalPassword: boolean = false) {\r\n this.hasMinimumCharacters = hasMinimumCharacters;\r\n this.hasMinimumNumeric = hasMinimumNumeric;\r\n this.hasLowerAndUppercase = hasLowerAndUppercase;\r\n this.hasSpecialCharacter = hasSpecialCharacter;\r\n this.hasIdenticalPassword = hasIdenticalPassword;\r\n }\r\n\r\n public isValid(): boolean {\r\n return this.hasMinimumCharacters && this.hasMinimumNumeric && this.hasLowerAndUppercase && this.hasSpecialCharacter && this.hasIdenticalPassword;\r\n }\r\n\r\n}","import { UntypedFormGroup } from '@angular/forms';\nimport { PasswordValidation } from '../../models/password-validation';\n\nexport class PasswordValidator {\n public static readonly passwordMinLength = 13;\n\n public static validate(formGroup: UntypedFormGroup): PasswordValidation {\n const password = formGroup.controls['password'].value;\n const confirmedPassword = formGroup.controls['confirmation'].value;\n return new PasswordValidation(\n password.length >= this.passwordMinLength,\n this.hasNumeric(password),\n this.hasLowerCaseAndUpperCase(password),\n this.hasSpecialCharacter(password),\n password && password === confirmedPassword,\n );\n }\n\n public static hasLowerCaseAndUpperCase(password: string): boolean {\n return /^(?=.*[a-z])(?=.*[A-Z])/.test(password);\n }\n\n public static hasNumeric(password: any): boolean {\n return /(?=.*\\d)/.test(password);\n }\n\n public static hasSpecialCharacter(password: any): boolean {\n return new RegExp(/[!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?]/).test(password);\n }\n}\n","<form [formGroup]=\"form\" [class.full-width-form]=\"direction() === 'column'\">\r\n <div class=\"passwords\">\r\n <cauca-password-input [autocomplete]=\"'new-password'\" [label]=\"passwordLabel()\" [translateLabel]=\"true\" [required]=\"true\" formControlName=\"password\" />\r\n <cauca-password-input [autocomplete]=\"'new-password'\" [label]=\"passwordConfirmationLabel()\" [translateLabel]=\"true\" [required]=\"true\" formControlName=\"confirmation\" />\r\n </div>\r\n <div class=\"errors\">\r\n <ng-content></ng-content>\r\n </div>\r\n</form>\r\n\r\n@if (showCriteria()) {\r\n <cauca-password-criteria-viewer [disabled]=\"disabled()\" [passwordValidation]=\"passwordValidation\" />\r\n} @else {\r\n <span></span>\r\n}","import { ChangeDetectionStrategy, Component, forwardRef, inject, input, output, signal } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { PasswordCriteriaViewerComponent } from '../password-criteria-viewer/password-criteria-viewer.component';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, ValidationErrors, Validators } from '@angular/forms';\r\nimport { filter } from 'rxjs';\r\nimport { PasswordInputComponent } from '../password-input/password-input.component';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { PasswordValidation } from '../../../../core/models/password-validation';\r\nimport { PasswordValidator } from '../../../../core/validators/password/password-validator';\r\n\r\n\r\n@Component({\r\n selector: 'cauca-password-selection',\r\n standalone: true,\r\n imports: [PasswordInputComponent, FormsModule, ReactiveFormsModule, TranslateModule, PasswordCriteriaViewerComponent],\r\n templateUrl: './password-selection.component.html',\r\n styleUrl: './password-selection.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: forwardRef(() => PasswordSelectionComponent),\r\n },\r\n ],\r\n host: {\r\n '[style.flex-direction]': 'direction()',\r\n '[style.width]': 'formWidth()',\r\n }\r\n})\r\nexport class PasswordSelectionComponent implements ControlValueAccessor {\r\n public form: UntypedFormGroup;\r\n public passwordValidation: PasswordValidation = new PasswordValidation();\r\n public disabled = signal<boolean>(false);\r\n\r\n public readonly direction = input<'row'|'column'>('row');\r\n public readonly formWidth = input<string>('50%');\r\n public showCriteriaOnlyWhenPasswordHasValue = input<boolean>(true);\r\n public alwaysShowCriteria = input<boolean>(true);\r\n public showCriteria = signal<boolean>(true);\r\n public passwordLabel = input<string>('passwordEdition.password');\r\n public passwordConfirmationLabel = input<string>('passwordEdition.passwordConfirmation');\r\n public hasValueChange = output<boolean>();\r\n\r\n private lastPasswordValidationSent = false;\r\n\r\n public constructor() {\r\n const formBuilder = inject(UntypedFormBuilder);\r\n this.form = formBuilder.group({\r\n password: ['', Validators.required],\r\n confirmation: ['', Validators.required]\r\n }, { validators: (formGroup: UntypedFormGroup): ValidationErrors | null => {\r\n this.passwordValidation = PasswordValidator.validate(formGroup);\r\n if (!this.passwordValidation.isValid()) {\r\n return ({ validation: this.passwordValidation});\r\n }\r\n return null;\r\n }});\r\n this.form.valueChanges.pipe(takeUntilDestroyed())\r\n .subscribe(() => {\r\n if (!this.alwaysShowCriteria()) {\r\n if (this.showCriteriaOnlyWhenPasswordHasValue()) {\r\n this.showCriteria.set(this.form.controls.password.value?.length > 0 || this.form.controls.confirmation.value?.length > 0);\r\n }\r\n }\r\n this.hasValueChange.emit(this.form.controls.password.value?.length > 0);\r\n });\r\n this.form.valueChanges.pipe(takeUntilDestroyed(), filter(_ => this.form.valid != this.lastPasswordValidationSent)).subscribe(form => {\r\n this.lastPasswordValidationSent = this.form.valid;\r\n if (this.form.valid) {\r\n this.onChange(form.password);\r\n } else {\r\n this.onChange('');\r\n }\r\n });\r\n }\r\n\r\n public writeValue(value: string): void {\r\n this.form.get('password').setValue(value);\r\n this.form.get('confirmation').setValue(value);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState?(isDisabled: boolean): void {\r\n this.disabled.set(isDisabled);\r\n if (isDisabled) {\r\n this.form.get('password').disable();\r\n this.form.get('confirmation').disable();\r\n } else {\r\n this.form.get('password').enable();\r\n this.form.get('confirmation').enable();\r\n }\r\n }\r\n\r\n public onChange = (value: string): string => value;\r\n\r\n public onTouched = (): void => {/* This method needs to be empty */ };\r\n\r\n}\r\n","import { ChangeDetectionStrategy, Component, model, OnInit } from '@angular/core';\r\nimport {FormControl, FormGroup, ReactiveFormsModule} from '@angular/forms';\r\nimport { provideNativeDateAdapter } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: 'cauca-date-range-picker',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatFormFieldModule, MatDatepickerModule, ReactiveFormsModule, MatIcon, TranslateModule],\r\n templateUrl: './date-range-picker.component.html',\r\n styleUrl: './date-range-picker.component.scss',\r\n providers: [provideNativeDateAdapter()]\r\n})\r\nexport class DateRangePickerComponent implements OnInit {\r\n public range = model<DateRange>({ from: null, to: null });\r\n\r\n public readonly form = new FormGroup({\r\n from: new FormControl(null),\r\n to: new FormControl(null)\r\n });\r\n\r\n public constructor() {\r\n this.form.valueChanges\r\n .pipe(takeUntilDestroyed())\r\n .subscribe(value => this.range.set({ from: value.from, to: value.to }));\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.form.patchValue(this.range());\r\n }\r\n\r\n public clear(): void {\r\n this.form.patchValue({ from: null, to: null });\r\n }\r\n\r\n}\r\n\r\nexport interface DateRange {\r\n from: Date|null,\r\n to: Date|null\r\n}","<mat-form-field class=\"full-width-field\" subscriptSizing=\"dynamic\">\r\n <mat-datepicker-toggle matPrefix (click)=\"clear()\" onkeypress=\"clear()\">\r\n <mat-icon matDatepickerToggleIcon>clear</mat-icon>\r\n </mat-datepicker-toggle>\r\n <mat-label>{{'dateRangeSelectorLabel'|translate}}</mat-label>\r\n <mat-date-range-input [formGroup]=\"form\" [rangePicker]=\"campaignOnePicker\">\r\n <input matStartDate formControlName=\"from\" [readOnly]=\"true\">\r\n <input matEndDate formControlName=\"to\" [readOnly]=\"true\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matIconSuffix [for]=\"campaignOnePicker\">\r\n </mat-datepicker-toggle>\r\n <mat-date-range-picker #campaignOnePicker></mat-date-range-picker>\r\n </mat-form-field>","<div role=\"group\" class=\"dropdown-chip-autocomplete-container\">\n\n <mat-chip-grid #chipGrid [disabled]=\"disabled\">\n\n @for (key of value; track key) {\n <mat-chip highlighted [disabled]=\"disabled\" (removed)=\"removeSelectedItem(key)\" color=\"primary\">\n {{getValueDisplay(key)}}\n @if (allowRemove()) {\n <mat-icon matChipRemove>cancel</mat-icon>\n }\n </mat-chip>\n }\n\n <div class=\"input-wrapper\">\n <input\n #chipInput\n [(ngModel)]=\"searchValue\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\n @if (value.length > 0 && canRemoveAll()) {\n <mat-icon matPrefix class=\"clearAll\" (click)=\"onClearAll();\">clear</mat-icon>\n }\n <mat-icon matSuffix>arrow_drop_down</mat-icon>\n </div>\n </mat-chip-grid>\n\n <mat-autocomplete #auto=\"matAutocomplete\" panelWidth=\"500px\" [class.full-width-field]=\"optionTemplate\" (optionSelected)=\"selectItemOnAutocomplete($event)\">\n @for (item of filteredListAutoComplete | async; track item) {\n <mat-option [value]=\"item[keyValue()]\" class=\"full-width-option\">\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: {data: item}\" />\n } @else {\n {{item[displayValue()]}}\n }\n </mat-option>\n }\n </mat-autocomplete>\n</div>\n\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n inject,\n Input,\n input,\n OnDestroy,\n Optional,\n output,\n Self,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, FormGroupDirective, FormsModule, NgControl, NgForm } from '@angular/forms';\nimport { MatAutocomplete, MatAutocompleteModule, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatChip, MatChipGrid, MatChipInput, MatChipRemove } from '@angular/material/chips';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { toLowerCaseAndWithoutDiacritics } from '@cauca-911/core';\nimport { Observable, Subject, map, startWith } from 'rxjs';\n\n@Component({\n selector: 'cauca-dropdown-chip-autocomplete',\n templateUrl: './dropdown-chip-autocomplete.component.html',\n styleUrls: ['./dropdown-chip-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: MatFormFieldControl,\n useExisting: DropdownChipAutocompleteComponent,\n }],\n imports: [\n MatChipGrid,\n MatChip,\n MatChipRemove,\n FormsModule,\n MatAutocompleteModule,\n MatChipInput,\n MatIcon,\n CommonModule\n ],\n host: {\n '[id]': 'id',\n '[class.floating]': 'shouldLabelFloat',\n }\n})\nexport class DropdownChipAutocompleteComponent implements ControlValueAccessor, MatFormFieldControl<any[]>, OnDestroy, DoCheck {\n public id = `cauca-dropdown-chip-autocomplete-${DropdownChipAutocompleteComponent.nextId++}`;\n\n @ViewChild('auto') public matAutocomplete: MatAutocomplete;\n @ViewChild('chipInput') public matChipInput: ElementRef<HTMLInputElement>;\n @ViewChild(MatAutocompleteTrigger) public matAutocompletePanel: MatAutocompleteTrigger;\n public readonly clearAll = output<void>();\n public listAutoComplete = input<object[]>([]);\n public keyValue = input('id');\n public displayValue = input('name');\n public allowRemove = input(true);\n public ariaDescribedBy = input<string>();\n public canRemoveAll = input(true);\n public hasOptionTemplate = input<boolean>(false);\n @ContentChild(TemplateRef) public optionTemplate: TemplateRef<any>;\n\n public stateChanges = new Subject<void>();\n public static nextId = 0;\n public focused = false;\n public touched = false;\n public errorState = false;\n public controlType = 'dropdown-chip-autocomplete';\n public separatorKeysCodes: any = ',';\n public filteredListAutoComplete: Observable<object[]>;\n @Optional() @Self() public ngControl = inject(NgControl, { optional: true, self: true });\n\n private _required = false;\n private _disabled = false;\n private _placeholder: string;\n private _searchValue: string = null;\n private selectedValues: any[] = [];\n @Optional() private readonly parentForm = inject(NgForm, { optional: true });\n @Optional() private readonly parentFormGroup = inject(FormGroupDirective, { optional: true });\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n public get searchValue(): string {\n return this._searchValue;\n }\n\n public set searchValue(newValue: string) {\n if (this._searchValue !== newValue && (typeof newValue === 'string') || newValue===null) {\n this._searchValue = newValue;\n this.stateChanges.next();\n }\n }\n\n public get shouldLabelFloat() {\n return this.focused || !this.empty || !!this._searchValue;\n }\n\n @Input()\n public get value(): any[] {\n return this.selectedValues;\n }\n public set value(values: any[]) {\n this.selectedValues = values;\n this.onChange(this.selectedValues);\n this.stateChanges.next();\n }\n\n @Input()\n public get required(): boolean {\n return this._required;\n }\n public set required(req: BooleanInput) {\n this._required = coerceBooleanProperty(req);\n this.stateChanges.next();\n }\n\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n public get empty() {\n return !this.selectedValues?.length;\n }\n\n @Input()\n public get placeholder() {\n return this._placeholder;\n }\n public set placeholder(plh) {\n this._placeholder = plh;\n this.stateChanges.next();\n }\n\n public constructor() {\n this.elementRef.nativeElement.addEventListener('focusin', this.onFocusIn.bind(this));\n this.elementRef.nativeElement.addEventListener('focusout', this.onFocusOut.bind(this));\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n\n this.filteredListAutoComplete = this.stateChanges.pipe(\n startWith(null),\n map(() => this.filterSelectedItem())\n );\n }\n\n public ngDoCheck() {\n if (this.ngControl) {\n this.updateErrorState();\n }\n }\n\n public ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n public onChange = (_: any): void => {\n // Do nothing for now\n };\n public onTouched = (): void => {\n // Do nothing for now\n };\n\n public onFocusIn() {\n if (!this.focused) {\n this.focused = true;\n this.stateChanges.next();\n }\n }\n\n public markAsClean(): void {\n this.touched = false;\n this.focused = false;\n this.stateChanges.next();\n }\n\n public onFocusOut(event: FocusEvent) {\n if (!this.elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched = true;\n this.focused = false;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public setDescribedByIds(ids: string[]) {\n const controlElement = this.elementRef.nativeElement.querySelector('.dropdown-chip-autocomplete-container');\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n public onContainerClick(event: MouseEvent) {\n if ((event.target as Element).tagName.toLowerCase() != 'input') {\n this.elementRef.nativeElement.querySelector('input').focus();\n }\n this.searchValue = null;\n }\n\n public writeValue(value: string[] | []): void {\n this.value = value;\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public selectItemOnAutocomplete(e: MatAutocompleteSelectedEvent): void {\n this.value = [].concat(this.selectedValues, e.option.value);\n this.matChipInput.nativeElement.value = '';\n }\n\n public removeSelectedItem(key: any): void {\n const index = this.selectedValues.indexOf(key);\n\n if (index >= 0) {\n this.selectedValues.splice(index, 1);\n this.value = this.selectedValues;\n }\n }\n\n public getValueDisplay(key: any): string {\n const selectedItem = this.listAutoComplete().find((item: object) => `${item[this.keyValue()]}` === `${key}`);\n return selectedItem ? selectedItem[this.displayValue()] : '';\n }\n\n public onClearAll(): void {\n this.matAutocompletePanel.closePanel();\n this.value = [];\n this.clearAll.emit();\n }\n\n private updateErrorState() {\n const parent = this.parentFormGroup || this.parentForm;\n const oldState = this.errorState;\n\n const newState = (this.ngControl?.invalid) && (this.touched || parent.submitted);\n if (oldState !== newState) {\n this.errorState = newState;\n }\n }\n\n private filterSelectedItem(): object[] {\n const searchValue = toLowerCaseAndWithoutDiacritics(this.searchValue);\n const filtered = this.listAutoComplete().filter((item: object) =>\n !this.selectedValues.includes(item[this.keyValue()])\n && toLowerCaseAndWithoutDiacritics(item[this.displayValue()]).includes(searchValue));\n return filtered;\n }\n\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, OnDestroy, output } from '@angular/core';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ColorPickerDirective } from 'ngx-color-picker';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'cauca-color-picker',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatInputModule, ColorPickerDirective],\r\n templateUrl: './color-picker.component.html',\r\n styleUrl: './color-picker.component.scss',\r\n providers: [{\r\n provide: MatFormFieldControl,\r\n useExisting: ColorPickerComponent,\r\n }],\r\n host: {\r\n '[id]': 'id',\r\n '[class.floating]': 'shouldLabelFloat',\r\n }\r\n})\r\nexport class ColorPickerComponent implements ControlValueAccessor, MatFormFieldControl<string>, OnDestroy {\r\n\r\n public stateChanges = new Subject<void>();\r\n public static nextId = 0;\r\n\r\n public id = `example-tel-input-${ColorPickerComponent.nextId++}`;\r\n public placeholder: string;\r\n public focused: boolean = false;\r\n public touched = false;\r\n public required: boolean;\r\n public disabled: boolean;\r\n public errorState: boolean;\r\n public controlType?: string;\r\n public autofilled?: boolean;\r\n public userAriaDescribedBy?: string;\r\n public readonly valueChanged = output<string>();\r\n public ngControl = inject(NgControl, { optional: true, self: true });\r\n\r\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\r\n private _value: string;\r\n\r\n public get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n public get empty() {\r\n return !this._value?.length;\r\n }\r\n\r\n public get value(): string | null {\r\n return this._value;\r\n }\r\n\r\n public set value(newValue: string | null) {\r\n this._value = newValue;\r\n this.onChange(this._value);\r\n this.stateChanges.next();\r\n }\r\n\r\n public constructor() {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n this.elementRef.nativeElement.addEventListener('focusin', this.onFocusIn.bind(this));\r\n this.elementRef.nativeElement.addEventListener('focusout', this.onFocusOut.bind(this));\r\n }\r\n\r\n public onFocusIn(_: FocusEvent) {\r\n if (!this.focused) {\r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n public onFocusOut(event: FocusEvent) {\r\n if (!this.elementRef.nativeElement.contains(event.relatedTarget as Element)) {\r\n this.touched = true;\r\n this.focused = false;\r\n this.onTouched();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.stateChanges.complete();\r\n }\r\n public setDescribedByIds(_: string[]): void {\r\n // Do nothing for now\r\n }\r\n public onContainerClick(_: MouseEvent): void {\r\n // Do nothing for now\r\n }\r\n public writeValue(value: string): void {\r\n this.value = value;\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public onChange = (_: any): void => {\r\n // Do nothing for now\r\n };\r\n public onTouched = (): void => {\r\n // Do nothing for now\r\n };\r\n\r\n public onChangeColor(color: string): void {\r\n this.value = color;\r\n }\r\n}\r\n","<input\r\n matInput\r\n [(colorPicker)]=\"value\"\r\n [value]=\"value\"\r\n (colorPickerChange)=\"onChangeColor($event)\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n id=\"color-id\"\r\n/>","<mat-form-field class=\"full-width-field header dense\" subscriptSizing=\"dynamic\">\n <ng-content></ng-content>\n <mat-label>{{ label() | translate }}</mat-label>\n <mat-select [value]=\"value()\" (valueChange)=\"onSelectionChange($event)\" [disabled]=\"disableControl()\" [class.readonly-field]=\"disableControl()\" [multiple]=\"allowMultiSelection()\" >\n @if (enableSearch()) {\n <mat-option>\n <ngx-mat-select-search [formControl]=\"optionFilterControl\" [placeholderLabel]=\"'search' | translate\"\n [noEntriesFoundLabel]=\"'noResult' | translate\">\n </ngx-mat-select-search>\n </mat-option>\n }\n @for (option of filteredOptions.value() || []; track option) {\n <mat-option [value]=\"option.id\">\n {{option.name}}\n </mat-option>\n }\n </mat-select>\n\n</mat-form-field>","import { ChangeDetectionStrategy, Component, computed, effect, input, model, output, ViewChild, resource } from '@angular/core';\r\nimport { ReactiveFormsModule, FormsModule, FormControl } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelect, MatSelectModule } from '@angular/material/select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { toLowerCaseAndWithoutDiacritics } from '@cauca-911/core';\r\n\r\nexport interface Option {\r\n id: string | null;\r\n name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'cauca-select-with-search',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatSelectModule, TranslateModule, MatFormFieldModule, ReactiveFormsModule, FormsModule, NgxMatSelectSearchModule],\r\n templateUrl: './select-with-search.component.html',\r\n styleUrl: './select-with-search.component.scss'\r\n})\r\nexport class SelectWithSearchComponent {\r\n public readonly label = input.required<string>();\r\n public readonly selectFirstOptionByDefault = input<boolean>(false);\r\n public readonly isDisabled = input<boolean>(false);\r\n public readonly allowMultiSelection = input<boolean>(false);\r\n public readonly showClearOption = input<boolean>(false);\r\n public readonly enableSearch = input<boolean>(true);\r\n public readonly options = input<Option[]>([]);\r\n public readonly value = model<string | null>(null);\r\n\r\n public readonly valueChanged = output<string | null>();\r\n\r\n public readonly optionFilterControl = new FormControl<string>('');\r\n @ViewChild('singleSelect', { static: true }) public singleSelect: MatSelect;\r\n\r\n public readonly hasOptions = computed(() => this.options().length >= 1);\r\n public readonly disableControl = computed(() => this.isDisabled() || !this.hasOptions());\r\n public readonly filteredOptions = resource({\r\n params: () => ({ filter: this.filterText(), options: this.options(), showClear: this.showClearOption() }),\r\n loader: ({ params }) => Promise.resolve(this.computeFilteredOptions(params))\r\n });\r\n\r\n private readonly filterText = toSignal(this.optionFilterControl.valueChanges, { initialValue: '' });\r\n\r\n public constructor() {\r\n effect(() => {\r\n const opts = this.options();\r\n if (!opts) return;\r\n\r\n const currentValue = this.value();\r\n if (currentValue) {\r\n const found = opts.find((c: Option) => c.id === currentValue);\r\n if (!found) {\r\n this.selectFirstOption(opts);\r\n }\r\n } else if (opts.length > 0 && this.selectFirstOptionByDefault()) {\r\n this.selectFirstOption(opts);\r\n }\r\n });\r\n }\r\n\r\n public onSelectionChange(newValue: string | null): void {\r\n this.value.set(newValue);\r\n this.valueChanged.emit(newValue);\r\n }\r\n\r\n private selectFirstOption(opts: Option[]): void {\r\n const newValue = opts[0]?.id ?? null;\r\n this.value.set(newValue);\r\n this.valueChanged.emit(newValue);\r\n }\r\n\r\n private computeFilteredOptions(params: { filter: string, options: Option[], showClear: boolean }): Option[] {\r\n const { filter, options, showClear } = params;\r\n if (!options || !Array.isArray(options)) {\r\n return [];\r\n }\r\n let filtered: Option[];\r\n\r\n if (!filter) {\r\n filtered = options.slice();\r\n } else {\r\n const filterLower = toLowerCaseAndWithoutDiacritics(filter);\r\n filtered = options.filter(option => toLowerCaseAndWithoutDiacritics(option?.name ?? '').indexOf(filterLower) > -1);\r\n }\r\n if (showClear) {\r\n const clearOption: Option = { id: null, name: '--' };\r\n filtered = [clearOption, ...filtered];\r\n }\r\n\r\n return filtered;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-group-container',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [TranslateModule],\r\n templateUrl: './group-container.component.html',\r\n styleUrl: './group-container.component.scss'\r\n})\r\nexport class GroupContainerComponent {\r\n public caption = input<string>();\r\n}\r\n","<div class=\"group-container\">\r\n <div class=\"group-container-title subtitle1\">{{caption()|translate}}</div>\r\n <div class=\"group-container-content\">\r\n <ng-content />\r\n </div>\r\n</div>\r\n","<div class=\"section\">\r\n @if (title()) {\r\n <div class=\"section-description subtitle1\">{{title()|translate}}</div>\r\n }\r\n <div class=\"section-fields\"><ng-content /></div>\r\n</div>","import { ChangeDetectionStrategy, Component, InputSignal, input } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-main-section',\r\n imports: [TranslateModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './main-section.component.html',\r\n styleUrl: './main-section.component.scss'\r\n})\r\nexport class MainSectionComponent {\r\n public title: InputSignal<string> = input('');\r\n}\r\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cauca-section-column',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './section-column.component.html',\r\n styleUrl: './section-column.component.scss'\r\n})\r\nexport class SectionColumnComponent {\r\n public showBigGap = input<boolean>(false);\r\n}\r\n","<div class=\"section-columns\" [class.big-gap]=\"showBigGap()\">\r\n <ng-content></ng-content>\r\n</div>","<div class=\"section-fields-line\" [class.multi-line]=\"useMultipleValues()\">\r\n <div class=\"option-caption body1\" [class.link]=\"showLink()\">\r\n @if(autoTranslateCaption()) {\r\n {{caption()|translate}}\r\n } @else {\r\n {{caption()}}\r\n }\r\n @if (showLink()) {\r\n <mat-icon class=\"icon-link\" (click)=\"linkClick.emit()\" onkeypress=\"linkClick.emit()\">link</mat-icon>\r\n }:\r\n </div>\r\n <div class=\"option-value body2\" [class.no-flex]=\"!splitEqually()\">\r\n @if (useMultipleValues()) {\r\n @for(item of values(); track item) {\r\n <span>{{fieldName() ? item[fieldName()] : item }}</span>\r\n }\r\n } @else {\r\n {{value()}}\r\n }\r\n </div>\r\n</div>","import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'cauca-section-field',\r\n imports: [TranslateModule, MatIcon],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './section-field.component.html',\r\n styleUrl: './section-field.component.scss'\r\n})\r\nexport class SectionFieldComponent {\r\n public autoTranslateCaption = input<boolean>(true);\r\n public caption = input<string>('');\r\n public value = input<unknown>('');\r\n public values = input<unknown[]>([]);\r\n public fieldName = input<string>('');\r\n public useMultipleValues = computed(() => this.values()?.length > 0);\r\n public showLink = input<boolean>(false);\r\n public linkClick = output<void>();\r\n public splitEqually = input<boolean>(true);\r\n}\r\n","<div class=\"title-section\">\n\n <h4 class=\"title-label\">{{caption() | translate }}</h4>\n\n @if (displayBreadcrumb()) {\n <div class=\"breadcrumb\">\n\n @if (baseCrumb()) {\n <div class=\"basecrumb\">{{baseCrumb()|translate}}</div>\n }\n\n @for(location of breadcrumbLocation(); track location) {\n <span>/</span>\n @if (location.link) {\n <a class=\"basecrumb\" [href]=\"location.link\" [routerLink]=\"location.link\">{{location.title| translate }}</a>\n } @else if (location.action) {\n <span class=\"basecrumb crumb-link\" (click)=\"location.action()\">{{ location.translate ? (location.title | translate) : location.title}}</span>\n } @else {\n <span class=\"basecrumb\">{{location.title}}</span>\n }\n }\n @if (baseCrumb() || breadcrumbLocation()?.length) {\n <span>/</span>\n }\n <span class=\"breadcrumb-current\">{{ mustTranslateBreadcrumb() ? (currentBreadcrumb() | translate) : currentBreadcrumb() }}</span>\n\n </div>\n }\n\n</div>","\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbService } from '../../../core/breadcrumb.service';\nimport { BreadcrumbLocation } from '../../../core/models/breadcrumb-location';\n@Component({\n selector: 'cauca-page-title',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, RouterModule],\n templateUrl: './page-title.component.html',\n styleUrls: ['./page-title.component.scss']\n})\nexport class PageTitleComponent {\n\n public caption = input<string>('');\n public showBreadcrumb = input<boolean>(false);\n public location = input<BreadcrumbLocation[]>([]);\n public breadcrumb = input<string>('');\n public baseCrumb = input<string>('');\n public translateBreadcrumb = input<boolean>(true);\n\n public displayBreadcrumb = computed(() => this.showBreadcrumb() || this.breadcrumbService?.showBreadcrumb());\n public breadcrumbLocation = computed(() => this.breadcrumbService?.location() || this.location() || []);\n public currentBreadcrumb = computed(() => this.breadcrumbService?.breadcrumb() || this.breadcrumb() || '');\n public mustTranslateBreadcrumb = computed(() => this.breadcrumbService?.translateBreadcrumb() || this.translateBreadcrumb());\n public hasBreadcrumb = computed(() => this.currentBreadcrumb() !== '');\n\n private readonly breadcrumbService = inject(BreadcrumbService, { optional: true });\n}\n","import { ChangeDetectionStrategy, Component, InputSignal, ModelSignal, input, model } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'cauca-expandable-panel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatIcon],\n templateUrl: './expandable-panel.component.html',\n styleUrl: './expandable-panel.component.scss',\n})\nexport class ExpandablePanelComponent {\n public isCollapsed: ModelSignal<boolean> = model(false);\n public caption: InputSignal<string> = input('');\n public subCaption: InputSignal<string> = input('');\n public contentPosition = input<'underCaption' | 'right'>('right');\n\n public changeState(): void {\n this.isCollapsed.update(value => !value);\n }\n}\n","<section [class.content-under]=\"contentPosition() === 'underCaption'\">\r\n <div class=\"expansion-button\" (click)=\"changeState()\">\r\n <mat-icon [class.collapsed]=\"isCollapsed()\">expand_less</mat-icon>\r\n <div class=\"expansion-button-text\">\r\n <div class=\"primary\">{{caption()}}</div>\r\n <div class=\"body2\">{{subCaption()}}</div>\r\n </div>\r\n </div>\r\n <div class=\"expansion-panel\" [class.collapsed]=\"isCollapsed()\">\r\n <div class=\"expansion-panel-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</section>","import { ChangeDetectionStrategy, Component, contentChildren, effect, input, OutputRefSubscription } from '@angular/core';\nimport { ExpandablePanelComponent } from '../expandable-panel/expandable-panel.component';\n\n@Component({\n selector: 'cauca-expandable-panel-accordion',\n templateUrl: './expandable-panel-accordion.component.html',\n styleUrls: ['./expandable-panel-accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ExpandablePanelAccordionComponent {\n public readonly initialOpenIndex = input<number | null>(0);\n\n private readonly panels = contentChildren(ExpandablePanelComponent, { descendants: true });\n\n private synchronizingPanels = false;\n\n public constructor() {\n effect((onCleanup) => {\n const panels = this.panels();\n const initialOpenIndex = this.initialOpenIndex();\n const subscriptions = this.subscribeToPanelStateChanges(panels);\n\n queueMicrotask(() => this.initializePanels(panels, initialOpenIndex));\n\n onCleanup(() => subscriptions.forEach((subscription) => subscription.unsubscribe()));\n });\n }\n\n private initializePanels(panels: readonly ExpandablePanelComponent[], initialOpenIndex: number | null): void {\n if (!panels.length || !this.supportsAccordionState(panels)) {\n return;\n }\n\n const expandedPanel = panels.find((panel) => !this.readCollapsedState(panel));\n\n if (expandedPanel) {\n this.setExpandedPanel(panels, expandedPanel);\n return;\n }\n\n if (initialOpenIndex === null) {\n return;\n }\n\n const panelToOpen = panels.at(initialOpenIndex);\n\n if (panelToOpen) {\n this.setExpandedPanel(panels, panelToOpen);\n }\n }\n\n private onPanelStateChange(panels: readonly ExpandablePanelComponent[], panelIndex: number, isCollapsed: boolean): void {\n if (this.synchronizingPanels || isCollapsed) {\n return;\n }\n\n const panelToOpen = panels[panelIndex];\n\n if (panelToOpen) {\n this.setExpandedPanel(panels, panelToOpen);\n }\n }\n\n private setExpandedPanel(panels: readonly ExpandablePanelComponent[], panelToOpen: ExpandablePanelComponent): void {\n this.synchronizingPanels = true;\n\n try {\n for (const panel of panels) {\n this.writeCollapsedState(panel, panel !== panelToOpen);\n }\n } finally {\n this.synchronizingPanels = false;\n }\n }\n\n private subscribeToPanelStateChanges(panels: readonly ExpandablePanelComponent[]): OutputRefSubscription[] {\n if (!this.supportsAccordionState(panels)) {\n return [];\n }\n\n return panels.map((panel, index) =>\n panel.isCollapsed.subscribe((isCollapsed) => this.onPanelStateChange(panels, index, isCollapsed))\n );\n }\n\n private supportsAccordionState(panels: readonly ExpandablePanelComponent[]): boolean {\n return panels.every((panel) => this.isModelSignalLike(panel.isCollapsed));\n }\n\n private readCollapsedState(panel: ExpandablePanelComponent): boolean {\n return panel.isCollapsed();\n }\n\n private writeCollapsedState(panel: ExpandablePanelComponent, isCollapsed: boolean): void {\n panel.isCollapsed.set(isCollapsed);\n }\n\n private isModelSignalLike(value: unknown): value is ExpandablePanelComponent['isCollapsed'] {\n return typeof value === 'function'\n && typeof (value as { set?: unknown }).set === 'function'\n && typeof (value as { subscribe?: unknown }).subscribe === 'function';\n }\n}","<ng-content />","import { ChangeDetectionStrategy, Component, inject, input, InputSignal } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-menu-expandable-panel-item',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIconModule, TranslateModule],\r\n templateUrl: './menu-expandable-panel-item.component.html',\r\n styleUrl: './menu-expandable-panel-item.component.scss'\r\n})\r\nexport class MenuExpandablePanelItemComponent {\r\n public icon: InputSignal<string> = input();\r\n public caption: InputSignal<string> = input();\r\n public route: InputSignal<string[]> = input();\r\n public isSubItem: InputSignal<boolean> = input(false);\r\n public action: InputSignal<() => void|null> = input(null);\r\n\r\n private readonly router = inject(Router);\r\n\r\n public openRoute(): void {\r\n if (this.action()) {\r\n this.action()();\r\n } else {\r\n this.router.navigate(this.route());\r\n }\r\n }\r\n}\r\n","<section (click)=\"openRoute()\" [class.sub-item]=\"isSubItem()\">\r\n <mat-icon>{{icon()}}</mat-icon>\r\n <div [class]=\"isSubItem() ? 'subtitle2' : 'subtitle1'\">{{caption() | translate}}</div>\r\n</section>","<section [ngClass]=\"opened() ? 'bottom-padding' : ''\" (click)=\"handleClick()\">\r\n <mat-icon>{{menuIcon()}}</mat-icon>\r\n <div>\r\n <div class=\"subtitle1\">{{caption() | translate}}</div>\r\n @if(subCaption()) {<div class=\"body2\">{{subCaption() | translate}}</div>}\r\n </div>\r\n @if (showExpansionIcon()) {<mat-icon [class.opened]=\"opened()\">arrow_forward_ios</mat-icon>}\r\n</section>\r\n@if(opened()) {\r\n @for (item of items(); track item.title) {\r\n <cauca-menu-expandable-panel-item [icon]=\"item.icon\" [caption]=\"item.title\" [route]=\"item.route\" [isSubItem]=\"true\" [action]=\"item.action\" />\r\n }\r\n}","import { ChangeDetectionStrategy, Component, inject, input, InputSignal, signal, WritableSignal } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { Router } from '@angular/router';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { MenuExpandablePanelItemComponent } from '../menu-expandable-panel-item/menu-expandable-panel-item.component';\r\nimport { NgClass } from '@angular/common';\r\n@Component({\r\n selector: 'cauca-menu-expandable-panel',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIconModule, TranslatePipe, MenuExpandablePanelItemComponent, NgClass],\r\n templateUrl: './menu-expandable-panel.component.html',\r\n styleUrl: './menu-expandable-panel.component.scss',\r\n host: {\r\n '[style.border-top-left-radius]': 'addTopBorderRadius() ? \"12px\" : \"0px\"',\r\n '[style.border-top-right-radius]': 'addTopBorderRadius() ? \"12px\" : \"0px\"',\r\n '[style.border-bottom-left-radius]': 'addBottomBorderRadius() ? \"12px\" : \"0px\"',\r\n '[style.border-bottom-right-radius]': 'addBottomBorderRadius() ? \"12px\" : \"0px\"',\r\n '[class.bottom-border]': 'bottomBorder()',\r\n }\r\n})\r\nexport class MenuExpandablePanelComponent {\r\n public caption: InputSignal<string> = input();\r\n public isSubItem: InputSignal<boolean> = input(false);\r\n public subCaption: InputSignal<string> = input();\r\n public menuIcon: InputSignal<string> = input();\r\n public showExpansionIcon: InputSignal<boolean> = input(true);\r\n public addTopBorderRadius: InputSignal<boolean> = input(false);\r\n public bottomBorder: InputSignal<boolean> = input(false);\r\n public addBottomBorderRadius: InputSignal<boolean> = input(false);\r\n public route: InputSignal<string[]> = input([]);\r\n public items: InputSignal<{ icon: string, title: string, route?: string[], action?: () => void }[]> = input([]);\r\n\r\n public opened: WritableSignal<boolean> = signal(false);\r\n\r\n private readonly router = inject(Router);\r\n\r\n public handleClick(): void {\r\n if (this.route().length > 0 && this.items().length === 0) {\r\n this.router.navigate(this.route());\r\n } else {\r\n this.opened.set(!this.opened());\r\n }\r\n }\r\n}\r\n","@if (show()) {\r\n <cauca-snackbar\r\n caption=\"savingSuccessNotification.title\"\r\n type=\"success\"\r\n variant=\"standard\"\r\n [showButton]=\"false\"\r\n [showCloseButton]=\"true\"\r\n (closeClick)=\"show.set(false)\">\r\n {{'savingSuccessNotification.message' | translate}}\r\n </cauca-snackbar>\r\n}","import { ChangeDetectionStrategy, Component, model } from '@angular/core';\r\nimport { SnackBarComponent } from '../../misc/snack-bar/snack-bar.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-saving-confirmed-box',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [SnackBarComponent, TranslateModule],\r\n templateUrl: './saving-confirmed-box.component.html',\r\n styleUrl: './saving-confirmed-box.component.scss'\r\n})\r\nexport class SavingConfirmedBoxComponent {\r\n public show = model<boolean>(false);\r\n}\r\n","@if (show()) {\r\n <cauca-snackbar\r\n caption=\"generalError.savingErrorAlertTitle\"\r\n type=\"error\"\r\n variant=\"standard\"\r\n [showButton]=\"false\"\r\n [showCloseButton]=\"true\"\r\n (closeClick)=\"show.set(false)\">\r\n {{error() | translate}}\r\n </cauca-snackbar>\r\n}","import { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\r\nimport { SnackBarComponent } from '../../misc/snack-bar/snack-bar.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-saving-error-box',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [SnackBarComponent, TranslateModule],\r\n templateUrl: './saving-error-box.component.html',\r\n styleUrl: './saving-error-box.component.scss'\r\n})\r\nexport class SavingErrorBoxComponent {\r\n public show = model<boolean>(false);\r\n public specificError = input<string | null>(null);\r\n public error = computed(() => this.specificError() ? this.specificError() : 'generalError.savingErrorAlertMessage');\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\nexport type StatusMessageType = 'error' | 'noData' | 'custom';\r\n\r\n@Component({\r\n selector: 'cauca-status-message',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './status-message.component.html',\r\n styleUrl: './status-message.component.scss',\r\n imports: [MatIcon, TranslatePipe],\r\n})\r\nexport class StatusMessageComponent {\r\n\r\n public type = input<StatusMessageType>('noData');\r\n public textKey = input<string | undefined>(undefined);\r\n public icon = input<string | undefined>(undefined);\r\n\r\n public readonly resolvedTextKey = computed(() => {\r\n const customTextKey = this.textKey();\r\n if (customTextKey) {\r\n return customTextKey;\r\n }\r\n\r\n switch (this.type()) {\r\n case 'error':\r\n return 'statusMessage.errorLoadingDataLabel';\r\n case 'custom':\r\n return 'statusMessage.noDataLabel';\r\n default:\r\n return 'statusMessage.noDataLabel';\r\n }\r\n });\r\n\r\n public readonly resolvedIcon = computed(() => {\r\n const customIcon = this.icon();\r\n if (customIcon) {\r\n return customIcon;\r\n }\r\n\r\n switch (this.type()) {\r\n case 'error':\r\n return 'error';\r\n case 'custom':\r\n return 'info';\r\n default:\r\n return 'grid_off';\r\n }\r\n });\r\n}\r\n","<div class=\"icon-text\">\r\n <mat-icon>{{ resolvedIcon() }}</mat-icon>\r\n <span>{{ resolvedTextKey() | translate }}</span>\r\n</div>\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appAutoTrimAndLower]',\r\n standalone: true\r\n})\r\nexport class AutoTrimAndLowerDirective {\r\n\r\n public constructor(private readonly el: ElementRef) {}\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(_: KeyboardEvent) {\r\n this.trimText();\r\n }\r\n\r\n private trimText() {\r\n this.el.nativeElement.value = this.el.nativeElement.value?.trim().toLowerCase();\r\n }\r\n}\r\n","import { ContentChild, Directive } from '@angular/core';\r\nimport { FormControl, FormControlDirective, FormControlName } from '@angular/forms';\r\nimport { ReplaySubject } from 'rxjs';\r\n\r\n@Directive({\r\n /* eslint-disable @angular-eslint/directive-selector */\r\n selector: 'mat-form-field',\r\n /* eslint-enable @angular-eslint/directive-selector */\r\n standalone: false,\r\n})\r\nexport class HasErrorRootDirective {\r\n private readonly _formControl$ = new ReplaySubject<FormControl>(1);\r\n\r\n @ContentChild(FormControlDirective)\r\n public set formControl(formControlDirective: FormControlDirective) {\r\n if (formControlDirective) {\r\n this._formControl$.next(formControlDirective.control);\r\n }\r\n }\r\n\r\n @ContentChild(FormControlName)\r\n public set formControlName(formControlName: FormControlName) {\r\n if (formControlName) {\r\n this._formControl$.next(formControlName.control);\r\n }\r\n }\r\n\r\n public get formControl$() {\r\n return this._formControl$.asObservable();\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnDestroy,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n combineLatest,\r\n distinctUntilChanged,\r\n EMPTY,\r\n map,\r\n ReplaySubject,\r\n startWith,\r\n Subscription,\r\n switchMap,\r\n} from 'rxjs';\r\nimport { HasErrorRootDirective } from './has-error-root.directive';\r\n\r\nexport interface HasErrorContext {\r\n $implicit: any;\r\n }\r\n\r\n @Directive({\r\n selector: '[hasError]',\r\n standalone: false,\r\n })\r\nexport class HasErrorDirective implements AfterContentInit, OnDestroy {\r\n\r\n private readonly errorName$ = new ReplaySubject<string>(1);\r\n private readonly ctrl$ = this.hasErrorRoot.formControl$;\r\n private readonly status$ = this.ctrl$.pipe(\r\n switchMap((ctrl) => (ctrl.statusChanges || EMPTY).pipe(startWith(null)))\r\n );\r\n\r\n private readonly error$ = combineLatest([\r\n this.ctrl$,\r\n this.errorName$,\r\n this.status$,\r\n ]).pipe(\r\n map(([ctrl, errorName]) => ({\r\n hasError: ctrl.hasError(errorName),\r\n value: ctrl.getError(errorName),\r\n })),\r\n distinctUntilChanged(\r\n (x, y) => x.hasError === y.hasError && x.value === y.value\r\n )\r\n );\r\n\r\n private view?: EmbeddedViewRef<HasErrorContext>;\r\n private subscription?: Subscription;\r\n\r\n @Input()\r\n public set hasError(errorName: string) {\r\n this.errorName$.next(errorName);\r\n }\r\n\r\n public constructor(\r\n private readonly hasErrorRoot: HasErrorRootDirective,\r\n private readonly templateRef: TemplateRef<HasErrorContext>,\r\n private readonly vcr: ViewContainerRef\r\n ) {\r\n }\r\n\r\n public static ngTemplateContextGuard(_dir: HasErrorDirective, ctx: unknown): ctx is HasErrorContext {\r\n return true;\r\n }\r\n\r\n public ngAfterContentInit(): void {\r\n setTimeout(() => {\r\n this.subscription = this.error$.subscribe((error) => {\r\n if (!error.hasError) {\r\n this.view?.destroy();\r\n this.view = undefined;\r\n return;\r\n }\r\n\r\n if (this.view) {\r\n this.view.context.$implicit = error.value;\r\n this.view.markForCheck();\r\n return;\r\n }\r\n this.view = this.vcr.createEmbeddedView(this.templateRef, {\r\n $implicit: error.value,\r\n });\r\n });\r\n }, 100);\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.subscription?.unsubscribe();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HasErrorRootDirective } from './has-error-root.directive';\nimport { HasErrorDirective } from './has-error.directive';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [\n HasErrorDirective,\n HasErrorRootDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule\n ],\n exports: [\n HasErrorDirective,\n HasErrorRootDirective\n ],\n})\nexport class FormErrorModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'Iso8601TimeSpan',\r\n standalone: true,\r\n})\r\nexport class Iso8601TimeSpanPipe implements PipeTransform {\r\n\r\n public transform(value: string | null | undefined): string {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n const match = /^P(?:([0-9]+)D)?(?:T(?:([0-9]+)H)?(?:([0-9]+)M)?(?:([0-9]+(?:\\.\\d+)?)S)?)?$/i.exec(value.trim());\r\n\r\n if (!match) {\r\n return value;\r\n }\r\n\r\n const days = Number(match[1] ?? '0');\r\n const hours = Number(match[2] ?? '0') + (days * 24);\r\n const minutes = Number(match[3] ?? '0');\r\n const seconds = Math.floor(Number(match[4] ?? '0'));\r\n\r\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\r\n }\r\n\r\n}","import { Provider, EnvironmentProviders } from \"@angular/core\";\r\nimport { provideNativeDateAdapter } from \"@angular/material/core\";\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\r\nimport { MAT_ICON_DEFAULT_OPTIONS } from \"@angular/material/icon\";\r\n\r\nexport function provideCaucaMaterial(): (Provider | EnvironmentProviders)[] {\r\n return [\r\n provideNativeDateAdapter(),\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'outline' } },\r\n { provide: MAT_ICON_DEFAULT_OPTIONS, useValue: { color: 'primary' } },\r\n ];\r\n}","<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.message\"></div>\n</div>\n@if (data.buttons) {\n <div mat-dialog-actions>\n @for (label of data.buttons; track label; let i = $index) {\n <button mat-raised-button (click)=\"onClick(i)\">{{label}}</button>\n }\n </div>\n}","import { Component, inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogActions, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';\nimport { SimpleDialogData } from '../shared/models/simple-dialog-data';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'cauca-simple-dialog',\n templateUrl: './cauca-simple-dialog.component.html',\n styleUrls: ['./cauca-simple-dialog.component.scss'],\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatButtonModule]\n})\nexport class CaucaSimpleDialogComponent{\n public readonly data = inject<SimpleDialogData>(MAT_DIALOG_DATA);\n private readonly dialogRef = inject<MatDialogRef<CaucaSimpleDialogComponent>>(MatDialogRef);\n\n public onClick(buttonIndex: number): void {\n this.dialogRef.close(buttonIndex);\n }\n}\n","<button mat-raised-button (click)=\"openDialog($event)\">\n @if (icon) {\n <mat-icon>{{icon}}</mat-icon>\n }\n @if (text) {\n <span>{{text}}</span>\n }\n</button>\n@if (multiple) {\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" multiple=\"multiple\" />\n} @else {\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" />\n}\n\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TranslateService } from '@cauca-911/core';\nimport { CaucaSimpleDialogComponent } from '../cauca-simple-dialog/cauca-simple-dialog.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'cauca-input-file',\n templateUrl: './cauca-input-file.component.html',\n styleUrls: ['./cauca-input-file.component.scss'],\n imports: [MatButtonModule, MatIcon]\n})\nexport class CaucaInputFileComponent implements OnInit {\n\n @ViewChild('file', {static: false})\n public file: ElementRef;\n @Output()\n public readend = new EventEmitter();\n @Input()\n public accept = '';\n @Input()\n public multiple = false;\n @Input()\n public icon = '';\n @Input()\n public text = '';\n\n private labels: any = {};\n private readonly translateService = inject(TranslateService);\n private readonly dialog = inject(MatDialog);\n\n public ngOnInit(): void {\n if (!this.icon && !this.text) {\n this.translateService.get(\n ['material.select', 'material.dialogTitle', 'material.dialogMessage']\n ).subscribe((labels: any) => {\n this.labels = labels;\n this.text = labels['material.select'];\n });\n }\n }\n\n public onSelectFile(e: any): void {\n for (let i = 0, j = e.target.files.length; i < j; i++) {\n const file = e.target.files[i];\n const reader = new FileReader();\n reader.onerror = ((error: any) => this.onError(error));\n reader.onload = ((event: any) => this.onReadEnd(file, event));\n reader.readAsDataURL(file);\n }\n\n if (e.target.files.length) {\n this.dialog.open(CaucaSimpleDialogComponent, {\n width: '250px',\n disableClose: true,\n data: {\n title: this.labels['material.dialogTitle'],\n message: this.labels['material.dialogMessage']\n }\n });\n }\n }\n\n public openDialog(event: any): void {\n if (this.file) {\n this.file.nativeElement.click();\n }\n event.stopPropagation();\n }\n\n private onError(error: any): void {\n throw error;\n }\n\n private onReadEnd(file: any, e: any): void {\n this.dialog.closeAll();\n this.readend.emit({\n name: file.name,\n size: file.size,\n type: file.type,\n lastModifiedDate: file.lastModifiedDate,\n content: e.target['result'],\n file,\n });\n }\n}\n","<mat-tab-group [selectedIndex]=\"selectedIndex\" (selectedIndexChange)=\"onTagChanged($event)\">\n @for (lang of labels; track lang; let i = $index) {\n <mat-tab [label]=\"lang\">\n <mat-form-field hideRequiredMarker=\"never\">\n <input matInput [placeholder]=\"lang\" [formControl]=\"forms[i]\" required=\"required\">\n @if (forms[i].invalid) {\n <mat-error>{{getErrorMessage(i) | translate}}</mat-error>\n }\n </mat-form-field>\n </mat-tab>\n }\n</mat-tab-group>","import { Component, Input, OnInit, inject } from '@angular/core';\n\nimport {ReactiveFormsModule, UntypedFormControl, Validators} from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\nimport { MatTab, MatTabGroup } from '@angular/material/tabs';\nimport {Configuration, CaucaCoreService, TranslateService} from '@cauca-911/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-input-multiple-langue',\n templateUrl: './cauca-input-multiple-langue.component.html',\n styleUrls: ['./cauca-input-multiple-langue.component.scss'],\n imports: [MatTabGroup, MatTab, MatInput, MatFormFieldModule, ReactiveFormsModule, TranslateModule]\n})\nexport class CaucaInputMultipleLangueComponent implements OnInit {\n\n @Input()\n public value: string[] = [];\n public config: Configuration;\n public forms: UntypedFormControl[] = [];\n public labels: string[] = [];\n public selectedIndex = 0;\n\n private readonly translate = inject(TranslateService);\n\n public constructor() {\n const coreService = inject(CaucaCoreService);\n this.config = coreService.getConfig();\n }\n\n public ngOnInit(): void {\n this.translate.get(this.config.languages).subscribe((labels: any) => {\n for (const i in labels) {\n if (labels[i]) {\n this.labels.push(labels[i]);\n }\n }\n this.initializeForms();\n });\n }\n\n public onTagChanged(tabIndex: number): void {\n console.log('cauca-material, onTabChanged', tabIndex);\n }\n\n public getErrorMessage(index: any): string {\n return this.forms[index].hasError('required') ? 'error.required' : '';\n }\n\n private initializeForms(): void {\n this.labels.forEach((item: any, index: number) => {\n this.forms[index] = new UntypedFormControl('', [Validators.required]);\n this.forms[index].setValue(this.value[index] || '');\n });\n }\n}\n","<div #container class=\"slideshow\">\n @for (url of images; track url; let index = $index) {\n <div [class.active]=\"index === selectedIndex\" [class.entering]=\"states[index] === 'in'\" [class.leaving]=\"states[index] === 'out'\">\n <img [src]=\"url\" />\n </div>\n }\n</div>","import { Component, OnInit, ElementRef, Input, ViewChild } from '@angular/core';\n\n\n@Component({\n selector: 'cauca-slideshow',\n templateUrl: './cauca-slideshow.component.html',\n styleUrls: ['./cauca-slideshow.component.scss'],\n imports: [],\n})\nexport class CaucaSlideshowComponent implements OnInit {\n @ViewChild('container', { static: true })\n public container: ElementRef;\n @Input()\n public height = '150px';\n @Input()\n public autoPlay = true;\n public states = [];\n public selectedIndex = 0;\n\n private timer = null;\n private items = [];\n\n @Input()\n public set images(list: string[]) {\n this.items = list;\n this.restart();\n }\n public get images(): string[] {\n return this.items;\n }\n\n public ngOnInit(): void {\n this.container.nativeElement.style.height = this.height;\n this.container.nativeElement.style.width = '100%';\n }\n\n public getState(index: number): string {\n if (this.states[index]) {\n return this.states[index];\n }\n\n return (this.selectedIndex === index ? 'in' : 'out');\n }\n\n public restart(): void {\n if (this.timer) {\n window.clearInterval(this.timer);\n }\n if (this.images && this.images.length) {\n this.timer = window.setInterval(() => this.changed('next'), 5000);\n }\n }\n\n public next(): void {\n if (this.selectedIndex < this.items.length - 1) {\n this.selectedIndex++;\n } else {\n this.selectedIndex = 0;\n }\n }\n\n private changed(action: string): void {\n this.states[this.selectedIndex] = 'out';\n this[action]();\n this.states[this.selectedIndex] = 'in';\n }\n}\n","/*\n * Public API Surface of cauca-material\n */\n\nexport * from './lib/cauca-material.service';\nexport * from './lib/cauca-material.component';\nexport * from './lib/components/cauca-date-time-picker/cauca-date-time-picker.component';\n\nexport * from './lib/components/buttons/basic-button/basic-button.component';\nexport * from './lib/components/buttons/fab-button/fab-button.component';\nexport * from './lib/components/buttons/flat-button/flat-button.component';\nexport * from './lib/components/buttons/icon-button/icon-button.component';\nexport * from './lib/components/buttons/link-button/link-button.component';\nexport * from './lib/components/buttons/menu-item/menu-item.component';\nexport * from './lib/components/buttons/raised-button/raised-button.component';\nexport * from './lib/components/buttons/refresh-button/refresh-button.component';\nexport * from './lib/components/buttons/round-button/round-button.component';\nexport * from './lib/components/buttons/stroked-button/stroked-button.component';\nexport * from './lib/components/button/button.component'\nexport * from './lib/components/dialogs/services/dialog.service';\n\nexport * from './lib/core/models/breadcrumb-location';\nexport * from './lib/core/breadcrumb.service';\n\nexport * from './lib/core/loading-state.service';\nexport * from './lib/components/misc/loading-error/loading-error.component';\nexport * from './lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component';\nexport * from './lib/components/misc/snack-bar/snack-bar.component';\n\nexport * from './lib/components/presenters/badge/badge.component';\nexport * from './lib/components/presenters/icon/icon.component';\n\nexport * from './lib/components/list-paginator/list-paginator.component';\n\nexport * from './lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component';\nexport * from './lib/components/inputs/password/password-selection/password-selection.component';\nexport * from './lib/components/inputs/password/password-input/password-input.component';\nexport * from './lib/components/inputs/date-range-picker/date-range-picker.component';\nexport * from './lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component';\nexport * from './lib/components/inputs/color-picker/color-picker.component';\nexport * from './lib/components/inputs/select-with-search/select-with-search.component';\n\nexport * from './lib/components/layout/group-container/group-container.component'\nexport * from './lib/components/layout/sections/main-section/main-section.component';\nexport * from './lib/components/layout/sections/section-column/section-column.component';\nexport * from './lib/components/layout/sections/section-field/section-field.component';\nexport * from './lib/components/layout/page-title/page-title.component'\nexport * from './lib/components/layout/expandable-panel/expandable-panel.component';\nexport * from './lib/components/layout/expandable-panel-accordion/expandable-panel-accordion.component';\nexport * from './lib/components/layout/menu-expandable-panel/menu-expandable-panel.component';\nexport * from './lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component';\n\nexport * from './lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component';\nexport * from './lib/components/notifications/saving-error-box/saving-error-box.component';\nexport * from './lib/components/notifications/status-message/status-message.component';\n\nexport { ConfirmationOptions, ConfirmationResult, InputOptions } from './lib/components/dialogs/services/dialog.service';\n\nexport * from './lib/core/directives/auto-trim-and-lower.directive';\nexport * from './lib/core/directives/form-error/form-error.module';\nexport * from './lib/core/directives/form-error/has-error-root.directive';\nexport * from './lib/core/directives/form-error/has-error.directive';\nexport * from './lib/core/pipes/iso8601-time-span.pipe';\n\nexport * from './lib/provide-cauca-material';\n\n/* The following are deprecated components and should not be used in new project */\n// CaucaInputFileComponent should be replaced with the new file picker from Mass Alert.\nexport * from './lib/components/deprecated-components/cauca-input-file/cauca-input-file.component';\nexport * from './lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component';\n// Dialog service should always be used instead of this one.\nexport * from './lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component';\nexport * from './lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","_c0","i3","i5","i6","_c1","i4","_c2","i1.HasErrorRootDirective","TranslateService"],"mappings":"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"}
1
+ {"version":3,"file":"cauca-911-material.mjs","sources":["../../../projects/cauca-material/src/lib/cauca-material.service.ts","../../../projects/cauca-material/src/lib/cauca-material.component.ts","../../../projects/cauca-material/src/lib/cauca-material.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.ts","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.ts","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/cauca-date-time-picker.component.html","../../../projects/cauca-material/src/lib/components/cauca-date-time-picker/cauca-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/components/buttons/base-button.ts","../../../projects/cauca-material/src/lib/components/buttons/basic-button/basic-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/basic-button/basic-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/fab-button/fab-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/fab-button/fab-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/flat-button/flat-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/flat-button/flat-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/icon-button/icon-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/icon-button/icon-button.component.html","../../../projects/cauca-material/src/lib/components/button/button.component.html","../../../projects/cauca-material/src/lib/components/button/button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/link-button/link-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/link-button/link-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/menu-item/menu-item.component.html","../../../projects/cauca-material/src/lib/components/buttons/menu-item/menu-item.component.ts","../../../projects/cauca-material/src/lib/components/buttons/raised-button/raised-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/raised-button/raised-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/refresh-button/refresh-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/refresh-button/refresh-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/round-button/round-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/round-button/round-button.component.ts","../../../projects/cauca-material/src/lib/components/buttons/stroked-button/stroked-button.component.html","../../../projects/cauca-material/src/lib/components/buttons/stroked-button/stroked-button.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/alert-dialog/alert-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/alert-dialog/alert-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/confirm-dialog/confirm-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/confirm-dialog/confirm-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/text-input-dialog/text-input-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/text-input-dialog/text-input-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/delete-dialog/delete-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/delete-dialog/delete-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/error-dialog/error-dialog.component.ts","../../../projects/cauca-material/src/lib/components/dialogs/error-dialog/error-dialog.component.html","../../../projects/cauca-material/src/lib/components/dialogs/services/dialog.service.ts","../../../projects/cauca-material/src/lib/core/models/breadcrumb-location.ts","../../../projects/cauca-material/src/lib/core/breadcrumb.service.ts","../../../projects/cauca-material/src/lib/core/loading-state.service.ts","../../../projects/cauca-material/src/lib/components/misc/snack-bar/snack-bar.component.html","../../../projects/cauca-material/src/lib/components/misc/snack-bar/snack-bar.component.ts","../../../projects/cauca-material/src/lib/components/misc/loading-error/loading-error.component.html","../../../projects/cauca-material/src/lib/components/misc/loading-error/loading-error.component.ts","../../../projects/cauca-material/src/lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component.html","../../../projects/cauca-material/src/lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component.ts","../../../projects/cauca-material/src/lib/components/presenters/badge/badge.component.ts","../../../projects/cauca-material/src/lib/components/presenters/badge/badge.component.html","../../../projects/cauca-material/src/lib/components/presenters/icon/icon.component.ts","../../../projects/cauca-material/src/lib/components/list-paginator/list-paginator.component.html","../../../projects/cauca-material/src/lib/components/list-paginator/list-paginator.component.ts","../../../projects/cauca-material/src/lib/components/inputs/password/password-criteria/password-criteria.component.html","../../../projects/cauca-material/src/lib/components/inputs/password/password-criteria/password-criteria.component.ts","../../../projects/cauca-material/src/lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component.ts","../../../projects/cauca-material/src/lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component.html","../../../projects/cauca-material/src/lib/components/inputs/password/password-input/password-input.component.html","../../../projects/cauca-material/src/lib/components/inputs/password/password-input/password-input.component.ts","../../../projects/cauca-material/src/lib/core/models/password-validation.ts","../../../projects/cauca-material/src/lib/core/validators/password/password-validator.ts","../../../projects/cauca-material/src/lib/components/inputs/password/password-selection/password-selection.component.html","../../../projects/cauca-material/src/lib/components/inputs/password/password-selection/password-selection.component.ts","../../../projects/cauca-material/src/lib/components/inputs/date-range-picker/date-range-picker.component.ts","../../../projects/cauca-material/src/lib/components/inputs/date-range-picker/date-range-picker.component.html","../../../projects/cauca-material/src/lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component.html","../../../projects/cauca-material/src/lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component.ts","../../../projects/cauca-material/src/lib/components/inputs/color-picker/color-picker.component.ts","../../../projects/cauca-material/src/lib/components/inputs/color-picker/color-picker.component.html","../../../projects/cauca-material/src/lib/components/inputs/select-with-search/select-with-search.component.html","../../../projects/cauca-material/src/lib/components/inputs/select-with-search/select-with-search.component.ts","../../../projects/cauca-material/src/lib/components/layout/group-container/group-container.component.ts","../../../projects/cauca-material/src/lib/components/layout/group-container/group-container.component.html","../../../projects/cauca-material/src/lib/components/layout/sections/main-section/main-section.component.html","../../../projects/cauca-material/src/lib/components/layout/sections/main-section/main-section.component.ts","../../../projects/cauca-material/src/lib/components/layout/sections/section-column/section-column.component.ts","../../../projects/cauca-material/src/lib/components/layout/sections/section-column/section-column.component.html","../../../projects/cauca-material/src/lib/components/layout/sections/section-field/section-field.component.html","../../../projects/cauca-material/src/lib/components/layout/sections/section-field/section-field.component.ts","../../../projects/cauca-material/src/lib/components/layout/page-title/page-title.component.html","../../../projects/cauca-material/src/lib/components/layout/page-title/page-title.component.ts","../../../projects/cauca-material/src/lib/components/layout/expandable-panel/expandable-panel.component.ts","../../../projects/cauca-material/src/lib/components/layout/expandable-panel/expandable-panel.component.html","../../../projects/cauca-material/src/lib/components/layout/expandable-panel-accordion/expandable-panel-accordion.component.ts","../../../projects/cauca-material/src/lib/components/layout/expandable-panel-accordion/expandable-panel-accordion.component.html","../../../projects/cauca-material/src/lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.ts","../../../projects/cauca-material/src/lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component.html","../../../projects/cauca-material/src/lib/components/layout/menu-expandable-panel/menu-expandable-panel.component.html","../../../projects/cauca-material/src/lib/components/layout/menu-expandable-panel/menu-expandable-panel.component.ts","../../../projects/cauca-material/src/lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component.html","../../../projects/cauca-material/src/lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component.ts","../../../projects/cauca-material/src/lib/components/notifications/saving-error-box/saving-error-box.component.html","../../../projects/cauca-material/src/lib/components/notifications/saving-error-box/saving-error-box.component.ts","../../../projects/cauca-material/src/lib/components/notifications/status-message/status-message.component.ts","../../../projects/cauca-material/src/lib/components/notifications/status-message/status-message.component.html","../../../projects/cauca-material/src/lib/core/directives/auto-trim-and-lower.directive.ts","../../../projects/cauca-material/src/lib/core/directives/form-error/has-error-root.directive.ts","../../../projects/cauca-material/src/lib/core/directives/form-error/has-error.directive.ts","../../../projects/cauca-material/src/lib/core/directives/form-error/form-error.module.ts","../../../projects/cauca-material/src/lib/core/pipes/iso8601-time-span.pipe.ts","../../../projects/cauca-material/src/lib/provide-cauca-material.ts","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component.html","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component.ts","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-input-file/cauca-input-file.component.html","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-input-file/cauca-input-file.component.ts","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component.html","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component.ts","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component.html","../../../projects/cauca-material/src/lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component.ts","../../../projects/cauca-material/src/public-api.ts","../../../projects/cauca-material/src/cauca-911-material.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CaucaMaterialService {\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-material',\n templateUrl: './cauca-material.component.html',\n styles: [],\n imports: [TranslateModule],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CaucaMaterialComponent {\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\n\n@Component({\n selector: 'cauca-mobile-time-picker',\n imports: [\n MatButtonModule,\n MatIconModule,\n MatFormFieldModule,\n MatInputModule\n ],\n templateUrl: './mobile-time-picker.component.html',\n styleUrl: './mobile-time-picker.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MobileTimePickerComponent {\n public value = input.required<number>();\n public options = input.required<number[]>();\n\n public valueChange = output<number>();\n\n public valueUp(): void {\n const currentIndex = this.options().indexOf(this.value());\n let newValue = 0;\n if (currentIndex === this.options().length - 1) {\n newValue = this.options()[0];\n } else {\n newValue = this.options()[currentIndex + 1];\n }\n\n this.valueChange.emit(newValue);\n }\n\n public valueDown(): void {\n const currentIndex = this.options().indexOf(this.value());\n let newValue = 0;\n if (currentIndex === 0) {\n newValue = this.options()[this.options().length - 1];\n } else {\n newValue = this.options()[currentIndex - 1];\n }\n\n this.valueChange.emit(newValue);\n }\n}\n","<button mat-icon-button (click)=\"valueUp()\">\n <mat-icon>keyboard_arrow_up</mat-icon>\n</button>\n<div>\n{{(value() < 10 ? '0' : '' ) + value()}}\n</div>\n<button mat-icon-button (click)=\"valueDown()\">\n <mat-icon>keyboard_arrow_down</mat-icon>\n</button>\n","<mat-list [disabled]=\"disabled()?.all\">\n @for (option of options(); track option) {\n <mat-list-item [activated]=\"value() === option\" [disabled]=\"disabled()?.someOptions?.includes(option)\"\n (click)=\"valueChange.emit(option)\">{{(option < 10 ? '0' : '' ) + option}}</mat-list-item>\n }\n</mat-list>","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { MatListModule } from '@angular/material/list';\n\n@Component({\n selector: 'cauca-desktop-time-picker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MatListModule\n ],\n templateUrl: './desktop-time-picker.component.html',\n styleUrl: './desktop-time-picker.component.scss'\n})\nexport class DesktopTimePickerComponent {\n public readonly options = input<number[]>([]);\n public readonly value = input<number>();\n public readonly disabled = input<DesktopTimePickerComponentDisabled>();\n\n public readonly valueChange = output<number>();\n}\n\nexport interface DesktopTimePickerComponentDisabled {\n all: boolean;\n someOptions: number[];\n}","<div mat-dialog-content>\n <div [ngClass]=\"showSeconds() ? 'show-seconds' : 'hide-seconds'\" class=\"date-time-picker\">\n <div class=\"calendar\">\n <mat-calendar\n [minDate]=\"minimumDate\"\n [maxDate]=\"maximumDate\"\n [selected]=\"selectedDate\"\n (selectedChange)=\"dateChanged($event)\"\n ></mat-calendar>\n </div>\n\n @if (showTime()) {\n @if (!showMobileUi) {\n <div class=\"hours\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n </div>\n }\n @if (showMobileUi) {\n <div class=\"hours\">\n <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n </div>\n }\n\n @if (showMobileUi) {\n <div class=\"hour-and-minute-separator\">:</div>\n }\n\n @if (!showMobileUi) {\n <div class=\"minutes\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n </div>\n }\n @if (showMobileUi) {\n <div class=\"minutes\">\n <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n </div>\n }\n\n @if (showSeconds() && showMobileUi) {\n <div class=\"minute-and-second-separator\">:</div>\n }\n @if (showSeconds() && !showMobileUi) {\n <div class=\"seconds\">\n <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n </div>\n }\n @if (showSeconds() && showMobileUi) {\n <div class=\"seconds\">\n <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n </div>\n }\n }\n </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n @if (showClearButton) {\n <button mat-stroked-button (click)=\"clear()\">\n @if (showButtonIcons) {\n <mat-icon>clear</mat-icon>\n }\n {{'material.clear' | translate}}\n </button>\n }\n <button color=\"primary\" mat-stroked-button (click)=\"cancel()\">\n @if (showButtonIcons) {\n <mat-icon>cancel</mat-icon>\n }\n {{'material.cancel' | translate}}\n </button>\n <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n @if (showButtonIcons) {\n <mat-icon>check</mat-icon>\n }\n {{'material.ok' | translate}}\n </button>\n</div>","import { ChangeDetectionStrategy, Component, HostListener, OnInit, signal, WritableSignal, inject } from '@angular/core';\nimport { provideNativeDateAdapter } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { MatListModule } from '@angular/material/list';\nimport { DialogDateTimePickerOptions, DialogDateTimePickerDataDisabled, DialogDateTimePickerDataStep } from '../../models/dialog-date-time-picker-data';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { CommonModule } from '@angular/common';\nimport { MobileTimePickerComponent } from '../mobile-time-picker/mobile-time-picker.component';\nimport { DesktopTimePickerComponent } from '../desktop-time-picker/desktop-time-picker.component';\n\n@Component({\n selector: 'cauca-dialog-date-time-picker',\n imports: [\n CommonModule,\n CaucaCoreForChildModule,\n MatButtonModule,\n MatDatepickerModule,\n MatIconModule,\n MatListModule,\n MobileTimePickerComponent,\n DesktopTimePickerComponent\n ],\n providers: [provideNativeDateAdapter()],\n templateUrl: './dialog-date-time-picker.component.html',\n styleUrl: './dialog-date-time-picker.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DialogDateTimePickerComponent implements OnInit {\n\n public selectedHour = 0;\n public selectedMinute = 0;\n public selectedSecond = 0;\n public initialDate: Date = null;\n public selectedDate: Date = null;\n public minimumDate = new Date();\n public maximumDate = new Date();\n public showSeconds: WritableSignal<boolean> = signal(false);\n public showClearButton: boolean = true;\n public showButtonIcons: boolean = true;\n\n public hours = [...Array(24).keys()];\n public minutes = [...Array(60).keys()];\n public seconds = [...Array(60).keys()];\n public showMobileUi: boolean = false;\n\n public showTime: WritableSignal<boolean> = signal(true);\n\n public disabled: DialogDateTimePickerDataDisabled = {\n hours: true,\n someHours: [],\n minutes: true,\n someMinutes: [],\n seconds: true,\n someSeconds: [],\n };\n\n private step: DialogDateTimePickerDataStep = {\n hours: 1,\n minutes: 1,\n seconds: 1,\n };\n\n private readonly dialogRef = inject<MatDialogRef<DialogDateTimePickerComponent>>(MatDialogRef);\n private readonly options = inject<DialogDateTimePickerOptions>(MAT_DIALOG_DATA);\n\n public constructor() {\n const options = this.options;\n\n this.step = options.step || this.step;\n this.showSeconds.set(options.showSeconds);\n this.showButtonIcons = options.showButtonIcons ?? this.showButtonIcons;\n this.showClearButton = options.showClearButton ?? this.showClearButton;\n this.showTime.set(options.showTime ?? true);\n this.setListHoursMinutes();\n this.initialEachComponentValue(options);\n }\n\n public ngOnInit(): void {\n this.onWindowWithChange(window.innerWidth);\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(event) {\n this.onWindowWithChange(event.target.innerWidth);\n }\n\n public dateChanged(date: Date): void {\n if (date) {\n this.selectedDate = date;\n this.selectedDate.setHours(this.selectedHour);\n this.selectedDate.setMinutes(this.selectedMinute);\n this.selectedDate.setSeconds(this.selectedSecond);\n this.disabled.hours = false;\n this.disabled.someHours = this.hours.filter(hour => this.hourOfSelectedDateIsDisabled(hour));\n } else {\n this.selectedDate = null;\n this.disabled.hours = true;\n }\n }\n\n public hourChanged(hour: number): void {\n if (this.disabled.hours || this.disabled.someHours.includes(hour)) return;\n\n this.selectedHour = hour;\n this.selectedDate.setHours(hour);\n this.disabled.minutes = false;\n this.disabled.someMinutes = this.minutes.filter(minute => this.minuteOfSelectedDateIsDisabled(minute));\n }\n\n public minuteChanged(minute: number): void {\n if (this.disabled.minutes || this.disabled.someMinutes.includes(minute)) return;\n\n this.selectedMinute = minute;\n this.selectedDate.setMinutes(minute);\n this.disabled.seconds = false;\n this.disabled.someSeconds = this.seconds.filter(second => this.secondOfSelectedDateIsDisabled(second));\n }\n\n public secondChanged(second: number): void {\n if (this.disabled.seconds || this.disabled.someSeconds.includes(second)) return;\n\n this.selectedSecond = second;\n this.selectedDate.setSeconds(second);\n }\n\n public clear(): void {\n this.dialogRef.close({\n value: null\n });\n }\n\n public cancel(): void {\n this.dialogRef.close({\n value: this.initialDate\n });\n }\n\n public confirm(): void {\n this.dialogRef.close({\n value: this.selectedDate\n });\n }\n\n private onWindowWithChange(width: number): void {\n this.showMobileUi = width && width <= 555;\n }\n\n private hourOfSelectedDateIsDisabled(hour: number): boolean {\n if (this.selectedDateIsTheMinimumDate()) {\n return hour < this.minimumDate.getHours();\n } else if (this.selectedDateIsTheMaximumDate()) {\n return hour > this.maximumDate.getHours();\n }\n\n return false;\n }\n\n private minuteOfSelectedDateIsDisabled(minute: number): boolean {\n if (\n this.selectedDateIsTheMinimumDate() &&\n this.selectedDate.getHours() === this.minimumDate.getHours()\n ) {\n return minute < this.minimumDate.getMinutes();\n } else if (\n this.selectedDateIsTheMaximumDate() &&\n this.selectedDate.getHours() === this.maximumDate.getHours()\n ) {\n return minute > this.maximumDate.getMinutes();\n }\n\n return false;\n }\n\n private secondOfSelectedDateIsDisabled(second: number): boolean {\n if (\n this.selectedDateIsTheMinimumDate() &&\n this.selectedDate.getHours() === this.minimumDate.getHours() &&\n this.selectedDate.getMinutes() === this.minimumDate.getMinutes()\n ) {\n return second < this.minimumDate.getSeconds();\n } else if (\n this.selectedDateIsTheMaximumDate() &&\n this.selectedDate.getMinutes() === this.maximumDate.getMinutes()\n ) {\n return second > this.maximumDate.getSeconds();\n }\n\n return false;\n }\n\n private initialEachComponentValue(options: DialogDateTimePickerOptions): void {\n this.initialDate = options.selectedDate ? new Date(options.selectedDate) : null;\n this.minimumDate = options.minimumDate ? new Date(options.minimumDate) : null;\n this.maximumDate = options.maximumDate ? new Date(options.maximumDate) : null;\n this.selectedDate = options.selectedDate ? new Date(options.selectedDate) : new Date();\n this.dateChanged(options.selectedDate ? new Date(options.selectedDate) : null);\n this.hourChanged(options.selectedDate ? new Date(options.selectedDate).getHours() : 0);\n this.minuteChanged(options.selectedDate ? new Date(options.selectedDate).getMinutes() : 0);\n this.secondChanged(options.selectedDate ? new Date(options.selectedDate).getSeconds() : 0);\n }\n\n private selectedDateIsTheMinimumDate(): boolean {\n return (\n this.minimumDate &&\n this.selectedDate.getFullYear() === this.minimumDate.getFullYear() &&\n this.selectedDate.getMonth() === this.minimumDate.getMonth() &&\n this.selectedDate.getDate() === this.minimumDate.getDate()\n );\n }\n\n private selectedDateIsTheMaximumDate(): boolean {\n return (\n this.maximumDate &&\n this.selectedDate.getFullYear() === this.maximumDate.getFullYear() &&\n this.selectedDate.getMonth() === this.maximumDate.getMonth() &&\n this.selectedDate.getDate() === this.maximumDate.getDate()\n );\n }\n\n private setListHoursMinutes(): void {\n this.hours = this.hours.filter(hour => hour % this.step.hours === 0);\n this.minutes = this.minutes.filter(minute => minute % this.step.minutes === 0);\n this.seconds = this.seconds.filter(seconde => seconde % this.step.seconds === 0);\n }\n}\n","<mat-form-field [subscriptSizing]=\"subscriptSizing()\">\n @if (label()) {\n <mat-label>{{ translateLabel() ? (label() | translate) : label() }}{{isRequired() ? '*' : ''}}</mat-label>\n }\n <input (focusout)=\"onTouched()\" matInput [value]=\"stringDate()\" readonly=\"readonly\">\n <button matSuffix mat-icon-button (click)=\"showDialog()\">\n <mat-icon>calendar_month</mat-icon>\n </button>\n</mat-form-field>","import { ChangeDetectionStrategy, Component, computed, ElementRef, inject, Injector, input, model, OnInit, output } from '@angular/core';\nimport { DialogPosition, MatDialog } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { DialogDateTimePickerComponent } from './components/dialog-date-time-picker/dialog-date-time-picker.component';\nimport { DialogDateTimePickerOptions, DialogDateTimePickerValue } from './models/dialog-date-time-picker-data';\nimport { MatButtonModule } from '@angular/material/button';\nimport { DatePipe } from '@angular/common';\nimport { AbstractControl, ControlContainer, ControlValueAccessor, FormControl, FormControlName, FormGroup, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';\nimport { MatFormFieldModule, SubscriptSizing } from '@angular/material/form-field';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-date-time-picker',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n TranslateModule,\n MatButtonModule,\n MatIconModule,\n MatInputModule,\n MatFormFieldModule\n ],\n providers: [\n DatePipe,\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: CaucaDateTimePickerComponent,\n }\n ],\n templateUrl: './cauca-date-time-picker.component.html',\n styleUrl: './cauca-date-time-picker.component.scss'\n})\nexport class CaucaDateTimePickerComponent implements ControlValueAccessor, OnInit {\n\n public readonly value = model<Date>(null);\n public readonly subscriptSizing = input<SubscriptSizing>('fixed');\n public readonly showTime = input<boolean>(true);\n public readonly label = input<string>('');\n public readonly translateLabel = input<boolean>(true);\n public readonly stepHours = input(1);\n public readonly stepMinutes = input(1);\n public readonly stepSecondes = input(1);\n public readonly minimumDate = input<Date>(null);\n public readonly maximumDate = input<Date>(null);\n public readonly showSeconds = input<boolean>(false);\n public readonly showFormat = input<string>('yyyy/MM/dd, HH:mm');\n public readonly showClearButton = input<boolean>(true);\n public readonly showButtonIcons = input<boolean>(true);\n public readonly selectedChange = output<Date>();\n\n public control: AbstractControl;\n public readonly stringDate = computed(() => this.value() ? this.stringifyDate(this.value()) : '');\n public readonly isRequired = computed(() => Boolean(this.control?.hasValidator(Validators.required)));\n\n private readonly injector = inject(Injector);\n private readonly elementRef = inject(ElementRef);\n private readonly dialog = inject(MatDialog);\n private readonly datePipe = inject(DatePipe);\n\n public ngOnInit(): void {\n const ngControl = this.injector.get(NgControl, null, { self: true, optional: true });\n if (ngControl instanceof FormControlName) {\n const container = this.injector.get(ControlContainer).control as FormGroup;\n this.control = container.controls[ngControl.name] as FormControl;\n } else {\n this.control = new FormControl();\n }\n }\n\n public showDialog(): void {\n const dialogRef = this.dialog.open(DialogDateTimePickerComponent, {\n position: this.getDialogPosition(),\n data: this.getDateTimePickerOptions(),\n maxWidth: '100vw',\n });\n\n dialogRef.afterClosed().subscribe((data: DialogDateTimePickerValue) => {\n if (data) {\n this.value.set(data.value);\n this.selectedChange.emit(data.value);\n this.onChange(data.value);\n }\n });\n }\n\n public writeValue(date: Date): void {\n this.value.set(date);\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public onChange = (value: Date): Date => value;\n\n public onTouched = (): void => {/* This method needs to be empty */ };\n\n private getDateTimePickerOptions(): DialogDateTimePickerOptions {\n return {\n selectedDate: this.value(),\n minimumDate: this.minimumDate(),\n maximumDate: this.maximumDate(),\n showSeconds: this.showSeconds(),\n showClearButton: this.showClearButton(),\n showButtonIcons: this.showButtonIcons(),\n showTime: this.showTime(),\n step: {\n hours: this.stepHours(),\n minutes: this.stepMinutes(),\n seconds: this.stepSecondes(),\n }\n };\n }\n\n private stringifyDate(date: Date): string {\n return this.datePipe.transform(date, this.showFormat());\n }\n\n private getDialogPosition(): DialogPosition {\n const rect = this.elementRef.nativeElement.getBoundingClientRect();\n const top = rect.y + rect.height - 22;\n const bottom = window.innerHeight - rect.y;\n const minimumDialogHeight = 400;\n const minimumScreenSize = 800;\n\n if (window.innerHeight < minimumScreenSize || window.innerWidth < minimumScreenSize) {\n return null;\n } else if (window.innerHeight > (top + minimumDialogHeight)) {\n return {\n left: `${rect.x}px`,\n top: `${top}px`,\n };\n }\n\n return {\n left: `${rect.x}px`,\n bottom: `${bottom}px`,\n };\n }\n}\n","import { InputSignal, input, computed, output, Directive, OutputEmitterRef, signal } from \"@angular/core\";\r\n\r\n@Directive()\r\nexport abstract class BaseButton {\r\n public colorOnHover: InputSignal<string> = input(undefined);\r\n public color: InputSignal<string> = input(undefined);\r\n public icon: InputSignal<string> = input();\r\n public iconAlignment: InputSignal<'left' | 'right'> = input('left');\r\n public isDisabled: InputSignal<boolean> = input(false);\r\n public isInProgress: InputSignal<boolean> = input(false);\r\n\r\n public iconColor = computed(() => this.isHovered() ? this.colorOnHover() || this.color() : this.color()); \r\n public showIcon = computed(() => !!this.icon() || this.isInProgress());\r\n public iconToShow = computed(() => this.isInProgress() ? 'update' : this.icon());\r\n public buttonDisabled = computed(() => this.isDisabled() || this.isInProgress());\r\n\r\n public buttonClick: OutputEmitterRef<void> = output();\r\n\r\n public isHovered = signal(false);\r\n\r\n public onMouseEnter(): void {\r\n this.isHovered.set(true);\r\n }\r\n\r\n public onMouseLeave(): void {\r\n this.isHovered.set(false);\r\n }\r\n}\r\n\r\n@Directive()\r\nexport abstract class BaseButtonWithLabel extends BaseButton {\r\n public translateLabel: InputSignal<boolean> = input(true);\r\n public label: InputSignal<string> = input();\r\n public small: InputSignal<boolean> = input(false);\r\n}","<button mat-button [ngClass]=\"small() ? 'small-button' : ''\" [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\">\r\n @if(showIcon() && iconAlignment() === 'left') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n @if(showIcon() && iconAlignment() === 'right') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\n\r\n@Component({\r\n selector: 'cauca-basic-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIcon, MatButton, TranslateModule, NgClass],\r\n templateUrl: './basic-button.component.html',\r\n styleUrl: './basic-button.component.scss'\r\n})\r\nexport class BasicButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","<button mat-fab [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\">\r\n @if (showIcon()) { <mat-icon [style.color]=\"iconColor()\" [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { ChangeDetectionStrategy, Component, computed } from '@angular/core';\r\nimport { MatButtonModule, } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\n\r\n@Component({\r\n selector: 'cauca-fab-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatButtonModule, MatIconModule],\r\n templateUrl: './fab-button.component.html',\r\n styleUrl: './fab-button.component.scss',\r\n})\r\nexport class FabButtonComponent extends BaseButtonWithLabel {\r\n public iconColor = computed(() => this.color() === 'primary' ? 'white' : undefined);\r\n}\r\n","<button mat-flat-button [ngClass]=\"small() ? 'small-button' : ''\" [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit();\">\r\n @if(showIcon() && iconAlignment() === 'left') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n @if(showIcon() && iconAlignment() === 'right') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\n\r\n@Component({\r\n selector: 'cauca-flat-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIcon, MatButton, TranslateModule, NgClass],\r\n templateUrl: './flat-button.component.html',\r\n styleUrl: './flat-button.component.scss'\r\n})\r\nexport class FlatButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatIconButton } from '@angular/material/button';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { BaseButton } from '../base-button';\r\n\r\n@Component({\r\n selector: 'cauca-icon-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIconButton, MatIcon],\r\n templateUrl: './icon-button.component.html',\r\n styleUrl: './icon-button.component.scss'\r\n})\r\nexport class IconButtonComponent extends BaseButton {\r\n}\r\n","<button (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\" mat-icon-button onclick=\"this.blur()\" (click)=\"buttonClick.emit();\" [disabled]=\"buttonDisabled()\">\r\n <mat-icon [style.color]=\"iconColor()\" [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon>\r\n</button>","@if (type() === 'basic') {\n <button [ngClass]=\"class()\" mat-button (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-basic\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}\n\n@if (type() === 'raised') {\n <button [ngClass]=\"class()\" matButton=\"elevated\" (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-raised\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}\n\n@if (type() === 'stroked') {\n <button [ngClass]=\"class()\" matButton=\"outlined\" (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-stroked\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}\n\n@if (type() === 'flat') {\n <button [ngClass]=\"class()\" matButton=\"filled\" (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-flat\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}\n\n@if (type() === 'icon') {\n <button [ngClass]=\"class()\" matIconButton (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-icon\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n </button>\n}\n\n@if (type() === 'fab') {\n <button [ngClass]=\"class()\" matFab (click)=\"buttonClick.emit()\" [disabled]=\"disable() || inProgress()\" [color]=\"color()\" class=\"button-icon\">\n @if (inProgress() || icon()) {\n <mat-icon [class.button-spin]=\"inProgress()\">{{ inProgress() ? 'update' : icon() }}</mat-icon>\n }\n <span>{{label()}}</span>\n </button>\n}","import { NgClass } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\n\n@Component({\n selector: 'cauca-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n imports: [MatIconModule, MatButtonModule, NgClass],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ButtonComponent {\n public class = input<string | null>(null);\n public inProgress = input<boolean>(false);\n public disable = input<boolean>(false);\n public label = input<string>('');\n public icon = input<string | null>(null);\n public color = input<string>('');\n public type = input<'basic' | 'raised' | 'stroked' | 'flat' | 'icon' | 'fab'>('basic');\n public buttonClick = output<void>();\n}","import { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { Clipboard } from '@angular/cdk/clipboard';\nimport { ButtonComponent } from '../../button/button.component';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n\n@Component({\n selector: 'cauca-link-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './link-button.component.html',\n styleUrls: ['./link-button.component.scss'],\n imports: [ButtonComponent, TranslatePipe]\n})\nexport class LinkButtonComponent {\n public readonly segments = input<string[]>();\n\n private readonly clipboard = inject(Clipboard);\n\n public copyLink(): void {\n const link = location.origin + this.segments().map((segment: string) => `/${segment}`).join('');\n this.clipboard.copy(link);\n }\n}\n","<cauca-button class=\"link-button\" icon=\"link\" type=\"stroked\" color=\"primary\" (buttonClick)=\"copyLink()\" [label]=\"'copyLink'|translate\" />","<button (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\" mat-menu-item [ngClass]=\"small() ? 'small-button' : ''\" class=\"change-password-menu-item\" [matMenuTriggerFor]=\"trigger()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\">\r\n @if(showIcon() && iconAlignment() === 'left') { <mat-icon [style.color]=\"iconColor()\" [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n @if(showIcon() && iconAlignment() === 'right') { <mat-icon [style.color]=\"iconColor()\" [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>\r\n","import { ChangeDetectionStrategy, Component, InputSignal, input, } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { MatMenuItem, MatMenuTrigger } from '@angular/material/menu';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cauca-menu-item',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatMenuItem, TranslateModule, MatIcon, MatMenuTrigger, NgClass],\r\n templateUrl: './menu-item.component.html',\r\n styleUrl: './menu-item.component.scss',\r\n})\r\nexport class MenuItemComponent extends BaseButtonWithLabel {\r\n public translateLabel: InputSignal<boolean> = input(false);\r\n public trigger: InputSignal<any> = input();\r\n}\r\n","<button mat-raised-button [ngClass]=\"small() ? 'small-button' : ''\" [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\">\r\n @if (showIcon() && iconAlignment() === 'left') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n @if (showIcon() && iconAlignment() === 'right') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatButton, } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cauca-raised-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatButton, MatIconModule, TranslateModule, NgClass],\r\n templateUrl: './raised-button.component.html',\r\n styleUrl: './raised-button.component.scss',\r\n})\r\nexport class RaisedButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","import { Component, ChangeDetectionStrategy, input, output } from '@angular/core';\nimport { ButtonComponent } from '../../button/button.component';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-refresh-button',\n imports: [ButtonComponent, TranslatePipe],\n templateUrl: './refresh-button.component.html',\n styleUrl: './refresh-button.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RefreshButtonComponent {\n public readonly inProgress = input<boolean>(false);\n public readonly refreshEvent = output<void>();\n\n public refresh(): void {\n this.refreshEvent.emit();\n }\n}","<cauca-button class=\"refresh-button\" icon=\"refresh\" type=\"stroked\" color=\"primary\" (buttonClick)=\"refresh()\" [label]=\"'refresh' | translate\" />","<button (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\" onclick=\"this.blur()\" (click)=\"buttonClick.emit();\" [disabled]=\"buttonDisabled()\">\r\n @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}}\r\n</button>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-round-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [TranslateModule],\r\n templateUrl: './round-button.component.html',\r\n styleUrl: './round-button.component.scss'\r\n})\r\nexport class RoundButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","<button mat-stroked-button [ngClass]=\"small() ? 'small-button' : ''\" [color]=\"color()\" onclick=\"this.blur()\" [disabled]=\"buttonDisabled()\" (click)=\"buttonClick.emit()\" [class.icon-only]=\"!label()\">\r\n @if(showIcon() && iconAlignment() === 'left') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n @if (label()) { @if (translateLabel()) {{{label()|translate}}} @else {{{label()}}} }\r\n @if(showIcon() && iconAlignment() === 'right') { <mat-icon [class.button-spin]=\"isInProgress()\">{{iconToShow()}}</mat-icon> }\r\n</button>","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { MatButton, } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { BaseButtonWithLabel } from '../base-button';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'cauca-stroked-button',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatButton, MatIconModule, TranslateModule, NgClass],\r\n templateUrl: './stroked-button.component.html',\r\n styleUrl: './stroked-button.component.scss',\r\n})\r\nexport class StrokedButtonComponent extends BaseButtonWithLabel {\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { ConfirmationOptions } from '../services/dialog.service';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\n\n@Component({\n selector: 'cauca-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, RaisedButtonComponent, IconButtonComponent, MatDialogModule]\n})\nexport class AlertDialogComponent {\n public readonly title: string;\n public readonly message: string;\n\n private readonly dialogRef = inject<MatDialogRef<AlertDialogComponent>>(MatDialogRef);\n\n public constructor() {\n const data = inject<AlertDialogData>(MAT_DIALOG_DATA);\n const breakdownObserver = inject(BreakpointObserver);\n\n this.title = data.title;\n this.message = data.message;\n this.dialogRef.addPanelClass(\"dialog-global-style\");\n breakdownObserver.observe('(max-width: 500px)').pipe(takeUntilDestroyed()).subscribe(result => this.dialogRef.updateSize(result.matches ? '100vw' : 'auto'));\n }\n\n public closeClick(): void {\n this.dialogRef.close();\n }\n}\n\nexport interface AlertDialogData {\n title: string;\n message: string;\n options: ConfirmationOptions;\n}\n","<div mat-dialog-title>\n <div class=\"h6\">{{ title | translate }}</div>\n <cauca-icon-button id=\"closeButton\" (buttonClick)=\"closeClick()\" icon=\"close\" />\n</div>\n<div class=\"alert-dialog-content\" mat-dialog-content>\n <p>{{ message | translate }}</p>\n</div>\n<mat-dialog-actions align=\"end\">\n <cauca-raised-button id=\"okButton\" label=\"ok\" color=\"primary\" (buttonClick)=\"closeClick()\" />\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\nimport { AlertDialogData } from '../alert-dialog/alert-dialog.component';\nimport { ConfirmationOptions, ConfirmationResult } from '../services/dialog.service';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\nimport { StrokedButtonComponent } from '../../buttons/stroked-button/stroked-button.component';\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\n\n@Component({\n selector: 'cauca-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, MatDialogModule, RaisedButtonComponent, StrokedButtonComponent, IconButtonComponent]\n})\nexport class ConfirmDialogComponent {\n public readonly title: string;\n public readonly message: string;\n public readonly options: ConfirmationOptions;\n\n private readonly dialogRef = inject<MatDialogRef<ConfirmDialogComponent>>(MatDialogRef);\n\n public constructor() {\n const data = inject<AlertDialogData>(MAT_DIALOG_DATA);\n const breakdownObserver = inject(BreakpointObserver);\n\n this.title = data.title;\n this.message = data.message;\n this.options = data.options;\n this.dialogRef.addPanelClass(\"dialog-global-style\");\n breakdownObserver.observe('(max-width: 500px)').pipe(takeUntilDestroyed()).subscribe(result => this.dialogRef.updateSize(result.matches ? '100vw' : 'auto'));\n }\n\n public noClick(): void {\n this.dialogRef.close(ConfirmationResult.No);\n }\n\n public yesClick(): void {\n this.dialogRef.close(ConfirmationResult.Yes);\n }\n\n public cancelClick(): void {\n this.dialogRef.close(ConfirmationResult.Cancel);\n }\n}","<div mat-dialog-title>\n <div class=\"h6 title\">{{ title | translate: options.titleArgs }}</div>\n <cauca-icon-button id=\"close-button\" (buttonClick)=\"cancelClick()\" icon=\"close\" />\n </div>\n <div mat-dialog-content>\n <p class=\"message\">{{ message | translate: options.messageArgs }}</p>\n </div>\n <mat-dialog-actions align=\"end\" class=\"action-buttons\">\n <cauca-stroked-button class=\"no-button\" [label]=\"options.noText\" [color]=\"options.noColor\" (buttonClick)=\"noClick()\" />\n <cauca-raised-button class=\"yes-button\" [label]=\"options.yesText\" [color]=\"options.yesColor\" (buttonClick)=\"yesClick()\" />\n </mat-dialog-actions>","<div mat-dialog-title>\r\n <div class=\"h6\">{{ titleLabel | translate }}</div>\r\n <cauca-icon-button id=\"close-button\" icon=\"close\" (buttonClick)=\"cancelClick()\" />\r\n</div>\r\n<div mat-dialog-content>\r\n <form [formGroup]=\"form\">\r\n <mat-form-field>\r\n <mat-label>{{ inputLabel | translate}}</mat-label>\r\n @if (useTextArea()) {\r\n <textarea cdkTextareaAutosize formControlName=\"input\" matInput></textarea>\r\n } @else {\r\n <input formControlName=\"input\" matInput />\r\n }\r\n @if (showSuffix()) { <span matTextSuffix>{{suffix()}}</span> }\r\n @if (form.controls.input.hasError('required')) {<mat-error>{{'error.requiredField' | translate}}</mat-error>}\r\n @if (form.controls.input.hasError('invalidName')) {<mat-error>{{'error.invalidName' | translate}}</mat-error>}\r\n @if (form.controls.input.hasError('alreadyUsed')) {<mat-error>{{'error.alreadyUsed' | translate}}</mat-error>}\r\n </mat-form-field>\r\n </form>\r\n</div>\r\n<mat-dialog-actions align=\"end\">\r\n <cauca-stroked-button id=\"close-button\" [label]=\"cancelButtonLabel\" (buttonClick)=\"cancelClick()\" color=\"primary\" />\r\n <cauca-raised-button class=\"yes-button\" [isDisabled]=\"!form.valid\" [label]=\"validateButtonLabel\" color=\"primary\" (buttonClick)=\"validateClick()\" />\r\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, computed, inject, signal } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { FormGroup, ReactiveFormsModule, UntypedFormBuilder, ValidatorFn } from '@angular/forms';\r\nimport { ConfirmationResult } from '../services/dialog.service';\r\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\r\nimport { StrokedButtonComponent } from '../../buttons/stroked-button/stroked-button.component';\r\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\r\n\r\n@Component({\r\n selector: 'cauca-text-input-dialog',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [TranslateModule, RaisedButtonComponent, MatDialogModule, StrokedButtonComponent, MatFormFieldModule, MatInputModule, ReactiveFormsModule, IconButtonComponent],\r\n templateUrl: './text-input-dialog.component.html',\r\n styleUrl: './text-input-dialog.component.scss'\r\n})\r\nexport class TextInputDialogComponent {\r\n public form: FormGroup;\r\n\r\n public readonly titleLabel: string;\r\n public readonly validateButtonLabel: string;\r\n public readonly cancelButtonLabel: string;\r\n public readonly inputLabel: string;\r\n public readonly suffix = signal<string>('');\r\n public readonly showSuffix = computed(() => !!this.suffix());\r\n public readonly useTextArea = signal<boolean>(false);\r\n\r\n private readonly dialogRef = inject<MatDialogRef<TextInputDialogComponent>>(MatDialogRef);\r\n private readonly data = inject<TextInputDialogData>(MAT_DIALOG_DATA);\r\n\r\n public constructor() {\r\n const formBuilder = inject(UntypedFormBuilder);\r\n const data = this.data;\r\n\r\n this.suffix.set(data.suffix);\r\n this.titleLabel = data.titleLabel;\r\n this.validateButtonLabel = data.validateButtonLabel;\r\n this.cancelButtonLabel = data.cancelButtonLabel;\r\n this.inputLabel = data.inputLabel;\r\n this.useTextArea.set(data.useTextArea ?? false);\r\n\r\n this.form = formBuilder.group({\r\n input: [data.value, data.validators]\r\n });\r\n }\r\n\r\n public cancelClick(): void {\r\n this.dialogRef.close({ result: ConfirmationResult.Cancel, value: null });\r\n }\r\n\r\n public validateClick(): void {\r\n const trimmedValue = this.form.controls.input.value.trim();\r\n this.dialogRef.close({ result: ConfirmationResult.Yes, value: trimmedValue });\r\n }\r\n}\r\n\r\nexport interface TextInputDialogData {\r\n titleLabel: string;\r\n validateButtonLabel: string;\r\n cancelButtonLabel: string;\r\n inputLabel: string;\r\n suffix?: string;\r\n useTextArea?: boolean;\r\n validators?: ValidatorFn | ValidatorFn[];\r\n value?: string;\r\n}","<div mat-dialog-title>\n @if (itemGenderIsFemale)\n {\n <div class=\"h6 title\">{{ ('deleteDialog.titleFemale' | translate:{itemType}) }}</div>\n } @else\n {\n <div class=\"h6 title\">{{ ('deleteDialog.titleMale' | translate:{itemType}) }}</div>\n }\n <cauca-icon-button id=\"closeButton\" (buttonClick)=\"closeClick()\" icon=\"close\" />\n</div>\n<div mat-dialog-content>\n <p>{{('deleteDialog.message' | translate:{itemName})}}</p>\n</div>\n<mat-dialog-actions align=\"end\">\n <cauca-stroked-button id=\"cancelButton\" label=\"cancel\" color=\"primary\" (buttonClick)=\"closeClick()\"/>\n <cauca-raised-button id=\"deleteButton\" label=\"delete\" color=\"warn\" (buttonClick)=\"deleteClick()\" />\n</mat-dialog-actions>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { DeleteDialogData } from './models/delete-dialog-data';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\nimport { StrokedButtonComponent } from '../../buttons/stroked-button/stroked-button.component';\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\n\n@Component({\n selector: 'cauca-delete-dialog',\n templateUrl: './delete-dialog.component.html',\n styleUrls: ['./delete-dialog.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatDialogModule, TranslateModule, StrokedButtonComponent, IconButtonComponent, RaisedButtonComponent]\n})\nexport class DeleteDialogComponent {\n public readonly itemGenderIsFemale: boolean;\n public readonly itemName: string;\n public readonly itemType: string;\n\n private readonly dialogRef = inject<MatDialogRef<DeleteDialogComponent>>(MatDialogRef);\n\n public constructor() {\n const data = inject<DeleteDialogData>(MAT_DIALOG_DATA);\n const breakdownObserver = inject(BreakpointObserver);\n\n this.itemGenderIsFemale = data.female;\n this.itemName = data.name ? data.name : '';\n this.itemType = data.type ? data.type.toLowerCase() : '';\n this.dialogRef.addPanelClass(\"dialog-global-style\");\n breakdownObserver.observe('(max-width: 500px)').pipe(takeUntilDestroyed()).subscribe(result => this.dialogRef.updateSize(result.matches ? '100vw' : 'auto'));\n }\n\n public deleteClick(): void {\n this.dialogRef.close(true);\n }\n\n public closeClick(): void {\n this.dialogRef.close(false);\n }\n}\n","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';\nimport { DeleteDialogData } from '../delete-dialog/models/delete-dialog-data';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RaisedButtonComponent } from '../../buttons/raised-button/raised-button.component';\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\n\n@Component({\n selector: 'cauca-error-dialog',\n templateUrl: './error-dialog.component.html',\n styleUrls: ['./error-dialog.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatDialogModule, TranslateModule, RaisedButtonComponent, IconButtonComponent]\n})\nexport class ErrorDialogComponent {\n public readonly itemName: string;\n\n private readonly dialogRef = inject<MatDialogRef<ErrorDialogComponent>>(MatDialogRef);\n\n public constructor() {\n const data = inject<DeleteDialogData>(MAT_DIALOG_DATA);\n const breakdownObserver = inject(BreakpointObserver);\n\n this.itemName = data.name ? data.name : '';\n this.dialogRef.addPanelClass(\"dialog-global-style\");\n breakdownObserver.observe('(max-width: 500px)').pipe(takeUntilDestroyed()).subscribe(result => this.dialogRef.updateSize(result.matches ? '100vw' : 'auto'));\n }\n\n public closeClick(): void {\n this.dialogRef.close();\n }\n}\n","<div mat-dialog-title>\n <div class=\"h6\">{{('errorDialog.titleError' | translate)}}</div>\n <cauca-icon-button id=\"closeButton\" (buttonClick)=\"closeClick()\" icon=\"close\"/>\n</div>\n<div mat-dialog-content>\n <p>{{('errorDialog.messageError' | translate:{itemName})}}</p>\n</div>\n<mat-dialog-actions align=\"end\">\n <cauca-raised-button id=\"okButton\" label=\"ok\" color=\"warn\" (buttonClick)=\"closeClick()\"/>\n</mat-dialog-actions>","import { inject, Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { firstValueFrom } from 'rxjs';\nimport { AlertDialogComponent, AlertDialogData } from '../alert-dialog/alert-dialog.component';\nimport { ComponentType } from '@angular/cdk/portal';\nimport { ConfirmDialogComponent } from '../confirm-dialog/confirm-dialog.component';\nimport { TextInputDialogComponent } from '../text-input-dialog/text-input-dialog.component';\nimport { ValidatorFn } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DeleteDialogComponent } from '../delete-dialog/delete-dialog.component';\nimport { DeleteDialogData } from '../delete-dialog/models/delete-dialog-data';\nimport { ErrorDialogComponent } from '../error-dialog/error-dialog.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class DialogService {\n\n private readonly defaultConfirmationOptions: ConfirmationOptions = {\n noText: 'no',\n noColor: 'primary',\n noType: 'stroked',\n yesText: 'yes',\n yesType: 'raised',\n messageArgs: null,\n titleArgs: null,\n yesColor: 'primary'\n };\n\n private readonly translate = inject(TranslateService);\n private readonly dialog = inject(MatDialog);\n\n public async showDialog(title: string, message: string): Promise<any> {\n const dialogRef = this.dialog.open(AlertDialogComponent, {\n data: { title, message } as AlertDialogData,\n autoFocus: false\n });\n return await firstValueFrom(dialogRef.afterClosed());\n }\n\n public async showCustomDialog(component: ComponentType<unknown>, args: any , options: any = { autoFocus: false }): Promise<any> {\n const config = { ...options, ... { data: args} };\n return await firstValueFrom(this.dialog.open(component, config)\n .afterClosed());\n }\n\n public async askForConfirmation(title: string, message: string, args: Partial<ConfirmationOptions> = null, options: any = { autoFocus: false}): Promise<ConfirmationResult> {\n args = { ...this.defaultConfirmationOptions, ...(args || {}) };\n const data = { options: args, title, message };\n const config = { ...options, ... { data } };\n const dialogRef = this.dialog.open(ConfirmDialogComponent, config);\n return await firstValueFrom(dialogRef.afterClosed());\n }\n\n public async askForDeleteConfirmation(name: string, type: string, translateType: boolean = false): Promise<any> {\n if (translateType) {\n type = this.translate.instant(type);\n }\n const dialogRef = this.dialog.open(DeleteDialogComponent, {\n data: { name, type } as DeleteDialogData,\n autoFocus: false\n });\n return await firstValueFrom(dialogRef.afterClosed());\n }\n\n public async showDeletionError(name: string): Promise<any> {\n const dialogRef = this.dialog.open(ErrorDialogComponent, {\n data: { name } as DeleteDialogData,\n autoFocus: '#okButton'\n });\n return await firstValueFrom(dialogRef.afterClosed());\n }\n\n public async input(inputOptions: InputOptions, optionsDialog: any = { autoFocus: false }, value: string = '' , suffix = ''): Promise<{ result: ConfirmationResult, value: string }> {\n const args = { ...inputOptions, value, suffix };\n const config = { ...optionsDialog, ... { data: args } };\n\n return await firstValueFrom(this.dialog.open(TextInputDialogComponent, config)\n .afterClosed());\n }\n}\n\nexport interface ConfirmationOptions {\n noText: string;\n noColor: string;\n noType?: 'basic' | 'raised' | 'stroked' | 'flat' | 'icon';\n yesText: string;\n yesColor: string;\n yesType?: 'basic' | 'raised' | 'stroked' | 'flat' | 'icon';\n messageArgs: any;\n titleArgs: any;\n}\n\nexport enum ConfirmationResult {\n Cancel,\n Yes,\n No\n}\n\nexport interface InputOptions {\n titleLabel: string;\n validateButtonLabel: string;\n cancelButtonLabel: string;\n inputLabel: string;\n useTextArea?: boolean;\n validators?: ValidatorFn | ValidatorFn[];\n}","export class BreadcrumbLocation {\r\n public link?: string;\r\n public title: string;\r\n public translate?: boolean = false;\r\n public action?: () => void;\r\n}","import { computed, Injectable, Signal, signal, WritableSignal } from '@angular/core';\r\nimport { BreadcrumbLocation } from './models/breadcrumb-location';\r\n\r\n@Injectable()\r\nexport class BreadcrumbService {\r\n public showBreadcrumb: Signal<boolean> = computed(() => this.isShown());\r\n\r\n public location: WritableSignal<BreadcrumbLocation[]> = signal([]);\r\n public breadcrumb: WritableSignal<string> = signal('');\r\n public translateBreadcrumb = signal<boolean>(false);\r\n\r\n private readonly isShown: WritableSignal<boolean> = signal(false);\r\n\r\n public show(breadcrumb: string, location: BreadcrumbLocation[] = [], translateBreadcrumb: boolean = true): void {\r\n this.isShown.set(true);\r\n this.breadcrumb.set(breadcrumb);\r\n this.location.set(location);\r\n this.translateBreadcrumb.set(translateBreadcrumb);\r\n }\r\n\r\n public hide(): void {\r\n this.isShown.set(false);\r\n }\r\n}\r\n","import { Injectable, Signal, WritableSignal, computed, signal } from '@angular/core';\r\nimport { Observable, catchError, finalize, mergeMap, of, tap, throwError } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class LoadingStateService {\r\n\r\n public showLoadingIndicator: Signal<boolean> = computed(() => this.isLoading());\r\n public showError: Signal<boolean> = computed(() => this.hasError());\r\n\r\n private readonly isLoading: WritableSignal<boolean> = signal(false);\r\n private readonly hasError: WritableSignal<boolean> = signal(false);\r\n\r\n public showLoading(): void {\r\n this.isLoading.set(true);\r\n }\r\n\r\n public hideLoading(): void {\r\n this.isLoading.set(false);\r\n }\r\n\r\n public withLoadingIndicator<T>(observable$: Observable<T>): Observable<T> {\r\n return of(null).pipe(\r\n tap(() => this.startLoading()),\r\n mergeMap(() => observable$),\r\n catchError((error) => this.handleError(error)),\r\n finalize(() => this.hideLoading()),\r\n );\r\n }\r\n\r\n public setAsInError(): void {\r\n this.hasError.set(true);\r\n }\r\n\r\n private startLoading(): void {\r\n this.hasError.set(false);\r\n this.showLoading();\r\n }\r\n\r\n private handleError(error: any): Observable<never> {\r\n console.error('Could not load data.', error);\r\n this.hasError.set(true);\r\n return throwError(() => error);\r\n }\r\n}\r\n","<div class=\"container\" [class]=\"appearanceClasses()\">\r\n\r\n <div class=\"icon-container\">\r\n <mat-icon>{{icon()}}</mat-icon>\r\n </div>\r\n\r\n <div class=\"text-container\">\r\n <div class=\"title alert-title\">{{caption()|translate}}</div>\r\n <div class=\"message body2\"><ng-content></ng-content></div>\r\n </div>\r\n\r\n @if (showButton()) {<cauca-stroked-button [color]=\"buttonColor()\" [label]=\"buttonLabel()\" (click)=\"buttonClick.emit()\" onkeypress=\"buttonClick.emit()\" [isInProgress]=\"inProgress()\" [icon]=\"buttonIcon()\" />}\r\n\r\n @if (showCloseButton()) {<cauca-icon-button icon=\"close\" (click)=\"closeClick.emit()\" onkeypress=\"closeClick.emit()\" />}\r\n\r\n</div>","import { ChangeDetectionStrategy, Component, InputSignal, Signal, computed, input, output } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { StrokedButtonComponent } from '../../buttons/stroked-button/stroked-button.component';\r\nimport { IconButtonComponent } from '../../buttons/icon-button/icon-button.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-snackbar',\r\n imports: [MatIcon, StrokedButtonComponent, IconButtonComponent, TranslateModule],\r\n templateUrl: './snack-bar.component.html',\r\n styleUrl: './snack-bar.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class SnackBarComponent {\r\n\r\n public icon: InputSignal<string> = input('info_outlined');\r\n public caption: InputSignal<string> = input('');\r\n public showCloseButton: InputSignal<boolean> = input(false);\r\n public type: InputSignal<'info'|'success'|'warning'|'error'> = input('info');\r\n public variant: InputSignal<'filled'|'outlined'|'standard'> = input('standard');\r\n public appearanceClasses = computed(() => [this.type(), this.variant()]);\r\n\r\n public buttonSpecificColor = input<string>(undefined);\r\n public buttonIcon = input<string>(undefined);\r\n public inProgress = input<boolean>(false);\r\n public showButton: InputSignal<boolean> = input(false);\r\n public buttonLabel: InputSignal<string> = input('');\r\n\r\n public buttonColor: Signal<string> = computed(() => {\r\n if (this.buttonSpecificColor()) {\r\n return this.buttonSpecificColor();\r\n } else {\r\n return this.variant() === 'filled' ? 'white' : undefined;\r\n }\r\n });\r\n\r\n public readonly closeClick = output<void>();\r\n public readonly buttonClick = output<void>();\r\n}\r\n","@if (showError()) {\r\n <cauca-snackbar\r\n caption=\"generalError.loadingErrorAlertTitle\"\r\n type=\"error\"\r\n variant=\"standard\"\r\n [showButton]=\"true\"\r\n buttonLabel=\"generalError.retryButtonLabel\"\r\n (buttonClick)=\"retryRequest.emit()\">\r\n {{'generalError.loadingErrorAlertMessage' | translate}}\r\n </cauca-snackbar>\r\n}","import { ChangeDetectionStrategy, Component, inject, output } from '@angular/core';\r\nimport { SnackBarComponent } from '../snack-bar/snack-bar.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { LoadingStateService } from '../../../core/loading-state.service';\r\n\r\n@Component({\r\n selector: 'cauca-loading-error',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [SnackBarComponent, TranslateModule],\r\n templateUrl: './loading-error.component.html',\r\n styleUrl: './loading-error.component.scss'\r\n})\r\nexport class LoadingErrorComponent {\r\n public readonly retryRequest = output<void>();\r\n\r\n public readonly loadingState = inject(LoadingStateService);\r\n public showError = this.loadingState.showError;\r\n}\r\n","@if (loadingState.showLoadingIndicator()) {\r\n <mat-progress-spinner mode=\"indeterminate\" [diameter]=\"diameter()\" />\r\n}\r\n","import { ChangeDetectionStrategy, Component, inject, input, InputSignal } from '@angular/core';\r\nimport { MatProgressSpinner } from '@angular/material/progress-spinner';\r\nimport { LoadingStateService } from '../../../core/loading-state.service';\r\n\r\n@Component({\r\n selector: 'cauca-loading-spinner-indicator',\r\n standalone: true,\r\n imports: [MatProgressSpinner],\r\n templateUrl: './loading-spinner-indicator.component.html',\r\n styleUrl: './loading-spinner-indicator.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class LoadingSpinnerIndicatorComponent {\r\n public diameter: InputSignal<number> = input(100);\r\n public loadingState = inject(LoadingStateService);\r\n}\r\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatIcon } from '@angular/material/icon';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-badge',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, MatChipsModule, MatIcon],\n templateUrl: './badge.component.html',\n styleUrl: './badge.component.scss'\n})\nexport class BadgeComponent {\n public icon = input.required<string>();\n public label = input.required<string>();\n public color = input<string>('primary');\n public customColor = input<string|undefined>(undefined);\n public customTextColor = input<string|undefined>(undefined);\n public autoTranslate = input<boolean>(true);\n}\n","<mat-chip highlighted disableRipple [color]=\"color()\" [style.backgroundColor]=\"customColor()\" [style.color]=\"customTextColor()\">\n <div class=\"mat-chip-content\">\n <mat-icon>{{icon()}}</mat-icon>\n <div class=\"chip-label\">{{autoTranslate() ? (label() | translate) : label()}}</div>\n </div>\n</mat-chip>","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\n@Component({\n selector: 'cauca-icon',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [FontAwesomeModule],\n template: `\n @if (isFontAwesome() && faIcon().length > 0) {\n <div class=\"icon\">\n <fa-icon [icon]=\"faIcon()\"></fa-icon>\n </div>\n }\n @if (!isFontAwesome() && image()) {\n <div class=\"icon\">\n <img [src]=\"image()\" alt=\"icon\" />\n </div>\n }\n `,\n styleUrls: ['./icon.component.scss']\n})\nexport class IconComponent {\n public readonly icon = input<string>('');\n\n public readonly isFontAwesome = computed(() => {\n const value = this.icon();\n return value && value.indexOf(' ') > -1;\n });\n\n public readonly faIcon = computed(() => {\n return this.isFontAwesome() ? this.icon().split(' ') : [];\n });\n\n public readonly image = computed(() => {\n return this.isFontAwesome() ? '' : this.icon();\n });\n}\n","<div class=\"pages\">\r\n <cauca-icon-button class=\"page first\" [isDisabled]=\"previousDisabled()\" (buttonClick)=\"tryMoveToFirst()\" icon=\"first_page\" />\r\n <cauca-icon-button class=\"page previous\" [isDisabled]=\"previousDisabled()\" (buttonClick)=\"tryMoveToPrevious()\" icon=\"chevron_left\" />\r\n\r\n @for(page of pagesToShow(); track page) {\r\n @if (page === pageSplitterValue) {\r\n <div class=\"page\">{{pageSplitter}}\r\n </div>\r\n } @else {\r\n <cauca-round-button class=\"page specific\" [class.selected]=\"page === currentPage()\" (buttonClick)=\"changePage(page)\" [translateLabel]=\"false\" [label]=\"page.toString()\" />\r\n }\r\n }\r\n\r\n <cauca-icon-button class=\"page next\" [isDisabled]=\"nextDisabled()\" (buttonClick)=\"tryMoveToNext()\" icon=\"chevron_right\" />\r\n <cauca-icon-button class=\"page last\" [isDisabled]=\"nextDisabled()\" (buttonClick)=\"tryMoveToLast()\" icon=\"last_page\" />\r\n</div>","import { ChangeDetectionStrategy, Component, InputSignal, Signal, WritableSignal, computed, input, output, signal } from '@angular/core';\r\nimport { RoundButtonComponent } from '../buttons/round-button/round-button.component';\r\nimport { IconButtonComponent } from '../buttons/icon-button/icon-button.component';\r\n\r\n@Component({\r\n selector: 'cauca-list-paginator',\r\n imports: [IconButtonComponent, RoundButtonComponent],\r\n templateUrl: './list-paginator.component.html',\r\n styleUrl: './list-paginator.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ListPaginatorComponent {\r\n public itemsCount: InputSignal<number> = input(0);\r\n public showTotalPage: InputSignal<number> = input(9);\r\n public pageSize: InputSignal<number> = input(50);\r\n public pageCount: Signal<number> = computed(() => this.itemsCount() > 0 ? Math.ceil(this.itemsCount() / this.pageSize()) : 1);\r\n public pages: Signal<number[]> = computed(() => [...Array(this.pageCount()).keys()]);\r\n public currentPage: WritableSignal<number> = signal(1);\r\n public previousDisabled: Signal<boolean> = computed(() => this.currentPage() === 1);\r\n public nextDisabled: Signal<boolean> = computed(() => this.currentPage() === this.pageCount());\r\n\r\n public pagesToShow: Signal<number[]> = computed(() => {\r\n const pagesToShow: number[] = [];\r\n\r\n const rangeStart = Math.max(this.currentPage() - Math.floor(this.showTotalPage() / 2), 1);\r\n const rangeEnd = Math.min(rangeStart + this.showTotalPage() - 1, this.pageCount());\r\n\r\n for (let index = rangeStart; index <= rangeEnd; index++) {\r\n pagesToShow.push(index);\r\n }\r\n\r\n if (!pagesToShow.includes(1)) {\r\n pagesToShow.unshift(1, -1);\r\n }\r\n if (!pagesToShow.includes(this.pageCount())) {\r\n pagesToShow.push(-1, this.pageCount());\r\n }\r\n\r\n return pagesToShow;\r\n });\r\n public readonly pageChange = output<number>();\r\n\r\n public get pageSplitter(): string {\r\n return '...';\r\n }\r\n\r\n public get pageSplitterValue(): number {\r\n return -1;\r\n }\r\n\r\n public changePage(page: number): void {\r\n if (page != this.currentPage()) {\r\n this.currentPage.set(page);\r\n this.pageChange.emit(this.currentPage());\r\n }\r\n }\r\n\r\n public moveToFirst(): void {\r\n this.currentPage.set(1);\r\n }\r\n\r\n public tryMoveToFirst(): void {\r\n if (this.previousDisabled()) return;\r\n this.changePage(1);\r\n }\r\n\r\n public tryMoveToLast(): void {\r\n if (this.nextDisabled()) return;\r\n this.changePage(this.pageCount());\r\n }\r\n\r\n public tryMoveToPrevious(): void {\r\n if (this.previousDisabled()) return;\r\n this.changePage(this.currentPage() - 1);\r\n }\r\n\r\n public tryMoveToNext(): void {\r\n if (this.nextDisabled()) return;\r\n this.changePage(this.currentPage() + 1);\r\n }\r\n}\r\n","@if (condition()) {\r\n<mat-icon [ngClass]=\"disabled() ? 'disabled' : ''\" class=\"green\">check_circle</mat-icon>\r\n}@else {\r\n<mat-icon [ngClass]=\"disabled() ? 'disabled' : ''\" class=\"red\">cancel</mat-icon>\r\n}\r\n<label [ngClass]=\"disabled() ? 'disabled' : ''\" class=\"body2\" translate>{{label()}}</label>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, InputSignal, input } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-password-criteria',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIconModule, TranslateModule, NgClass],\r\n templateUrl: './password-criteria.component.html',\r\n styleUrl: './password-criteria.component.scss'\r\n})\r\nexport class PasswordCriteriaComponent {\r\n public label: InputSignal<string> = input.required<string>();\r\n public condition: InputSignal<boolean> = input(false);\r\n public disabled: InputSignal<boolean> = input(false);\r\n}\r\n","import { ChangeDetectionStrategy, Component, InputSignal, input } from '@angular/core';\r\nimport { PasswordCriteriaComponent } from '../password-criteria/password-criteria.component';\r\nimport { PasswordValidation } from '../../../../core/models/password-validation';\r\n\r\n\r\n@Component({\r\n selector: 'cauca-password-criteria-viewer',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [PasswordCriteriaComponent],\r\n templateUrl: './password-criteria-viewer.component.html',\r\n styleUrl: './password-criteria-viewer.component.scss'\r\n})\r\nexport class PasswordCriteriaViewerComponent {\r\n public passwordValidation: InputSignal<PasswordValidation> = input.required();\r\n public disabled: InputSignal<boolean> = input(false);\r\n}\r\n","<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.minimumCharacters\" [condition]=\"passwordValidation().hasMinimumCharacters\"/>\r\n<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.minimumOneNumeric\" [condition]=\"passwordValidation().hasMinimumNumeric\"/>\r\n<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.minimumOneSpecialCharacter\" [condition]=\"passwordValidation().hasSpecialCharacter\"/>\r\n<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.needLowerAndUppercase\" [condition]=\"passwordValidation().hasLowerAndUppercase\"/>\r\n<cauca-password-criteria [disabled]=\"disabled()\" label=\"passwordEdition.equalPasswords\" [condition]=\"passwordValidation().hasIdenticalPassword\"/>","<mat-form-field subscriptSizing=\"dynamic\">\r\n @if(translateLabel()) {<mat-label>{{label() | translate}}</mat-label>}\r\n @else {<mat-label>{{label()}}</mat-label>}\r\n <input (keydown.enter)=\"enterKeyDown.emit()\" [autocomplete]=\"autocomplete()\" #password class=\"password\"\r\n [type]=\"inputType()\" [formControl]=\"passwordControl\" matInput [required]=\"required()\"\r\n [placeholder]=\"translatePlaceholder() ? (placeholder() | translate) : placeholder()\" />\r\n <mat-icon [ngClass]=\"disabled() ? 'disabled' : ''\" style=\"cursor: pointer\" matSuffix\r\n (click)=\"showPassword.set(!showPassword())\">\r\n {{ password.type === \"password\" ? \"visibility_off\" : \"visibility\" }}\r\n </mat-icon>\r\n</mat-form-field>","import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, computed, forwardRef, input, InputSignal, output, signal, WritableSignal } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-password-input',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [TranslateModule, NgClass, MatFormFieldModule, MatIconModule, MatInputModule, ReactiveFormsModule],\r\n templateUrl: './password-input.component.html',\r\n styleUrl: './password-input.component.scss',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: forwardRef(() => PasswordInputComponent),\r\n },\r\n ],\r\n})\r\nexport class PasswordInputComponent implements ControlValueAccessor {\r\n public autocomplete: InputSignal<string> = input<'password' | 'new-password'>('password');\r\n public translateLabel: InputSignal<boolean> = input(true);\r\n public label: InputSignal<string> = input();\r\n public translatePlaceholder: InputSignal<boolean> = input(true);\r\n public placeholder: InputSignal<string> = input();\r\n public required: InputSignal<boolean> = input(false);\r\n public enterKeyDown = output();\r\n\r\n public passwordControl: FormControl = new FormControl('');\r\n public disabled: WritableSignal<boolean> = signal(false);\r\n public showPassword: WritableSignal<boolean> = signal(false);\r\n public inputType = computed(() => this.showPassword() ? 'text' : 'password');\r\n\r\n public constructor() {\r\n this.passwordControl.valueChanges.subscribe(value => {\r\n this.onChange(value);\r\n });\r\n }\r\n\r\n public writeValue(value: string): void {\r\n this.passwordControl.setValue(value);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState?(isDisabled: boolean): void {\r\n this.disabled.set(isDisabled);\r\n if (isDisabled) {\r\n this.passwordControl.disable();\r\n } else {\r\n this.passwordControl.enable();\r\n }\r\n }\r\n\r\n public onChange = (value: string): string => value;\r\n\r\n public onTouched = (): void => {/* This method needs to be empty */ };\r\n}\r\n","export class PasswordValidation {\r\n public hasMinimumCharacters: boolean;\r\n public hasMinimumNumeric: boolean;\r\n public hasLowerAndUppercase: boolean;\r\n public hasSpecialCharacter: boolean;\r\n public hasIdenticalPassword: boolean;\r\n\r\n public constructor(hasMinimumCharacters: boolean = false, hasMinimumNumeric: boolean = false, hasLowerAndUppercase: boolean = false, hasSpecialCharacter: boolean = false, hasIdenticalPassword: boolean = false) {\r\n this.hasMinimumCharacters = hasMinimumCharacters;\r\n this.hasMinimumNumeric = hasMinimumNumeric;\r\n this.hasLowerAndUppercase = hasLowerAndUppercase;\r\n this.hasSpecialCharacter = hasSpecialCharacter;\r\n this.hasIdenticalPassword = hasIdenticalPassword;\r\n }\r\n\r\n public isValid(): boolean {\r\n return this.hasMinimumCharacters && this.hasMinimumNumeric && this.hasLowerAndUppercase && this.hasSpecialCharacter && this.hasIdenticalPassword;\r\n }\r\n\r\n}","import { UntypedFormGroup } from '@angular/forms';\nimport { PasswordValidation } from '../../models/password-validation';\n\nexport class PasswordValidator {\n public static readonly passwordMinLength = 13;\n\n public static validate(formGroup: UntypedFormGroup): PasswordValidation {\n const password = formGroup.controls['password'].value;\n const confirmedPassword = formGroup.controls['confirmation'].value;\n return new PasswordValidation(\n password.length >= this.passwordMinLength,\n this.hasNumeric(password),\n this.hasLowerCaseAndUpperCase(password),\n this.hasSpecialCharacter(password),\n password && password === confirmedPassword,\n );\n }\n\n public static hasLowerCaseAndUpperCase(password: string): boolean {\n return /^(?=.*[a-z])(?=.*[A-Z])/.test(password);\n }\n\n public static hasNumeric(password: any): boolean {\n return /(?=.*\\d)/.test(password);\n }\n\n public static hasSpecialCharacter(password: any): boolean {\n return new RegExp(/[!@#$%^&*()_+\\-=[\\]{};':\"\\\\|,.<>/?]/).test(password);\n }\n}\n","<form [formGroup]=\"form\" [class.full-width-form]=\"direction() === 'column'\">\r\n <div class=\"passwords\">\r\n <cauca-password-input [autocomplete]=\"'new-password'\" [label]=\"passwordLabel()\" [translateLabel]=\"true\" [required]=\"true\" formControlName=\"password\" />\r\n <cauca-password-input [autocomplete]=\"'new-password'\" [label]=\"passwordConfirmationLabel()\" [translateLabel]=\"true\" [required]=\"true\" formControlName=\"confirmation\" />\r\n </div>\r\n <div class=\"errors\">\r\n <ng-content></ng-content>\r\n </div>\r\n</form>\r\n\r\n@if (showCriteria()) {\r\n <cauca-password-criteria-viewer [disabled]=\"disabled()\" [passwordValidation]=\"passwordValidation\" />\r\n} @else {\r\n <span></span>\r\n}","import { ChangeDetectionStrategy, Component, forwardRef, inject, input, output, signal } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { PasswordCriteriaViewerComponent } from '../password-criteria-viewer/password-criteria-viewer.component';\r\nimport { ControlValueAccessor, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, ValidationErrors, Validators } from '@angular/forms';\r\nimport { filter } from 'rxjs';\r\nimport { PasswordInputComponent } from '../password-input/password-input.component';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { PasswordValidation } from '../../../../core/models/password-validation';\r\nimport { PasswordValidator } from '../../../../core/validators/password/password-validator';\r\n\r\n\r\n@Component({\r\n selector: 'cauca-password-selection',\r\n standalone: true,\r\n imports: [PasswordInputComponent, FormsModule, ReactiveFormsModule, TranslateModule, PasswordCriteriaViewerComponent],\r\n templateUrl: './password-selection.component.html',\r\n styleUrl: './password-selection.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n multi: true,\r\n useExisting: forwardRef(() => PasswordSelectionComponent),\r\n },\r\n ],\r\n host: {\r\n '[style.flex-direction]': 'direction()',\r\n '[style.width]': 'formWidth()',\r\n }\r\n})\r\nexport class PasswordSelectionComponent implements ControlValueAccessor {\r\n public form: UntypedFormGroup;\r\n public passwordValidation: PasswordValidation = new PasswordValidation();\r\n public disabled = signal<boolean>(false);\r\n\r\n public readonly direction = input<'row'|'column'>('row');\r\n public readonly formWidth = input<string>('50%');\r\n public showCriteriaOnlyWhenPasswordHasValue = input<boolean>(true);\r\n public alwaysShowCriteria = input<boolean>(true);\r\n public showCriteria = signal<boolean>(true);\r\n public passwordLabel = input<string>('passwordEdition.password');\r\n public passwordConfirmationLabel = input<string>('passwordEdition.passwordConfirmation');\r\n public hasValueChange = output<boolean>();\r\n\r\n private lastPasswordValidationSent = false;\r\n\r\n public constructor() {\r\n const formBuilder = inject(UntypedFormBuilder);\r\n this.form = formBuilder.group({\r\n password: ['', Validators.required],\r\n confirmation: ['', Validators.required]\r\n }, { validators: (formGroup: UntypedFormGroup): ValidationErrors | null => {\r\n this.passwordValidation = PasswordValidator.validate(formGroup);\r\n if (!this.passwordValidation.isValid()) {\r\n return ({ validation: this.passwordValidation});\r\n }\r\n return null;\r\n }});\r\n this.form.valueChanges.pipe(takeUntilDestroyed())\r\n .subscribe(() => {\r\n if (!this.alwaysShowCriteria()) {\r\n if (this.showCriteriaOnlyWhenPasswordHasValue()) {\r\n this.showCriteria.set(this.form.controls.password.value?.length > 0 || this.form.controls.confirmation.value?.length > 0);\r\n }\r\n }\r\n this.hasValueChange.emit(this.form.controls.password.value?.length > 0);\r\n });\r\n this.form.valueChanges.pipe(takeUntilDestroyed(), filter(_ => this.form.valid != this.lastPasswordValidationSent)).subscribe(form => {\r\n this.lastPasswordValidationSent = this.form.valid;\r\n if (this.form.valid) {\r\n this.onChange(form.password);\r\n } else {\r\n this.onChange('');\r\n }\r\n });\r\n }\r\n\r\n public writeValue(value: string): void {\r\n this.form.get('password').setValue(value);\r\n this.form.get('confirmation').setValue(value);\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public setDisabledState?(isDisabled: boolean): void {\r\n this.disabled.set(isDisabled);\r\n if (isDisabled) {\r\n this.form.get('password').disable();\r\n this.form.get('confirmation').disable();\r\n } else {\r\n this.form.get('password').enable();\r\n this.form.get('confirmation').enable();\r\n }\r\n }\r\n\r\n public onChange = (value: string): string => value;\r\n\r\n public onTouched = (): void => {/* This method needs to be empty */ };\r\n\r\n}\r\n","import { ChangeDetectionStrategy, Component, model, OnInit } from '@angular/core';\r\nimport {FormControl, FormGroup, ReactiveFormsModule} from '@angular/forms';\r\nimport { provideNativeDateAdapter } from '@angular/material/core';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: 'cauca-date-range-picker',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatFormFieldModule, MatDatepickerModule, ReactiveFormsModule, MatIcon, TranslateModule],\r\n templateUrl: './date-range-picker.component.html',\r\n styleUrl: './date-range-picker.component.scss',\r\n providers: [provideNativeDateAdapter()]\r\n})\r\nexport class DateRangePickerComponent implements OnInit {\r\n public range = model<DateRange>({ from: null, to: null });\r\n\r\n public readonly form = new FormGroup({\r\n from: new FormControl(null),\r\n to: new FormControl(null)\r\n });\r\n\r\n public constructor() {\r\n this.form.valueChanges\r\n .pipe(takeUntilDestroyed())\r\n .subscribe(value => this.range.set({ from: value.from, to: value.to }));\r\n }\r\n\r\n public ngOnInit(): void {\r\n this.form.patchValue(this.range());\r\n }\r\n\r\n public clear(): void {\r\n this.form.patchValue({ from: null, to: null });\r\n }\r\n\r\n}\r\n\r\nexport interface DateRange {\r\n from: Date|null,\r\n to: Date|null\r\n}","<mat-form-field class=\"full-width-field\" subscriptSizing=\"dynamic\">\r\n <mat-datepicker-toggle matPrefix (click)=\"clear()\" onkeypress=\"clear()\">\r\n <mat-icon matDatepickerToggleIcon>clear</mat-icon>\r\n </mat-datepicker-toggle>\r\n <mat-label>{{'dateRangeSelectorLabel'|translate}}</mat-label>\r\n <mat-date-range-input [formGroup]=\"form\" [rangePicker]=\"campaignOnePicker\">\r\n <input matStartDate formControlName=\"from\" [readOnly]=\"true\">\r\n <input matEndDate formControlName=\"to\" [readOnly]=\"true\">\r\n </mat-date-range-input>\r\n <mat-datepicker-toggle matIconSuffix [for]=\"campaignOnePicker\">\r\n </mat-datepicker-toggle>\r\n <mat-date-range-picker #campaignOnePicker></mat-date-range-picker>\r\n </mat-form-field>","<div role=\"group\" class=\"dropdown-chip-autocomplete-container\">\n\n <mat-chip-grid #chipGrid [disabled]=\"disabled\">\n\n @for (key of value; track key) {\n <mat-chip highlighted [disabled]=\"disabled\" (removed)=\"removeSelectedItem(key)\" color=\"primary\">\n {{getValueDisplay(key)}}\n @if (allowRemove()) {\n <mat-icon matChipRemove>cancel</mat-icon>\n }\n </mat-chip>\n }\n\n <div class=\"input-wrapper\">\n <input\n #chipInput\n [(ngModel)]=\"searchValue\"\n [matAutocomplete]=\"auto\"\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\n @if (value.length > 0 && canRemoveAll()) {\n <mat-icon matPrefix class=\"clearAll\" (click)=\"onClearAll();\">clear</mat-icon>\n }\n <mat-icon matSuffix>arrow_drop_down</mat-icon>\n </div>\n </mat-chip-grid>\n\n <mat-autocomplete #auto=\"matAutocomplete\" panelWidth=\"500px\" [class.full-width-field]=\"optionTemplate\" (optionSelected)=\"selectItemOnAutocomplete($event)\">\n @for (item of filteredListAutoComplete | async; track item) {\n <mat-option [value]=\"item[keyValue()]\" class=\"full-width-option\">\n @if (optionTemplate) {\n <ng-container *ngTemplateOutlet=\"optionTemplate; context: {data: item}\" />\n } @else {\n {{item[displayValue()]}}\n }\n </mat-option>\n }\n </mat-autocomplete>\n</div>\n\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n DoCheck,\n ElementRef,\n inject,\n Input,\n input,\n OnDestroy,\n Optional,\n output,\n Self,\n TemplateRef,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, FormGroupDirective, FormsModule, NgControl, NgForm } from '@angular/forms';\nimport { MatAutocomplete, MatAutocompleteModule, MatAutocompleteSelectedEvent, MatAutocompleteTrigger } from '@angular/material/autocomplete';\nimport { MatChip, MatChipGrid, MatChipInput, MatChipRemove } from '@angular/material/chips';\nimport { MatFormFieldControl } from '@angular/material/form-field';\nimport { MatIcon } from '@angular/material/icon';\nimport { toLowerCaseAndWithoutDiacritics } from '@cauca-911/core';\nimport { Observable, Subject, map, startWith } from 'rxjs';\n\n@Component({\n selector: 'cauca-dropdown-chip-autocomplete',\n templateUrl: './dropdown-chip-autocomplete.component.html',\n styleUrls: ['./dropdown-chip-autocomplete.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: MatFormFieldControl,\n useExisting: DropdownChipAutocompleteComponent,\n }],\n imports: [\n MatChipGrid,\n MatChip,\n MatChipRemove,\n FormsModule,\n MatAutocompleteModule,\n MatChipInput,\n MatIcon,\n CommonModule\n ],\n host: {\n '[id]': 'id',\n '[class.floating]': 'shouldLabelFloat',\n }\n})\nexport class DropdownChipAutocompleteComponent implements ControlValueAccessor, MatFormFieldControl<any[]>, OnDestroy, DoCheck {\n public id = `cauca-dropdown-chip-autocomplete-${DropdownChipAutocompleteComponent.nextId++}`;\n\n @ViewChild('auto') public matAutocomplete: MatAutocomplete;\n @ViewChild('chipInput') public matChipInput: ElementRef<HTMLInputElement>;\n @ViewChild(MatAutocompleteTrigger) public matAutocompletePanel: MatAutocompleteTrigger;\n public readonly clearAll = output<void>();\n public listAutoComplete = input<object[]>([]);\n public keyValue = input('id');\n public displayValue = input('name');\n public allowRemove = input(true);\n public ariaDescribedBy = input<string>();\n public canRemoveAll = input(true);\n public hasOptionTemplate = input<boolean>(false);\n @ContentChild(TemplateRef) public optionTemplate: TemplateRef<any>;\n\n public stateChanges = new Subject<void>();\n public static nextId = 0;\n public focused = false;\n public touched = false;\n public errorState = false;\n public controlType = 'dropdown-chip-autocomplete';\n public separatorKeysCodes: any = ',';\n public filteredListAutoComplete: Observable<object[]>;\n @Optional() @Self() public ngControl = inject(NgControl, { optional: true, self: true });\n\n private _required = false;\n private _disabled = false;\n private _placeholder: string;\n private _searchValue: string = null;\n private selectedValues: any[] = [];\n @Optional() private readonly parentForm = inject(NgForm, { optional: true });\n @Optional() private readonly parentFormGroup = inject(FormGroupDirective, { optional: true });\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n public get searchValue(): string {\n return this._searchValue;\n }\n\n public set searchValue(newValue: string) {\n if (this._searchValue !== newValue && (typeof newValue === 'string') || newValue===null) {\n this._searchValue = newValue;\n this.stateChanges.next();\n }\n }\n\n public get shouldLabelFloat() {\n return this.focused || !this.empty || !!this._searchValue;\n }\n\n @Input()\n public get value(): any[] {\n return this.selectedValues;\n }\n public set value(values: any[]) {\n this.selectedValues = values;\n this.onChange(this.selectedValues);\n this.stateChanges.next();\n }\n\n @Input()\n public get required(): boolean {\n return this._required;\n }\n public set required(req: BooleanInput) {\n this._required = coerceBooleanProperty(req);\n this.stateChanges.next();\n }\n\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n public get empty() {\n return !this.selectedValues?.length;\n }\n\n @Input()\n public get placeholder() {\n return this._placeholder;\n }\n public set placeholder(plh) {\n this._placeholder = plh;\n this.stateChanges.next();\n }\n\n public constructor() {\n this.elementRef.nativeElement.addEventListener('focusin', this.onFocusIn.bind(this));\n this.elementRef.nativeElement.addEventListener('focusout', this.onFocusOut.bind(this));\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this;\n }\n\n this.filteredListAutoComplete = this.stateChanges.pipe(\n startWith(null),\n map(() => this.filterSelectedItem())\n );\n }\n\n public ngDoCheck() {\n if (this.ngControl) {\n this.updateErrorState();\n }\n }\n\n public ngOnDestroy() {\n this.stateChanges.complete();\n }\n\n public onChange = (_: any): void => {\n // Do nothing for now\n };\n public onTouched = (): void => {\n // Do nothing for now\n };\n\n public onFocusIn() {\n if (!this.focused) {\n this.focused = true;\n this.stateChanges.next();\n }\n }\n\n public markAsClean(): void {\n this.touched = false;\n this.focused = false;\n this.stateChanges.next();\n }\n\n public onFocusOut(event: FocusEvent) {\n if (!this.elementRef.nativeElement.contains(event.relatedTarget as Element)) {\n this.touched = true;\n this.focused = false;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public setDescribedByIds(ids: string[]) {\n const controlElement = this.elementRef.nativeElement.querySelector('.dropdown-chip-autocomplete-container');\n controlElement.setAttribute('aria-describedby', ids.join(' '));\n }\n\n public onContainerClick(event: MouseEvent) {\n if ((event.target as Element).tagName.toLowerCase() != 'input') {\n this.elementRef.nativeElement.querySelector('input').focus();\n }\n this.searchValue = null;\n }\n\n public writeValue(value: string[] | []): void {\n this.value = value;\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n public selectItemOnAutocomplete(e: MatAutocompleteSelectedEvent): void {\n this.value = [].concat(this.selectedValues, e.option.value);\n this.matChipInput.nativeElement.value = '';\n }\n\n public removeSelectedItem(key: any): void {\n const index = this.selectedValues.indexOf(key);\n\n if (index >= 0) {\n this.selectedValues.splice(index, 1);\n this.value = this.selectedValues;\n }\n }\n\n public getValueDisplay(key: any): string {\n const selectedItem = this.listAutoComplete().find((item: object) => `${item[this.keyValue()]}` === `${key}`);\n return selectedItem ? selectedItem[this.displayValue()] : '';\n }\n\n public onClearAll(): void {\n this.matAutocompletePanel.closePanel();\n this.value = [];\n this.clearAll.emit();\n }\n\n private updateErrorState() {\n const parent = this.parentFormGroup || this.parentForm;\n const oldState = this.errorState;\n\n const newState = (this.ngControl?.invalid) && (this.touched || parent.submitted);\n if (oldState !== newState) {\n this.errorState = newState;\n }\n }\n\n private filterSelectedItem(): object[] {\n const searchValue = toLowerCaseAndWithoutDiacritics(this.searchValue);\n const filtered = this.listAutoComplete().filter((item: object) =>\n !this.selectedValues.includes(item[this.keyValue()])\n && toLowerCaseAndWithoutDiacritics(item[this.displayValue()]).includes(searchValue));\n return filtered;\n }\n\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, inject, OnDestroy, output } from '@angular/core';\r\nimport { ControlValueAccessor, NgControl } from '@angular/forms';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ColorPickerDirective } from 'ngx-color-picker';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'cauca-color-picker',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatInputModule, ColorPickerDirective],\r\n templateUrl: './color-picker.component.html',\r\n styleUrl: './color-picker.component.scss',\r\n providers: [{\r\n provide: MatFormFieldControl,\r\n useExisting: ColorPickerComponent,\r\n }],\r\n host: {\r\n '[id]': 'id',\r\n '[class.floating]': 'shouldLabelFloat',\r\n }\r\n})\r\nexport class ColorPickerComponent implements ControlValueAccessor, MatFormFieldControl<string>, OnDestroy {\r\n\r\n public stateChanges = new Subject<void>();\r\n public static nextId = 0;\r\n\r\n public id = `example-tel-input-${ColorPickerComponent.nextId++}`;\r\n public placeholder: string;\r\n public focused: boolean = false;\r\n public touched = false;\r\n public required: boolean;\r\n public disabled: boolean;\r\n public errorState: boolean;\r\n public controlType?: string;\r\n public autofilled?: boolean;\r\n public userAriaDescribedBy?: string;\r\n public readonly valueChanged = output<string>();\r\n public ngControl = inject(NgControl, { optional: true, self: true });\r\n\r\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\r\n private _value: string;\r\n\r\n public get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n public get empty() {\r\n return !this._value?.length;\r\n }\r\n\r\n public get value(): string | null {\r\n return this._value;\r\n }\r\n\r\n public set value(newValue: string | null) {\r\n this._value = newValue;\r\n this.onChange(this._value);\r\n this.stateChanges.next();\r\n }\r\n\r\n public constructor() {\r\n if (this.ngControl != null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n this.elementRef.nativeElement.addEventListener('focusin', this.onFocusIn.bind(this));\r\n this.elementRef.nativeElement.addEventListener('focusout', this.onFocusOut.bind(this));\r\n }\r\n\r\n public onFocusIn(_: FocusEvent) {\r\n if (!this.focused) {\r\n this.focused = true;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n public onFocusOut(event: FocusEvent) {\r\n if (!this.elementRef.nativeElement.contains(event.relatedTarget as Element)) {\r\n this.touched = true;\r\n this.focused = false;\r\n this.onTouched();\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.stateChanges.complete();\r\n }\r\n public setDescribedByIds(_: string[]): void {\r\n // Do nothing for now\r\n }\r\n public onContainerClick(_: MouseEvent): void {\r\n // Do nothing for now\r\n }\r\n public writeValue(value: string): void {\r\n this.value = value;\r\n }\r\n\r\n public registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n public registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n public onChange = (_: any): void => {\r\n // Do nothing for now\r\n };\r\n public onTouched = (): void => {\r\n // Do nothing for now\r\n };\r\n\r\n public onChangeColor(color: string): void {\r\n this.value = color;\r\n }\r\n}\r\n","<input\r\n matInput\r\n [(colorPicker)]=\"value\"\r\n [value]=\"value\"\r\n (colorPickerChange)=\"onChangeColor($event)\"\r\n type=\"text\"\r\n class=\"form-control\"\r\n id=\"color-id\"\r\n/>","<mat-form-field class=\"full-width-field header dense\" subscriptSizing=\"dynamic\">\n <ng-content></ng-content>\n <mat-label>{{ label() | translate }}</mat-label>\n <mat-select [value]=\"value()\" (valueChange)=\"onSelectionChange($event)\" [disabled]=\"disableControl()\" [class.readonly-field]=\"disableControl()\" [multiple]=\"allowMultiSelection()\" >\n @if (enableSearch()) {\n <mat-option>\n <ngx-mat-select-search [formControl]=\"optionFilterControl\" [placeholderLabel]=\"'search' | translate\"\n [noEntriesFoundLabel]=\"'noResult' | translate\">\n </ngx-mat-select-search>\n </mat-option>\n }\n @for (option of filteredOptions.value() || []; track option) {\n <mat-option [value]=\"option.id\">\n {{option.name}}\n </mat-option>\n }\n </mat-select>\n\n</mat-form-field>","import { ChangeDetectionStrategy, Component, computed, effect, input, model, output, ViewChild, resource } from '@angular/core';\r\nimport { ReactiveFormsModule, FormsModule, FormControl } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatSelect, MatSelectModule } from '@angular/material/select';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\nimport { toLowerCaseAndWithoutDiacritics } from '@cauca-911/core';\r\n\r\nexport interface Option {\r\n id: string | null;\r\n name: string;\r\n}\r\n\r\n@Component({\r\n selector: 'cauca-select-with-search',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatSelectModule, TranslateModule, MatFormFieldModule, ReactiveFormsModule, FormsModule, NgxMatSelectSearchModule],\r\n templateUrl: './select-with-search.component.html',\r\n styleUrl: './select-with-search.component.scss'\r\n})\r\nexport class SelectWithSearchComponent {\r\n public readonly label = input.required<string>();\r\n public readonly selectFirstOptionByDefault = input<boolean>(false);\r\n public readonly isDisabled = input<boolean>(false);\r\n public readonly allowMultiSelection = input<boolean>(false);\r\n public readonly showClearOption = input<boolean>(false);\r\n public readonly enableSearch = input<boolean>(true);\r\n public readonly options = input<Option[]>([]);\r\n public readonly value = model<string | null>(null);\r\n\r\n public readonly valueChanged = output<string | null>();\r\n\r\n public readonly optionFilterControl = new FormControl<string>('');\r\n @ViewChild('singleSelect', { static: true }) public singleSelect: MatSelect;\r\n\r\n public readonly hasOptions = computed(() => this.options().length >= 1);\r\n public readonly disableControl = computed(() => this.isDisabled() || !this.hasOptions());\r\n public readonly filteredOptions = resource({\r\n params: () => ({ filter: this.filterText(), options: this.options(), showClear: this.showClearOption() }),\r\n loader: ({ params }) => Promise.resolve(this.computeFilteredOptions(params))\r\n });\r\n\r\n private readonly filterText = toSignal(this.optionFilterControl.valueChanges, { initialValue: '' });\r\n\r\n public constructor() {\r\n effect(() => {\r\n const opts = this.options();\r\n if (!opts) return;\r\n\r\n const currentValue = this.value();\r\n if (currentValue) {\r\n const found = opts.find((c: Option) => c.id === currentValue);\r\n if (!found) {\r\n this.selectFirstOption(opts);\r\n }\r\n } else if (opts.length > 0 && this.selectFirstOptionByDefault()) {\r\n this.selectFirstOption(opts);\r\n }\r\n });\r\n }\r\n\r\n public onSelectionChange(newValue: string | null): void {\r\n this.value.set(newValue);\r\n this.valueChanged.emit(newValue);\r\n }\r\n\r\n private selectFirstOption(opts: Option[]): void {\r\n const newValue = opts[0]?.id ?? null;\r\n this.value.set(newValue);\r\n this.valueChanged.emit(newValue);\r\n }\r\n\r\n private computeFilteredOptions(params: { filter: string, options: Option[], showClear: boolean }): Option[] {\r\n const { filter, options, showClear } = params;\r\n if (!options || !Array.isArray(options)) {\r\n return [];\r\n }\r\n let filtered: Option[];\r\n\r\n if (!filter) {\r\n filtered = options.slice();\r\n } else {\r\n const filterLower = toLowerCaseAndWithoutDiacritics(filter);\r\n filtered = options.filter(option => toLowerCaseAndWithoutDiacritics(option?.name ?? '').indexOf(filterLower) > -1);\r\n }\r\n if (showClear) {\r\n const clearOption: Option = { id: null, name: '--' };\r\n filtered = [clearOption, ...filtered];\r\n }\r\n\r\n return filtered;\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-group-container',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [TranslateModule],\r\n templateUrl: './group-container.component.html',\r\n styleUrl: './group-container.component.scss'\r\n})\r\nexport class GroupContainerComponent {\r\n public caption = input<string>();\r\n}\r\n","<div class=\"group-container\">\r\n <div class=\"group-container-title subtitle1\">{{caption()|translate}}</div>\r\n <div class=\"group-container-content\">\r\n <ng-content />\r\n </div>\r\n</div>\r\n","<div class=\"section\">\r\n @if (title()) {\r\n <div class=\"section-description subtitle1\">{{title()|translate}}</div>\r\n }\r\n <div class=\"section-fields\"><ng-content /></div>\r\n</div>","import { ChangeDetectionStrategy, Component, InputSignal, input } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-main-section',\r\n imports: [TranslateModule],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './main-section.component.html',\r\n styleUrl: './main-section.component.scss'\r\n})\r\nexport class MainSectionComponent {\r\n public title: InputSignal<string> = input('');\r\n}\r\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'cauca-section-column',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './section-column.component.html',\r\n styleUrl: './section-column.component.scss'\r\n})\r\nexport class SectionColumnComponent {\r\n public showBigGap = input<boolean>(false);\r\n}\r\n","<div class=\"section-columns\" [class.big-gap]=\"showBigGap()\">\r\n <ng-content></ng-content>\r\n</div>","<div class=\"section-fields-line\" [class.multi-line]=\"useMultipleValues()\">\r\n <div class=\"option-caption body1\" [class.link]=\"showLink()\">\r\n @if(autoTranslateCaption()) {\r\n {{caption()|translate}}\r\n } @else {\r\n {{caption()}}\r\n }\r\n @if (showLink()) {\r\n <mat-icon class=\"icon-link\" (click)=\"linkClick.emit()\" onkeypress=\"linkClick.emit()\">link</mat-icon>\r\n }:\r\n </div>\r\n <div class=\"option-value body2\" [class.no-flex]=\"!splitEqually()\">\r\n @if (useMultipleValues()) {\r\n @for(item of values(); track item) {\r\n <span>{{fieldName() ? item[fieldName()] : item }}</span>\r\n }\r\n } @else {\r\n {{value()}}\r\n }\r\n </div>\r\n</div>","import { ChangeDetectionStrategy, Component, computed, input, output } from '@angular/core';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\n\r\n@Component({\r\n selector: 'cauca-section-field',\r\n imports: [TranslateModule, MatIcon],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './section-field.component.html',\r\n styleUrl: './section-field.component.scss'\r\n})\r\nexport class SectionFieldComponent {\r\n public autoTranslateCaption = input<boolean>(true);\r\n public caption = input<string>('');\r\n public value = input<unknown>('');\r\n public values = input<unknown[]>([]);\r\n public fieldName = input<string>('');\r\n public useMultipleValues = computed(() => this.values()?.length > 0);\r\n public showLink = input<boolean>(false);\r\n public linkClick = output<void>();\r\n public splitEqually = input<boolean>(true);\r\n}\r\n","<div class=\"title-section\">\n\n <h4 class=\"title-label\">{{caption() | translate }}</h4>\n\n @if (displayBreadcrumb()) {\n <div class=\"breadcrumb\">\n\n @if (baseCrumb()) {\n <div class=\"basecrumb\">{{baseCrumb()|translate}}</div>\n }\n\n @for(location of breadcrumbLocation(); track location) {\n <span>/</span>\n @if (location.link) {\n <a class=\"basecrumb\" [href]=\"location.link\" [routerLink]=\"location.link\">{{location.title| translate }}</a>\n } @else if (location.action) {\n <span class=\"basecrumb crumb-link\" (click)=\"location.action()\">{{ location.translate ? (location.title | translate) : location.title}}</span>\n } @else {\n <span class=\"basecrumb\">{{location.title}}</span>\n }\n }\n @if (baseCrumb() || breadcrumbLocation()?.length) {\n <span>/</span>\n }\n <span class=\"breadcrumb-current\">{{ mustTranslateBreadcrumb() ? (currentBreadcrumb() | translate) : currentBreadcrumb() }}</span>\n\n </div>\n }\n\n</div>","\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { BreadcrumbService } from '../../../core/breadcrumb.service';\nimport { BreadcrumbLocation } from '../../../core/models/breadcrumb-location';\n@Component({\n selector: 'cauca-page-title',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, RouterModule],\n templateUrl: './page-title.component.html',\n styleUrls: ['./page-title.component.scss']\n})\nexport class PageTitleComponent {\n\n public caption = input<string>('');\n public showBreadcrumb = input<boolean>(false);\n public location = input<BreadcrumbLocation[]>([]);\n public breadcrumb = input<string>('');\n public baseCrumb = input<string>('');\n public translateBreadcrumb = input<boolean>(true);\n\n public displayBreadcrumb = computed(() => this.showBreadcrumb() || this.breadcrumbService?.showBreadcrumb());\n public breadcrumbLocation = computed(() => this.breadcrumbService?.location() || this.location() || []);\n public currentBreadcrumb = computed(() => this.breadcrumbService?.breadcrumb() || this.breadcrumb() || '');\n public mustTranslateBreadcrumb = computed(() => this.breadcrumbService?.translateBreadcrumb() || this.translateBreadcrumb());\n public hasBreadcrumb = computed(() => this.currentBreadcrumb() !== '');\n\n private readonly breadcrumbService = inject(BreadcrumbService, { optional: true });\n}\n","import { ChangeDetectionStrategy, Component, InputSignal, ModelSignal, input, model } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'cauca-expandable-panel',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatIcon],\n templateUrl: './expandable-panel.component.html',\n styleUrl: './expandable-panel.component.scss',\n})\nexport class ExpandablePanelComponent {\n public isCollapsed: ModelSignal<boolean> = model(false);\n public caption: InputSignal<string> = input('');\n public subCaption: InputSignal<string> = input('');\n public contentPosition = input<'underCaption' | 'right'>('right');\n\n public changeState(): void {\n this.isCollapsed.update(value => !value);\n }\n}\n","<section [class.content-under]=\"contentPosition() === 'underCaption'\">\r\n <div class=\"expansion-button\" (click)=\"changeState()\">\r\n <mat-icon [class.collapsed]=\"isCollapsed()\">expand_less</mat-icon>\r\n <div class=\"expansion-button-text\">\r\n <div class=\"primary\">{{caption()}}</div>\r\n <div class=\"body2\">{{subCaption()}}</div>\r\n </div>\r\n </div>\r\n <div class=\"expansion-panel\" [class.collapsed]=\"isCollapsed()\">\r\n <div class=\"expansion-panel-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</section>","import { ChangeDetectionStrategy, Component, contentChildren, effect, input, OutputRefSubscription } from '@angular/core';\nimport { ExpandablePanelComponent } from '../expandable-panel/expandable-panel.component';\n\n@Component({\n selector: 'cauca-expandable-panel-accordion',\n templateUrl: './expandable-panel-accordion.component.html',\n styleUrls: ['./expandable-panel-accordion.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class ExpandablePanelAccordionComponent {\n public readonly initialOpenIndex = input<number | null>(0);\n\n private readonly panels = contentChildren(ExpandablePanelComponent, { descendants: true });\n\n private synchronizingPanels = false;\n\n public constructor() {\n effect((onCleanup) => {\n const panels = this.panels();\n const initialOpenIndex = this.initialOpenIndex();\n const subscriptions = this.subscribeToPanelStateChanges(panels);\n\n queueMicrotask(() => this.initializePanels(panels, initialOpenIndex));\n\n onCleanup(() => subscriptions.forEach((subscription) => subscription.unsubscribe()));\n });\n }\n\n private initializePanels(panels: readonly ExpandablePanelComponent[], initialOpenIndex: number | null): void {\n if (!panels.length || !this.supportsAccordionState(panels)) {\n return;\n }\n\n const expandedPanel = panels.find((panel) => !this.readCollapsedState(panel));\n\n if (expandedPanel) {\n this.setExpandedPanel(panels, expandedPanel);\n return;\n }\n\n if (initialOpenIndex === null) {\n return;\n }\n\n const panelToOpen = panels.at(initialOpenIndex);\n\n if (panelToOpen) {\n this.setExpandedPanel(panels, panelToOpen);\n }\n }\n\n private onPanelStateChange(panels: readonly ExpandablePanelComponent[], panelIndex: number, isCollapsed: boolean): void {\n if (this.synchronizingPanels || isCollapsed) {\n return;\n }\n\n const panelToOpen = panels[panelIndex];\n\n if (panelToOpen) {\n this.setExpandedPanel(panels, panelToOpen);\n }\n }\n\n private setExpandedPanel(panels: readonly ExpandablePanelComponent[], panelToOpen: ExpandablePanelComponent): void {\n this.synchronizingPanels = true;\n\n try {\n for (const panel of panels) {\n this.writeCollapsedState(panel, panel !== panelToOpen);\n }\n } finally {\n this.synchronizingPanels = false;\n }\n }\n\n private subscribeToPanelStateChanges(panels: readonly ExpandablePanelComponent[]): OutputRefSubscription[] {\n if (!this.supportsAccordionState(panels)) {\n return [];\n }\n\n return panels.map((panel, index) =>\n panel.isCollapsed.subscribe((isCollapsed) => this.onPanelStateChange(panels, index, isCollapsed))\n );\n }\n\n private supportsAccordionState(panels: readonly ExpandablePanelComponent[]): boolean {\n return panels.every((panel) => this.isModelSignalLike(panel.isCollapsed));\n }\n\n private readCollapsedState(panel: ExpandablePanelComponent): boolean {\n return panel.isCollapsed();\n }\n\n private writeCollapsedState(panel: ExpandablePanelComponent, isCollapsed: boolean): void {\n panel.isCollapsed.set(isCollapsed);\n }\n\n private isModelSignalLike(value: unknown): value is ExpandablePanelComponent['isCollapsed'] {\n return typeof value === 'function'\n && typeof (value as { set?: unknown }).set === 'function'\n && typeof (value as { subscribe?: unknown }).subscribe === 'function';\n }\n}","<ng-content />","import { ChangeDetectionStrategy, Component, inject, input, InputSignal } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-menu-expandable-panel-item',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIconModule, TranslateModule],\r\n templateUrl: './menu-expandable-panel-item.component.html',\r\n styleUrl: './menu-expandable-panel-item.component.scss'\r\n})\r\nexport class MenuExpandablePanelItemComponent {\r\n public icon: InputSignal<string> = input();\r\n public caption: InputSignal<string> = input();\r\n public route: InputSignal<string[]> = input();\r\n public isSubItem: InputSignal<boolean> = input(false);\r\n public action: InputSignal<() => void|null> = input(null);\r\n\r\n private readonly router = inject(Router);\r\n\r\n public openRoute(): void {\r\n if (this.action()) {\r\n this.action()();\r\n } else {\r\n this.router.navigate(this.route());\r\n }\r\n }\r\n}\r\n","<section (click)=\"openRoute()\" [class.sub-item]=\"isSubItem()\">\r\n <mat-icon>{{icon()}}</mat-icon>\r\n <div [class]=\"isSubItem() ? 'subtitle2' : 'subtitle1'\">{{caption() | translate}}</div>\r\n</section>","<section [ngClass]=\"opened() ? 'bottom-padding' : ''\" (click)=\"handleClick()\">\r\n <mat-icon>{{menuIcon()}}</mat-icon>\r\n <div>\r\n <div class=\"subtitle1\">{{caption() | translate}}</div>\r\n @if(subCaption()) {<div class=\"body2\">{{subCaption() | translate}}</div>}\r\n </div>\r\n @if (showExpansionIcon()) {<mat-icon [class.opened]=\"opened()\">arrow_forward_ios</mat-icon>}\r\n</section>\r\n@if(opened()) {\r\n @for (item of items(); track item.title) {\r\n <cauca-menu-expandable-panel-item [icon]=\"item.icon\" [caption]=\"item.title\" [route]=\"item.route\" [isSubItem]=\"true\" [action]=\"item.action\" />\r\n }\r\n}","import { ChangeDetectionStrategy, Component, inject, input, InputSignal, signal, WritableSignal } from '@angular/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { Router } from '@angular/router';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\nimport { MenuExpandablePanelItemComponent } from '../menu-expandable-panel-item/menu-expandable-panel-item.component';\r\nimport { NgClass } from '@angular/common';\r\n@Component({\r\n selector: 'cauca-menu-expandable-panel',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [MatIconModule, TranslatePipe, MenuExpandablePanelItemComponent, NgClass],\r\n templateUrl: './menu-expandable-panel.component.html',\r\n styleUrl: './menu-expandable-panel.component.scss',\r\n host: {\r\n '[style.border-top-left-radius]': 'addTopBorderRadius() ? \"12px\" : \"0px\"',\r\n '[style.border-top-right-radius]': 'addTopBorderRadius() ? \"12px\" : \"0px\"',\r\n '[style.border-bottom-left-radius]': 'addBottomBorderRadius() ? \"12px\" : \"0px\"',\r\n '[style.border-bottom-right-radius]': 'addBottomBorderRadius() ? \"12px\" : \"0px\"',\r\n '[class.bottom-border]': 'bottomBorder()',\r\n }\r\n})\r\nexport class MenuExpandablePanelComponent {\r\n public caption: InputSignal<string> = input();\r\n public isSubItem: InputSignal<boolean> = input(false);\r\n public subCaption: InputSignal<string> = input();\r\n public menuIcon: InputSignal<string> = input();\r\n public showExpansionIcon: InputSignal<boolean> = input(true);\r\n public addTopBorderRadius: InputSignal<boolean> = input(false);\r\n public bottomBorder: InputSignal<boolean> = input(false);\r\n public addBottomBorderRadius: InputSignal<boolean> = input(false);\r\n public route: InputSignal<string[]> = input([]);\r\n public items: InputSignal<{ icon: string, title: string, route?: string[], action?: () => void }[]> = input([]);\r\n\r\n public opened: WritableSignal<boolean> = signal(false);\r\n\r\n private readonly router = inject(Router);\r\n\r\n public handleClick(): void {\r\n if (this.route().length > 0 && this.items().length === 0) {\r\n this.router.navigate(this.route());\r\n } else {\r\n this.opened.set(!this.opened());\r\n }\r\n }\r\n}\r\n","@if (show()) {\r\n <cauca-snackbar\r\n caption=\"savingSuccessNotification.title\"\r\n type=\"success\"\r\n variant=\"standard\"\r\n [showButton]=\"false\"\r\n [showCloseButton]=\"true\"\r\n (closeClick)=\"show.set(false)\">\r\n {{'savingSuccessNotification.message' | translate}}\r\n </cauca-snackbar>\r\n}","import { ChangeDetectionStrategy, Component, model } from '@angular/core';\r\nimport { SnackBarComponent } from '../../misc/snack-bar/snack-bar.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-saving-confirmed-box',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [SnackBarComponent, TranslateModule],\r\n templateUrl: './saving-confirmed-box.component.html',\r\n styleUrl: './saving-confirmed-box.component.scss'\r\n})\r\nexport class SavingConfirmedBoxComponent {\r\n public show = model<boolean>(false);\r\n}\r\n","@if (show()) {\r\n <cauca-snackbar\r\n caption=\"generalError.savingErrorAlertTitle\"\r\n type=\"error\"\r\n variant=\"standard\"\r\n [showButton]=\"false\"\r\n [showCloseButton]=\"true\"\r\n (closeClick)=\"show.set(false)\">\r\n {{error() | translate}}\r\n </cauca-snackbar>\r\n}","import { ChangeDetectionStrategy, Component, computed, input, model } from '@angular/core';\r\nimport { SnackBarComponent } from '../../misc/snack-bar/snack-bar.component';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'cauca-saving-error-box',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [SnackBarComponent, TranslateModule],\r\n templateUrl: './saving-error-box.component.html',\r\n styleUrl: './saving-error-box.component.scss'\r\n})\r\nexport class SavingErrorBoxComponent {\r\n public show = model<boolean>(false);\r\n public specificError = input<string | null>(null);\r\n public error = computed(() => this.specificError() ? this.specificError() : 'generalError.savingErrorAlertMessage');\r\n}\r\n","import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\r\nimport { MatIcon } from '@angular/material/icon';\r\nimport { TranslatePipe } from '@ngx-translate/core';\r\n\r\nexport type StatusMessageType = 'error' | 'noData' | 'custom';\r\n\r\n@Component({\r\n selector: 'cauca-status-message',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './status-message.component.html',\r\n styleUrl: './status-message.component.scss',\r\n imports: [MatIcon, TranslatePipe],\r\n})\r\nexport class StatusMessageComponent {\r\n\r\n public type = input<StatusMessageType>('noData');\r\n public textKey = input<string | undefined>(undefined);\r\n public icon = input<string | undefined>(undefined);\r\n\r\n public readonly resolvedTextKey = computed(() => {\r\n const customTextKey = this.textKey();\r\n if (customTextKey) {\r\n return customTextKey;\r\n }\r\n\r\n switch (this.type()) {\r\n case 'error':\r\n return 'statusMessage.errorLoadingDataLabel';\r\n case 'custom':\r\n return 'statusMessage.noDataLabel';\r\n default:\r\n return 'statusMessage.noDataLabel';\r\n }\r\n });\r\n\r\n public readonly resolvedIcon = computed(() => {\r\n const customIcon = this.icon();\r\n if (customIcon) {\r\n return customIcon;\r\n }\r\n\r\n switch (this.type()) {\r\n case 'error':\r\n return 'error';\r\n case 'custom':\r\n return 'info';\r\n default:\r\n return 'grid_off';\r\n }\r\n });\r\n}\r\n","<div class=\"icon-text\">\r\n <mat-icon>{{ resolvedIcon() }}</mat-icon>\r\n <span>{{ resolvedTextKey() | translate }}</span>\r\n</div>\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appAutoTrimAndLower]',\r\n standalone: true\r\n})\r\nexport class AutoTrimAndLowerDirective {\r\n\r\n public constructor(private readonly el: ElementRef) {}\r\n\r\n @HostListener('blur', ['$event'])\r\n public onBlur(_: KeyboardEvent) {\r\n this.trimText();\r\n }\r\n\r\n private trimText() {\r\n this.el.nativeElement.value = this.el.nativeElement.value?.trim().toLowerCase();\r\n }\r\n}\r\n","import { ContentChild, Directive } from '@angular/core';\r\nimport { FormControl, FormControlDirective, FormControlName } from '@angular/forms';\r\nimport { ReplaySubject } from 'rxjs';\r\n\r\n@Directive({\r\n /* eslint-disable @angular-eslint/directive-selector */\r\n selector: 'mat-form-field',\r\n /* eslint-enable @angular-eslint/directive-selector */\r\n standalone: false,\r\n})\r\nexport class HasErrorRootDirective {\r\n private readonly _formControl$ = new ReplaySubject<FormControl>(1);\r\n\r\n @ContentChild(FormControlDirective)\r\n public set formControl(formControlDirective: FormControlDirective) {\r\n if (formControlDirective) {\r\n this._formControl$.next(formControlDirective.control);\r\n }\r\n }\r\n\r\n @ContentChild(FormControlName)\r\n public set formControlName(formControlName: FormControlName) {\r\n if (formControlName) {\r\n this._formControl$.next(formControlName.control);\r\n }\r\n }\r\n\r\n public get formControl$() {\r\n return this._formControl$.asObservable();\r\n }\r\n}\r\n","import {\r\n AfterContentInit,\r\n Directive,\r\n EmbeddedViewRef,\r\n Input,\r\n OnDestroy,\r\n TemplateRef,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n combineLatest,\r\n distinctUntilChanged,\r\n EMPTY,\r\n map,\r\n ReplaySubject,\r\n startWith,\r\n Subscription,\r\n switchMap,\r\n} from 'rxjs';\r\nimport { HasErrorRootDirective } from './has-error-root.directive';\r\n\r\nexport interface HasErrorContext {\r\n $implicit: any;\r\n }\r\n\r\n @Directive({\r\n selector: '[hasError]',\r\n standalone: false,\r\n })\r\nexport class HasErrorDirective implements AfterContentInit, OnDestroy {\r\n\r\n private readonly errorName$ = new ReplaySubject<string>(1);\r\n private readonly ctrl$ = this.hasErrorRoot.formControl$;\r\n private readonly status$ = this.ctrl$.pipe(\r\n switchMap((ctrl) => (ctrl.statusChanges || EMPTY).pipe(startWith(null)))\r\n );\r\n\r\n private readonly error$ = combineLatest([\r\n this.ctrl$,\r\n this.errorName$,\r\n this.status$,\r\n ]).pipe(\r\n map(([ctrl, errorName]) => ({\r\n hasError: ctrl.hasError(errorName),\r\n value: ctrl.getError(errorName),\r\n })),\r\n distinctUntilChanged(\r\n (x, y) => x.hasError === y.hasError && x.value === y.value\r\n )\r\n );\r\n\r\n private view?: EmbeddedViewRef<HasErrorContext>;\r\n private subscription?: Subscription;\r\n\r\n @Input()\r\n public set hasError(errorName: string) {\r\n this.errorName$.next(errorName);\r\n }\r\n\r\n public constructor(\r\n private readonly hasErrorRoot: HasErrorRootDirective,\r\n private readonly templateRef: TemplateRef<HasErrorContext>,\r\n private readonly vcr: ViewContainerRef\r\n ) {\r\n }\r\n\r\n public static ngTemplateContextGuard(_dir: HasErrorDirective, ctx: unknown): ctx is HasErrorContext {\r\n return true;\r\n }\r\n\r\n public ngAfterContentInit(): void {\r\n setTimeout(() => {\r\n this.subscription = this.error$.subscribe((error) => {\r\n if (!error.hasError) {\r\n this.view?.destroy();\r\n this.view = undefined;\r\n return;\r\n }\r\n\r\n if (this.view) {\r\n this.view.context.$implicit = error.value;\r\n this.view.markForCheck();\r\n return;\r\n }\r\n this.view = this.vcr.createEmbeddedView(this.templateRef, {\r\n $implicit: error.value,\r\n });\r\n });\r\n }, 100);\r\n }\r\n\r\n public ngOnDestroy(): void {\r\n this.subscription?.unsubscribe();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HasErrorRootDirective } from './has-error-root.directive';\nimport { HasErrorDirective } from './has-error.directive';\nimport { ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [\n HasErrorDirective,\n HasErrorRootDirective\n ],\n imports: [\n CommonModule,\n ReactiveFormsModule\n ],\n exports: [\n HasErrorDirective,\n HasErrorRootDirective\n ],\n})\nexport class FormErrorModule { }\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'Iso8601TimeSpan',\r\n standalone: true,\r\n})\r\nexport class Iso8601TimeSpanPipe implements PipeTransform {\r\n\r\n public transform(value: string | null | undefined): string {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n const match = /^P(?:([0-9]+)D)?(?:T(?:([0-9]+)H)?(?:([0-9]+)M)?(?:([0-9]+(?:\\.\\d+)?)S)?)?$/i.exec(value.trim());\r\n\r\n if (!match) {\r\n return value;\r\n }\r\n\r\n const days = Number(match[1] ?? '0');\r\n const hours = Number(match[2] ?? '0') + (days * 24);\r\n const minutes = Number(match[3] ?? '0');\r\n const seconds = Math.floor(Number(match[4] ?? '0'));\r\n\r\n return `${hours.toString().padStart(2, '0')}:${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;\r\n }\r\n\r\n}","import { Provider, EnvironmentProviders } from \"@angular/core\";\r\nimport { provideNativeDateAdapter } from \"@angular/material/core\";\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from \"@angular/material/form-field\";\r\nimport { MAT_ICON_DEFAULT_OPTIONS } from \"@angular/material/icon\";\r\n\r\nexport function provideCaucaMaterial(): (Provider | EnvironmentProviders)[] {\r\n return [\r\n provideNativeDateAdapter(),\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'outline' } },\r\n { provide: MAT_ICON_DEFAULT_OPTIONS, useValue: { color: 'primary' } },\r\n ];\r\n}","<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n <div [innerHTML]=\"data.message\"></div>\n</div>\n@if (data.buttons) {\n <div mat-dialog-actions>\n @for (label of data.buttons; track label; let i = $index) {\n <button mat-raised-button (click)=\"onClick(i)\">{{label}}</button>\n }\n </div>\n}","import { Component, inject } from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogActions, MatDialogContent, MatDialogRef, MatDialogTitle } from '@angular/material/dialog';\nimport { SimpleDialogData } from '../shared/models/simple-dialog-data';\nimport { MatButtonModule } from '@angular/material/button';\n\n@Component({\n selector: 'cauca-simple-dialog',\n templateUrl: './cauca-simple-dialog.component.html',\n styleUrls: ['./cauca-simple-dialog.component.scss'],\n imports: [MatDialogTitle, MatDialogContent, MatDialogActions, MatButtonModule]\n})\nexport class CaucaSimpleDialogComponent{\n public readonly data = inject<SimpleDialogData>(MAT_DIALOG_DATA);\n private readonly dialogRef = inject<MatDialogRef<CaucaSimpleDialogComponent>>(MatDialogRef);\n\n public onClick(buttonIndex: number): void {\n this.dialogRef.close(buttonIndex);\n }\n}\n","<button mat-raised-button (click)=\"openDialog($event)\">\n @if (icon) {\n <mat-icon>{{icon}}</mat-icon>\n }\n @if (text) {\n <span>{{text}}</span>\n }\n</button>\n@if (multiple) {\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" multiple=\"multiple\" />\n} @else {\n <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" />\n}\n\n","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild, inject } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TranslateService } from '@cauca-911/core';\nimport { CaucaSimpleDialogComponent } from '../cauca-simple-dialog/cauca-simple-dialog.component';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIcon } from '@angular/material/icon';\n\n@Component({\n selector: 'cauca-input-file',\n templateUrl: './cauca-input-file.component.html',\n styleUrls: ['./cauca-input-file.component.scss'],\n imports: [MatButtonModule, MatIcon]\n})\nexport class CaucaInputFileComponent implements OnInit {\n\n @ViewChild('file', {static: false})\n public file: ElementRef;\n @Output()\n public readend = new EventEmitter();\n @Input()\n public accept = '';\n @Input()\n public multiple = false;\n @Input()\n public icon = '';\n @Input()\n public text = '';\n\n private labels: any = {};\n private readonly translateService = inject(TranslateService);\n private readonly dialog = inject(MatDialog);\n\n public ngOnInit(): void {\n if (!this.icon && !this.text) {\n this.translateService.get(\n ['material.select', 'material.dialogTitle', 'material.dialogMessage']\n ).subscribe((labels: any) => {\n this.labels = labels;\n this.text = labels['material.select'];\n });\n }\n }\n\n public onSelectFile(e: any): void {\n for (let i = 0, j = e.target.files.length; i < j; i++) {\n const file = e.target.files[i];\n const reader = new FileReader();\n reader.onerror = ((error: any) => this.onError(error));\n reader.onload = ((event: any) => this.onReadEnd(file, event));\n reader.readAsDataURL(file);\n }\n\n if (e.target.files.length) {\n this.dialog.open(CaucaSimpleDialogComponent, {\n width: '250px',\n disableClose: true,\n data: {\n title: this.labels['material.dialogTitle'],\n message: this.labels['material.dialogMessage']\n }\n });\n }\n }\n\n public openDialog(event: any): void {\n if (this.file) {\n this.file.nativeElement.click();\n }\n event.stopPropagation();\n }\n\n private onError(error: any): void {\n throw error;\n }\n\n private onReadEnd(file: any, e: any): void {\n this.dialog.closeAll();\n this.readend.emit({\n name: file.name,\n size: file.size,\n type: file.type,\n lastModifiedDate: file.lastModifiedDate,\n content: e.target['result'],\n file,\n });\n }\n}\n","<mat-tab-group [selectedIndex]=\"selectedIndex\" (selectedIndexChange)=\"onTagChanged($event)\">\n @for (lang of labels; track lang; let i = $index) {\n <mat-tab [label]=\"lang\">\n <mat-form-field hideRequiredMarker=\"never\">\n <input matInput [placeholder]=\"lang\" [formControl]=\"forms[i]\" required=\"required\">\n @if (forms[i].invalid) {\n <mat-error>{{getErrorMessage(i) | translate}}</mat-error>\n }\n </mat-form-field>\n </mat-tab>\n }\n</mat-tab-group>","import { Component, Input, OnInit, inject } from '@angular/core';\n\nimport {ReactiveFormsModule, UntypedFormControl, Validators} from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInput } from '@angular/material/input';\nimport { MatTab, MatTabGroup } from '@angular/material/tabs';\nimport {Configuration, CaucaCoreService, TranslateService} from '@cauca-911/core';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@Component({\n selector: 'cauca-input-multiple-langue',\n templateUrl: './cauca-input-multiple-langue.component.html',\n styleUrls: ['./cauca-input-multiple-langue.component.scss'],\n imports: [MatTabGroup, MatTab, MatInput, MatFormFieldModule, ReactiveFormsModule, TranslateModule]\n})\nexport class CaucaInputMultipleLangueComponent implements OnInit {\n\n @Input()\n public value: string[] = [];\n public config: Configuration;\n public forms: UntypedFormControl[] = [];\n public labels: string[] = [];\n public selectedIndex = 0;\n\n private readonly translate = inject(TranslateService);\n\n public constructor() {\n const coreService = inject(CaucaCoreService);\n this.config = coreService.getConfig();\n }\n\n public ngOnInit(): void {\n this.translate.get(this.config.languages).subscribe((labels: any) => {\n for (const i in labels) {\n if (labels[i]) {\n this.labels.push(labels[i]);\n }\n }\n this.initializeForms();\n });\n }\n\n public onTagChanged(tabIndex: number): void {\n console.log('cauca-material, onTabChanged', tabIndex);\n }\n\n public getErrorMessage(index: any): string {\n return this.forms[index].hasError('required') ? 'error.required' : '';\n }\n\n private initializeForms(): void {\n this.labels.forEach((item: any, index: number) => {\n this.forms[index] = new UntypedFormControl('', [Validators.required]);\n this.forms[index].setValue(this.value[index] || '');\n });\n }\n}\n","<div #container class=\"slideshow\">\n @for (url of images; track url; let index = $index) {\n <div [class.active]=\"index === selectedIndex\" [class.entering]=\"states[index] === 'in'\" [class.leaving]=\"states[index] === 'out'\">\n <img [src]=\"url\" />\n </div>\n }\n</div>","import { Component, OnInit, ElementRef, Input, ViewChild } from '@angular/core';\n\n\n@Component({\n selector: 'cauca-slideshow',\n templateUrl: './cauca-slideshow.component.html',\n styleUrls: ['./cauca-slideshow.component.scss'],\n imports: [],\n})\nexport class CaucaSlideshowComponent implements OnInit {\n @ViewChild('container', { static: true })\n public container: ElementRef;\n @Input()\n public height = '150px';\n @Input()\n public autoPlay = true;\n public states = [];\n public selectedIndex = 0;\n\n private timer = null;\n private items = [];\n\n @Input()\n public set images(list: string[]) {\n this.items = list;\n this.restart();\n }\n public get images(): string[] {\n return this.items;\n }\n\n public ngOnInit(): void {\n this.container.nativeElement.style.height = this.height;\n this.container.nativeElement.style.width = '100%';\n }\n\n public getState(index: number): string {\n if (this.states[index]) {\n return this.states[index];\n }\n\n return (this.selectedIndex === index ? 'in' : 'out');\n }\n\n public restart(): void {\n if (this.timer) {\n window.clearInterval(this.timer);\n }\n if (this.images && this.images.length) {\n this.timer = window.setInterval(() => this.changed('next'), 5000);\n }\n }\n\n public next(): void {\n if (this.selectedIndex < this.items.length - 1) {\n this.selectedIndex++;\n } else {\n this.selectedIndex = 0;\n }\n }\n\n private changed(action: string): void {\n this.states[this.selectedIndex] = 'out';\n this[action]();\n this.states[this.selectedIndex] = 'in';\n }\n}\n","/*\n * Public API Surface of cauca-material\n */\n\nexport * from './lib/cauca-material.service';\nexport * from './lib/cauca-material.component';\nexport * from './lib/components/cauca-date-time-picker/cauca-date-time-picker.component';\n\nexport * from './lib/components/buttons/basic-button/basic-button.component';\nexport * from './lib/components/buttons/fab-button/fab-button.component';\nexport * from './lib/components/buttons/flat-button/flat-button.component';\nexport * from './lib/components/buttons/icon-button/icon-button.component';\nexport * from './lib/components/buttons/link-button/link-button.component';\nexport * from './lib/components/buttons/menu-item/menu-item.component';\nexport * from './lib/components/buttons/raised-button/raised-button.component';\nexport * from './lib/components/buttons/refresh-button/refresh-button.component';\nexport * from './lib/components/buttons/round-button/round-button.component';\nexport * from './lib/components/buttons/stroked-button/stroked-button.component';\nexport * from './lib/components/button/button.component'\nexport * from './lib/components/dialogs/services/dialog.service';\n\nexport * from './lib/core/models/breadcrumb-location';\nexport * from './lib/core/breadcrumb.service';\n\nexport * from './lib/core/loading-state.service';\nexport * from './lib/components/misc/loading-error/loading-error.component';\nexport * from './lib/components/misc/loading-spinner-indicator/loading-spinner-indicator.component';\nexport * from './lib/components/misc/snack-bar/snack-bar.component';\n\nexport * from './lib/components/presenters/badge/badge.component';\nexport * from './lib/components/presenters/icon/icon.component';\n\nexport * from './lib/components/list-paginator/list-paginator.component';\n\nexport * from './lib/components/inputs/password/password-criteria-viewer/password-criteria-viewer.component';\nexport * from './lib/components/inputs/password/password-selection/password-selection.component';\nexport * from './lib/components/inputs/password/password-input/password-input.component';\nexport * from './lib/components/inputs/date-range-picker/date-range-picker.component';\nexport * from './lib/components/inputs/dropdown-chip-autocomplete/dropdown-chip-autocomplete.component';\nexport * from './lib/components/inputs/color-picker/color-picker.component';\nexport * from './lib/components/inputs/select-with-search/select-with-search.component';\n\nexport * from './lib/components/layout/group-container/group-container.component'\nexport * from './lib/components/layout/sections/main-section/main-section.component';\nexport * from './lib/components/layout/sections/section-column/section-column.component';\nexport * from './lib/components/layout/sections/section-field/section-field.component';\nexport * from './lib/components/layout/page-title/page-title.component'\nexport * from './lib/components/layout/expandable-panel/expandable-panel.component';\nexport * from './lib/components/layout/expandable-panel-accordion/expandable-panel-accordion.component';\nexport * from './lib/components/layout/menu-expandable-panel/menu-expandable-panel.component';\nexport * from './lib/components/layout/menu-expandable-panel-item/menu-expandable-panel-item.component';\n\nexport * from './lib/components/notifications/saving-confirmed-box/saving-confirmed-box.component';\nexport * from './lib/components/notifications/saving-error-box/saving-error-box.component';\nexport * from './lib/components/notifications/status-message/status-message.component';\n\nexport { ConfirmationOptions, ConfirmationResult, InputOptions } from './lib/components/dialogs/services/dialog.service';\n\nexport * from './lib/core/directives/auto-trim-and-lower.directive';\nexport * from './lib/core/directives/form-error/form-error.module';\nexport * from './lib/core/directives/form-error/has-error-root.directive';\nexport * from './lib/core/directives/form-error/has-error.directive';\nexport * from './lib/core/pipes/iso8601-time-span.pipe';\n\nexport * from './lib/provide-cauca-material';\n\n/* The following are deprecated components and should not be used in new project */\n// CaucaInputFileComponent should be replaced with the new file picker from Mass Alert.\nexport * from './lib/components/deprecated-components/cauca-input-file/cauca-input-file.component';\nexport * from './lib/components/deprecated-components/cauca-input-multiple-langue/cauca-input-multiple-langue.component';\n// Dialog service should always be used instead of this one.\nexport * from './lib/components/deprecated-components/cauca-simple-dialog/cauca-simple-dialog.component';\nexport * from './lib/components/deprecated-components/cauca-slideshow/cauca-slideshow.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","_c0","i3","i5","i6","_c1","i4","_c2","i1.HasErrorRootDirective","TranslateService"],"mappings":"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"}