{"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/shared/models/simple-dialog-data.ts","../../../projects/cauca-material/src/lib/cauca-simple-dialog/cauca-simple-dialog.component.html","../../../projects/cauca-material/src/lib/cauca-simple-dialog/cauca-simple-dialog.component.ts","../../../projects/cauca-material/src/lib/cauca-input-file/cauca-input-file.component.html","../../../projects/cauca-material/src/lib/cauca-input-file/cauca-input-file.component.ts","../../../projects/cauca-material/src/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.html","../../../projects/cauca-material/src/lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component.ts","../../../projects/cauca-material/src/lib/cauca-menu-vertical/cauca-menu-vertical.component.html","../../../projects/cauca-material/src/lib/cauca-menu-vertical/cauca-menu-vertical.component.ts","../../../projects/cauca-material/src/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.html","../../../projects/cauca-material/src/lib/cauca-menu-sidebar/cauca-menu-sidebar.component.ts","../../../projects/cauca-material/src/lib/cauca-slideshow/cauca-slideshow.component.html","../../../projects/cauca-material/src/lib/cauca-slideshow/cauca-slideshow.component.ts","../../../projects/cauca-material/src/lib/test-component-with-classic-input/test-component-with-classic-input.component.ts","../../../projects/cauca-material/src/lib/test-component-with-classic-input/test-component-with-classic-input.component.html","../../../projects/cauca-material/src/lib/test-component-with-model-signal/test-component-with-model-signal.component.ts","../../../projects/cauca-material/src/lib/test-component-with-model-signal/test-component-with-model-signal.component.html","../../../projects/cauca-material/src/lib/test-component-with-signal-input/test-component-with-signal-input.component.ts","../../../projects/cauca-material/src/lib/test-component-with-signal-input/test-component-with-signal-input.component.html","../../../projects/cauca-material/src/lib/cauca-material.module.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/mobile-time-picker/mobile-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/desktop-time-picker/desktop-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/components/dialog-date-time-picker/dialog-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/cauca-date-time-picker/cauca-date-time-picker.component.html","../../../projects/cauca-material/src/lib/cauca-date-time-picker/cauca-date-time-picker.component.ts","../../../projects/cauca-material/src/lib/shared/models/menu-item.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 { Component } from '@angular/core';\n\n@Component({\n    selector: 'cauca-material',\n    templateUrl: './cauca-material.component.html',\n    styles: [],\n    standalone: false\n})\nexport class CaucaMaterialComponent {\n\n}\n","<div>{{'core.noGenericComponentOnThisLibrary' | translate}}</div>","export class SimpleDialogData {\n    public title: string;\n    public message: string;\n    public buttons: string[] = [];\n}\n","<h1 mat-dialog-title>{{data.title}}</h1>\n<div mat-dialog-content>\n  <div [innerHTML]=\"data.message\"></div>\n</div>\n<div mat-dialog-actions *ngIf=\"data.buttons\">\n  <button *ngFor=\"let label of data.buttons; let i = index\" mat-raised-button (click)=\"onClick(i)\">{{label}}</button>\n</div>","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { SimpleDialogData } from '../shared/models/simple-dialog-data';\n\n@Component({\n    selector: 'cauca-simple-dialog',\n    templateUrl: './cauca-simple-dialog.component.html',\n    styleUrls: ['./cauca-simple-dialog.component.scss'],\n    standalone: false\n})\nexport class CaucaSimpleDialogComponent{\n\n  public constructor(\n    private dialogRef: MatDialogRef<CaucaSimpleDialogComponent>,\n    @Inject(MAT_DIALOG_DATA) public data: SimpleDialogData,\n  ) { }\n\n  public onClick(buttonIndex: number): void {\n    this.dialogRef.close(buttonIndex);\n  }\n}\n","<button mat-raised-button (click)=\"openDialog($event)\">\n    <mat-icon *ngIf=\"icon\">{{icon}}</mat-icon>\n    <span *ngIf=\"text\">{{text}}</span>\n</button>\n<ng-container *ngIf=\"multiple; else notMultipleInput\">\n  <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" multiple=\"multiple\" />\n</ng-container>\n\n<ng-template #notMultipleInput>\n  <input #file type=\"file\" (change)=\"onSelectFile($event)\" [accept]=\"accept\" />\n</ng-template>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } 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';\n\n@Component({\n    selector: 'cauca-input-file',\n    templateUrl: './cauca-input-file.component.html',\n    styleUrls: ['./cauca-input-file.component.scss'],\n    standalone: false\n})\nexport class CaucaInputFileComponent implements OnInit {\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\n    public constructor(\n        private translateService: TranslateService,\n        private dialog: MatDialog,\n    ) {\n    }\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  <mat-tab *ngFor=\"let lang of labels; let i = index\" [label]=\"lang\">\n    <mat-form-field hideRequiredMarker=\"never\">\n      <input matInput [placeholder]=\"lang\" [formControl]=\"forms[i]\" required=\"required\">\n      <mat-error *ngIf=\"forms[i].invalid\">{{getErrorMessage(i) | translate}}</mat-error>\n    </mat-form-field>\n  </mat-tab>\n</mat-tab-group>","import {Component, Input, OnInit} from '@angular/core';\nimport {UntypedFormControl, Validators} from '@angular/forms';\nimport {Configuration, CaucaCoreService, TranslateService} from '@cauca-911/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    standalone: false\n})\nexport class CaucaInputMultipleLangueComponent implements OnInit {\n    @Input()\n    public value: string[] = [];\n    public config: Configuration;\n    public forms: UntypedFormControl[] = [];\n    public labels: string[] = [];\n    public selectedIndex = 0;\n\n    public constructor(\n        coreService: CaucaCoreService,\n        private translate: TranslateService,\n    ) {\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","<h4 *ngFor=\"let menu of menuItems\" [class]=\"menu.activated ? 'selected' : ''\">\n    <div (click)=\"goTo(menu.path, $event)\" class=\"menu\">\n        <div *ngIf=\"menu.icon\" class=\"menu-icon\">\n            <fa-icon *ngIf=\"menu.icon.filter !== undefined\" [icon]=\"menu.icon\"></fa-icon>\n            <img *ngIf=\"menu.icon.filter === undefined\" [src]=\"menu.icon\" />\n        </div>\n        <div *ngIf=\"menu.label\" class=\"menu-caption\">\n            <span>{{menu.label | translate}}</span>\n        </div>\n    </div>\n    <div *ngIf=\"menu.childs.length && menu.activated\" class=\"submenu\">\n        <div\n            *ngFor=\"let submenu of menu.childs\"\n            [class]=\"submenu.activated ? 'menu selected' : 'menu'\"\n            (click)=\"goTo(submenu.path, $event)\">\n            <div *ngIf=\"!submenu.icon\" class=\"menu-dot\">&bull;</div>\n            <div *ngIf=\"submenu.icon\" class=\"menu-icon\">\n                <fa-icon *ngIf=\"submenu.icon.filter !== undefined\" [icon]=\"submenu.icon\"></fa-icon>\n                <img *ngIf=\"submenu.icon.filter === undefined\" [src]=\"submenu.icon\" />\n            </div>\n            <div *ngIf=\"submenu.label\" class=\"menu-caption\">\n                <span>{{submenu.label | translate}}</span>\n            </div>\n        </div>\n    </div>\n</h4>\n","import {Component, EventEmitter, Input, Output} from '@angular/core';\nimport {NavigationEnd, Router} from '@angular/router';\nimport {MenuItem} from '../shared/models/menu-item';\n\n@Component({\n    selector: 'cauca-menu-vertical',\n    templateUrl: './cauca-menu-vertical.component.html',\n    styleUrls: ['./cauca-menu-vertical.component.scss'],\n    standalone: false\n})\nexport class CaucaMenuVerticalComponent {\n    @Output()\n    public itemClick = new EventEmitter();\n    @Input()\n    public menuItems: MenuItem[] = [];\n\n    public constructor(\n        private router: Router,\n    ) {\n        this.router.events.subscribe((route: NavigationEnd) => {\n            if (route instanceof NavigationEnd) {\n                this.selectActiveRoute(route);\n            }\n        });\n    }\n\n    public goTo(path: string, e: any): void {\n        this.router.navigate([path]);\n        this.itemClick.emit();\n\n        e.stopPropagation();\n    }\n\n    private selectActiveRoute(route: NavigationEnd): void {\n        this.menuItems.forEach((menu: MenuItem) => {\n            if (route.url) {\n                menu.activated = (route.url === menu.path || (menu.childs.length && route.url.indexOf(menu.path) > -1));\n            }\n\n            menu.childs.forEach((subMenu: MenuItem) => {\n                if (route.url) {\n                    subMenu.activated = (route.url === subMenu.path || route.urlAfterRedirects === subMenu.path);\n                }\n            });\n        });\n    }\n}\n","<div class=\"header\">\n    <button mat-icon-button class=\"close\" (click)=\"hideOnMobile()\">\n        <mat-icon>clear</mat-icon>\n    </button>\n    <ng-content select=\"[header]\"></ng-content>\n</div>\n<div class=\"content\">\n    <ng-content select=\"[beforeMenu]\"></ng-content>\n    <cauca-menu-vertical #menu [menuItems]=\"menuItems\" (itemClick)=\"onMenuItemClick()\"></cauca-menu-vertical>\n    <ng-content select=\"[afterMenu]\"></ng-content>\n</div>\n<div class=\"footer\">\n    <ng-content select=\"[footer]\"></ng-content>\n</div>\n<div *ngIf=\"version\" class=\"version\">\n    <div class=\"double-arrow\" (click)=\"onToggleCollapse()\"></div>\n    <span class=\"full\">{{'material.version' | translate}} {{version}}</span>\n    <span class=\"abbr\">{{version}}</span>\n</div>\n","import { Component, ElementRef, HostListener, Input } from '@angular/core';\nimport { MenuItem } from '../shared/models/menu-item';\n\n@Component({\n    selector: 'cauca-menu-sidebar',\n    templateUrl: './cauca-menu-sidebar.component.html',\n    styleUrls: ['./cauca-menu-sidebar.component.scss'],\n    standalone: false\n})\nexport class CaucaMenuSidebarComponent {\n    @Input()\n    public menuItems: MenuItem[] = [];\n    @Input()\n    public version = '';\n\n    private hostElement: HTMLDivElement;\n    private keepMenuExpanded = false;\n\n    public constructor(element: ElementRef) {\n        this.hostElement = element.nativeElement as HTMLDivElement;\n        this.hostElement.addEventListener('mouseover', (e: any) => this.onMouseOver(e));\n        this.hostElement.addEventListener('mouseout', (e: any) => this.onMouseOut(e));\n\n        this.setDisplayMenu();\n    }\n\n    @HostListener('window:resize', ['$event'])\n    public onResize(_e: any): void {\n        this.setDisplayMenu();\n    }\n\n    public onMenuItemClick(): void {\n        if (window.innerWidth < 1000) {\n            this.hideOnMobile();\n        }\n    }\n\n    public hideOnMobile(): void {\n        this.hostElement.classList.remove('mobile');\n        this.hostElement.classList.add('hidden');\n    }\n\n    public showOnMobile(): void {\n        this.hostElement.classList.remove('hidden');\n        this.hostElement.classList.add('mobile');\n    }\n\n    public onToggleCollapse(): void {\n        if (this.keepMenuExpanded) {\n            this.onCollapseMenu();\n            this.hostElement.classList.remove('keepExpanded');\n        } else {\n            this.onExpandedMenu();\n            this.hostElement.classList.add('keepExpanded');\n        }\n\n        this.keepMenuExpanded = !this.keepMenuExpanded;\n        localStorage.setItem('cauca-menu-status', this.keepMenuExpanded ? 'expanded' : 'collapsed');\n    }\n\n    private setDisplayMenu(): void {\n        this.hostElement.className = '';\n\n        if (window.innerWidth < 1000) {\n            this.hostElement.classList.add('hidden');\n        } else {\n            if (localStorage.getItem('cauca-menu-status') === 'expanded') {\n                this.keepMenuExpanded = true;\n                this.hostElement.classList.add('keepExpanded');\n            }\n\n            this.hostElement.classList.add(this.keepMenuExpanded ? 'expanded' : 'collapsed');\n        }\n    }\n\n    private onMouseOver(e: any): void {\n        if (!this.keepMenuExpanded) {\n            this.onExpandedMenu();\n        }\n\n        e.stopPropagation();\n    }\n\n    private onMouseOut(e: any): void {\n        if (!this.keepMenuExpanded) {\n            this.onCollapseMenu();\n        }\n\n        e.stopPropagation();\n    }\n\n    private onExpandedMenu(): void {\n        if (window.innerWidth >= 1000) {\n            this.hostElement.classList.remove('collapsed');\n            this.hostElement.classList.add('expanded');\n        }\n    }\n\n    private onCollapseMenu(): void {\n        if (window.innerWidth >= 1000) {\n            this.hostElement.classList.remove('expanded');\n            this.hostElement.classList.add('collapsed');\n        }\n    }\n}\n","<div #container class=\"slideshow\">\n  <div *ngFor=\"let url of images; let index = index;\" [@slideLeftRight]=\"getState(index)\">\n    <img [src]=\"url\" />\n  </div>\n</div>","import { Component, OnInit, ElementRef, Input, ViewChild } from '@angular/core';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\n\n@Component({\n    selector: 'cauca-slideshow',\n    templateUrl: './cauca-slideshow.component.html',\n    styleUrls: ['./cauca-slideshow.component.scss'],\n    animations: [\n        trigger('slideUpDown', [\n            state('in', style({ transform: 'translateY(0%)' })),\n            state('out', style({ transform: 'translateY(-100%)' })),\n            transition('in => out', [\n                animate('500ms ease-in')\n            ]),\n            transition('out => in', [\n                style({ transform: 'translateY(100%)' }),\n                animate('500ms ease-in')\n            ]),\n        ]),\n        trigger('slideLeftRight', [\n            state('in', style({ transform: 'translateX(0%)' })),\n            state('out', style({ transform: 'translateX(-100%)' })),\n            transition('in => out', [\n                animate('500ms ease-in')\n            ]),\n            transition('out => in', [\n                style({ transform: 'translateX(100%)' }),\n                animate('500ms ease-in')\n            ]),\n        ]),\n    ],\n    standalone: false\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\n  private timer = null;\n  private items = [];\n  private states = [];\n  private selectedIndex = 0;\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","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'cauca-test-component-with-classic-input',\r\n  imports: [],\r\n  templateUrl: './test-component-with-classic-input.component.html',\r\n  styleUrl: './test-component-with-classic-input.component.scss'\r\n})\r\nexport class TestComponentWithClassicInputComponent {\r\n  @Input() public value: string;\r\n  @Output() public valueChange = new EventEmitter<string>();\r\n\r\n  public changeValue(value: string): void {\r\n    this.value = value;\r\n    this.valueChange.emit(value);\r\n  }\r\n}\r\n","<p>{{value}}</p>\r\n","import { Component, model } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'cauca-test-component-with-model-signal',\r\n  imports: [],\r\n  templateUrl: './test-component-with-model-signal.component.html',\r\n  styleUrl: './test-component-with-model-signal.component.scss'\r\n})\r\nexport class TestComponentWithModelSignalComponent {\r\n  public value = model<string>();\r\n\r\n  public changeValue(value: string): void {\r\n    this.value.set(value);\r\n  }\r\n}\r\n","<p>{{value()}}</p>\r\n","import { Component, input, output } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'cauca-test-component-with-signal-input',\r\n  imports: [],\r\n  templateUrl: './test-component-with-signal-input.component.html',\r\n  styleUrl: './test-component-with-signal-input.component.scss'\r\n})\r\nexport class TestComponentWithSignalInputComponent {\r\n  public value = input<string>();\r\n  public valueChange = output<string>();\r\n\r\n  public changeValue(value: string): void {\r\n    this.valueChange.emit(value);\r\n  }\r\n}\r\n","<p>{{value()}}</p>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\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';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { CaucaCoreForChildModule } from '@cauca-911/core';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { CaucaMaterialComponent } from './cauca-material.component';\nimport { CaucaInputFileComponent } from './cauca-input-file/cauca-input-file.component';\nimport { CaucaInputMultipleLangueComponent } from './cauca-input-multiple-langue/cauca-input-multiple-langue.component';\nimport { CaucaMenuSidebarComponent } from './cauca-menu-sidebar/cauca-menu-sidebar.component';\nimport { CaucaMenuVerticalComponent } from './cauca-menu-vertical/cauca-menu-vertical.component';\nimport { CaucaSimpleDialogComponent } from './cauca-simple-dialog/cauca-simple-dialog.component';\nimport { CaucaSlideshowComponent } from './cauca-slideshow/cauca-slideshow.component';\nimport { TestComponentWithClassicInputComponent } from './test-component-with-classic-input/test-component-with-classic-input.component';\nimport { TestComponentWithModelSignalComponent } from './test-component-with-model-signal/test-component-with-model-signal.component';\nimport { TestComponentWithSignalInputComponent } from './test-component-with-signal-input/test-component-with-signal-input.component';\n\n@NgModule({\n  declarations: [\n    CaucaMaterialComponent,\n    CaucaInputFileComponent,\n    CaucaInputMultipleLangueComponent,\n    CaucaMenuSidebarComponent,\n    CaucaMenuVerticalComponent,\n    CaucaSimpleDialogComponent,\n    CaucaSlideshowComponent,\n  ],\n  imports: [\n    CommonModule,\n    CaucaCoreForChildModule,\n    FontAwesomeModule,\n    FormsModule,\n    ReactiveFormsModule,\n    MatButtonModule,\n    MatFormFieldModule,\n    MatIconModule,\n    MatInputModule,\n    MatTabsModule,\n    MatDialogModule,\n    TestComponentWithClassicInputComponent,\n    TestComponentWithModelSignalComponent,\n    TestComponentWithSignalInputComponent,\n  ],\n  exports: [\n    CaucaMaterialComponent,\n    CaucaInputFileComponent,\n    CaucaInputMultipleLangueComponent,\n    CaucaMenuSidebarComponent,\n    CaucaMenuVerticalComponent,\n    CaucaSimpleDialogComponent,\n    CaucaSlideshowComponent,\n    TestComponentWithClassicInputComponent,\n    TestComponentWithModelSignalComponent,\n    TestComponentWithSignalInputComponent,\n  ],\n})\nexport class CaucaMaterialModule { }\n","import { Component, EventEmitter, 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})\nexport class MobileTimePickerComponent {\n  @Input({required: true}) public value: number;\n  @Input({ required: true }) public options: number[];\n\n  @Output() public valueChange = new EventEmitter<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 { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatListModule } from '@angular/material/list';\n\n@Component({\n    selector: 'cauca-desktop-time-picker',\n    imports: [\n        MatListModule\n    ],\n    templateUrl: './desktop-time-picker.component.html',\n    styleUrl: './desktop-time-picker.component.scss'\n})\nexport class DesktopTimePickerComponent {\n  @Input() public options: number[] = [];\n  @Input() public value: number;\n  @Input() public disabled: DesktopTimePickerComponentDisabled;\n\n  @Output() public valueChange = new EventEmitter<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            <div class=\"hours\" *ngIf=\"!showMobileUi\">\n                <cauca-desktop-time-picker [disabled]=\"{all: disabled.hours, someOptions: disabled.someHours}\" (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\"/>\n            </div>\n            <div class=\"hours\" *ngIf=\"showMobileUi\">\n                <cauca-mobile-time-picker (valueChange)=\"hourChanged($event)\" [options]=\"hours\" [value]=\"selectedHour\" />\n            </div>\n            \n            <div class=\"hour-and-minute-separator\" *ngIf=\"showMobileUi\">:</div>\n            \n            <div class=\"minutes\" *ngIf=\"!showMobileUi\">\n                <cauca-desktop-time-picker [disabled]=\"{all: disabled.minutes, someOptions: disabled.someMinutes}\" (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\"/>\n            </div>\n            <div class=\"minutes\" *ngIf=\"showMobileUi\">\n                <cauca-mobile-time-picker (valueChange)=\"minuteChanged($event)\" [options]=\"minutes\" [value]=\"selectedMinute\" />\n            </div>\n            \n            <div class=\"minute-and-second-separator\" *ngIf=\"showSeconds && showMobileUi\">:</div>\n            <div class=\"seconds\" *ngIf=\"showSeconds && !showMobileUi\">\n                <cauca-desktop-time-picker [disabled]=\"{all: disabled.seconds, someOptions: disabled.someSeconds}\" (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\"/>\n            </div>\n            <div class=\"seconds\" *ngIf=\"showSeconds && showMobileUi\">\n                <cauca-mobile-time-picker (valueChange)=\"secondChanged($event)\" [options]=\"seconds\" [value]=\"selectedSecond\" />\n            </div>\n        }\n    </div>\n</div>\n\n<div mat-dialog-actions align=\"end\">\n    <button mat-stroked-button (click)=\"clear()\" *ngIf=\"showClearButton\">\n        <mat-icon *ngIf=\"showButtonIcons\">clear</mat-icon>\n        {{'material.clear' | translate}}\n    </button>\n    <button color=\"primary\" mat-stroked-button (click)=\"cancel()\">\n        <mat-icon *ngIf=\"showButtonIcons\">cancel</mat-icon>\n        {{'material.cancel' | translate}}\n    </button>\n    <button color=\"primary\" mat-raised-button cdkFocusInitial (click)=\"confirm()\">\n        <mat-icon *ngIf=\"showButtonIcons\">check</mat-icon>\n        {{'material.ok' | translate}}\n    </button>\n</div>","import { Component, HostListener, Inject, OnInit, signal, WritableSignal } 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})\nexport class DialogDateTimePickerComponent implements OnInit {\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: boolean = 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  public constructor(\n    public dialogRef: MatDialogRef<DialogDateTimePickerComponent>,\n    @Inject(MAT_DIALOG_DATA) public options: DialogDateTimePickerOptions\n  ) {\n    this.step = options.step || this.step;\n    this.showSeconds = 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 { Component, ElementRef, EventEmitter, forwardRef, inject, Injector, Input, 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    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: forwardRef(() => 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  @Input() public subscriptSizing: SubscriptSizing = 'fixed';\n  @Input() public showTime: boolean = true;\n  @Input() public label: string = '';\n  @Input() public translateLabel: boolean = true;\n  @Input() public stepHours = 1;\n  @Input() public stepMinutes = 1;\n  @Input() public stepSecondes = 1;\n  @Input() public minimumDate: Date = null;\n  @Input() public maximumDate: Date = null;\n  @Input() public showSeconds: boolean = false;\n  @Input() public showFormat: string = 'yyyy/MM/dd, HH:mm';\n  @Input() public showClearButton: boolean = true;\n  @Input() public showButtonIcons: boolean = true;\n  @Output() public selectedChange = new EventEmitter<Date>();\n\n  public control: AbstractControl;\n  public stringDate: string = '';\n  \n  private injector = inject(Injector);\n  private selectedDate: Date;\n\n  public constructor(\n    private elementRef: ElementRef,\n    private dialog: MatDialog,\n    private datePipe: DatePipe,\n  ) {\n  }\n  \n  @Input()\n  public set value(value: Date) {\n    if (value) {\n      this.stringDate = this.stringifyDate(value);\n      this.selectedDate = value;\n    }\n  }\n  \n  public get isRequired(): boolean {\n    return Boolean(this.control?.hasValidator(Validators.required))\n  }\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.stringDate = this.stringifyDate(data.value);\n        this.selectedDate = 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 = 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.selectedDate,\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  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","export class MenuItem {\n    public activated: boolean;\n    public childs: MenuItem[] = [];\n\n    public constructor(\n        public label: string,\n        public path: string,\n        public icon: string | string[] = '',\n    ) {\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/cauca-material.module';\nexport * from './lib/cauca-date-time-picker/cauca-date-time-picker.component';\nexport * from './lib/cauca-input-file/cauca-input-file.component';\nexport * from './lib/cauca-input-multiple-langue/cauca-input-multiple-langue.component';\nexport * from './lib/cauca-menu-sidebar/cauca-menu-sidebar.component';\nexport * from './lib/cauca-menu-vertical/cauca-menu-vertical.component';\nexport * from './lib/cauca-simple-dialog/cauca-simple-dialog.component';\nexport * from './lib/cauca-slideshow/cauca-slideshow.component';\nexport * from './lib/test-component-with-classic-input/test-component-with-classic-input.component';\nexport * from './lib/test-component-with-model-signal/test-component-with-model-signal.component';\nexport * from './lib/test-component-with-signal-input/test-component-with-signal-input.component';\n\nexport { MenuItem } from './lib/shared/models/menu-item';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i5","i6"],"mappings":"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"}