{"version":3,"file":"seniorsistemas-angular-components-thumbnails.mjs","sources":["../../projects/angular-components/thumbnails/src/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.ts","../../projects/angular-components/thumbnails/src/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component.html","../../projects/angular-components/thumbnails/src/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.ts","../../projects/angular-components/thumbnails/src/lib/thumbnails/components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component.html","../../projects/angular-components/thumbnails/src/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.ts","../../projects/angular-components/thumbnails/src/lib/thumbnails/components/thumbnail-item/thumbnail-item.component.html","../../projects/angular-components/thumbnails/src/lib/thumbnails/thumbnails.component.ts","../../projects/angular-components/thumbnails/src/lib/thumbnails/thumbnails.component.html","../../projects/angular-components/thumbnails/src/lib/thumbnails/thumbnails.module.ts","../../projects/angular-components/thumbnails/src/seniorsistemas-angular-components-thumbnails.ts"],"sourcesContent":["import { Component, Input, ElementRef, ViewChild, HostListener } from \"@angular/core\";\n\n@Component({\n    selector: \"s-thumbnail-item-video\",\n    templateUrl: \"./thumbnail-item-video.component.html\",\n    styleUrls: [\"./thumbnail-item-video.component.scss\"],\n})\nexport class ThumbnailItemVideoComponent {\n    @Input({ required: true })\n    public imageUrl!: string;\n\n    @Input({ required: true })\n    public videoUrl!: string;\n\n    @ViewChild(\"videoPlayer\") videoPlayer!: ElementRef;\n\n    @HostListener(\"mouseenter\") onMouseEnter(): void {\n        if (this.videoPlayer?.nativeElement) {\n            this.videoPlayer.nativeElement.play();\n        }\n    }\n\n    @HostListener(\"mouseleave\") onMouseLeave(): void {\n        if (this.videoPlayer?.nativeElement) {\n            this.videoPlayer.nativeElement.pause();\n            this.videoPlayer.nativeElement.currentTime = 0;\n        }\n    }\n}\n","<div class=\"thumbnail-item-video\" [ngClass]=\"{ 'thumbnail-item-video--playable': videoUrl }\">\n    <div\n        class=\"thumbnail-image\"\n        [ngStyle]=\"{'backgroundImage': 'url(' + imageUrl + ')'}\">\n    </div>\n    <div class=\"play-overlay\">\n        <i class=\"icon fas fa-play\"></i>\n        <span class=\"label\">{{ \"platform.angular_components.watch\" | translate }}</span>\n    </div>\n    <video\n        *ngIf=\"videoUrl\"\n        #videoPlayer\n        class=\"thumbnail-video-preview\"\n        [src]=\"videoUrl\"\n        [loop]=\"true\"\n        [muted]=\"true\"\n        preload=\"none\">\n    </video>\n</div>\n","import { Component, Input } from \"@angular/core\";\n\n@Component({\n    selector: \"s-thumbnail-item-image\",\n    templateUrl: \"./thumbnail-item-image.component.html\",\n    styleUrls: [\"./thumbnail-item-image.component.scss\"],\n})\nexport class ThumbnailItemImageComponent {\n    @Input({ required: true })\n    public imageUrl = '';\n}\n","<div class=\"thumbnail-item-image\">\n    <div\n        *ngIf=\"imageUrl; else noImage\"\n        class=\"thumbnail-image\"\n        [ngStyle]=\"{ backgroundImage: 'url(' + imageUrl + ')' }\">\n    </div>\n\n    <ng-template #noImage>\n        <div class=\"content\">\n            <i class=\"icon fas fa-image\"></i>\n            <span class=\"label\">{{ \"platform.angular_components.view\" | translate }}</span>\n        </div>\n    </ng-template>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from \"@angular/core\";\nimport { FormControl, FormGroup } from \"@angular/forms\";\n\nimport { ThumbnailsItem } from \"../../models/thumbnails-item\";\nimport { CheckboxListState } from \"@seniorsistemas/angular-components/checkbox-list\";\nimport { isNullOrUndefined } from \"@seniorsistemas/angular-components/utils\";\n\n@Component({\n    selector: \"s-thumbnail-item\",\n    templateUrl: \"./thumbnail-item.component.html\",\n    styleUrls: [\"./thumbnail-item.component.scss\"],\n})\nexport class ThumbnailItemComponent implements OnInit {\n    @Input()\n    public itemData!: ThumbnailsItem;\n\n    @Input()\n    public isCheckable = true;\n\n    @Input()\n    public isChecked = false;\n\n    @Input() combineCheckboxEvent = true;\n\n    @Output()\n    public checked = new EventEmitter<{ item: ThumbnailsItem, selected: boolean }>();\n\n    @Output()\n    public opened = new EventEmitter<ThumbnailsItem>();\n\n    public checkboxFormGroup: FormGroup = new FormGroup({});\n\n    public ngOnInit(): void {\n        this._validateItemData();\n        this._createFormGroup();\n    }\n\n    public onClick() {\n        this.opened.emit(this.itemData);\n    }\n\n    public checkboxClick(event: Event): void {\n        if (this.combineCheckboxEvent) {\n            return;\n        }\n\n        event.stopPropagation();\n    }\n\n    private _createFormGroup(): void {\n        this.checkboxFormGroup = new FormGroup({\n            checkbox: new FormControl({ checked: this.isChecked }),\n        });\n\n        this.checkboxFormGroup.get(\"checkbox\")?.valueChanges.subscribe((value: CheckboxListState) => {\n            this.checked.emit({ item: this.itemData, selected: value.checked });\n        });\n    }\n\n    private _validateItemData(): void {\n        if (isNullOrUndefined(this.itemData)) {\n            throw new Error(\"itemData is required\");\n        }\n    }\n}\n","<button\n    *ngIf=\"itemData\"\n    class=\"thumbnail-item\"\n    (click)=\"onClick()\"\n>\n    <div class=\"thumbnail-item-content\">\n        <div class=\"content\">\n            <ng-container *ngIf=\"itemData.type === 'video'\">\n                <s-thumbnail-item-video\n                    [imageUrl]=\"itemData.imageUrl ? itemData.imageUrl : ''\"\n                    [videoUrl]=\"itemData.videoUrl ? itemData.videoUrl : ''\"\n                >\n                </s-thumbnail-item-video>\n            </ng-container>\n            <ng-container *ngIf=\"itemData.type === 'image'\">\n                <s-thumbnail-item-image\n                    [imageUrl]=\"itemData.imageUrl ? itemData.imageUrl : ''\"\n                ></s-thumbnail-item-image>\n            </ng-container>\n            <ng-container *ngIf=\"itemData.type === 'audio'\">\n                <i class=\"icon fas fa-volume-down\"></i>\n                <span class=\"label\">{{ 'platform.angular_components.listen' | translate }}</span>\n            </ng-container>\n            <ng-container *ngIf=\"itemData.type === 'file'\">\n                <i class=\"icon fas fa-file-alt\"></i>\n                <span class=\"label\">{{ 'platform.angular_components.view' | translate }}</span>\n            </ng-container>\n        </div>\n        <form\n            *ngIf=\"isCheckable\"\n            [formGroup]=\"checkboxFormGroup\"\n            class=\"checkbox\"\n        >\n            <s-checkbox-list\n                [data]=\"{ label: '' }\"\n                formControlName=\"checkbox\"\n                (click)=\"checkboxClick($event)\"\n            ></s-checkbox-list>\n        </form>\n    </div>\n    <span class=\"file-name-label\">{{ itemData.fileName }}</span>\n</button>\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\n\nimport { ThumbnailsItem } from './models/thumbnails-item';\n\n/**\n * @description Componente de galeria de miniaturas com suporte a seleção múltipla\n * e abertura de itens. Gerencia o estado de seleção internamente e emite eventos\n * para o componente pai.\n *\n * @example\n * ```html\n * <s-thumbnails\n *   [items]=\"miniaturas\"\n *   [selectable]=\"true\"\n *   [(selection)]=\"itensSelecionados\"\n *   (itemOpened)=\"onItemAberto($event)\" />\n * ```\n *\n * @category Data\n */\n@Component({\n    selector: 's-thumbnails',\n    templateUrl: './thumbnails.component.html',\n    styleUrls: ['./thumbnails.component.scss'],\n})\nexport class ThumbnailsComponent {\n    /** @description Lista de itens exibidos na galeria. @default [] */\n    @Input()\n    public items: ThumbnailsItem[] = [];\n\n    /** @description Habilita a seleção de itens. @default true */\n    @Input()\n    public selectable = true;\n\n    /** @description Quando `true`, combina o evento de checkbox com o de seleção. @default true */\n    @Input() combineCheckboxEvent = true;\n\n    /**\n     * @description Lista de itens atualmente selecionados. Suporta two-way binding.\n     * @default []\n     */\n    @Input()\n    public set selection(items: ThumbnailsItem[]) {\n        this._selection = [...items];\n    }\n\n    /** @description Emitido quando a seleção de itens muda. */\n    @Output()\n    public selectionChange = new EventEmitter<ThumbnailsItem[]>();\n\n    /** @description Emitido quando o usuário abre um item (clique duplo ou ação de abrir). */\n    @Output()\n    public itemOpened = new EventEmitter<ThumbnailsItem>();\n\n    private _selection: ThumbnailsItem[] = [];\n\n    public onItemOpened(item: ThumbnailsItem): void {\n        this.itemOpened.emit(item);\n    }\n\n    public onItemSelected(items: { item: ThumbnailsItem; selected: boolean }): void {\n        if (items.selected) {\n            this._selection.push(items.item);\n        } else {\n            this._selection.splice(\n                this._selection.findIndex((item) => item === items.item),\n                1,\n            );\n        }\n\n        this.selectionChange.emit(this._selection);\n    }\n\n    public isSelected(item: ThumbnailsItem) {\n        return this._selection.some((i: ThumbnailsItem) => i.id === item.id);\n    }\n}\n\n","<div class=\"thumbnails\">\n    @for(item of items; track $index) {\n        <s-thumbnail-item\n            [combineCheckboxEvent]=\"combineCheckboxEvent\"\n            [itemData]=\"item\"\n            [isCheckable]=\"selectable\"\n            [isChecked]=\"isSelected(item)\"\n            (checked)=\"onItemSelected($event)\"\n            (opened)=\"onItemOpened($event)\">\n        </s-thumbnail-item>\n    }\n</div>\n","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\n\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { CheckboxListModule } from \"@seniorsistemas/angular-components/checkbox-list\";\nimport { ThumbnailItemImageComponent } from \"./components/thumbnail-item/components/thumbnail-item-image/thumbnail-item-image.component\";\nimport { ThumbnailItemVideoComponent } from \"./components/thumbnail-item/components/thumbnail-item-video/thumbnail-item-video.component\";\nimport { ThumbnailItemComponent } from \"./components/thumbnail-item/thumbnail-item.component\";\nimport { ThumbnailsComponent } from \"./thumbnails.component\";\n\n@NgModule({\n    imports: [CommonModule, ReactiveFormsModule, TranslateModule, CheckboxListModule],\n    declarations: [ThumbnailsComponent, ThumbnailItemComponent, ThumbnailItemVideoComponent, ThumbnailItemImageComponent],\n    exports: [ThumbnailsComponent],\n})\nexport class ThumbnailsModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i4.ThumbnailItemVideoComponent","i5.ThumbnailItemImageComponent","i6","i1.ThumbnailItemComponent"],"mappings":"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"}