import { FocusMonitor } from '@angular/cdk/a11y';
import { isPlatformBrowser } from '@angular/common';
import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, inject, input, Input, Output, PLATFORM_ID, QueryList, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';
import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
import { ErrorStateMatcher, ruRULocaleData } from '@koobiq/components/core';
import { KbqHint } from '@koobiq/components/form-field';
import { BehaviorSubject, skip } from 'rxjs';
import { KBQ_FILE_UPLOAD_CONFIGURATION, KbqFileUploadBase } from './file-upload';
import * as i0 from "@angular/core";
import * as i1 from "@koobiq/components/progress-spinner";
import * as i2 from "@koobiq/components/icon";
import * as i3 from "@koobiq/components/list";
import * as i4 from "@koobiq/components/ellipsis-center";
import * as i5 from "@koobiq/components/link";
import * as i6 from "@angular/common";
import * as i7 from "./file-drop";
import * as i8 from "@koobiq/components/core";
let nextMultipleFileUploadUniqueId = 0;
export const KBQ_MULTIPLE_FILE_UPLOAD_DEFAULT_CONFIGURATION = ruRULocaleData.fileUpload.multiple;
const fileSizeCellPadding = 16;
export class KbqMultipleFileUploadComponent extends KbqFileUploadBase {
    get files() {
        return this._files;
    }
    set files(currentFileList) {
        this._files = currentFileList;
        this.cvaOnChange(this._files);
        this.cdr.markForCheck();
    }
    /** @docs-private */
    get acceptedFiles() {
        return this.accept?.join(',') || '*/*';
    }
    /**
     * @deprecated use `FormControl.errors`
     */
    get hasErrors() {
        return this.errors && !!this.errors.length;
    }
    /** @docs-private */
    get hasHint() {
        return this.hint.length > 0;
    }
    /**
     * Indicates an invalid state based on `errorState`,
     * applying a CSS class in HTML for visual feedback.
     * @docs-private
     */
    get invalid() {
        return this.errorState;
    }
    /**
     * Set maxWidth for filesize cell to enable proper ellipsis center,
     * @docs-private
     */
    get fileSizeCellMaxWidth() {
        return this.fileSizeHeaderCell?.nativeElement.offsetWidth - fileSizeCellPadding;
    }
    constructor() {
        super();
        /**
         * A value responsible for progress spinner type.
         * Loading logic depends on selected mode */
        this.progressMode = 'determinate';
        /**
         * @deprecated use `FormControl.errors`
         */
        this.errors = [];
        this.size = 'default';
        /**
         * custom ID for the file input element.
         */
        this.inputId = `kbq-multiple-file-upload-${nextMultipleFileUploadUniqueId++}`;
        this._files = [];
        /** Optional configuration to override default labels with localized text.*/
        this.localeConfig = input();
        /** Emits an event containing updated file list.
         * public output will be renamed to filesChange in next major release (#DS-3700) */
        this.filesChange = new EventEmitter();
        /**
         * Emits an event containing a chunk of files added to the file list.
         * Useful when handling added files, skipping filtering file list.
         */
        this.filesAdded = new EventEmitter();
        /**
         * Emits an event containing a tuple of file and file's index when removed from the file list.
         * Useful when handle removed files, skipping filtering file list.
         */
        this.fileRemoved = new EventEmitter();
        /** @docs-private */
        this.hasFocus = false;
        /** cvaOnChange function registered via registerOnChange (ControlValueAccessor).
         * @docs-private
         */
        this.cvaOnChange = (_) => { };
        /** onTouch function registered via registerOnTouch (ControlValueAccessor).
         * @docs-private */
        this.onTouched = () => { };
        /** @docs-private */
        this.configuration = inject(KBQ_FILE_UPLOAD_CONFIGURATION, {
            optional: true
        });
        this.focusMonitor = inject(FocusMonitor);
        this.platformId = inject(PLATFORM_ID);
        this.updateLocaleParams = () => {
            this.config = this.buildConfig(this.configuration || this.localeService?.getParams('fileUpload').multiple);
            this.columnDefs = [
                { header: this.config.gridHeaders.file, cssClass: 'file' },
                { header: this.config.gridHeaders.size, cssClass: 'size' },
                { header: '', cssClass: 'action' }
            ];
            this.getCaptionText();
            this.cdr.markForCheck();
        };
        this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);
        if (!this.localeService) {
            this.initDefaultParams();
        }
        if (this.ngControl) {
            // Note: we provide the value accessor through here, instead of
            // the `providers` to avoid running into a circular import.
            this.ngControl.valueAccessor = this;
        }
        toObservable(this.localeConfig)
            .pipe(skip(1), takeUntilDestroyed())
            .subscribe(() => (this.localeService ? this.updateLocaleParams() : this.initDefaultParams()));
    }
    ngDoCheck() {
        if (this.ngControl) {
            // We need to re-evaluate this on every change detection cycle, because there are some
            // error triggers that we can't subscribe to (e.g. parent form submissions). This means
            // that whatever logic is in here has to be super lean or we risk destroying the performance.
            this.updateErrorState();
        }
    }
    ngAfterViewInit() {
        // FormControl specific errors update
        this.ngControl?.statusChanges?.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => {
            this.errors = Object.values(this.ngControl?.errors || {});
            this.cdr.markForCheck();
        });
        this.stateChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe(() => this.cdr.markForCheck());
    }
    /** Implemented as part of ControlValueAccessor.
     * @docs-private */
    writeValue(files) {
        // @TODO: remove FileList from arguments since it redundant. It resolves SSR (#DS-4414)
        if (!isPlatformBrowser(this.platformId))
            return;
        this.files = files instanceof FileList || !files ? this.mapToFileItem(files) : files;
        this.filesChange.emit(this.files);
    }
    /** Implemented as part of ControlValueAccessor.
     * @docs-private */
    registerOnChange(fn) {
        this.cvaOnChange = fn;
    }
    /** Implemented as part of ControlValueAccessor.
     * @docs-private */
    registerOnTouched(fn) {
        this.onTouched = fn;
    }
    /**
     * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
     * @param isDisabled Whether the control should be disabled.
     * @docs-private
     */
    setDisabledState(isDisabled) {
        this.disabled = isDisabled;
        this.cdr.markForCheck();
    }
    /** @docs-private */
    onFileSelectedViaClick({ target }) {
        if (this.disabled) {
            return;
        }
        const filesToAdd = this.mapToFileItem(target.files);
        this.files = [
            ...this.files,
            ...filesToAdd
        ];
        this.filesAdded.emit(filesToAdd);
        this.filesChange.emit(this.files);
        this.onTouched();
        // allows the same file selection every time user clicks on the control.
        this.renderer.setProperty(target, 'value', null);
    }
    /** @docs-private */
    onFileDropped(files) {
        if (this.disabled) {
            return;
        }
        const filesToAdd = this.mapToFileItem(files);
        this.files = [
            ...this.files,
            ...filesToAdd
        ];
        this.filesAdded.emit(filesToAdd);
        this.filesChange.emit(this.files);
        this.onTouched();
    }
    /** @docs-private */
    deleteFile(index, event) {
        if (this.disabled)
            return;
        event?.stopPropagation();
        const removedFile = this.files.splice(index, 1)[0];
        this.files = [...this.files];
        this.fileRemoved.emit([removedFile, index]);
        this.filesChange.emit(this.files);
        this.onTouched();
        if (this.files.length === 0) {
            setTimeout(() => {
                this.focusMonitor.focusVia(this.input, 'keyboard');
            });
            return;
        }
    }
    mapToFileItem(files) {
        if (!files) {
            return [];
        }
        return Array.from(files).map((file) => ({
            file,
            hasError: this.validateFile(file),
            loading: new BehaviorSubject(false),
            progress: new BehaviorSubject(0)
        }));
    }
    validateFile(file) {
        if (!this.customValidation?.length) {
            return;
        }
        const errorsPerFile = this.customValidation
            .reduce((errors, validatorFn) => {
            errors.push(validatorFn(file));
            return errors;
        }, [])
            .filter(Boolean);
        this.errors = [
            ...this.errors,
            ...errorsPerFile
        ];
        return !!errorsPerFile.length;
    }
    initDefaultParams() {
        this.config = this.buildConfig(KBQ_MULTIPLE_FILE_UPLOAD_DEFAULT_CONFIGURATION);
        this.columnDefs = [
            { header: this.config.gridHeaders.file, cssClass: 'file' },
            { header: this.config.gridHeaders.size, cssClass: 'size' },
            { header: '', cssClass: 'action' }
        ];
        this.getCaptionText();
    }
    getCaptionText() {
        this.separatedCaptionText = this.config.captionText.split('{{ browseLink }}');
        this.separatedCaptionTextWhenSelected = this.config.captionTextWhenSelected.split('{{ browseLink }}');
        this.separatedCaptionTextForCompactSize = this.config.captionTextForCompactSize.split('{{ browseLink }}');
    }
    /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqMultipleFileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
    /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: KbqMultipleFileUploadComponent, selector: "kbq-multiple-file-upload,kbq-file-upload[multiple]", inputs: { progressMode: { classPropertyName: "progressMode", publicName: "progressMode", isSignal: false, isRequired: false, transformFunction: null }, accept: { classPropertyName: "accept", publicName: "accept", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: false, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, customValidation: { classPropertyName: "customValidation", publicName: "customValidation", isSignal: false, isRequired: false, transformFunction: null }, errorStateMatcher: { classPropertyName: "errorStateMatcher", publicName: "errorStateMatcher", isSignal: false, isRequired: false, transformFunction: null }, files: { classPropertyName: "files", publicName: "files", isSignal: false, isRequired: false, transformFunction: null }, localeConfig: { classPropertyName: "localeConfig", publicName: "localeConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { filesChange: "fileQueueChanged", filesAdded: "filesAdded", fileRemoved: "fileRemoved" }, host: { classAttribute: "kbq-multiple-file-upload" }, queries: [{ propertyName: "customFileIcon", first: true, predicate: ["kbqFileIcon"], descendants: true, read: TemplateRef }, { propertyName: "hint", predicate: KbqHint }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "fileSizeHeaderCell", first: true, predicate: ["fileSizeHeaderCell"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n    kbqFileDrop\n    class=\"kbq-file-upload\"\n    [class.kbq-disabled]=\"disabled\"\n    [class.kbq-error]=\"invalid\"\n    [class.kbq-selected]=\"files?.length\"\n    [class.kbq-file-upload_default]=\"size === 'default'\"\n    [class.kbq-file-upload_compact]=\"size === 'compact'\"\n    (filesDropped)=\"onFileDropped($event)\"\n>\n    @if (!files.length) {\n        <div class=\"kbq-file-dropzone\">\n            @if (size === 'default') {\n                <i kbq-icon=\"kbq-cloud-arrow-up-o_32\" class=\"kbq-file-dropzone__icon\"></i>\n                <div class=\"kbq-file-dropzone__text\">\n                    <div class=\"kbq-file-multiple__header\">{{ config.title }}</div>\n                    <div>\n                        <!-- prettier-ignore -->\n                        <div class=\"kbq-file-multiple__caption\">{{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\" /></label>{{ separatedCaptionText[1] }}</div>\n                    </div>\n                </div>\n            } @else {\n                <i kbq-icon=\"kbq-cloud-arrow-up-o_24\" class=\"kbq-file-dropzone__icon\"></i>\n                <span class=\"kbq-file-dropzone__text kbq-file-multiple__caption\">\n                    {{ separatedCaptionTextForCompactSize[0] }}\n                    <label kbq-link pseudo [disabled]=\"disabled\" [for]=\"inputId\" [tabIndex]=\"-1\">\n                        {{ config.browseLink }}\n                        <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n                    </label>\n                    {{ separatedCaptionTextForCompactSize[1] }}\n                </span>\n            }\n        </div>\n    } @else {\n        <div class=\"kbq-file-upload__dropzone\">\n            <div class=\"kbq-file-upload__grid\">\n                <div class=\"kbq-file-multiple-uploaded__header\">\n                    <div class=\"kbq-file-multiple-uploaded__header-inner\">\n                        <div #fileSizeHeaderCell class=\"kbq-file-upload__file kbq-file-upload__grid-cell\">\n                            {{ config.gridHeaders.file }}\n                        </div>\n                        <div class=\"kbq-file-upload__size kbq-file-upload__grid-cell\">\n                            {{ config.gridHeaders.size }}\n                        </div>\n                        <div class=\"kbq-file-upload__action kbq-file-upload__grid-cell\"></div>\n                    </div>\n                </div>\n                <kbq-list-selection [autoSelect]=\"false\" [disabled]=\"disabled\">\n                    @for (file of files; track file; let index = $index) {\n                        <kbq-list-option\n                            class=\"kbq-file-multiple__uploaded-item\"\n                            [value]=\"file.file.name\"\n                            (keydown.backspace)=\"deleteFile(index)\"\n                            (keydown.delete)=\"deleteFile(index)\"\n                        >\n                            <div class=\"kbq-file-upload__row\" [class.kbq-error]=\"file.hasError\">\n                                <div\n                                    class=\"kbq-file-upload__file kbq-file-upload__grid-cell\"\n                                    [style.max-width.px]=\"fileSizeCellMaxWidth\"\n                                >\n                                    @if (\n                                        { loading: file.loading | async, progress: file.progress | async };\n                                        as asyncData\n                                    ) {\n                                        @if (!asyncData.loading) {\n                                            <ng-container\n                                                [ngTemplateOutlet]=\"$any(customFileIcon)\"\n                                                [ngTemplateOutletContext]=\"{ $implicit: file }\"\n                                            />\n                                        }\n                                        @if (asyncData.loading) {\n                                            <kbq-progress-spinner\n                                                class=\"kbq-file-upload-name-cell__icon\"\n                                                [mode]=\"progressMode\"\n                                                [value]=\"asyncData.progress || 0\"\n                                            />\n                                        }\n                                    }\n                                    <span\n                                        class=\"kbq-file-item__text\"\n                                        [debounceInterval]=\"0\"\n                                        [kbqEllipsisCenter]=\"file.file.name\"\n                                    ></span>\n                                </div>\n                                <div class=\"kbq-file-upload__size kbq-file-upload__grid-cell\">\n                                    {{ file.file.size | kbqDataSize }}\n                                </div>\n                                <div\n                                    class=\"kbq-file-upload__action kbq-file-upload__grid-cell\"\n                                    (click)=\"deleteFile(index, $event)\"\n                                >\n                                    <i kbq-icon-button=\"kbq-xmark-circle_16\" tabindex=\"-1\" [disabled]=\"disabled\"></i>\n                                </div>\n                            </div>\n                        </kbq-list-option>\n                    }\n                </kbq-list-selection>\n            </div>\n            <div class=\"kbq-file-btn-upload\">\n                <div class=\"kbq-file-dropzone\">\n                    <i kbq-icon=\"kbq-cloud-arrow-up-o_24\" class=\"kbq-file-dropzone__icon\"></i>\n                    <span class=\"kbq-file-dropzone__text kbq-file-multiple__caption\">\n                        {{ separatedCaptionTextWhenSelected[0] }}\n                        <label kbq-link pseudo [disabled]=\"disabled\" [for]=\"inputId\" [tabIndex]=\"-1\">\n                            {{ config.browseLink }}\n                            <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n                        </label>\n                        {{ separatedCaptionTextWhenSelected[1] }}\n                    </span>\n                </div>\n            </div>\n        </div>\n    }\n</div>\n\n@if (hasHint) {\n    <div class=\"kbq-file-upload__hint\">\n        <ng-content select=\"kbq-hint\" />\n    </div>\n}\n\n<ng-template #inputTemplate>\n    <input\n        #input\n        multiple\n        tabindex=\"0\"\n        type=\"file\"\n        class=\"cdk-visually-hidden\"\n        [accept]=\"acceptedFiles\"\n        [disabled]=\"disabled\"\n        [id]=\"inputId\"\n        (change)=\"onFileSelectedViaClick($event)\"\n    />\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .kbq-file-dropzone,.kbq-file-upload .kbq-file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .kbq-ellipsis-center_data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .kbq-ellipsis-center_data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}.kbq-file-upload__hint .kbq-hint{margin-top:var(--kbq-size-xxs)}.kbq-single-file-upload .kbq-file-upload{background-color:var(--kbq-file-upload-single-default-container-background);border-color:var(--kbq-file-upload-single-default-container-border)!important}.kbq-single-file-upload .kbq-file-upload .kbq-focused,.kbq-single-file-upload .kbq-file-upload .kbq-link.kbq-focused{border:2px solid var(--kbq-file-upload-single-states-focused-focus-outline-color)}.kbq-single-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-upload__action{color:var(--kbq-file-upload-single-default-icon-button-color)}.kbq-single-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-dropzone__icon{color:var(--kbq-file-upload-single-default-upload-icon-color)}.kbq-single-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-item__text-wrapper .kbq-icon.kbq-empty{color:var(--kbq-file-upload-single-default-left-icon-color)}.kbq-single-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-item__size{color:var(--kbq-file-upload-single-default-file-size-text-color)}.kbq-single-file-upload .kbq-file-upload.kbq-file-drop_dragover{background-color:var(--kbq-file-upload-single-states-on-drag-container-background);border-color:var(--kbq-file-upload-single-states-on-drag-container-border)!important}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled):not(.kbq-file-drop_dragover){background-color:var(--kbq-file-upload-single-states-error-container-background);border-color:var(--kbq-file-upload-single-states-error-container-border)!important}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-dropzone__icon{color:var(--kbq-file-upload-single-states-error-upload-icon-color)}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-item__text-wrapper .kbq-icon.kbq-empty{color:var(--kbq-file-upload-single-states-error-left-icon-color)}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-item__text,.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-dropzone__text:not(.kbq-link){color:var(--kbq-file-upload-single-states-error-text-block-color)}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-item__size{color:var(--kbq-file-upload-single-states-error-file-size-text-color)}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-upload__action{color:var(--kbq-file-upload-single-states-error-icon-button-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled{background-color:var(--kbq-file-upload-single-states-disabled-container-background);border-color:var(--kbq-file-upload-single-states-disabled-container-border)!important}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-dropzone__icon{color:var(--kbq-file-upload-single-states-disabled-upload-icon-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-item__text-wrapper .kbq-icon.kbq-empty{color:var(--kbq-file-upload-single-states-disabled-left-icon-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-dropzone__text,.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-item__text{color:var(--kbq-file-upload-single-states-disabled-text-block-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-item__size{color:var(--kbq-file-upload-single-states-disabled-file-size-text-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-upload__action{color:var(--kbq-file-upload-single-states-disabled-icon-button-color)}.kbq-multiple-file-upload .kbq-file-upload{background-color:var(--kbq-file-upload-multiple-default-container-background);border-color:var(--kbq-file-upload-multiple-default-container-border)!important}.kbq-multiple-file-upload .kbq-file-upload .kbq-focused:not(.kbq-list-option),.kbq-multiple-file-upload .kbq-file-upload .kbq-link.kbq-focused{border:2px solid var(--kbq-file-upload-multiple-states-focused-focus-outline-color)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-btn-upload{border-top-color:var(--kbq-file-upload-multiple-default-container-border)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header{color:var(--kbq-foreground-contrast-secondary);border-bottom-color:var(--kbq-file-upload-multiple-default-grid-divider-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-dropzone__icon{color:var(--kbq-file-upload-multiple-default-upload-icon-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-drop_dragover{background-color:var(--kbq-file-upload-multiple-states-on-drag-container-background);border-color:var(--kbq-file-upload-multiple-states-on-drag-container-border)!important}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-drop_dragover .kbq-file-btn-upload{border-top-color:var(--kbq-file-upload-multiple-states-on-drag-container-border)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-drop_dragover .kbq-file-multiple-uploaded__header{border-bottom-color:var(--kbq-file-upload-multiple-states-on-drag-grid-divider-color)!important}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-drop_dragover .kbq-file-dropzone__icon{color:var(--kbq-file-upload-multiple-states-on-drag-upload-icon-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled{background-color:var(--kbq-file-upload-multiple-states-disabled-container-background);border-color:var(--kbq-file-upload-multiple-states-disabled-container-border)!important}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-dropzone__icon{color:var(--kbq-file-upload-multiple-states-disabled-upload-icon-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-dropzone__text,.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple-uploaded__header{color:var(--kbq-file-upload-multiple-states-disabled-text-block-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple-uploaded__header{border-bottom-color:var(--kbq-file-upload-multiple-states-disabled-grid-divider-color)!important}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple__uploaded-item .kbq-file-upload__file .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-states-disabled-left-icon-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple__uploaded-item .kbq-file-item__text,.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple__uploaded-item .kbq-file-upload__size{color:var(--kbq-file-upload-multiple-states-disabled-text-block-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple__uploaded-item .kbq-file-upload__action .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-states-disabled-icon-button-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled).kbq-error{background-color:var(--kbq-background-error-less);border-color:var(--kbq-line-error)!important}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled).kbq-error .kbq-file-dropzone__icon{color:var(--kbq-file-upload-multiple-states-error-upload-icon-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled).kbq-error .kbq-file-dropzone__text:not(.kbq-link),.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled).kbq-error .kbq-file-multiple-uploaded__header{color:var(--kbq-file-upload-multiple-states-error-text-block-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error){background-color:var(--kbq-background-error-less)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error) .kbq-file-item__text,.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error) .kbq-file-upload__size{color:var(--kbq-foreground-error)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error) .kbq-file-upload__file .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-states-error-left-icon-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error) .kbq-file-upload__action .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-states-error-icon-button-color)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple__uploaded-item .kbq-file-upload__file .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-default-left-icon-color)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple__uploaded-item .kbq-file-upload__size{color:var(--kbq-file-upload-multiple-default-file-size-text-color)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple__uploaded-item .kbq-file-upload__action .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-default-icon-button-color)}:where(.kbq-file-upload__hint .kbq-hint){color:var(--kbq-foreground-contrast-secondary)}.kbq-file-upload,.kbq-single-file-upload .kbq-file-item__text-wrapper,.kbq-single-file-upload .kbq-file-dropzone__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-multiple-file-upload .kbq-file-multiple__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-multiple-file-upload .kbq-file-multiple__caption,.kbq-multiple-file-upload .kbq-file-multiple__caption .kbq-link,.kbq-multiple-file-upload .kbq-file-multiple-uploaded__header,.kbq-multiple-file-upload .kbq-file-multiple__uploaded-item,.kbq-multiple-file-upload .kbq-file-upload .kbq-list-item,.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-file-upload__hint .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ":where(.kbq-file-upload){--kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary)}:where(.kbq-single-file-upload){--kbq-file-upload-size-single-container-border-radius: var(--kbq-size-s);--kbq-file-upload-size-single-container-border-width: 1px;--kbq-file-upload-size-single-container-content-gap-horizontal: var(--kbq-size-s);--kbq-file-upload-size-single-container-padding-vertical: var(--kbq-size-m);--kbq-file-upload-size-single-container-padding-horizontal: var(--kbq-size-m);--kbq-file-upload-size-single-text-block-padding-vertical: var(--kbq-size-3xs);--kbq-file-upload-size-single-text-block-content-gap-horizontal: var(--kbq-size-xxs);--kbq-file-upload-single-min-height: var(--kbq-size-5xl);--kbq-file-upload-single-default-container-border: var(--kbq-line-contrast-fade);--kbq-file-upload-single-default-container-background: var(--kbq-background-bg);--kbq-file-upload-single-default-upload-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-single-default-left-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-single-default-text-block-color: var(--kbq-foreground-contrast);--kbq-file-upload-single-default-icon-button-color: var(--kbq-icon-contrast);--kbq-file-upload-single-default-file-size-text-color: var(--kbq-foreground-contrast-secondary);--kbq-file-upload-single-states-on-drag-container-border: var(--kbq-line-theme-fade);--kbq-file-upload-single-states-on-drag-container-background: var(--kbq-background-theme-fade);--kbq-file-upload-single-states-on-drag-upload-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-single-states-on-drag-left-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-single-states-on-drag-text-block-color: var(--kbq-foreground-contrast);--kbq-file-upload-single-states-error-container-border: var(--kbq-line-error);--kbq-file-upload-single-states-error-container-background: var(--kbq-background-error-less);--kbq-file-upload-single-states-error-upload-icon-color: var(--kbq-icon-error);--kbq-file-upload-single-states-error-left-icon-color: var(--kbq-icon-error);--kbq-file-upload-single-states-error-text-block-color: var(--kbq-foreground-error);--kbq-file-upload-single-states-error-icon-button-color: var(--kbq-icon-error);--kbq-file-upload-single-states-error-file-size-text-color: var(--kbq-foreground-error);--kbq-file-upload-single-states-disabled-container-border: var(--kbq-states-line-disabled);--kbq-file-upload-single-states-disabled-container-background: var(--kbq-states-background-disabled);--kbq-file-upload-single-states-disabled-upload-icon-color: var(--kbq-states-icon-disabled);--kbq-file-upload-single-states-disabled-left-icon-color: var(--kbq-states-icon-disabled);--kbq-file-upload-single-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-file-upload-single-states-disabled-text-block-color: var(--kbq-states-foreground-disabled);--kbq-file-upload-single-states-disabled-file-size-text-color: var(--kbq-states-foreground-disabled);--kbq-file-upload-single-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme)}:where(.kbq-multiple-file-upload){--kbq-file-upload-size-multiple-big-container-min-height: 192px;--kbq-file-upload-size-multiple-big-container-min-width: 320px;--kbq-file-upload-size-multiple-big-container-border-radius: var(--kbq-size-s);--kbq-file-upload-size-multiple-big-container-border-width: 1px;--kbq-file-upload-size-multiple-big-container-content-gap-horizontal: var(--kbq-size-m);--kbq-file-upload-size-multiple-big-container-padding-vertical: var(--kbq-size-xxl);--kbq-file-upload-size-multiple-big-container-padding-horizontal: var(--kbq-size-xxl);--kbq-file-upload-size-multiple-big-dropzone-content-gap-horizontal: var(--kbq-size-s);--kbq-file-upload-size-multiple-big-text-block-content-gap-vertical: 0px;--kbq-file-upload-size-multiple-big-text-block-content-gap-horizontal: var(--kbq-size-xxs);--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal: var(--kbq-size-s);--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical: var(--kbq-size-s);--kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal: var(--kbq-size-xxs);--kbq-file-upload-size-multiple-big-grid-cell-file-size-width: var(--kbq-size-7xl);--kbq-file-upload-multiple-default-container-border: var(--kbq-line-contrast-fade);--kbq-file-upload-multiple-default-container-background: var(--kbq-background-bg);--kbq-file-upload-multiple-default-upload-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-multiple-default-left-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-multiple-default-text-block-color: var(--kbq-foreground-contrast);--kbq-file-upload-multiple-default-icon-button-color: var(--kbq-icon-contrast);--kbq-file-upload-multiple-default-grid-divider-color: var(--kbq-line-contrast-less);--kbq-file-upload-multiple-default-file-size-text-color: var(--kbq-foreground-contrast-secondary);--kbq-file-upload-multiple-states-on-drag-container-border: var(--kbq-line-theme-fade);--kbq-file-upload-multiple-states-on-drag-container-background: var(--kbq-background-theme-fade);--kbq-file-upload-multiple-states-on-drag-upload-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-multiple-states-on-drag-left-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-multiple-states-on-drag-icon-button-color: var(--kbq-icon-contrast);--kbq-file-upload-multiple-states-on-drag-text-block-color: var(--kbq-foreground-contrast);--kbq-file-upload-multiple-states-on-drag-grid-divider-color: var(--kbq-line-contrast-less);--kbq-file-upload-multiple-states-error-grid-cell-background: var(--kbq-background-error-less);--kbq-file-upload-multiple-states-error-upload-icon-color: var(--kbq-icon-error);--kbq-file-upload-multiple-states-error-left-icon-color: var(--kbq-icon-error);--kbq-file-upload-multiple-states-error-text-block-color: var(--kbq-foreground-error);--kbq-file-upload-multiple-states-error-icon-button-color: var(--kbq-icon-error);--kbq-file-upload-multiple-states-disabled-container-border: var(--kbq-states-line-disabled);--kbq-file-upload-multiple-states-disabled-container-background: var(--kbq-states-background-disabled);--kbq-file-upload-multiple-states-disabled-upload-icon-color: var(--kbq-states-icon-disabled);--kbq-file-upload-multiple-states-disabled-left-icon-color: var(--kbq-states-icon-disabled);--kbq-file-upload-multiple-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-file-upload-multiple-states-disabled-text-block-color: var(--kbq-states-foreground-disabled);--kbq-file-upload-multiple-states-disabled-grid-divider-color: var(--kbq-states-line-disabled);--kbq-file-upload-multiple-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme)}:where(.kbq-file-upload.kbq-file-upload_compact){--kbq-file-upload-multiple-compact-container-content-gap-horizontal: var(--kbq-size-s);--kbq-file-upload-multiple-compact-text-block-padding-vertical: var(--kbq-size-3xs);--kbq-file-upload-multiple-compact-container-padding-vertical: 11px;--kbq-file-upload-multiple-compact-container-padding-horizontal: 11px}\n", ".kbq-multiple-file-upload .kbq-file-upload{border-radius:var(--kbq-file-upload-size-multiple-big-container-border-radius);border-width:var(--kbq-file-upload-size-multiple-big-container-border-width);border-style:dashed}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_default:not(.kbq-selected){justify-content:center;padding:var(--kbq-file-upload-size-multiple-big-container-padding-vertical) var(--kbq-file-upload-size-multiple-big-container-padding-vertical);min-height:var(--kbq-file-upload-size-multiple-big-container-min-height);min-width:var(--kbq-file-upload-size-multiple-big-container-min-width)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_default:not(.kbq-selected) .kbq-file-dropzone{gap:var(--kbq-file-upload-size-multiple-big-container-content-gap-horizontal)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_default:not(.kbq-selected) .kbq-file-dropzone__text .kbq-file-multiple__caption{padding-top:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-vertical)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_compact:not(.kbq-selected){padding:var(--kbq-file-upload-multiple-compact-container-padding-vertical) var(--kbq-file-upload-multiple-compact-container-padding-horizontal)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_compact:not(.kbq-selected) .kbq-file-dropzone{gap:var(--kbq-file-upload-multiple-compact-container-content-gap-horizontal)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_compact:not(.kbq-selected) .kbq-file-dropzone .kbq-file-dropzone__text.kbq-file-multiple__caption{padding-top:var(--kbq-file-upload-multiple-compact-text-block-padding-vertical);padding-bottom:var(--kbq-file-upload-multiple-compact-text-block-padding-vertical)}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.kbq-file-multiple__uploaded-item{border-radius:0;padding:0 calc(var(--kbq-size-3xs) - var(--kbq-file-upload-size-multiple-big-container-border-width))}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.kbq-file-multiple__uploaded-item .kbq-icon{margin-right:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__grid{min-height:144px}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__file,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{flex-grow:1}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__size,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__size{width:var(--kbq-file-upload-size-multiple-big-grid-cell-file-size-width);min-width:var(--kbq-file-upload-size-multiple-big-grid-cell-file-size-width);max-width:var(--kbq-file-upload-size-multiple-big-grid-cell-file-size-width);flex-grow:1;flex-shrink:1;text-align:left}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__grid-cell{padding:0 var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{display:flex;align-items:center;gap:var(--kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file .kbq-file-item__text{width:90%}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__action{display:flex;justify-content:center;align-items:center;padding-top:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical) - var(--kbq-size-3xs));padding-bottom:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal) - var(--kbq-size-3xs));min-height:var(--kbq-size-xxl);min-width:var(--kbq-size-xxl)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header{margin:-1px;border-bottom-width:var(--kbq-file-upload-size-multiple-big-container-border-width);border-bottom-style:solid;padding:0 var(--kbq-size-xxs)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header .kbq-file-upload__grid-cell{padding:10px var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal) calc(10px - var(--kbq-file-upload-size-multiple-big-container-border-width)) var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header .kbq-file-upload__action{min-height:var(--kbq-size-xxl);min-width:var(--kbq-size-xxl);padding:var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal) var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical) - var(--kbq-file-upload-size-multiple-big-container-border-width))}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-btn-upload{margin:-1px;padding:calc(var(--kbq-size-m) - var(--kbq-file-upload-size-multiple-big-container-border-width)) var(--kbq-size-m) var(--kbq-size-m) var(--kbq-size-m);border-top-width:var(--kbq-file-upload-size-multiple-big-container-border-width);border-top-style:dashed}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-btn-upload .kbq-file-dropzone{gap:var(--kbq-file-upload-size-multiple-big-dropzone-content-gap-horizontal)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__dropzone{width:100%;height:100%}\n"], dependencies: [{ kind: "component", type: i1.KbqProgressSpinner, selector: "kbq-progress-spinner", inputs: ["id", "value", "mode", "size"] }, { kind: "component", type: i2.KbqIcon, selector: "[kbq-icon]", inputs: ["small", "autoColor", "kbq-icon"] }, { kind: "component", type: i2.KbqIconButton, selector: "[kbq-icon-button]", inputs: ["small", "kbq-icon-button", "tabindex", "disabled"] }, { kind: "component", type: i3.KbqListSelection, selector: "kbq-list-selection", inputs: ["autoSelect", "noUnselectLast", "horizontal", "tabIndex", "disabled", "compareWith"], outputs: ["onSelectAll", "onCopy", "selectionChange"], exportAs: ["kbqListSelection"] }, { kind: "component", type: i3.KbqListOption, selector: "kbq-list-option", inputs: ["checkboxPosition", "value", "disabled", "showCheckbox", "selected"], exportAs: ["kbqListOption"] }, { kind: "directive", type: i4.KbqEllipsisCenterDirective, selector: "[kbqEllipsisCenter]", inputs: ["kbqEllipsisCenter", "minVisibleLength", "charWidth", "debounceInterval"] }, { kind: "directive", type: i5.KbqLink, selector: "[kbq-link]", inputs: ["disabled", "tabIndex", "pseudo", "noUnderline", "big", "compact", "useVisited", "print"], exportAs: ["kbqLink"] }, { kind: "directive", type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i7.KbqFileDropDirective, selector: "[kbqFileDrop]", outputs: ["filesDropped"], exportAs: ["kbqFileDrop"] }, { kind: "pipe", type: i8.KbqDataSizePipe, name: "kbqDataSize" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqMultipleFileUploadComponent, decorators: [{
            type: Component,
            args: [{ selector: 'kbq-multiple-file-upload,kbq-file-upload[multiple]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
                        class: 'kbq-multiple-file-upload'
                    }, template: "<div\n    kbqFileDrop\n    class=\"kbq-file-upload\"\n    [class.kbq-disabled]=\"disabled\"\n    [class.kbq-error]=\"invalid\"\n    [class.kbq-selected]=\"files?.length\"\n    [class.kbq-file-upload_default]=\"size === 'default'\"\n    [class.kbq-file-upload_compact]=\"size === 'compact'\"\n    (filesDropped)=\"onFileDropped($event)\"\n>\n    @if (!files.length) {\n        <div class=\"kbq-file-dropzone\">\n            @if (size === 'default') {\n                <i kbq-icon=\"kbq-cloud-arrow-up-o_32\" class=\"kbq-file-dropzone__icon\"></i>\n                <div class=\"kbq-file-dropzone__text\">\n                    <div class=\"kbq-file-multiple__header\">{{ config.title }}</div>\n                    <div>\n                        <!-- prettier-ignore -->\n                        <div class=\"kbq-file-multiple__caption\">{{ separatedCaptionText[0] }}<label kbq-link pseudo [disabled]=\"disabled\" [tabIndex]=\"-1\" [for]=\"inputId\">{{ config.browseLink }}<ng-container *ngTemplateOutlet=\"inputTemplate\" /></label>{{ separatedCaptionText[1] }}</div>\n                    </div>\n                </div>\n            } @else {\n                <i kbq-icon=\"kbq-cloud-arrow-up-o_24\" class=\"kbq-file-dropzone__icon\"></i>\n                <span class=\"kbq-file-dropzone__text kbq-file-multiple__caption\">\n                    {{ separatedCaptionTextForCompactSize[0] }}\n                    <label kbq-link pseudo [disabled]=\"disabled\" [for]=\"inputId\" [tabIndex]=\"-1\">\n                        {{ config.browseLink }}\n                        <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n                    </label>\n                    {{ separatedCaptionTextForCompactSize[1] }}\n                </span>\n            }\n        </div>\n    } @else {\n        <div class=\"kbq-file-upload__dropzone\">\n            <div class=\"kbq-file-upload__grid\">\n                <div class=\"kbq-file-multiple-uploaded__header\">\n                    <div class=\"kbq-file-multiple-uploaded__header-inner\">\n                        <div #fileSizeHeaderCell class=\"kbq-file-upload__file kbq-file-upload__grid-cell\">\n                            {{ config.gridHeaders.file }}\n                        </div>\n                        <div class=\"kbq-file-upload__size kbq-file-upload__grid-cell\">\n                            {{ config.gridHeaders.size }}\n                        </div>\n                        <div class=\"kbq-file-upload__action kbq-file-upload__grid-cell\"></div>\n                    </div>\n                </div>\n                <kbq-list-selection [autoSelect]=\"false\" [disabled]=\"disabled\">\n                    @for (file of files; track file; let index = $index) {\n                        <kbq-list-option\n                            class=\"kbq-file-multiple__uploaded-item\"\n                            [value]=\"file.file.name\"\n                            (keydown.backspace)=\"deleteFile(index)\"\n                            (keydown.delete)=\"deleteFile(index)\"\n                        >\n                            <div class=\"kbq-file-upload__row\" [class.kbq-error]=\"file.hasError\">\n                                <div\n                                    class=\"kbq-file-upload__file kbq-file-upload__grid-cell\"\n                                    [style.max-width.px]=\"fileSizeCellMaxWidth\"\n                                >\n                                    @if (\n                                        { loading: file.loading | async, progress: file.progress | async };\n                                        as asyncData\n                                    ) {\n                                        @if (!asyncData.loading) {\n                                            <ng-container\n                                                [ngTemplateOutlet]=\"$any(customFileIcon)\"\n                                                [ngTemplateOutletContext]=\"{ $implicit: file }\"\n                                            />\n                                        }\n                                        @if (asyncData.loading) {\n                                            <kbq-progress-spinner\n                                                class=\"kbq-file-upload-name-cell__icon\"\n                                                [mode]=\"progressMode\"\n                                                [value]=\"asyncData.progress || 0\"\n                                            />\n                                        }\n                                    }\n                                    <span\n                                        class=\"kbq-file-item__text\"\n                                        [debounceInterval]=\"0\"\n                                        [kbqEllipsisCenter]=\"file.file.name\"\n                                    ></span>\n                                </div>\n                                <div class=\"kbq-file-upload__size kbq-file-upload__grid-cell\">\n                                    {{ file.file.size | kbqDataSize }}\n                                </div>\n                                <div\n                                    class=\"kbq-file-upload__action kbq-file-upload__grid-cell\"\n                                    (click)=\"deleteFile(index, $event)\"\n                                >\n                                    <i kbq-icon-button=\"kbq-xmark-circle_16\" tabindex=\"-1\" [disabled]=\"disabled\"></i>\n                                </div>\n                            </div>\n                        </kbq-list-option>\n                    }\n                </kbq-list-selection>\n            </div>\n            <div class=\"kbq-file-btn-upload\">\n                <div class=\"kbq-file-dropzone\">\n                    <i kbq-icon=\"kbq-cloud-arrow-up-o_24\" class=\"kbq-file-dropzone__icon\"></i>\n                    <span class=\"kbq-file-dropzone__text kbq-file-multiple__caption\">\n                        {{ separatedCaptionTextWhenSelected[0] }}\n                        <label kbq-link pseudo [disabled]=\"disabled\" [for]=\"inputId\" [tabIndex]=\"-1\">\n                            {{ config.browseLink }}\n                            <ng-container *ngTemplateOutlet=\"inputTemplate\" />\n                        </label>\n                        {{ separatedCaptionTextWhenSelected[1] }}\n                    </span>\n                </div>\n            </div>\n        </div>\n    }\n</div>\n\n@if (hasHint) {\n    <div class=\"kbq-file-upload__hint\">\n        <ng-content select=\"kbq-hint\" />\n    </div>\n}\n\n<ng-template #inputTemplate>\n    <input\n        #input\n        multiple\n        tabindex=\"0\"\n        type=\"file\"\n        class=\"cdk-visually-hidden\"\n        [accept]=\"acceptedFiles\"\n        [disabled]=\"disabled\"\n        [id]=\"inputId\"\n        (change)=\"onFileSelectedViaClick($event)\"\n    />\n</ng-template>\n", styles: [".kbq-file-upload{box-sizing:border-box;display:flex;align-items:center;position:relative}.kbq-file-upload .kbq-file-dropzone,.kbq-file-upload .kbq-file-item{display:flex;align-items:center}.kbq-file-upload .kbq-ellipsis-center{position:relative;display:flex}.kbq-file-upload .kbq-ellipsis-center .kbq-ellipsis-center_data-text-start{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:pre}.kbq-file-upload .kbq-ellipsis-center .kbq-ellipsis-center_data-text-end{flex:1 0 auto;overflow:hidden;white-space:pre}.kbq-file-upload__hint .kbq-hint{margin-top:var(--kbq-size-xxs)}.kbq-single-file-upload .kbq-file-upload{background-color:var(--kbq-file-upload-single-default-container-background);border-color:var(--kbq-file-upload-single-default-container-border)!important}.kbq-single-file-upload .kbq-file-upload .kbq-focused,.kbq-single-file-upload .kbq-file-upload .kbq-link.kbq-focused{border:2px solid var(--kbq-file-upload-single-states-focused-focus-outline-color)}.kbq-single-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-upload__action{color:var(--kbq-file-upload-single-default-icon-button-color)}.kbq-single-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-dropzone__icon{color:var(--kbq-file-upload-single-default-upload-icon-color)}.kbq-single-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-item__text-wrapper .kbq-icon.kbq-empty{color:var(--kbq-file-upload-single-default-left-icon-color)}.kbq-single-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-item__size{color:var(--kbq-file-upload-single-default-file-size-text-color)}.kbq-single-file-upload .kbq-file-upload.kbq-file-drop_dragover{background-color:var(--kbq-file-upload-single-states-on-drag-container-background);border-color:var(--kbq-file-upload-single-states-on-drag-container-border)!important}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled):not(.kbq-file-drop_dragover){background-color:var(--kbq-file-upload-single-states-error-container-background);border-color:var(--kbq-file-upload-single-states-error-container-border)!important}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-dropzone__icon{color:var(--kbq-file-upload-single-states-error-upload-icon-color)}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-item__text-wrapper .kbq-icon.kbq-empty{color:var(--kbq-file-upload-single-states-error-left-icon-color)}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-item__text,.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-dropzone__text:not(.kbq-link){color:var(--kbq-file-upload-single-states-error-text-block-color)}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-item__size{color:var(--kbq-file-upload-single-states-error-file-size-text-color)}.kbq-single-file-upload .kbq-file-upload.kbq-error:not(.kbq-disabled) .kbq-file-upload__action{color:var(--kbq-file-upload-single-states-error-icon-button-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled{background-color:var(--kbq-file-upload-single-states-disabled-container-background);border-color:var(--kbq-file-upload-single-states-disabled-container-border)!important}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-dropzone__icon{color:var(--kbq-file-upload-single-states-disabled-upload-icon-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-item__text-wrapper .kbq-icon.kbq-empty{color:var(--kbq-file-upload-single-states-disabled-left-icon-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-dropzone__text,.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-item__text{color:var(--kbq-file-upload-single-states-disabled-text-block-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-item__size{color:var(--kbq-file-upload-single-states-disabled-file-size-text-color)}.kbq-single-file-upload .kbq-file-upload.kbq-disabled .kbq-file-upload__action{color:var(--kbq-file-upload-single-states-disabled-icon-button-color)}.kbq-multiple-file-upload .kbq-file-upload{background-color:var(--kbq-file-upload-multiple-default-container-background);border-color:var(--kbq-file-upload-multiple-default-container-border)!important}.kbq-multiple-file-upload .kbq-file-upload .kbq-focused:not(.kbq-list-option),.kbq-multiple-file-upload .kbq-file-upload .kbq-link.kbq-focused{border:2px solid var(--kbq-file-upload-multiple-states-focused-focus-outline-color)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-btn-upload{border-top-color:var(--kbq-file-upload-multiple-default-container-border)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header{color:var(--kbq-foreground-contrast-secondary);border-bottom-color:var(--kbq-file-upload-multiple-default-grid-divider-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled,.kbq-error) .kbq-file-dropzone__icon{color:var(--kbq-file-upload-multiple-default-upload-icon-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-drop_dragover{background-color:var(--kbq-file-upload-multiple-states-on-drag-container-background);border-color:var(--kbq-file-upload-multiple-states-on-drag-container-border)!important}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-drop_dragover .kbq-file-btn-upload{border-top-color:var(--kbq-file-upload-multiple-states-on-drag-container-border)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-drop_dragover .kbq-file-multiple-uploaded__header{border-bottom-color:var(--kbq-file-upload-multiple-states-on-drag-grid-divider-color)!important}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-drop_dragover .kbq-file-dropzone__icon{color:var(--kbq-file-upload-multiple-states-on-drag-upload-icon-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled{background-color:var(--kbq-file-upload-multiple-states-disabled-container-background);border-color:var(--kbq-file-upload-multiple-states-disabled-container-border)!important}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-dropzone__icon{color:var(--kbq-file-upload-multiple-states-disabled-upload-icon-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-dropzone__text,.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple-uploaded__header{color:var(--kbq-file-upload-multiple-states-disabled-text-block-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple-uploaded__header{border-bottom-color:var(--kbq-file-upload-multiple-states-disabled-grid-divider-color)!important}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple__uploaded-item .kbq-file-upload__file .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-states-disabled-left-icon-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple__uploaded-item .kbq-file-item__text,.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple__uploaded-item .kbq-file-upload__size{color:var(--kbq-file-upload-multiple-states-disabled-text-block-color)}.kbq-multiple-file-upload .kbq-file-upload.kbq-disabled .kbq-file-multiple__uploaded-item .kbq-file-upload__action .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-states-disabled-icon-button-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled).kbq-error{background-color:var(--kbq-background-error-less);border-color:var(--kbq-line-error)!important}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled).kbq-error .kbq-file-dropzone__icon{color:var(--kbq-file-upload-multiple-states-error-upload-icon-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled).kbq-error .kbq-file-dropzone__text:not(.kbq-link),.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled).kbq-error .kbq-file-multiple-uploaded__header{color:var(--kbq-file-upload-multiple-states-error-text-block-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error){background-color:var(--kbq-background-error-less)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error) .kbq-file-item__text,.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error) .kbq-file-upload__size{color:var(--kbq-foreground-error)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error) .kbq-file-upload__file .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-states-error-left-icon-color)}.kbq-multiple-file-upload .kbq-file-upload:not(.kbq-disabled) .kbq-file-multiple__uploaded-item:has(.kbq-file-upload__row.kbq-error) .kbq-file-upload__action .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-states-error-icon-button-color)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple__uploaded-item .kbq-file-upload__file .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-default-left-icon-color)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple__uploaded-item .kbq-file-upload__size{color:var(--kbq-file-upload-multiple-default-file-size-text-color)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple__uploaded-item .kbq-file-upload__action .kbq-icon.kbq-empty{color:var(--kbq-file-upload-multiple-default-icon-button-color)}:where(.kbq-file-upload__hint .kbq-hint){color:var(--kbq-foreground-contrast-secondary)}.kbq-file-upload,.kbq-single-file-upload .kbq-file-item__text-wrapper,.kbq-single-file-upload .kbq-file-dropzone__text{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-multiple-file-upload .kbq-file-multiple__header{font-size:var(--kbq-typography-subheading-font-size);font-style:var(--kbq-typography-subheading-font-style);font-weight:var(--kbq-typography-subheading-font-weight);line-height:var(--kbq-typography-subheading-line-height);font-family:var(--kbq-typography-subheading-font-family);text-transform:var(--kbq-typography-subheading-text-transform);font-feature-settings:var(--kbq-typography-subheading-font-feature-settings);letter-spacing:var(--kbq-typography-subheading-letter-spacing)}.kbq-multiple-file-upload .kbq-file-multiple__caption,.kbq-multiple-file-upload .kbq-file-multiple__caption .kbq-link,.kbq-multiple-file-upload .kbq-file-multiple-uploaded__header,.kbq-multiple-file-upload .kbq-file-multiple__uploaded-item,.kbq-multiple-file-upload .kbq-file-upload .kbq-list-item,.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option{font-size:var(--kbq-typography-text-normal-font-size);font-style:var(--kbq-typography-text-normal-font-style);font-weight:var(--kbq-typography-text-normal-font-weight);line-height:var(--kbq-typography-text-normal-line-height);font-family:var(--kbq-typography-text-normal-font-family);text-transform:var(--kbq-typography-text-normal-text-transform);font-feature-settings:var(--kbq-typography-text-normal-font-feature-settings);letter-spacing:var(--kbq-typography-text-normal-letter-spacing)}.kbq-file-upload__hint .kbq-hint .kbq-hint__text{font-size:var(--kbq-typography-text-compact-font-size);font-style:var(--kbq-typography-text-compact-font-style);font-weight:var(--kbq-typography-text-compact-font-weight);line-height:var(--kbq-typography-text-compact-line-height);font-family:var(--kbq-typography-text-compact-font-family);text-transform:var(--kbq-typography-text-compact-text-transform);font-feature-settings:var(--kbq-typography-text-compact-font-feature-settings);letter-spacing:var(--kbq-typography-text-compact-letter-spacing)}\n", ":where(.kbq-file-upload){--kbq-form-field-hint-text: var(--kbq-foreground-contrast-secondary)}:where(.kbq-single-file-upload){--kbq-file-upload-size-single-container-border-radius: var(--kbq-size-s);--kbq-file-upload-size-single-container-border-width: 1px;--kbq-file-upload-size-single-container-content-gap-horizontal: var(--kbq-size-s);--kbq-file-upload-size-single-container-padding-vertical: var(--kbq-size-m);--kbq-file-upload-size-single-container-padding-horizontal: var(--kbq-size-m);--kbq-file-upload-size-single-text-block-padding-vertical: var(--kbq-size-3xs);--kbq-file-upload-size-single-text-block-content-gap-horizontal: var(--kbq-size-xxs);--kbq-file-upload-single-min-height: var(--kbq-size-5xl);--kbq-file-upload-single-default-container-border: var(--kbq-line-contrast-fade);--kbq-file-upload-single-default-container-background: var(--kbq-background-bg);--kbq-file-upload-single-default-upload-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-single-default-left-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-single-default-text-block-color: var(--kbq-foreground-contrast);--kbq-file-upload-single-default-icon-button-color: var(--kbq-icon-contrast);--kbq-file-upload-single-default-file-size-text-color: var(--kbq-foreground-contrast-secondary);--kbq-file-upload-single-states-on-drag-container-border: var(--kbq-line-theme-fade);--kbq-file-upload-single-states-on-drag-container-background: var(--kbq-background-theme-fade);--kbq-file-upload-single-states-on-drag-upload-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-single-states-on-drag-left-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-single-states-on-drag-text-block-color: var(--kbq-foreground-contrast);--kbq-file-upload-single-states-error-container-border: var(--kbq-line-error);--kbq-file-upload-single-states-error-container-background: var(--kbq-background-error-less);--kbq-file-upload-single-states-error-upload-icon-color: var(--kbq-icon-error);--kbq-file-upload-single-states-error-left-icon-color: var(--kbq-icon-error);--kbq-file-upload-single-states-error-text-block-color: var(--kbq-foreground-error);--kbq-file-upload-single-states-error-icon-button-color: var(--kbq-icon-error);--kbq-file-upload-single-states-error-file-size-text-color: var(--kbq-foreground-error);--kbq-file-upload-single-states-disabled-container-border: var(--kbq-states-line-disabled);--kbq-file-upload-single-states-disabled-container-background: var(--kbq-states-background-disabled);--kbq-file-upload-single-states-disabled-upload-icon-color: var(--kbq-states-icon-disabled);--kbq-file-upload-single-states-disabled-left-icon-color: var(--kbq-states-icon-disabled);--kbq-file-upload-single-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-file-upload-single-states-disabled-text-block-color: var(--kbq-states-foreground-disabled);--kbq-file-upload-single-states-disabled-file-size-text-color: var(--kbq-states-foreground-disabled);--kbq-file-upload-single-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme)}:where(.kbq-multiple-file-upload){--kbq-file-upload-size-multiple-big-container-min-height: 192px;--kbq-file-upload-size-multiple-big-container-min-width: 320px;--kbq-file-upload-size-multiple-big-container-border-radius: var(--kbq-size-s);--kbq-file-upload-size-multiple-big-container-border-width: 1px;--kbq-file-upload-size-multiple-big-container-content-gap-horizontal: var(--kbq-size-m);--kbq-file-upload-size-multiple-big-container-padding-vertical: var(--kbq-size-xxl);--kbq-file-upload-size-multiple-big-container-padding-horizontal: var(--kbq-size-xxl);--kbq-file-upload-size-multiple-big-dropzone-content-gap-horizontal: var(--kbq-size-s);--kbq-file-upload-size-multiple-big-text-block-content-gap-vertical: 0px;--kbq-file-upload-size-multiple-big-text-block-content-gap-horizontal: var(--kbq-size-xxs);--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal: var(--kbq-size-s);--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical: var(--kbq-size-s);--kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal: var(--kbq-size-xxs);--kbq-file-upload-size-multiple-big-grid-cell-file-size-width: var(--kbq-size-7xl);--kbq-file-upload-multiple-default-container-border: var(--kbq-line-contrast-fade);--kbq-file-upload-multiple-default-container-background: var(--kbq-background-bg);--kbq-file-upload-multiple-default-upload-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-multiple-default-left-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-multiple-default-text-block-color: var(--kbq-foreground-contrast);--kbq-file-upload-multiple-default-icon-button-color: var(--kbq-icon-contrast);--kbq-file-upload-multiple-default-grid-divider-color: var(--kbq-line-contrast-less);--kbq-file-upload-multiple-default-file-size-text-color: var(--kbq-foreground-contrast-secondary);--kbq-file-upload-multiple-states-on-drag-container-border: var(--kbq-line-theme-fade);--kbq-file-upload-multiple-states-on-drag-container-background: var(--kbq-background-theme-fade);--kbq-file-upload-multiple-states-on-drag-upload-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-multiple-states-on-drag-left-icon-color: var(--kbq-icon-contrast-fade);--kbq-file-upload-multiple-states-on-drag-icon-button-color: var(--kbq-icon-contrast);--kbq-file-upload-multiple-states-on-drag-text-block-color: var(--kbq-foreground-contrast);--kbq-file-upload-multiple-states-on-drag-grid-divider-color: var(--kbq-line-contrast-less);--kbq-file-upload-multiple-states-error-grid-cell-background: var(--kbq-background-error-less);--kbq-file-upload-multiple-states-error-upload-icon-color: var(--kbq-icon-error);--kbq-file-upload-multiple-states-error-left-icon-color: var(--kbq-icon-error);--kbq-file-upload-multiple-states-error-text-block-color: var(--kbq-foreground-error);--kbq-file-upload-multiple-states-error-icon-button-color: var(--kbq-icon-error);--kbq-file-upload-multiple-states-disabled-container-border: var(--kbq-states-line-disabled);--kbq-file-upload-multiple-states-disabled-container-background: var(--kbq-states-background-disabled);--kbq-file-upload-multiple-states-disabled-upload-icon-color: var(--kbq-states-icon-disabled);--kbq-file-upload-multiple-states-disabled-left-icon-color: var(--kbq-states-icon-disabled);--kbq-file-upload-multiple-states-disabled-icon-button-color: var(--kbq-states-icon-disabled);--kbq-file-upload-multiple-states-disabled-text-block-color: var(--kbq-states-foreground-disabled);--kbq-file-upload-multiple-states-disabled-grid-divider-color: var(--kbq-states-line-disabled);--kbq-file-upload-multiple-states-focused-focus-outline-color: var(--kbq-states-line-focus-theme)}:where(.kbq-file-upload.kbq-file-upload_compact){--kbq-file-upload-multiple-compact-container-content-gap-horizontal: var(--kbq-size-s);--kbq-file-upload-multiple-compact-text-block-padding-vertical: var(--kbq-size-3xs);--kbq-file-upload-multiple-compact-container-padding-vertical: 11px;--kbq-file-upload-multiple-compact-container-padding-horizontal: 11px}\n", ".kbq-multiple-file-upload .kbq-file-upload{border-radius:var(--kbq-file-upload-size-multiple-big-container-border-radius);border-width:var(--kbq-file-upload-size-multiple-big-container-border-width);border-style:dashed}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_default:not(.kbq-selected){justify-content:center;padding:var(--kbq-file-upload-size-multiple-big-container-padding-vertical) var(--kbq-file-upload-size-multiple-big-container-padding-vertical);min-height:var(--kbq-file-upload-size-multiple-big-container-min-height);min-width:var(--kbq-file-upload-size-multiple-big-container-min-width)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_default:not(.kbq-selected) .kbq-file-dropzone{gap:var(--kbq-file-upload-size-multiple-big-container-content-gap-horizontal)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_default:not(.kbq-selected) .kbq-file-dropzone__text .kbq-file-multiple__caption{padding-top:var(--kbq-file-upload-size-multiple-big-text-block-content-gap-vertical)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_compact:not(.kbq-selected){padding:var(--kbq-file-upload-multiple-compact-container-padding-vertical) var(--kbq-file-upload-multiple-compact-container-padding-horizontal)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_compact:not(.kbq-selected) .kbq-file-dropzone{gap:var(--kbq-file-upload-multiple-compact-container-content-gap-horizontal)}.kbq-multiple-file-upload .kbq-file-upload.kbq-file-upload_compact:not(.kbq-selected) .kbq-file-dropzone .kbq-file-dropzone__text.kbq-file-multiple__caption{padding-top:var(--kbq-file-upload-multiple-compact-text-block-padding-vertical);padding-bottom:var(--kbq-file-upload-multiple-compact-text-block-padding-vertical)}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.kbq-file-multiple__uploaded-item{border-radius:0;padding:0 calc(var(--kbq-size-3xs) - var(--kbq-file-upload-size-multiple-big-container-border-width))}.kbq-multiple-file-upload .kbq-file-upload .kbq-list-option.kbq-file-multiple__uploaded-item .kbq-icon{margin-right:0}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__grid{min-height:144px}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row{display:flex;align-items:center}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__file,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{flex-grow:1}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header-inner .kbq-file-upload__size,.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__size{width:var(--kbq-file-upload-size-multiple-big-grid-cell-file-size-width);min-width:var(--kbq-file-upload-size-multiple-big-grid-cell-file-size-width);max-width:var(--kbq-file-upload-size-multiple-big-grid-cell-file-size-width);flex-grow:1;flex-shrink:1;text-align:left}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__grid-cell{padding:0 var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file{display:flex;align-items:center;gap:var(--kbq-file-upload-size-multiple-big-grid-cell-content-gap-horizontal)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__file .kbq-file-item__text{width:90%}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__row .kbq-file-upload__action{display:flex;justify-content:center;align-items:center;padding-top:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical) - var(--kbq-size-3xs));padding-bottom:calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal) - var(--kbq-size-3xs));min-height:var(--kbq-size-xxl);min-width:var(--kbq-size-xxl)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header{margin:-1px;border-bottom-width:var(--kbq-file-upload-size-multiple-big-container-border-width);border-bottom-style:solid;padding:0 var(--kbq-size-xxs)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header .kbq-file-upload__grid-cell{padding:10px var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal) calc(10px - var(--kbq-file-upload-size-multiple-big-container-border-width)) var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-multiple-uploaded__header .kbq-file-upload__action{min-height:var(--kbq-size-xxl);min-width:var(--kbq-size-xxl);padding:var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal) var(--kbq-file-upload-size-multiple-big-grid-cell-padding-horizontal) calc(var(--kbq-file-upload-size-multiple-big-grid-cell-padding-vertical) - var(--kbq-file-upload-size-multiple-big-container-border-width))}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-btn-upload{margin:-1px;padding:calc(var(--kbq-size-m) - var(--kbq-file-upload-size-multiple-big-container-border-width)) var(--kbq-size-m) var(--kbq-size-m) var(--kbq-size-m);border-top-width:var(--kbq-file-upload-size-multiple-big-container-border-width);border-top-style:dashed}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-btn-upload .kbq-file-dropzone{gap:var(--kbq-file-upload-size-multiple-big-dropzone-content-gap-horizontal)}.kbq-multiple-file-upload .kbq-file-upload .kbq-file-upload__dropzone{width:100%;height:100%}\n"] }]
        }], ctorParameters: () => [], propDecorators: { progressMode: [{
                type: Input
            }], accept: [{
                type: Input
            }], disabled: [{
                type: Input
            }], errors: [{
                type: Input
            }], size: [{
                type: Input
            }], inputId: [{
                type: Input
            }], customValidation: [{
                type: Input
            }], errorStateMatcher: [{
                type: Input
            }], files: [{
                type: Input
            }], filesChange: [{
                type: Output,
                args: ['fileQueueChanged']
            }], filesAdded: [{
                type: Output
            }], fileRemoved: [{
                type: Output
            }], customFileIcon: [{
                type: ContentChild,
                args: ['kbqFileIcon', { static: false, read: TemplateRef }]
            }], input: [{
                type: ViewChild,
                args: ['input']
            }], fileSizeHeaderCell: [{
                type: ViewChild,
                args: ['fileSizeHeaderCell']
            }], hint: [{
                type: ContentChildren,
                args: [KbqHint]
            }] } });
//# sourceMappingURL=data:application/json;base64, 