@eui/components 19.0.1 → 19.0.2-snapshot-1734361039271

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/docs/classes/EuiDialogConfig.html +29 -0
  2. package/docs/components/EuiDialogComponent.html +24 -0
  3. package/docs/components/EuiDialogContainerComponent.html +1 -1
  4. package/docs/components/EuiFilePreviewComponent.html +1 -1
  5. package/docs/components/EuiOverlayHeaderTitleComponent.html +1 -1
  6. package/docs/components/EuiPageHeaderComponent.html +1 -1
  7. package/docs/components/EuiPaginatorComponent.html +1 -1
  8. package/docs/components/EuiSlideToggleComponent.html +1 -1
  9. package/docs/components/EuiTableSortableColComponent.html +1 -1
  10. package/docs/components/EuiTimeRangepickerComponent.html +1 -1
  11. package/docs/dependencies.html +2 -2
  12. package/docs/interfaces/EuiDialogInterface.html +45 -0
  13. package/docs/js/search/search_index.js +2 -2
  14. package/eui-dialog/eui-dialog.component.d.ts +2 -1
  15. package/eui-dialog/eui-dialog.component.d.ts.map +1 -1
  16. package/eui-dialog/models/eui-dialog.config.d.ts +2 -0
  17. package/eui-dialog/models/eui-dialog.config.d.ts.map +1 -1
  18. package/eui-dialog/services/eui-dialog.service.d.ts.map +1 -1
  19. package/fesm2022/eui-components-eui-alert.mjs +2 -2
  20. package/fesm2022/eui-components-eui-alert.mjs.map +1 -1
  21. package/fesm2022/eui-components-eui-badge.mjs +2 -2
  22. package/fesm2022/eui-components-eui-button-v2.mjs +2 -2
  23. package/fesm2022/eui-components-eui-button-v2.mjs.map +1 -1
  24. package/fesm2022/eui-components-eui-button.mjs +2 -2
  25. package/fesm2022/eui-components-eui-button.mjs.map +1 -1
  26. package/fesm2022/eui-components-eui-card.mjs +2 -2
  27. package/fesm2022/eui-components-eui-card.mjs.map +1 -1
  28. package/fesm2022/eui-components-eui-dashboard-card.mjs +2 -2
  29. package/fesm2022/eui-components-eui-dashboard-card.mjs.map +1 -1
  30. package/fesm2022/eui-components-eui-date-range-selector.mjs +4 -4
  31. package/fesm2022/eui-components-eui-date-range-selector.mjs.map +1 -1
  32. package/fesm2022/eui-components-eui-dialog.mjs +10 -4
  33. package/fesm2022/eui-components-eui-dialog.mjs.map +1 -1
  34. package/fesm2022/eui-components-eui-discussion-thread.mjs +2 -2
  35. package/fesm2022/eui-components-eui-discussion-thread.mjs.map +1 -1
  36. package/fesm2022/eui-components-eui-dropdown.mjs +4 -4
  37. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  38. package/fesm2022/eui-components-eui-file-upload.mjs +4 -4
  39. package/fesm2022/eui-components-eui-file-upload.mjs.map +1 -1
  40. package/fesm2022/eui-components-eui-icon.mjs +2 -2
  41. package/fesm2022/eui-components-eui-icon.mjs.map +1 -1
  42. package/fesm2022/eui-components-eui-input-number.mjs +2 -2
  43. package/fesm2022/eui-components-eui-input-number.mjs.map +1 -1
  44. package/fesm2022/eui-components-eui-input-text.mjs +2 -2
  45. package/fesm2022/eui-components-eui-input-text.mjs.map +1 -1
  46. package/fesm2022/eui-components-eui-overlay.mjs +4 -4
  47. package/fesm2022/eui-components-eui-overlay.mjs.map +1 -1
  48. package/fesm2022/eui-components-eui-page.mjs +4 -4
  49. package/fesm2022/eui-components-eui-page.mjs.map +1 -1
  50. package/fesm2022/eui-components-eui-paginator.mjs +2 -2
  51. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  52. package/fesm2022/eui-components-eui-select.mjs +2 -2
  53. package/fesm2022/eui-components-eui-select.mjs.map +1 -1
  54. package/fesm2022/eui-components-eui-slide-toggle.mjs +2 -2
  55. package/fesm2022/eui-components-eui-slide-toggle.mjs.map +1 -1
  56. package/fesm2022/eui-components-eui-table-v2.mjs +2 -2
  57. package/fesm2022/eui-components-eui-table-v2.mjs.map +1 -1
  58. package/fesm2022/eui-components-eui-table.mjs +2 -2
  59. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  60. package/fesm2022/eui-components-eui-tabs.mjs +4 -4
  61. package/fesm2022/eui-components-eui-tabs.mjs.map +1 -1
  62. package/fesm2022/eui-components-eui-textarea.mjs +2 -2
  63. package/fesm2022/eui-components-eui-textarea.mjs.map +1 -1
  64. package/fesm2022/eui-components-eui-timeline.mjs +2 -2
  65. package/fesm2022/eui-components-eui-timeline.mjs.map +1 -1
  66. package/fesm2022/eui-components-externals-eui-editor.mjs +2 -2
  67. package/fesm2022/eui-components-externals-eui-editor.mjs.map +1 -1
  68. package/fesm2022/eui-components-layout.mjs +2 -2
  69. package/fesm2022/eui-components-layout.mjs.map +1 -1
  70. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-file-upload.mjs","sources":["../../eui-file-upload/progress/eui-file-upload-progress.component.ts","../../eui-file-upload/progress/eui-file-upload-progress.component.html","../../eui-file-upload/pipes/filesize.pipe.ts","../../eui-file-upload/file-preview/file-preview.component.ts","../../eui-file-upload/file-preview/file-preview.component.html","../../eui-file-upload/eui-file-upload.component.ts","../../eui-file-upload/eui-file-upload.component.html","../../eui-file-upload/utils/eui-file-upload.utils.ts","../../eui-file-upload/eui-file-upload.module.ts","../../eui-file-upload/utils/mime-types.ts","../../eui-file-upload/utils/eui-file-upload.validators.ts","../../eui-file-upload/eui-components-eui-file-upload.ts"],"sourcesContent":["import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'eui-file-upload-progress',\n templateUrl: './eui-file-upload-progress.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiFileUploadProgressComponent {\n @Input() progress = 0;\n}\n","<div *ngIf=\"progress > 0\">\n <div class=\"eui-file-upload__progress-bar-container\">\n <div class=\"progress-bar\" [style.width]=\"progress + '%'\"></div>\n </div>\n <div>{{ progress }}%</div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filesize',\n standalone: false,\n})\nexport class EuiFileSizePipe implements PipeTransform {\n private units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\n\n transform(bytes = 0, precision = 2): string {\n if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) {\n return '?';\n }\n\n let unit = 0;\n\n while (bytes >= 1024) {\n bytes /= 1024;\n unit++;\n }\n\n return bytes.toFixed(+precision) + ' ' + this.units[unit];\n }\n}\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ChangeDetectorRef,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n TemplateRef,\n booleanAttribute,\n AfterViewInit,\n} from '@angular/core';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiUploadedFileInterface } from '../models/uploaded-file.model';\n\n@Component({\n selector: 'eui-file-preview',\n templateUrl: './file-preview.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiFilePreviewComponent implements OnInit, AfterViewInit {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() file: Blob | EuiUploadedFileInterface | any;\n @Input() uploadedFileTemplate: TemplateRef<{ $implicit: { file: EuiUploadedFileInterface, index: number, isFileObject: boolean } }>;\n @Input() index: number;\n\n @Input() previewAsIconConfig = {\n avi: 'eui-file-video',\n html: 'eui-file-html',\n htm: 'eui-file-code',\n js: 'eui-file-code',\n json: 'eui-file-code',\n mp3: 'eui-file-audio',\n mp4: 'eui-file-video',\n pdf: 'eui-file-pdf',\n png: 'eui-file-image',\n svg: 'eui-file-image',\n txt: 'eui-file-text',\n xml: 'eui-file-code',\n jpeg: 'eui-file-image',\n jpg: 'eui-file-image',\n zip: 'eui-file-archive',\n doc: 'eui-file-word',\n docx: 'eui-file-word-o',\n xls: 'eui-file-excel-o',\n xlsx: 'eui-file-excel-o',\n ppt: 'eui-file-powerpoint',\n csv: 'eui-file-text',\n rtf: 'eui-file-text',\n };\n\n @Output() removeFromList = new EventEmitter<number>();\n\n public url: string;\n public icon: string;\n public fileExtension: string;\n public previewData: { image: boolean; display: string };\n public isLoading = false;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() itemClick = new EventEmitter<Blob | EuiUploadedFileInterface | any>();\n\n @Input({ transform: booleanAttribute }) hasPreview = true;\n @Input({ transform: booleanAttribute }) isFilenameDisplayed = true;\n @Input({ transform: booleanAttribute }) isFilesizeDisplayed = true;\n @Input({ transform: booleanAttribute }) isFiletypeDisplayed = true;\n @Input({ transform: booleanAttribute }) hasPreviewAsImage = true;\n @Input({ transform: booleanAttribute }) hasPreviewAsIcon = false;\n @Input({ transform: booleanAttribute }) isItemsClickable = false;\n @Input({ transform: booleanAttribute }) isFileObject = false;\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n constructor(private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.hasPreviewAsIcon) {\n this.hasPreviewAsImage = false;\n }\n\n if (this.file instanceof Blob) {\n const reader = new FileReader();\n reader.readAsArrayBuffer(this.file as Blob);\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n reader.onload = (event: any): void => {\n this.url = event.target.result;\n this.fileExtension = this.getFileExtension(this.file.name);\n this.icon = this.getIconForMime(this.fileExtension);\n\n const blob = new Blob([reader.result], { type: this.file.type });\n const imageUrl = URL.createObjectURL(blob);\n\n this.previewData = this.getPreviewForMime(this.fileExtension, imageUrl);\n\n this.cd.detectChanges();\n };\n reader.onloadstart = (event: ProgressEvent): void => {\n this.isLoading = true;\n this.cd.detectChanges();\n };\n reader.onloadend = (event: ProgressEvent): void => {\n this.isLoading = false;\n this.cd.detectChanges();\n };\n } else {\n this.url = (this.file as EuiUploadedFileInterface).url;\n this.fileExtension = this.getFileExtension(this.file.name);\n this.icon = this.getIconForMime(this.fileExtension);\n\n this.previewData = this.getPreviewForMime(this.fileExtension, this.url);\n\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'uploadedFile') {\n this.uploadedFileTemplate = item.template;\n }\n });\n }\n\n public onRemoveFromList(): void {\n this.removeFromList.emit(this.index);\n }\n\n public onItemClick(e: Event): void {\n this.itemClick.emit(this.file);\n e.preventDefault();\n }\n\n private getFileExtension(fileName: string): string {\n const ext = fileName.split('.');\n\n return ext[ext.length - 1];\n }\n\n private getPreviewForMime(fileExtension: string, imgUrl: string): { image: boolean; display: string } {\n const f = fileExtension.toLowerCase();\n const image = f === 'jpeg' || f === 'jpg' || f === 'png' || f === 'gif' ? true : false;\n const display = f === 'jpeg' || f === 'jpg' || f === 'png' || f === 'gif' ? imgUrl : this.getIconForMime(f);\n\n return { image, display };\n }\n\n private getIconForMime(fileExtension: string): string {\n const f = fileExtension.toLowerCase();\n return !this.previewAsIconConfig[f] ? 'eui-file-empty-o' : this.previewAsIconConfig[f];\n }\n}\n","@if (uploadedFileTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"uploadedFileTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { file: { id: file.id, name: file.name, url: file.url || previewData?.display, size: file.size, type: file.type }, index, isFileObject } }\">\n </ng-template>\n} @else {\n <div class=\"eui-file-upload__preview\">\n <div class=\"eui-file-upload__preview--left\">\n <div class=\"eui-file-upload__preview--left__image\" *ngIf=\"hasPreview && hasPreviewAsImage\">\n <img [src]=\"previewData.display\" *ngIf=\"url && previewData.image\" />\n <eui-icon-svg *ngIf=\"previewData && !previewData.image\" icon=\"{{ previewData.display }}\" size=\"l\" fillColor=\"info-100\" class=\"eui-u-mr-s\"></eui-icon-svg>\n <div *ngIf=\"isLoading\" class=\"loading-container\">\n <eui-icon-svg isLoading size=\"2xl\"></eui-icon-svg>\n </div>\n </div>\n <div *ngIf=\"hasPreview && hasPreviewAsIcon\">\n <eui-icon-svg icon=\"{{ icon }}\" size=\"l\" fillColor=\"info-100\" class=\"eui-u-mr-s\"></eui-icon-svg>\n </div>\n <div class=\"eui-file-upload__preview--left__filename eui-u-text-truncate\" *ngIf=\"isFilenameDisplayed\">\n <ng-container *ngIf=\"!isItemsClickable\">\n {{ file.name }}\n </ng-container>\n <ng-container *ngIf=\"isItemsClickable\">\n <a href=\"#\" (click)=\"onItemClick($event)\" class=\"eui-u-text-link eui-u-text-truncate\">{{ file.name }}</a>\n </ng-container>\n </div>\n </div>\n <div class=\"eui-file-upload__preview--right\">\n <div class=\"eui-u-text-no-wrap eui-u-ml-m\" *ngIf=\"isFilesizeDisplayed\">{{ file.size | filesize }}</div>\n <div class=\"eui-u-ml-m\" *ngIf=\"isFiletypeDisplayed\"><span euiLabel>{{ file.type }}</span></div>\n <div class=\"eui-u-ml-m\">\n <button euiButton euiDanger euiRounded euiIconButton euiBasicButton type=\"button\" (click)=\"onRemoveFromList()\">\n <eui-icon-svg icon=\"eui-ecl-trash\"></eui-icon-svg>\n </button>\n </div>\n </div>\n </div>\n}\n","import {\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n ViewEncapsulation,\n OnInit,\n ViewChildren,\n QueryList,\n Output,\n EventEmitter,\n booleanAttribute,\n AfterViewInit,\n ContentChildren,\n TemplateRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiUploadedFileInterface } from './models/uploaded-file.model';\n\n@Component({\n selector: 'eui-file-upload',\n templateUrl: './eui-file-upload.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: EuiFileUploadComponent,\n multi: true,\n },\n ],\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiFileUploadComponent implements ControlValueAccessor, OnInit, AfterViewInit {\n @Input() e2eAttr = 'eui-file-upload';\n @Input() progress: number;\n @Input() accept = '*';\n @Input() maxFiles: number;\n @Output() fileDrop = new EventEmitter();\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() itemClick = new EventEmitter<Blob | EuiUploadedFileInterface | any>();\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-file-upload',\n ]\n .join(' ')\n .trim();\n }\n\n public files: File[] = [];\n public filesTotalSize = 0;\n public randomNumberId = Math.floor(Math.random() * 10000);\n public uploadedFiles: EuiUploadedFileInterface[] = [];\n // eslint-disable-next-line\n public dragEntered = false;\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChildren('input') fileInputs: QueryList<ElementRef<HTMLInputElement>>;\n\n public uploadedFileTemplate: TemplateRef<{ $implicit: { file: EuiUploadedFileInterface, index: number, isFileObject: boolean } }>;\n public browseButtonTemplate: TemplateRef<HTMLElement>;\n public resetButtonTemplate: TemplateRef<HTMLElement>;\n public progressBarTemplate: TemplateRef<{ $implicit: { progress: number } }>;\n\n @Input({ transform: booleanAttribute }) isMultiple = true;\n @Input({ transform: booleanAttribute }) hasProgressBar = true;\n @Input({ transform: booleanAttribute }) hasPreview = true;\n @Input({ transform: booleanAttribute }) hasPreviewAsImage = true;\n @Input({ transform: booleanAttribute }) hasPreviewAsIcon = false;\n @Input({ transform: booleanAttribute }) hasTotalSizeDisplayed = true;\n @Input({ transform: booleanAttribute }) hasResetButton = true;\n @Input({ transform: booleanAttribute }) hasDragArea = false;\n @Input({ transform: booleanAttribute }) isItemsClickable = false;\n\n @HostListener('change', ['$event.target.files']) emitFiles(fileList: FileList): void {\n let i = [...this.uploadedFiles, ...this.files].length;\n for (const property in fileList) {\n if (fileList[property] && typeof fileList[property] === 'object' && (!this.maxFiles || i < this.maxFiles)) {\n const fileName = fileList[property].name.split('.');\n const fileExtension = fileName[fileName.length - 1];\n\n if (this.accept.indexOf(fileExtension.toLowerCase()) !== -1 || this.accept === '*') {\n this.files.push(fileList[property]);\n }\n\n i++;\n }\n\n }\n\n this.getTotalSize();\n // eslint-disable-next-line\n this.uploadedFiles ? this.onChange([...this.uploadedFiles, ...this.files]) : this.onChange(this.files);\n if (this.fileInputs) {\n this.fileInputs.first.nativeElement.value = '';\n this.fileInputs.last.nativeElement.value = '';\n }\n\n this.dragEntered = false;\n this.fileDrop.emit();\n }\n\n get showResetBtn(): boolean {\n return this.hasResetButton && this.isMultiple && (this.files.length > 0 || this.uploadedFiles.length > 0);\n }\n\n get isDropAreaDisabled(): boolean {\n return (!this.isMultiple && this.files.length === 1) || [...this.uploadedFiles, ...this.files].length === this.maxFiles;\n }\n\n ngOnInit(): void {\n if (this.hasPreviewAsIcon) {\n this.hasPreviewAsImage = false;\n }\n }\n\n ngAfterViewInit(): void {\n // TODO EUI19: Change detection to OnPush to get rid of setTimeout workaround.\n setTimeout(() => {\n this.templates.forEach((item) => {\n if (item.getType() === 'uploadedFile') {\n this.uploadedFileTemplate = item.template;\n }\n if (item.getType() === 'browseButton') {\n this.browseButtonTemplate = item.template;\n }\n if (item.getType() === 'resetButton') {\n this.resetButtonTemplate = item.template;\n }\n if (item.getType() === 'progressBar') {\n this.progressBarTemplate = item.template;\n }\n });\n });\n }\n\n onDragEnter(): void {\n if (!this.isDropAreaDisabled) {\n this.dragEntered = true;\n }\n }\n\n onDragLeave(): void {\n this.dragEntered = false;\n }\n\n /**\n * Remove a file from the array of files choosen by the user.\n * @param index Index of the file to remove in the array.\n */\n public removeFromList(index: number): void {\n this.files = this.files.filter((f, i) => i !== index);\n\n if (this.files.length === 0) {\n this.progress = 0;\n }\n this.getTotalSize();\n this.onChange([...this.uploadedFiles, ...this.files]);\n }\n\n /**\n * Remove a file from the array of files provided to the component as existing values.\n * @param index Index of the file to remove in the array.\n */\n public removeFromUploadedList(index: number): void {\n this.uploadedFiles = this.uploadedFiles.filter((f, i) => i !== index);\n\n if (this.files.length === 0) {\n this.progress = 0;\n }\n\n this.getTotalSize();\n this.onChange([...this.uploadedFiles, ...this.files]);\n }\n\n /**\n * Reset the list of files in the component.\n */\n public resetList(): void {\n this.files = [];\n this.uploadedFiles = [];\n this.getTotalSize();\n this.progress = 0;\n this.onChange([...this.uploadedFiles, ...this.files]);\n }\n\n public openBrowseWindow(): void {\n this.fileInputs.first.nativeElement.click();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onItemClick(e: Blob | EuiUploadedFileInterface | any): void {\n this.itemClick.emit(e);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.uploadedFiles = value || [];\n this.files = [];\n this.getTotalSize();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {/* Nothing to be Done so far */}\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: any = (): void => {/* Nothing to be Done so far */};\n\n private getTotalSize(): void {\n this.filesTotalSize = 0;\n this.files.forEach((f) => {\n this.filesTotalSize += f.size;\n });\n }\n}\n","@if (hasDragArea) {\n <div\n class=\"eui-file-upload__drop-area\"\n [class.eui-file-upload__drop-area--active]=\"dragEntered\"\n [class.eui-file-upload__drop-area--disabled]=\"isDropAreaDisabled\">\n <span class=\"eui-file-upload__fake-btn\">{{ 'eui.euifileupload.CHOOSE-FILE' | translate }}</span>\n <span>{{ 'eui.euifileupload.DRAG-AND-DROP-FILE-HERE' | translate }}</span>\n <input\n #input\n class=\"eui-file-upload__file-input\"\n attr.aria-label=\"{{ 'eui.euifileupload.CHOOSE-FILE' | translate }} 'or' {{\n 'eui.euifileupload.DRAG-AND-DROP-FILE-HERE' | translate\n }}\"\n type=\"file\"\n accept=\"{{ accept }}\"\n [attr.disabled]=\"isDropAreaDisabled ? 'disabled' : null\"\n [multiple]=\"isMultiple\"\n (dragenter)=\"onDragEnter()\"\n (dragleave)=\"onDragLeave()\" />\n </div>\n} @else {\n <div class=\"eui-file-upload__simple-input-file\">\n <label for=\"file-{{ randomNumberId }}\">\n @if (browseButtonTemplate) {\n <ng-template [ngTemplateOutlet]=\"browseButtonTemplate\"></ng-template>\n } @else {\n <button euiButton type=\"button\" (click)=\"openBrowseWindow()\">{{ 'eui.euifileupload.CHOOSE-FILE' | translate }}</button>\n }\n </label>\n \n @if (isMultiple) {\n <input\n #input\n aria-label=\"Choose Multiple Files\"\n class=\"file-input\"\n id=\"file-{{ randomNumberId }}\"\n type=\"file\"\n accept=\"{{ accept }}\"\n multiple />\n } @else {\n <input\n #input\n aria-label=\"Choose a single file\"\n class=\"file-input\"\n id=\"file-{{ randomNumberId }}\"\n type=\"file\"\n accept=\"{{ accept }}\" />\n }\n </div>\n}\n\n@if (hasProgressBar) {\n @if (progressBarTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"progressBarTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { progress } }\">\n </ng-template>\n } @else {\n <eui-file-upload-progress [progress]=\"progress\"></eui-file-upload-progress>\n }\n}\n\n@for (uploadedFile of uploadedFiles; let i = $index; track $index) {\n <div>\n <eui-file-preview\n [isItemsClickable]=\"isItemsClickable\"\n [index]=\"i\"\n [file]=\"uploadedFile\"\n [hasPreview]=\"hasPreview\"\n [hasPreviewAsImage]=\"hasPreviewAsImage\"\n [hasPreviewAsIcon]=\"hasPreviewAsIcon\"\n [uploadedFileTemplate]=\"uploadedFileTemplate\"\n (itemClick)=\"onItemClick($event)\"\n (removeFromList)=\"removeFromUploadedList($event)\">\n </eui-file-preview>\n </div>\n}\n\n@for (file of files; let i = $index; track $index) {\n <div>\n <eui-file-preview\n isFileObject\n [isItemsClickable]=\"isItemsClickable\"\n [index]=\"i\"\n [file]=\"file\"\n [hasPreview]=\"hasPreview\"\n [hasPreviewAsImage]=\"hasPreviewAsImage\"\n [hasPreviewAsIcon]=\"hasPreviewAsIcon\"\n [uploadedFileTemplate]=\"uploadedFileTemplate\"\n (itemClick)=\"onItemClick($event)\"\n (removeFromList)=\"removeFromList($event)\">\n </eui-file-preview>\n </div>\n}\n\n@if (filesTotalSize && hasTotalSizeDisplayed) {\n <div class=\"eui-file-upload__total-size\">\n {{ filesTotalSize | filesize }} {{ 'eui.euifileupload.TOTAL-SIZE' | translate }}\n </div>\n}\n\n<ng-content></ng-content>\n\n@if (showResetBtn) {\n @if (resetButtonTemplate) {\n <ng-template [ngTemplateOutlet]=\"resetButtonTemplate\"></ng-template>\n } @else {\n <button euiButton type=\"button\" (click)=\"resetList()\">\n {{ 'eui.euifileupload.RESET-LIST' | translate }}\n </button>\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpEvent, HttpEventType, HttpResponse } from '@angular/common/http';\nimport { filter, map, tap } from 'rxjs/operators';\nimport { pipe, Observable, UnaryFunction, MonoTypeOperatorFunction } from 'rxjs';\n\n@Injectable()\nexport class EuiFileUploadUtilsService {\n constructor(private httpClient: HttpClient) {}\n\n /**\n * @param data Data to send to backend\n * @param APIEndPoint Endpoint URL\n *\n * @description\n * Method that will format data in `FormData` and send them to backend.\n *\n * @usageNotes\n * Call the method and log the response in the console.\n *\n * ```typescript\n * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n * this.euiFileUploadUtilsService.uploadProgress((progress) => {\n * console.log(progress);\n * }),\n * this.euiFileUploadUtilsService.toResponseBody(),\n * ).subscribe((response) => {\n * console.log(response);\n * });\n * ```\n *\n * @returns The backend response.\n */\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public sendData(data: any, APIEndPoint: string): Observable<any> {\n return this.httpClient.post(APIEndPoint, this.toFormData(data), {\n reportProgress: true,\n observe: 'events',\n });\n }\n\n /**\n * @param cb A method to execute on each progress step.\n *\n * @description\n * Method that will return the upload progress.\n *\n * @usageNotes\n * Call the method and log the progress in the console.\n *\n * ```typescript\n * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n * this.euiFileUploadUtilsService.uploadProgress((progress) => {\n * console.log(progress);\n * }),\n * this.euiFileUploadUtilsService.toResponseBody(),\n * ).subscribe((response) => {\n * console.log(response);\n * });\n * ```\n *\n * @returns A number between 0 and 100.\n */\n public uploadProgress<T>(cb: (progress: number) => void): MonoTypeOperatorFunction<HttpEvent<T>> {\n return tap((event: HttpEvent<T>) => {\n if (event.type === HttpEventType.UploadProgress) {\n cb(Math.round((100 * event.loaded) / event.total));\n }\n });\n }\n\n /**\n * @description\n * Method that will return only the body of the backend response.\n *\n * @usageNotes\n * Call the method and log the response in the console.\n *\n * ```typescript\n * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n * this.euiFileUploadUtilsService.uploadProgress((progress) => {\n * console.log(progress);\n * }),\n * this.euiFileUploadUtilsService.toResponseBody(),\n * ).subscribe((response) => {\n * console.log(response);\n * });\n * ```\n *\n * @returns The backend response.\n */\n public toResponseBody<T>(): UnaryFunction<Observable<HttpEvent<T>>, Observable<T>> {\n return pipe(\n filter((event: HttpEvent<T>) => event.type === HttpEventType.Response),\n map((res: HttpResponse<T>) => res.body),\n );\n }\n\n /**\n * Return the icon to be used with eui-icon-svg of the given extension or a default file icon\n * @param fileExtension \n * @returns Icon name as string\n */\n public getIconForExtension(fileExtension: string): string {\n const previewAsIconConfig = {\n avi: 'eui-file-video',\n html: 'eui-file-html',\n htm: 'eui-file-code',\n js: 'eui-file-code',\n json: 'eui-file-code',\n mp3: 'eui-file-audio',\n mp4: 'eui-file-video',\n pdf: 'eui-file-pdf',\n png: 'eui-file-image',\n svg: 'eui-file-image',\n txt: 'eui-file-text',\n xml: 'eui-file-code',\n jpeg: 'eui-file-image',\n jpg: 'eui-file-image',\n zip: 'eui-file-archive',\n doc: 'eui-file-word',\n docx: 'eui-file-word-o',\n xls: 'eui-file-excel-o',\n xlsx: 'eui-file-excel-o',\n ppt: 'eui-file-powerpoint',\n csv: 'eui-file-text',\n rtf: 'eui-file-text',\n };\n\n const f = fileExtension.toLowerCase();\n return !previewAsIconConfig[f] ? 'eui-file-empty-o' : previewAsIconConfig[f];\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private toFormData(formValue: any): FormData {\n const formData = new FormData();\n\n for (const key of Object.keys(formValue)) {\n if (Array.isArray(formValue[key])) {\n let fileIndex = 0;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n formValue[key].forEach((value: any) => {\n if (value instanceof File) {\n formData.append(key + fileIndex, value);\n fileIndex++;\n }\n });\n\n const a = [];\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n formValue[key].forEach((value: any): void => {\n a.push(value);\n });\n\n formData.append(key, JSON.stringify(a));\n } else {\n if (typeof formValue[key] === 'string') {\n formData.set(key, formValue[key]);\n } else {\n formData.set(key, JSON.stringify(formValue[key]));\n }\n }\n }\n\n return formData;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\n\nimport { EuiFileUploadComponent } from './eui-file-upload.component';\nimport { EuiFileUploadProgressComponent } from './progress/eui-file-upload-progress.component';\nimport { EuiFilePreviewComponent } from './file-preview/file-preview.component';\nimport { EuiFileSizePipe } from './pipes/filesize.pipe';\nimport { EuiFileUploadUtilsService } from './utils/eui-file-upload.utils';\n\n@NgModule({\n imports: [CommonModule, EuiButtonModule, EuiIconModule, TranslateModule, EuiTemplateDirectiveModule],\n declarations: [EuiFileUploadComponent, EuiFileUploadProgressComponent, EuiFilePreviewComponent, EuiFileSizePipe],\n providers: [EuiFileUploadUtilsService],\n exports: [EuiFileUploadComponent, EuiFileSizePipe, EuiTemplateDirectiveModule],\n})\nexport class EuiFileUploadModule {}\n","export type MimeType =\n | 'image/jpeg'\n | 'image/png'\n | 'image/gif'\n | 'image/webp'\n | 'image/flif'\n | 'image/x-xcf'\n | 'image/x-canon-cr2'\n | 'image/x-canon-cr3'\n | 'image/tiff'\n | 'image/bmp'\n | 'image/icns'\n | 'image/vnd.ms-photo'\n | 'image/vnd.adobe.photoshop'\n | 'application/x-indesign'\n | 'application/epub+zip'\n | 'application/x-xpinstall'\n | 'application/vnd.oasis.opendocument.text'\n | 'application/vnd.oasis.opendocument.spreadsheet'\n | 'application/vnd.oasis.opendocument.presentation'\n | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n | 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n | 'application/zip'\n | 'application/json'\n | 'application/x-tar'\n | 'application/x-rar-compressed'\n | 'application/gzip'\n | 'application/x-bzip2'\n | 'application/x-7z-compressed'\n | 'application/x-apple-diskimage'\n | 'video/mp4'\n | 'audio/midi'\n | 'video/x-matroska'\n | 'video/webm'\n | 'video/quicktime'\n | 'video/vnd.avi'\n | 'audio/vnd.wave'\n | 'audio/qcelp'\n | 'audio/x-ms-asf'\n | 'video/x-ms-asf'\n | 'application/vnd.ms-asf'\n | 'video/mpeg'\n | 'video/3gpp'\n | 'audio/mpeg'\n | 'audio/mp4'\n | 'audio/opus'\n | 'video/ogg'\n | 'audio/ogg'\n | 'application/ogg'\n | 'audio/x-flac'\n | 'audio/ape'\n | 'audio/wavpack'\n | 'audio/amr'\n | 'application/pdf'\n | 'application/x-elf'\n | 'application/x-msdownload'\n | 'application/x-shockwave-flash'\n | 'application/rtf'\n | 'application/wasm'\n | 'font/woff'\n | 'font/woff2'\n | 'application/vnd.ms-fontobject'\n | 'font/ttf'\n | 'font/otf'\n | 'image/x-icon'\n | 'video/x-flv'\n | 'application/postscript'\n | 'application/eps'\n | 'application/x-xz'\n | 'application/x-sqlite3'\n | 'application/x-nintendo-nes-rom'\n | 'application/x-google-chrome-extension'\n | 'application/vnd.ms-cab-compressed'\n | 'application/x-deb'\n | 'application/x-unix-archive'\n | 'application/x-rpm'\n | 'application/x-compress'\n | 'application/x-lzip'\n | 'application/x-cfb'\n | 'application/x-mie'\n | 'application/x-apache-arrow'\n | 'application/mxf'\n | 'video/mp2t'\n | 'application/x-blender'\n | 'image/bpg'\n | 'image/j2c'\n | 'image/jp2'\n | 'image/jpx'\n | 'image/jpm'\n | 'image/mj2'\n | 'audio/aiff'\n | 'application/xml'\n | 'application/x-mobipocket-ebook'\n | 'image/heif'\n | 'image/heif-sequence'\n | 'image/heic'\n | 'image/heic-sequence'\n | 'image/ktx'\n | 'application/dicom'\n | 'audio/x-musepack'\n | 'text/calendar'\n | 'text/vcard'\n | 'model/gltf-binary'\n | 'application/vnd.tcpdump.pcap'\n | 'audio/x-voc'\n | 'audio/vnd.dolby.dd-raw'\n | 'audio/x-m4a'\n | 'image/apng'\n | 'image/x-olympus-orf'\n | 'image/x-sony-arw'\n | 'image/x-adobe-dng'\n | 'image/x-nikon-nef'\n | 'image/x-panasonic-rw2'\n | 'image/x-fujifilm-raf'\n | 'video/x-m4v'\n | 'video/3gpp2'\n | 'application/x-esri-shape'\n | 'audio/aac'\n | 'audio/x-it'\n | 'audio/x-s3m'\n | 'audio/x-xm'\n | 'video/MP1S'\n | 'video/MP2P'\n | 'application/vnd.sketchup.skp'\n | 'image/avif'\n | 'application/x-lzh-compressed'\n | 'application/pgp-encrypted'\n | 'application/x-asar'\n | 'model/stl'\n | 'application/vnd.ms-htmlhelp'\n | 'model/3mf'\n | 'image/jxl'\n | 'application/zstd'\n | 'image/jls'\n | 'application/vnd.ms-outlook'\n | 'image/vnd.dwg'\n | 'application/x-parquet'\n | 'application/java-vm'\n | 'application/x-arj'\n | 'application/x-cpio'\n | 'application/x-ace-compressed'\n | 'application/avro'\n | 'application/vnd.iccprofile'; // eslint-disable-line semi-style\n\nexport const getMimeType = (header: Uint8Array): MimeType => {\n // convert Uint8Array to hex string\n const hex = uint8ArrayToHexString(header);\n\n // map hex string to mime type\n if (hex.startsWith('ffd8ffe000104a46')) return 'image/jpeg';\n if (hex.startsWith('89504e47')) return 'image/png';\n if (hex.startsWith('464c4946')) return 'image/flif';\n if (hex.startsWith('67696d7020786366')) return 'image/x-xcf';\n if (hex.startsWith('49492a00')) return 'image/x-canon-cr2';\n if (hex.startsWith('49492a00')) return 'image/x-canon-cr3';\n if (hex.startsWith('49492a00')) return 'image/tiff';\n if (hex.startsWith('424d')) return 'image/bmp';\n if (hex.startsWith('69636e73')) return 'image/icns';\n if (hex.startsWith('49491a0000004845415050')) return 'image/vnd.ms-photo';\n if (hex.startsWith('38425053')) return 'image/vnd.adobe.photoshop';\n if (hex.startsWith('06054b50')) return 'application/x-indesign';\n if (hex.startsWith('504b0304')) return 'application/epub+zip';\n if (hex.startsWith('504b0304')) return 'application/x-xpinstall';\n if (hex.startsWith('504b0304')) return 'application/vnd.oasis.opendocument.text';\n if (hex.startsWith('504b0304')) return 'application/vnd.oasis.opendocument.spreadsheet';\n if (hex.startsWith('504b0304')) return 'application/vnd.oasis.opendocument.presentation';\n if (hex.startsWith('504b0304')) return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n if (hex.startsWith('504b0304')) return 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n if (hex.startsWith('504b0304')) return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n if (hex.startsWith('504b0304')) return 'application/zip';\n if (hex.startsWith('7b2274797065223a226a736f6e227d')) return 'application/json';\n if (hex.startsWith('7573746172')) return 'application/x-tar';\n if (hex.startsWith('526172211a0700')) return 'application/x-rar-compressed';\n if (hex.startsWith('1f8b08')) return 'application/gzip';\n if (hex.startsWith('425a68')) return 'application/x-bzip2';\n if (hex.startsWith('377abcaf271c')) return 'application/x-7z-compressed';\n if (hex.startsWith('78da')) return 'application/x-apple-diskimage';\n if (hex.startsWith('00000020667479706d70')) return 'video/mp4';\n if (hex.startsWith('4d546864')) return 'audio/midi';\n if (hex.startsWith('1a45dfa393428288')) return 'video/x-matroska';\n if (hex.startsWith('1a45dfa3')) return 'video/webm';\n if (hex.startsWith('00000014667479707174')) return 'video/quicktime';\n if (hex.startsWith('52494646')) return 'video/vnd.avi';\n if (hex.startsWith('52494646')) return 'audio/vnd.wave';\n if (hex.startsWith('0a010301')) return 'audio/qcelp';\n if (hex.startsWith('3026b2758e66cf11')) return 'audio/x-ms-asf';\n if (hex.startsWith('3026b2758e66cf11')) return 'video/x-ms-asf';\n if (hex.startsWith('3026b2758e66cf11')) return 'application/vnd.ms-asf';\n if (hex.startsWith('000001ba')) return 'video/mpeg';\n if (hex.startsWith('00000020667479703367')) return 'video/3gpp';\n if (hex.startsWith('494433')) return 'audio/mpeg';\n if (hex.startsWith('00000020667479704d344120')) return 'audio/mp4';\n if (hex.startsWith('4f707573')) return 'audio/opus';\n if (hex.startsWith('4f676753')) return 'video/ogg';\n if (hex.startsWith('4f676753')) return 'audio/ogg';\n if (hex.startsWith('4f676753')) return 'application/ogg';\n if (hex.startsWith('664c6143')) return 'audio/x-flac';\n if (hex.startsWith('4d414320')) return 'audio/ape';\n if (hex.startsWith('7776706b')) return 'audio/wavpack';\n if (hex.startsWith('2321414d520a')) return 'audio/amr';\n if (hex.startsWith('255044462d312e')) return 'application/pdf';\n if (hex.startsWith('7f454c46')) return 'application/x-elf';\n if (hex.startsWith('4d5a')) return 'application/x-msdownload';\n if (hex.startsWith('435753')) return 'application/x-shockwave-flash';\n if (hex.startsWith('7b5c72746631')) return 'application/rtf';\n if (hex.startsWith('0061736d')) return 'application/wasm';\n if (hex.startsWith('774f4646')) return 'font/woff';\n if (hex.startsWith('774f4632')) return 'font/woff2';\n if (hex.startsWith('000100000008')) return 'application/vnd.ms-fontobject';\n if (hex.startsWith('0001000000')) return 'font/ttf';\n if (hex.startsWith('4f54544f00')) return 'font/otf';\n if (hex.startsWith('000001000100')) return 'image/x-icon';\n if (hex.startsWith('464c560105')) return 'video/x-flv';\n if (hex.startsWith('25215053')) return 'application/postscript';\n if (hex.startsWith('25215053')) return 'application/eps';\n if (hex.startsWith('fd377a585a00')) return 'application/x-xz';\n if (hex.startsWith('53514c69746520666f726d6174203300')) return 'application/x-sqlite3';\n if (hex.startsWith('4e45531a00000001')) return 'application/x-nintendo-nes-rom';\n if (hex.startsWith('504b0304')) return 'application/x-google-chrome-extension';\n if (hex.startsWith('4d534346')) return 'application/vnd.ms-cab-compressed';\n if (hex.startsWith('213c617263683e0a')) return 'application/x-deb';\n if (hex.startsWith('1f8b08')) return 'application/x-unix-archive';\n if (hex.startsWith('edabeedb')) return 'application/x-rpm';\n if (hex.startsWith('1f9d90')) return 'application/x-compress';\n if (hex.startsWith('4c5a4950')) return 'application/x-lzip';\n if (hex.startsWith('d0cf11e0a1b11ae1')) return 'application/x-cfb';\n if (hex.startsWith('4d49455f')) return 'application/x-mie';\n if (hex.startsWith('4141523146')) return 'application/x-apache-arrow';\n if (hex.startsWith('060e2b3402050101')) return 'application/mxf';\n if (hex.startsWith('47')) return 'video/mp2t';\n if (hex.startsWith('4250e4')) return 'application/x-blender';\n if (hex.startsWith('425047fb')) return 'image/bpg';\n if (hex.startsWith('ff4fff51')) return 'image/j2c';\n if (hex.startsWith('0000000c6a5020200d0a')) return 'image/jp2';\n if (hex.startsWith('6a5020200d0a870a')) return 'image/jpx';\n if (hex.startsWith('6a5020200d0a870a')) return 'image/jpm';\n if (hex.startsWith('0000000c6a5020200d0a')) return 'image/mj2';\n if (hex.startsWith('464f524d')) return 'audio/aiff';\n if (hex.startsWith('3c3f786d6c20')) return 'application/xml';\n if (hex.startsWith('424f4f4b4d4f4249')) return 'application/x-mobipocket-ebook';\n if (hex.startsWith('667479706174')) return 'image/heif';\n if (hex.startsWith('667479706174')) return 'image/heif-sequence';\n if (hex.startsWith('667479706174')) return 'image/heic';\n if (hex.startsWith('667479706174')) return 'image/heic-sequence';\n if (hex.startsWith('4b545820')) return 'image/ktx';\n if (hex.startsWith('4449434d')) return 'application/dicom';\n if (hex.startsWith('4d50434b')) return 'audio/x-musepack';\n if (hex.startsWith('56656e64')) return 'text/calendar';\n if (hex.startsWith('424547494e3a5643415244')) return 'text/vcard';\n if (hex.startsWith('676c5458')) return 'model/gltf-binary';\n if (hex.startsWith('d4c3b2a1')) return 'application/vnd.tcpdump.pcap';\n if (hex.startsWith('464f524d')) return 'audio/x-voc';\n if (hex.startsWith('64646f6c')) return 'audio/vnd.dolby.dd-raw';\n\n return null;\n};\n\nconst uint8ArrayToHexString = (uint8Array): string => {\n return Array.prototype.map.call(uint8Array, (byte) => ('00' + byte.toString(16)).slice(-2)).join('');\n};\n","import { AbstractControl, AsyncValidatorFn, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { Observable, of, zip } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { getMimeType, MimeType } from './mime-types';\n\n/**\n * @description\n * Validator that requires the maximum length of files that can be uploaded.\n *\n * @usageNotes\n * Validate that the user selected maximum 3 files:\n *\n * ```typescript\n * const fileUpload = new FormControl(null, maxFilesValidator(3));\n * console.log(fileUpload.errors); // { maxFiles: 3 }\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `maxFiles` if the validation check fails, otherwise `null`.\n */\nexport const maxFilesValidator =\n (maxFiles: number): ValidatorFn =>\n (control: AbstractControl): { maxFiles: number } | null =>\n control.value && control.value.length > maxFiles ? { maxFiles } : null;\n\n/**\n * @description\n * Validator that requires the maximum size (in bytes) of files that can be uploaded.\n *\n * @usageNotes\n * Validate that the user doesn't select a file have a size up to 300Kb:\n *\n * ```typescript\n * const fileUpload = new FormControl(null, maxSizeValidator(300000));\n * console.log(fileUpload.errors); // { maxSize: 300000 }\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `maxSize` if the validation check fails, otherwise `null`.\n */\nexport const maxSizeValidator =\n (maxSize: number): ValidatorFn =>\n (control: AbstractControl): { maxSize: number } | null => {\n let totalSize = 0;\n if (control.value) {\n control.value.forEach((file: File) => {\n totalSize += file.size;\n });\n }\n\n return control.value && totalSize > maxSize * 1.024 ? { maxSize } : null;\n };\n\n/**\n * @description\n * Validator that requires the maximum size (in bytes) per file that can be uploaded.\n *\n * @usageNotes\n * Validates that the user doesn't select a file that exceeds the provided size\n *\n * @returns A validator function that returns an error map with the\n * `maxFileSize` and the `indexes` of the file/files that exceeded the max size if the validation check fails, otherwise `null`.\n */\nexport const maxFileSizeValidator =\n (maxFileSize: number): ValidatorFn =>\n (control: AbstractControl): { maxFileSize: number, indexes: Array<number> } | null => {\n const fileIndexes =[];\n let maxFileExceeded = false;\n if (control.value) {\n control.value.forEach((file: File, index: number) => {\n if (file.size > maxFileSize * 1.024) {\n fileIndexes.push(index);\n maxFileExceeded = true;\n }\n });\n }\n\n return control.value && maxFileExceeded ? { maxFileSize, indexes: fileIndexes } : null;\n };\n\n/**\n * @description\n * Validator that requires an array of mime type that can be uploaded.\n *\n * @usageNotes\n * Validate that the user doesn't select a file having another extension than .jpg or .jpeg:\n *\n * ```typescript\n * const fileUpload = new FormControl(null, mimeTypeExtensionValidator(['image/jpeg'])),\n * console.log(fileUpload.errors); // { invalidFileExtension: ['image/jpeg'] }\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `invalidFileExtension` if the validation check fails, otherwise `null`.\n */\nexport const mimeTypeExtensionValidator =\n (mimeTypes: string[]): ValidatorFn =>\n (control: AbstractControl): { invalidFileExtension: string[] } | null => {\n const invalidFileExtension: string[] = [];\n if (control.value) {\n control.value.forEach((file: File) => {\n if (mimeTypes.indexOf(file.type) === -1) {\n invalidFileExtension.push(file.name);\n }\n });\n }\n\n return control.value && invalidFileExtension.length > 0 ? { invalidFileExtension } : null;\n };\n\n/**\n * @description\n * Validator that requires an array of mime type that can be uploaded.\n *\n * @usageNotes\n * Validate that the user doesn't select a file having another extension than .jpg or .jpeg:\n *\n * ```typescript\n * const fileUpload = new FormControl(null, mimeTypeExtensionValidator(['image/jpeg'])),\n * console.log(fileUpload.errors); // { invalidMimeFileType: ['image/jpeg'] }\n * ```\n *\n * @returns An Async validator function that returns an error map with the\n * `invalidMimeFileType` if the validation check fails, otherwise `null`.\n */\nexport const asyncMimeTypeExtensionValidator =\n (mimeTypes: MimeType[]): AsyncValidatorFn =>\n (control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\n if (control.value) {\n const fileErrorObservables: Observable<ValidationErrors | null>[] = [];\n // iterate over files\n control.value.forEach((file: File) => {\n // push observable which will check the mime validation type\n fileErrorObservables.push(validateFileMimeType(file, mimeTypes));\n });\n return zip(...fileErrorObservables).pipe(\n map((fileErrors) => {\n const errors = fileErrors.filter((fileError) => fileError !== null);\n // Error should be { fileName: FileType }\n return { invalidMimeFileType: errors };\n }),\n );\n }\n return of(null);\n };\n\nconst validateFileMimeType = (file: File, mimeTypes: MimeType[]): Observable<{ [key: string]: MimeType }> => {\n return new Observable<{ [p: string]: MimeType }>((subscriber) => {\n const reader = new FileReader();\n reader.onloadend = (): void => {\n const buffer = reader.result as ArrayBuffer;\n const headerBytes = new Uint8Array(buffer).slice(0, 8);\n const mime = getMimeType(headerBytes);\n if (mimeTypes.indexOf(mime) === -1) {\n subscriber.next({ [file.name]: mime });\n }\n subscriber.complete();\n };\n reader.readAsArrayBuffer(file);\n });\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.EuiFileSizePipe","i3.EuiFileUploadProgressComponent","i4.EuiFilePreviewComponent","i6.EuiFileSizePipe","i1"],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-file-upload.mjs","sources":["../../eui-file-upload/progress/eui-file-upload-progress.component.ts","../../eui-file-upload/progress/eui-file-upload-progress.component.html","../../eui-file-upload/pipes/filesize.pipe.ts","../../eui-file-upload/file-preview/file-preview.component.ts","../../eui-file-upload/file-preview/file-preview.component.html","../../eui-file-upload/eui-file-upload.component.ts","../../eui-file-upload/eui-file-upload.component.html","../../eui-file-upload/utils/eui-file-upload.utils.ts","../../eui-file-upload/eui-file-upload.module.ts","../../eui-file-upload/utils/mime-types.ts","../../eui-file-upload/utils/eui-file-upload.validators.ts","../../eui-file-upload/eui-components-eui-file-upload.ts"],"sourcesContent":["import { Component, Input, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'eui-file-upload-progress',\n templateUrl: './eui-file-upload-progress.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiFileUploadProgressComponent {\n @Input() progress = 0;\n}\n","<div *ngIf=\"progress > 0\">\n <div class=\"eui-file-upload__progress-bar-container\">\n <div class=\"progress-bar\" [style.width]=\"progress + '%'\"></div>\n </div>\n <div>{{ progress }}%</div>\n</div>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filesize',\n standalone: false,\n})\nexport class EuiFileSizePipe implements PipeTransform {\n private units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\n\n transform(bytes = 0, precision = 2): string {\n if (isNaN(parseFloat(String(bytes))) || !isFinite(bytes)) {\n return '?';\n }\n\n let unit = 0;\n\n while (bytes >= 1024) {\n bytes /= 1024;\n unit++;\n }\n\n return bytes.toFixed(+precision) + ' ' + this.units[unit];\n }\n}\n","import {\n Component,\n OnInit,\n Input,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n ChangeDetectorRef,\n Output,\n EventEmitter,\n ContentChildren,\n QueryList,\n TemplateRef,\n booleanAttribute,\n AfterViewInit,\n} from '@angular/core';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiUploadedFileInterface } from '../models/uploaded-file.model';\n\n@Component({\n selector: 'eui-file-preview',\n templateUrl: './file-preview.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiFilePreviewComponent implements OnInit, AfterViewInit {\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Input() file: Blob | EuiUploadedFileInterface | any;\n @Input() uploadedFileTemplate: TemplateRef<{ $implicit: { file: EuiUploadedFileInterface, index: number, isFileObject: boolean } }>;\n @Input() index: number;\n\n @Input() previewAsIconConfig = {\n avi: 'eui-file-video',\n html: 'eui-file-html',\n htm: 'eui-file-code',\n js: 'eui-file-code',\n json: 'eui-file-code',\n mp3: 'eui-file-audio',\n mp4: 'eui-file-video',\n pdf: 'eui-file-pdf',\n png: 'eui-file-image',\n svg: 'eui-file-image',\n txt: 'eui-file-text',\n xml: 'eui-file-code',\n jpeg: 'eui-file-image',\n jpg: 'eui-file-image',\n zip: 'eui-file-archive',\n doc: 'eui-file-word',\n docx: 'eui-file-word-o',\n xls: 'eui-file-excel-o',\n xlsx: 'eui-file-excel-o',\n ppt: 'eui-file-powerpoint',\n csv: 'eui-file-text',\n rtf: 'eui-file-text',\n };\n\n @Output() removeFromList = new EventEmitter<number>();\n\n public url: string;\n public icon: string;\n public fileExtension: string;\n public previewData: { image: boolean; display: string };\n public isLoading = false;\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() itemClick = new EventEmitter<Blob | EuiUploadedFileInterface | any>();\n\n @Input({ transform: booleanAttribute }) hasPreview = true;\n @Input({ transform: booleanAttribute }) isFilenameDisplayed = true;\n @Input({ transform: booleanAttribute }) isFilesizeDisplayed = true;\n @Input({ transform: booleanAttribute }) isFiletypeDisplayed = true;\n @Input({ transform: booleanAttribute }) hasPreviewAsImage = true;\n @Input({ transform: booleanAttribute }) hasPreviewAsIcon = false;\n @Input({ transform: booleanAttribute }) isItemsClickable = false;\n @Input({ transform: booleanAttribute }) isFileObject = false;\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n constructor(private cd: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n if (this.hasPreviewAsIcon) {\n this.hasPreviewAsImage = false;\n }\n\n if (this.file instanceof Blob) {\n const reader = new FileReader();\n reader.readAsArrayBuffer(this.file as Blob);\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n reader.onload = (event: any): void => {\n this.url = event.target.result;\n this.fileExtension = this.getFileExtension(this.file.name);\n this.icon = this.getIconForMime(this.fileExtension);\n\n const blob = new Blob([reader.result], { type: this.file.type });\n const imageUrl = URL.createObjectURL(blob);\n\n this.previewData = this.getPreviewForMime(this.fileExtension, imageUrl);\n\n this.cd.detectChanges();\n };\n reader.onloadstart = (event: ProgressEvent): void => {\n this.isLoading = true;\n this.cd.detectChanges();\n };\n reader.onloadend = (event: ProgressEvent): void => {\n this.isLoading = false;\n this.cd.detectChanges();\n };\n } else {\n this.url = (this.file as EuiUploadedFileInterface).url;\n this.fileExtension = this.getFileExtension(this.file.name);\n this.icon = this.getIconForMime(this.fileExtension);\n\n this.previewData = this.getPreviewForMime(this.fileExtension, this.url);\n\n this.cd.detectChanges();\n }\n }\n\n ngAfterViewInit(): void {\n this.templates.forEach((item) => {\n if (item.getType() === 'uploadedFile') {\n this.uploadedFileTemplate = item.template;\n }\n });\n }\n\n public onRemoveFromList(): void {\n this.removeFromList.emit(this.index);\n }\n\n public onItemClick(e: Event): void {\n this.itemClick.emit(this.file);\n e.preventDefault();\n }\n\n private getFileExtension(fileName: string): string {\n const ext = fileName.split('.');\n\n return ext[ext.length - 1];\n }\n\n private getPreviewForMime(fileExtension: string, imgUrl: string): { image: boolean; display: string } {\n const f = fileExtension.toLowerCase();\n const image = f === 'jpeg' || f === 'jpg' || f === 'png' || f === 'gif' ? true : false;\n const display = f === 'jpeg' || f === 'jpg' || f === 'png' || f === 'gif' ? imgUrl : this.getIconForMime(f);\n\n return { image, display };\n }\n\n private getIconForMime(fileExtension: string): string {\n const f = fileExtension.toLowerCase();\n return !this.previewAsIconConfig[f] ? 'eui-file-empty-o' : this.previewAsIconConfig[f];\n }\n}\n","@if (uploadedFileTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"uploadedFileTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { file: { id: file.id, name: file.name, url: file.url || previewData?.display, size: file.size, type: file.type }, index, isFileObject } }\">\n </ng-template>\n} @else {\n <div class=\"eui-file-upload__preview\">\n <div class=\"eui-file-upload__preview--left\">\n <div class=\"eui-file-upload__preview--left__image\" *ngIf=\"hasPreview && hasPreviewAsImage\">\n <img [src]=\"previewData.display\" *ngIf=\"url && previewData.image\" />\n <eui-icon-svg *ngIf=\"previewData && !previewData.image\" icon=\"{{ previewData.display }}\" size=\"l\" fillColor=\"info-100\" class=\"eui-u-mr-s\"></eui-icon-svg>\n <div *ngIf=\"isLoading\" class=\"loading-container\">\n <eui-icon-svg isLoading size=\"2xl\"></eui-icon-svg>\n </div>\n </div>\n <div *ngIf=\"hasPreview && hasPreviewAsIcon\">\n <eui-icon-svg icon=\"{{ icon }}\" size=\"l\" fillColor=\"info-100\" class=\"eui-u-mr-s\"></eui-icon-svg>\n </div>\n <div class=\"eui-file-upload__preview--left__filename eui-u-text-truncate\" *ngIf=\"isFilenameDisplayed\">\n <ng-container *ngIf=\"!isItemsClickable\">\n {{ file.name }}\n </ng-container>\n <ng-container *ngIf=\"isItemsClickable\">\n <a href=\"#\" (click)=\"onItemClick($event)\" class=\"eui-u-text-link eui-u-text-truncate\">{{ file.name }}</a>\n </ng-container>\n </div>\n </div>\n <div class=\"eui-file-upload__preview--right\">\n <div class=\"eui-u-text-no-wrap\" *ngIf=\"isFilesizeDisplayed\">{{ file.size | filesize }}</div>\n <div *ngIf=\"isFiletypeDisplayed\"><span euiLabel>{{ file.type }}</span></div>\n <div>\n <button euiButton euiDanger euiRounded euiIconButton euiBasicButton type=\"button\" (click)=\"onRemoveFromList()\">\n <eui-icon-svg icon=\"eui-ecl-trash\"></eui-icon-svg>\n </button>\n </div>\n </div>\n </div>\n}\n","import {\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n ViewEncapsulation,\n OnInit,\n ViewChildren,\n QueryList,\n Output,\n EventEmitter,\n booleanAttribute,\n AfterViewInit,\n ContentChildren,\n TemplateRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nimport { EuiTemplateDirective } from '@eui/components/directives';\n\nimport { EuiUploadedFileInterface } from './models/uploaded-file.model';\n\n@Component({\n selector: 'eui-file-upload',\n templateUrl: './eui-file-upload.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: EuiFileUploadComponent,\n multi: true,\n },\n ],\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiFileUploadComponent implements ControlValueAccessor, OnInit, AfterViewInit {\n @Input() e2eAttr = 'eui-file-upload';\n @Input() progress: number;\n @Input() accept = '*';\n @Input() maxFiles: number;\n @Output() fileDrop = new EventEmitter();\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n @Output() itemClick = new EventEmitter<Blob | EuiUploadedFileInterface | any>();\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n 'eui-file-upload',\n ]\n .join(' ')\n .trim();\n }\n\n public files: File[] = [];\n public filesTotalSize = 0;\n public randomNumberId = Math.floor(Math.random() * 10000);\n public uploadedFiles: EuiUploadedFileInterface[] = [];\n // eslint-disable-next-line\n public dragEntered = false;\n\n @ContentChildren(EuiTemplateDirective) templates: QueryList<EuiTemplateDirective>;\n\n @ViewChildren('input') fileInputs: QueryList<ElementRef<HTMLInputElement>>;\n\n public uploadedFileTemplate: TemplateRef<{ $implicit: { file: EuiUploadedFileInterface, index: number, isFileObject: boolean } }>;\n public browseButtonTemplate: TemplateRef<HTMLElement>;\n public resetButtonTemplate: TemplateRef<HTMLElement>;\n public progressBarTemplate: TemplateRef<{ $implicit: { progress: number } }>;\n\n @Input({ transform: booleanAttribute }) isMultiple = true;\n @Input({ transform: booleanAttribute }) hasProgressBar = true;\n @Input({ transform: booleanAttribute }) hasPreview = true;\n @Input({ transform: booleanAttribute }) hasPreviewAsImage = true;\n @Input({ transform: booleanAttribute }) hasPreviewAsIcon = false;\n @Input({ transform: booleanAttribute }) hasTotalSizeDisplayed = true;\n @Input({ transform: booleanAttribute }) hasResetButton = true;\n @Input({ transform: booleanAttribute }) hasDragArea = false;\n @Input({ transform: booleanAttribute }) isItemsClickable = false;\n\n @HostListener('change', ['$event.target.files']) emitFiles(fileList: FileList): void {\n let i = [...this.uploadedFiles, ...this.files].length;\n for (const property in fileList) {\n if (fileList[property] && typeof fileList[property] === 'object' && (!this.maxFiles || i < this.maxFiles)) {\n const fileName = fileList[property].name.split('.');\n const fileExtension = fileName[fileName.length - 1];\n\n if (this.accept.indexOf(fileExtension.toLowerCase()) !== -1 || this.accept === '*') {\n this.files.push(fileList[property]);\n }\n\n i++;\n }\n\n }\n\n this.getTotalSize();\n // eslint-disable-next-line\n this.uploadedFiles ? this.onChange([...this.uploadedFiles, ...this.files]) : this.onChange(this.files);\n if (this.fileInputs) {\n this.fileInputs.first.nativeElement.value = '';\n this.fileInputs.last.nativeElement.value = '';\n }\n\n this.dragEntered = false;\n this.fileDrop.emit();\n }\n\n get showResetBtn(): boolean {\n return this.hasResetButton && this.isMultiple && (this.files.length > 0 || this.uploadedFiles.length > 0);\n }\n\n get isDropAreaDisabled(): boolean {\n return (!this.isMultiple && this.files.length === 1) || [...this.uploadedFiles, ...this.files].length === this.maxFiles;\n }\n\n ngOnInit(): void {\n if (this.hasPreviewAsIcon) {\n this.hasPreviewAsImage = false;\n }\n }\n\n ngAfterViewInit(): void {\n // TODO EUI19: Change detection to OnPush to get rid of setTimeout workaround.\n setTimeout(() => {\n this.templates.forEach((item) => {\n if (item.getType() === 'uploadedFile') {\n this.uploadedFileTemplate = item.template;\n }\n if (item.getType() === 'browseButton') {\n this.browseButtonTemplate = item.template;\n }\n if (item.getType() === 'resetButton') {\n this.resetButtonTemplate = item.template;\n }\n if (item.getType() === 'progressBar') {\n this.progressBarTemplate = item.template;\n }\n });\n });\n }\n\n onDragEnter(): void {\n if (!this.isDropAreaDisabled) {\n this.dragEntered = true;\n }\n }\n\n onDragLeave(): void {\n this.dragEntered = false;\n }\n\n /**\n * Remove a file from the array of files choosen by the user.\n * @param index Index of the file to remove in the array.\n */\n public removeFromList(index: number): void {\n this.files = this.files.filter((f, i) => i !== index);\n\n if (this.files.length === 0) {\n this.progress = 0;\n }\n this.getTotalSize();\n this.onChange([...this.uploadedFiles, ...this.files]);\n }\n\n /**\n * Remove a file from the array of files provided to the component as existing values.\n * @param index Index of the file to remove in the array.\n */\n public removeFromUploadedList(index: number): void {\n this.uploadedFiles = this.uploadedFiles.filter((f, i) => i !== index);\n\n if (this.files.length === 0) {\n this.progress = 0;\n }\n\n this.getTotalSize();\n this.onChange([...this.uploadedFiles, ...this.files]);\n }\n\n /**\n * Reset the list of files in the component.\n */\n public resetList(): void {\n this.files = [];\n this.uploadedFiles = [];\n this.getTotalSize();\n this.progress = 0;\n this.onChange([...this.uploadedFiles, ...this.files]);\n }\n\n public openBrowseWindow(): void {\n this.fileInputs.first.nativeElement.click();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public onItemClick(e: Blob | EuiUploadedFileInterface | any): void {\n this.itemClick.emit(e);\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n writeValue(value: any): void {\n this.uploadedFiles = value || [];\n this.files = [];\n this.getTotalSize();\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n registerOnTouched(fn: any): void {/* Nothing to be Done so far */}\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private onChange: any = (): void => {/* Nothing to be Done so far */};\n\n private getTotalSize(): void {\n this.filesTotalSize = 0;\n this.files.forEach((f) => {\n this.filesTotalSize += f.size;\n });\n }\n}\n","@if (hasDragArea) {\n <div\n class=\"eui-file-upload__drop-area\"\n [class.eui-file-upload__drop-area--active]=\"dragEntered\"\n [class.eui-file-upload__drop-area--disabled]=\"isDropAreaDisabled\">\n <span class=\"eui-file-upload__fake-btn\">{{ 'eui.euifileupload.CHOOSE-FILE' | translate }}</span>\n <span>{{ 'eui.euifileupload.DRAG-AND-DROP-FILE-HERE' | translate }}</span>\n <input\n #input\n class=\"eui-file-upload__file-input\"\n attr.aria-label=\"{{ 'eui.euifileupload.CHOOSE-FILE' | translate }} 'or' {{\n 'eui.euifileupload.DRAG-AND-DROP-FILE-HERE' | translate\n }}\"\n type=\"file\"\n accept=\"{{ accept }}\"\n [attr.disabled]=\"isDropAreaDisabled ? 'disabled' : null\"\n [multiple]=\"isMultiple\"\n (dragenter)=\"onDragEnter()\"\n (dragleave)=\"onDragLeave()\" />\n </div>\n} @else {\n <div class=\"eui-file-upload__simple-input-file\">\n <label for=\"file-{{ randomNumberId }}\">\n @if (browseButtonTemplate) {\n <ng-template [ngTemplateOutlet]=\"browseButtonTemplate\"></ng-template>\n } @else {\n <button euiButton type=\"button\" (click)=\"openBrowseWindow()\">{{ 'eui.euifileupload.CHOOSE-FILE' | translate }}</button>\n }\n </label>\n \n @if (isMultiple) {\n <input\n #input\n aria-label=\"Choose Multiple Files\"\n class=\"file-input\"\n id=\"file-{{ randomNumberId }}\"\n type=\"file\"\n accept=\"{{ accept }}\"\n multiple />\n } @else {\n <input\n #input\n aria-label=\"Choose a single file\"\n class=\"file-input\"\n id=\"file-{{ randomNumberId }}\"\n type=\"file\"\n accept=\"{{ accept }}\" />\n }\n </div>\n}\n\n@if (hasProgressBar) {\n @if (progressBarTemplate) {\n <ng-template\n [ngTemplateOutlet]=\"progressBarTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: { progress } }\">\n </ng-template>\n } @else {\n <eui-file-upload-progress [progress]=\"progress\"></eui-file-upload-progress>\n }\n}\n\n@for (uploadedFile of uploadedFiles; let i = $index; track $index) {\n <div>\n <eui-file-preview\n [isItemsClickable]=\"isItemsClickable\"\n [index]=\"i\"\n [file]=\"uploadedFile\"\n [hasPreview]=\"hasPreview\"\n [hasPreviewAsImage]=\"hasPreviewAsImage\"\n [hasPreviewAsIcon]=\"hasPreviewAsIcon\"\n [uploadedFileTemplate]=\"uploadedFileTemplate\"\n (itemClick)=\"onItemClick($event)\"\n (removeFromList)=\"removeFromUploadedList($event)\">\n </eui-file-preview>\n </div>\n}\n\n@for (file of files; let i = $index; track $index) {\n <div>\n <eui-file-preview\n isFileObject\n [isItemsClickable]=\"isItemsClickable\"\n [index]=\"i\"\n [file]=\"file\"\n [hasPreview]=\"hasPreview\"\n [hasPreviewAsImage]=\"hasPreviewAsImage\"\n [hasPreviewAsIcon]=\"hasPreviewAsIcon\"\n [uploadedFileTemplate]=\"uploadedFileTemplate\"\n (itemClick)=\"onItemClick($event)\"\n (removeFromList)=\"removeFromList($event)\">\n </eui-file-preview>\n </div>\n}\n\n@if (filesTotalSize && hasTotalSizeDisplayed) {\n <div class=\"eui-file-upload__total-size\">\n {{ filesTotalSize | filesize }} {{ 'eui.euifileupload.TOTAL-SIZE' | translate }}\n </div>\n}\n\n<ng-content></ng-content>\n\n@if (showResetBtn) {\n @if (resetButtonTemplate) {\n <ng-template [ngTemplateOutlet]=\"resetButtonTemplate\"></ng-template>\n } @else {\n <button euiButton type=\"button\" (click)=\"resetList()\">\n {{ 'eui.euifileupload.RESET-LIST' | translate }}\n </button>\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpEvent, HttpEventType, HttpResponse } from '@angular/common/http';\nimport { filter, map, tap } from 'rxjs/operators';\nimport { pipe, Observable, UnaryFunction, MonoTypeOperatorFunction } from 'rxjs';\n\n@Injectable()\nexport class EuiFileUploadUtilsService {\n constructor(private httpClient: HttpClient) {}\n\n /**\n * @param data Data to send to backend\n * @param APIEndPoint Endpoint URL\n *\n * @description\n * Method that will format data in `FormData` and send them to backend.\n *\n * @usageNotes\n * Call the method and log the response in the console.\n *\n * ```typescript\n * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n * this.euiFileUploadUtilsService.uploadProgress((progress) => {\n * console.log(progress);\n * }),\n * this.euiFileUploadUtilsService.toResponseBody(),\n * ).subscribe((response) => {\n * console.log(response);\n * });\n * ```\n *\n * @returns The backend response.\n */\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public sendData(data: any, APIEndPoint: string): Observable<any> {\n return this.httpClient.post(APIEndPoint, this.toFormData(data), {\n reportProgress: true,\n observe: 'events',\n });\n }\n\n /**\n * @param cb A method to execute on each progress step.\n *\n * @description\n * Method that will return the upload progress.\n *\n * @usageNotes\n * Call the method and log the progress in the console.\n *\n * ```typescript\n * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n * this.euiFileUploadUtilsService.uploadProgress((progress) => {\n * console.log(progress);\n * }),\n * this.euiFileUploadUtilsService.toResponseBody(),\n * ).subscribe((response) => {\n * console.log(response);\n * });\n * ```\n *\n * @returns A number between 0 and 100.\n */\n public uploadProgress<T>(cb: (progress: number) => void): MonoTypeOperatorFunction<HttpEvent<T>> {\n return tap((event: HttpEvent<T>) => {\n if (event.type === HttpEventType.UploadProgress) {\n cb(Math.round((100 * event.loaded) / event.total));\n }\n });\n }\n\n /**\n * @description\n * Method that will return only the body of the backend response.\n *\n * @usageNotes\n * Call the method and log the response in the console.\n *\n * ```typescript\n * this.euiFileUploadUtilsService.sendData(this.form.value, 'http://localhost:3000/api/fake-api').pipe(\n * this.euiFileUploadUtilsService.uploadProgress((progress) => {\n * console.log(progress);\n * }),\n * this.euiFileUploadUtilsService.toResponseBody(),\n * ).subscribe((response) => {\n * console.log(response);\n * });\n * ```\n *\n * @returns The backend response.\n */\n public toResponseBody<T>(): UnaryFunction<Observable<HttpEvent<T>>, Observable<T>> {\n return pipe(\n filter((event: HttpEvent<T>) => event.type === HttpEventType.Response),\n map((res: HttpResponse<T>) => res.body),\n );\n }\n\n /**\n * Return the icon to be used with eui-icon-svg of the given extension or a default file icon\n * @param fileExtension \n * @returns Icon name as string\n */\n public getIconForExtension(fileExtension: string): string {\n const previewAsIconConfig = {\n avi: 'eui-file-video',\n html: 'eui-file-html',\n htm: 'eui-file-code',\n js: 'eui-file-code',\n json: 'eui-file-code',\n mp3: 'eui-file-audio',\n mp4: 'eui-file-video',\n pdf: 'eui-file-pdf',\n png: 'eui-file-image',\n svg: 'eui-file-image',\n txt: 'eui-file-text',\n xml: 'eui-file-code',\n jpeg: 'eui-file-image',\n jpg: 'eui-file-image',\n zip: 'eui-file-archive',\n doc: 'eui-file-word',\n docx: 'eui-file-word-o',\n xls: 'eui-file-excel-o',\n xlsx: 'eui-file-excel-o',\n ppt: 'eui-file-powerpoint',\n csv: 'eui-file-text',\n rtf: 'eui-file-text',\n };\n\n const f = fileExtension.toLowerCase();\n return !previewAsIconConfig[f] ? 'eui-file-empty-o' : previewAsIconConfig[f];\n }\n\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private toFormData(formValue: any): FormData {\n const formData = new FormData();\n\n for (const key of Object.keys(formValue)) {\n if (Array.isArray(formValue[key])) {\n let fileIndex = 0;\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n formValue[key].forEach((value: any) => {\n if (value instanceof File) {\n formData.append(key + fileIndex, value);\n fileIndex++;\n }\n });\n\n const a = [];\n // TODO: find the correct type or turn into a generic, https://www.typescriptlang.org/docs/handbook/2/generics.html\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n formValue[key].forEach((value: any): void => {\n a.push(value);\n });\n\n formData.append(key, JSON.stringify(a));\n } else {\n if (typeof formValue[key] === 'string') {\n formData.set(key, formValue[key]);\n } else {\n formData.set(key, JSON.stringify(formValue[key]));\n }\n }\n }\n\n return formData;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\n\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiTemplateDirectiveModule } from '@eui/components/directives';\n\nimport { EuiFileUploadComponent } from './eui-file-upload.component';\nimport { EuiFileUploadProgressComponent } from './progress/eui-file-upload-progress.component';\nimport { EuiFilePreviewComponent } from './file-preview/file-preview.component';\nimport { EuiFileSizePipe } from './pipes/filesize.pipe';\nimport { EuiFileUploadUtilsService } from './utils/eui-file-upload.utils';\n\n@NgModule({\n imports: [CommonModule, EuiButtonModule, EuiIconModule, TranslateModule, EuiTemplateDirectiveModule],\n declarations: [EuiFileUploadComponent, EuiFileUploadProgressComponent, EuiFilePreviewComponent, EuiFileSizePipe],\n providers: [EuiFileUploadUtilsService],\n exports: [EuiFileUploadComponent, EuiFileSizePipe, EuiTemplateDirectiveModule],\n})\nexport class EuiFileUploadModule {}\n","export type MimeType =\n | 'image/jpeg'\n | 'image/png'\n | 'image/gif'\n | 'image/webp'\n | 'image/flif'\n | 'image/x-xcf'\n | 'image/x-canon-cr2'\n | 'image/x-canon-cr3'\n | 'image/tiff'\n | 'image/bmp'\n | 'image/icns'\n | 'image/vnd.ms-photo'\n | 'image/vnd.adobe.photoshop'\n | 'application/x-indesign'\n | 'application/epub+zip'\n | 'application/x-xpinstall'\n | 'application/vnd.oasis.opendocument.text'\n | 'application/vnd.oasis.opendocument.spreadsheet'\n | 'application/vnd.oasis.opendocument.presentation'\n | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n | 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n | 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n | 'application/zip'\n | 'application/json'\n | 'application/x-tar'\n | 'application/x-rar-compressed'\n | 'application/gzip'\n | 'application/x-bzip2'\n | 'application/x-7z-compressed'\n | 'application/x-apple-diskimage'\n | 'video/mp4'\n | 'audio/midi'\n | 'video/x-matroska'\n | 'video/webm'\n | 'video/quicktime'\n | 'video/vnd.avi'\n | 'audio/vnd.wave'\n | 'audio/qcelp'\n | 'audio/x-ms-asf'\n | 'video/x-ms-asf'\n | 'application/vnd.ms-asf'\n | 'video/mpeg'\n | 'video/3gpp'\n | 'audio/mpeg'\n | 'audio/mp4'\n | 'audio/opus'\n | 'video/ogg'\n | 'audio/ogg'\n | 'application/ogg'\n | 'audio/x-flac'\n | 'audio/ape'\n | 'audio/wavpack'\n | 'audio/amr'\n | 'application/pdf'\n | 'application/x-elf'\n | 'application/x-msdownload'\n | 'application/x-shockwave-flash'\n | 'application/rtf'\n | 'application/wasm'\n | 'font/woff'\n | 'font/woff2'\n | 'application/vnd.ms-fontobject'\n | 'font/ttf'\n | 'font/otf'\n | 'image/x-icon'\n | 'video/x-flv'\n | 'application/postscript'\n | 'application/eps'\n | 'application/x-xz'\n | 'application/x-sqlite3'\n | 'application/x-nintendo-nes-rom'\n | 'application/x-google-chrome-extension'\n | 'application/vnd.ms-cab-compressed'\n | 'application/x-deb'\n | 'application/x-unix-archive'\n | 'application/x-rpm'\n | 'application/x-compress'\n | 'application/x-lzip'\n | 'application/x-cfb'\n | 'application/x-mie'\n | 'application/x-apache-arrow'\n | 'application/mxf'\n | 'video/mp2t'\n | 'application/x-blender'\n | 'image/bpg'\n | 'image/j2c'\n | 'image/jp2'\n | 'image/jpx'\n | 'image/jpm'\n | 'image/mj2'\n | 'audio/aiff'\n | 'application/xml'\n | 'application/x-mobipocket-ebook'\n | 'image/heif'\n | 'image/heif-sequence'\n | 'image/heic'\n | 'image/heic-sequence'\n | 'image/ktx'\n | 'application/dicom'\n | 'audio/x-musepack'\n | 'text/calendar'\n | 'text/vcard'\n | 'model/gltf-binary'\n | 'application/vnd.tcpdump.pcap'\n | 'audio/x-voc'\n | 'audio/vnd.dolby.dd-raw'\n | 'audio/x-m4a'\n | 'image/apng'\n | 'image/x-olympus-orf'\n | 'image/x-sony-arw'\n | 'image/x-adobe-dng'\n | 'image/x-nikon-nef'\n | 'image/x-panasonic-rw2'\n | 'image/x-fujifilm-raf'\n | 'video/x-m4v'\n | 'video/3gpp2'\n | 'application/x-esri-shape'\n | 'audio/aac'\n | 'audio/x-it'\n | 'audio/x-s3m'\n | 'audio/x-xm'\n | 'video/MP1S'\n | 'video/MP2P'\n | 'application/vnd.sketchup.skp'\n | 'image/avif'\n | 'application/x-lzh-compressed'\n | 'application/pgp-encrypted'\n | 'application/x-asar'\n | 'model/stl'\n | 'application/vnd.ms-htmlhelp'\n | 'model/3mf'\n | 'image/jxl'\n | 'application/zstd'\n | 'image/jls'\n | 'application/vnd.ms-outlook'\n | 'image/vnd.dwg'\n | 'application/x-parquet'\n | 'application/java-vm'\n | 'application/x-arj'\n | 'application/x-cpio'\n | 'application/x-ace-compressed'\n | 'application/avro'\n | 'application/vnd.iccprofile'; // eslint-disable-line semi-style\n\nexport const getMimeType = (header: Uint8Array): MimeType => {\n // convert Uint8Array to hex string\n const hex = uint8ArrayToHexString(header);\n\n // map hex string to mime type\n if (hex.startsWith('ffd8ffe000104a46')) return 'image/jpeg';\n if (hex.startsWith('89504e47')) return 'image/png';\n if (hex.startsWith('464c4946')) return 'image/flif';\n if (hex.startsWith('67696d7020786366')) return 'image/x-xcf';\n if (hex.startsWith('49492a00')) return 'image/x-canon-cr2';\n if (hex.startsWith('49492a00')) return 'image/x-canon-cr3';\n if (hex.startsWith('49492a00')) return 'image/tiff';\n if (hex.startsWith('424d')) return 'image/bmp';\n if (hex.startsWith('69636e73')) return 'image/icns';\n if (hex.startsWith('49491a0000004845415050')) return 'image/vnd.ms-photo';\n if (hex.startsWith('38425053')) return 'image/vnd.adobe.photoshop';\n if (hex.startsWith('06054b50')) return 'application/x-indesign';\n if (hex.startsWith('504b0304')) return 'application/epub+zip';\n if (hex.startsWith('504b0304')) return 'application/x-xpinstall';\n if (hex.startsWith('504b0304')) return 'application/vnd.oasis.opendocument.text';\n if (hex.startsWith('504b0304')) return 'application/vnd.oasis.opendocument.spreadsheet';\n if (hex.startsWith('504b0304')) return 'application/vnd.oasis.opendocument.presentation';\n if (hex.startsWith('504b0304')) return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n if (hex.startsWith('504b0304')) return 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n if (hex.startsWith('504b0304')) return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n if (hex.startsWith('504b0304')) return 'application/zip';\n if (hex.startsWith('7b2274797065223a226a736f6e227d')) return 'application/json';\n if (hex.startsWith('7573746172')) return 'application/x-tar';\n if (hex.startsWith('526172211a0700')) return 'application/x-rar-compressed';\n if (hex.startsWith('1f8b08')) return 'application/gzip';\n if (hex.startsWith('425a68')) return 'application/x-bzip2';\n if (hex.startsWith('377abcaf271c')) return 'application/x-7z-compressed';\n if (hex.startsWith('78da')) return 'application/x-apple-diskimage';\n if (hex.startsWith('00000020667479706d70')) return 'video/mp4';\n if (hex.startsWith('4d546864')) return 'audio/midi';\n if (hex.startsWith('1a45dfa393428288')) return 'video/x-matroska';\n if (hex.startsWith('1a45dfa3')) return 'video/webm';\n if (hex.startsWith('00000014667479707174')) return 'video/quicktime';\n if (hex.startsWith('52494646')) return 'video/vnd.avi';\n if (hex.startsWith('52494646')) return 'audio/vnd.wave';\n if (hex.startsWith('0a010301')) return 'audio/qcelp';\n if (hex.startsWith('3026b2758e66cf11')) return 'audio/x-ms-asf';\n if (hex.startsWith('3026b2758e66cf11')) return 'video/x-ms-asf';\n if (hex.startsWith('3026b2758e66cf11')) return 'application/vnd.ms-asf';\n if (hex.startsWith('000001ba')) return 'video/mpeg';\n if (hex.startsWith('00000020667479703367')) return 'video/3gpp';\n if (hex.startsWith('494433')) return 'audio/mpeg';\n if (hex.startsWith('00000020667479704d344120')) return 'audio/mp4';\n if (hex.startsWith('4f707573')) return 'audio/opus';\n if (hex.startsWith('4f676753')) return 'video/ogg';\n if (hex.startsWith('4f676753')) return 'audio/ogg';\n if (hex.startsWith('4f676753')) return 'application/ogg';\n if (hex.startsWith('664c6143')) return 'audio/x-flac';\n if (hex.startsWith('4d414320')) return 'audio/ape';\n if (hex.startsWith('7776706b')) return 'audio/wavpack';\n if (hex.startsWith('2321414d520a')) return 'audio/amr';\n if (hex.startsWith('255044462d312e')) return 'application/pdf';\n if (hex.startsWith('7f454c46')) return 'application/x-elf';\n if (hex.startsWith('4d5a')) return 'application/x-msdownload';\n if (hex.startsWith('435753')) return 'application/x-shockwave-flash';\n if (hex.startsWith('7b5c72746631')) return 'application/rtf';\n if (hex.startsWith('0061736d')) return 'application/wasm';\n if (hex.startsWith('774f4646')) return 'font/woff';\n if (hex.startsWith('774f4632')) return 'font/woff2';\n if (hex.startsWith('000100000008')) return 'application/vnd.ms-fontobject';\n if (hex.startsWith('0001000000')) return 'font/ttf';\n if (hex.startsWith('4f54544f00')) return 'font/otf';\n if (hex.startsWith('000001000100')) return 'image/x-icon';\n if (hex.startsWith('464c560105')) return 'video/x-flv';\n if (hex.startsWith('25215053')) return 'application/postscript';\n if (hex.startsWith('25215053')) return 'application/eps';\n if (hex.startsWith('fd377a585a00')) return 'application/x-xz';\n if (hex.startsWith('53514c69746520666f726d6174203300')) return 'application/x-sqlite3';\n if (hex.startsWith('4e45531a00000001')) return 'application/x-nintendo-nes-rom';\n if (hex.startsWith('504b0304')) return 'application/x-google-chrome-extension';\n if (hex.startsWith('4d534346')) return 'application/vnd.ms-cab-compressed';\n if (hex.startsWith('213c617263683e0a')) return 'application/x-deb';\n if (hex.startsWith('1f8b08')) return 'application/x-unix-archive';\n if (hex.startsWith('edabeedb')) return 'application/x-rpm';\n if (hex.startsWith('1f9d90')) return 'application/x-compress';\n if (hex.startsWith('4c5a4950')) return 'application/x-lzip';\n if (hex.startsWith('d0cf11e0a1b11ae1')) return 'application/x-cfb';\n if (hex.startsWith('4d49455f')) return 'application/x-mie';\n if (hex.startsWith('4141523146')) return 'application/x-apache-arrow';\n if (hex.startsWith('060e2b3402050101')) return 'application/mxf';\n if (hex.startsWith('47')) return 'video/mp2t';\n if (hex.startsWith('4250e4')) return 'application/x-blender';\n if (hex.startsWith('425047fb')) return 'image/bpg';\n if (hex.startsWith('ff4fff51')) return 'image/j2c';\n if (hex.startsWith('0000000c6a5020200d0a')) return 'image/jp2';\n if (hex.startsWith('6a5020200d0a870a')) return 'image/jpx';\n if (hex.startsWith('6a5020200d0a870a')) return 'image/jpm';\n if (hex.startsWith('0000000c6a5020200d0a')) return 'image/mj2';\n if (hex.startsWith('464f524d')) return 'audio/aiff';\n if (hex.startsWith('3c3f786d6c20')) return 'application/xml';\n if (hex.startsWith('424f4f4b4d4f4249')) return 'application/x-mobipocket-ebook';\n if (hex.startsWith('667479706174')) return 'image/heif';\n if (hex.startsWith('667479706174')) return 'image/heif-sequence';\n if (hex.startsWith('667479706174')) return 'image/heic';\n if (hex.startsWith('667479706174')) return 'image/heic-sequence';\n if (hex.startsWith('4b545820')) return 'image/ktx';\n if (hex.startsWith('4449434d')) return 'application/dicom';\n if (hex.startsWith('4d50434b')) return 'audio/x-musepack';\n if (hex.startsWith('56656e64')) return 'text/calendar';\n if (hex.startsWith('424547494e3a5643415244')) return 'text/vcard';\n if (hex.startsWith('676c5458')) return 'model/gltf-binary';\n if (hex.startsWith('d4c3b2a1')) return 'application/vnd.tcpdump.pcap';\n if (hex.startsWith('464f524d')) return 'audio/x-voc';\n if (hex.startsWith('64646f6c')) return 'audio/vnd.dolby.dd-raw';\n\n return null;\n};\n\nconst uint8ArrayToHexString = (uint8Array): string => {\n return Array.prototype.map.call(uint8Array, (byte) => ('00' + byte.toString(16)).slice(-2)).join('');\n};\n","import { AbstractControl, AsyncValidatorFn, ValidationErrors, ValidatorFn } from '@angular/forms';\nimport { Observable, of, zip } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { getMimeType, MimeType } from './mime-types';\n\n/**\n * @description\n * Validator that requires the maximum length of files that can be uploaded.\n *\n * @usageNotes\n * Validate that the user selected maximum 3 files:\n *\n * ```typescript\n * const fileUpload = new FormControl(null, maxFilesValidator(3));\n * console.log(fileUpload.errors); // { maxFiles: 3 }\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `maxFiles` if the validation check fails, otherwise `null`.\n */\nexport const maxFilesValidator =\n (maxFiles: number): ValidatorFn =>\n (control: AbstractControl): { maxFiles: number } | null =>\n control.value && control.value.length > maxFiles ? { maxFiles } : null;\n\n/**\n * @description\n * Validator that requires the maximum size (in bytes) of files that can be uploaded.\n *\n * @usageNotes\n * Validate that the user doesn't select a file have a size up to 300Kb:\n *\n * ```typescript\n * const fileUpload = new FormControl(null, maxSizeValidator(300000));\n * console.log(fileUpload.errors); // { maxSize: 300000 }\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `maxSize` if the validation check fails, otherwise `null`.\n */\nexport const maxSizeValidator =\n (maxSize: number): ValidatorFn =>\n (control: AbstractControl): { maxSize: number } | null => {\n let totalSize = 0;\n if (control.value) {\n control.value.forEach((file: File) => {\n totalSize += file.size;\n });\n }\n\n return control.value && totalSize > maxSize * 1.024 ? { maxSize } : null;\n };\n\n/**\n * @description\n * Validator that requires the maximum size (in bytes) per file that can be uploaded.\n *\n * @usageNotes\n * Validates that the user doesn't select a file that exceeds the provided size\n *\n * @returns A validator function that returns an error map with the\n * `maxFileSize` and the `indexes` of the file/files that exceeded the max size if the validation check fails, otherwise `null`.\n */\nexport const maxFileSizeValidator =\n (maxFileSize: number): ValidatorFn =>\n (control: AbstractControl): { maxFileSize: number, indexes: Array<number> } | null => {\n const fileIndexes =[];\n let maxFileExceeded = false;\n if (control.value) {\n control.value.forEach((file: File, index: number) => {\n if (file.size > maxFileSize * 1.024) {\n fileIndexes.push(index);\n maxFileExceeded = true;\n }\n });\n }\n\n return control.value && maxFileExceeded ? { maxFileSize, indexes: fileIndexes } : null;\n };\n\n/**\n * @description\n * Validator that requires an array of mime type that can be uploaded.\n *\n * @usageNotes\n * Validate that the user doesn't select a file having another extension than .jpg or .jpeg:\n *\n * ```typescript\n * const fileUpload = new FormControl(null, mimeTypeExtensionValidator(['image/jpeg'])),\n * console.log(fileUpload.errors); // { invalidFileExtension: ['image/jpeg'] }\n * ```\n *\n * @returns A validator function that returns an error map with the\n * `invalidFileExtension` if the validation check fails, otherwise `null`.\n */\nexport const mimeTypeExtensionValidator =\n (mimeTypes: string[]): ValidatorFn =>\n (control: AbstractControl): { invalidFileExtension: string[] } | null => {\n const invalidFileExtension: string[] = [];\n if (control.value) {\n control.value.forEach((file: File) => {\n if (mimeTypes.indexOf(file.type) === -1) {\n invalidFileExtension.push(file.name);\n }\n });\n }\n\n return control.value && invalidFileExtension.length > 0 ? { invalidFileExtension } : null;\n };\n\n/**\n * @description\n * Validator that requires an array of mime type that can be uploaded.\n *\n * @usageNotes\n * Validate that the user doesn't select a file having another extension than .jpg or .jpeg:\n *\n * ```typescript\n * const fileUpload = new FormControl(null, mimeTypeExtensionValidator(['image/jpeg'])),\n * console.log(fileUpload.errors); // { invalidMimeFileType: ['image/jpeg'] }\n * ```\n *\n * @returns An Async validator function that returns an error map with the\n * `invalidMimeFileType` if the validation check fails, otherwise `null`.\n */\nexport const asyncMimeTypeExtensionValidator =\n (mimeTypes: MimeType[]): AsyncValidatorFn =>\n (control: AbstractControl): Promise<ValidationErrors | null> | Observable<ValidationErrors | null> => {\n if (control.value) {\n const fileErrorObservables: Observable<ValidationErrors | null>[] = [];\n // iterate over files\n control.value.forEach((file: File) => {\n // push observable which will check the mime validation type\n fileErrorObservables.push(validateFileMimeType(file, mimeTypes));\n });\n return zip(...fileErrorObservables).pipe(\n map((fileErrors) => {\n const errors = fileErrors.filter((fileError) => fileError !== null);\n // Error should be { fileName: FileType }\n return { invalidMimeFileType: errors };\n }),\n );\n }\n return of(null);\n };\n\nconst validateFileMimeType = (file: File, mimeTypes: MimeType[]): Observable<{ [key: string]: MimeType }> => {\n return new Observable<{ [p: string]: MimeType }>((subscriber) => {\n const reader = new FileReader();\n reader.onloadend = (): void => {\n const buffer = reader.result as ArrayBuffer;\n const headerBytes = new Uint8Array(buffer).slice(0, 8);\n const mime = getMimeType(headerBytes);\n if (mimeTypes.indexOf(mime) === -1) {\n subscriber.next({ [file.name]: mime });\n }\n subscriber.complete();\n };\n reader.readAsArrayBuffer(file);\n });\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.EuiFileSizePipe","i3.EuiFileUploadProgressComponent","i4.EuiFilePreviewComponent","i6.EuiFileSizePipe","i1"],"mappings":"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"}
@@ -100,11 +100,11 @@ class EuiIconSvgComponent {
100
100
  this.iconStyle = `${fill}`;
101
101
  }
102
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EuiIconSvgComponent, deps: [{ token: EUI_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
103
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.3", type: EuiIconSvgComponent, isStandalone: false, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: { icon: "icon", fillColor: "fillColor", set: "set", size: "size", style: "style", iconUrl: "iconUrl", transform: "transform", euiVariant: "euiVariant", ariaLabel: ["aria-label", "ariaLabel"], ariaHidden: ["ariaHidden", "ariaHidden", booleanAttribute], focusable: ["focusable", "focusable", booleanAttribute], isLoading: ["isLoading", "isLoading", booleanAttribute], isInputIcon: ["isInputIcon", "isInputIcon", booleanAttribute], euiStart: ["euiStart", "euiStart", booleanAttribute], euiEnd: ["euiEnd", "euiEnd", booleanAttribute] }, host: { properties: { "attr.role": "this.ariaRole", "class": "this.cssClasses", "attr.aria-label": "this.ariaLabel" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"icon && !iconUrl && !isLoading\">\n <svg\n class=\"eui-sprite-{{icon}}\"\n [class.eui-icon-svg--loading]=\"isLoading\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\"\n attr.style=\"{{iconStyle}}\">\n <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n </svg>\n <ng-content></ng-content>\n</ng-container>\n\n<ng-container *ngIf=\"iconUrl\">\n <svg class=\"eui-icon-svg\"\n attr.style=\"{{iconStyle}} {{style}}\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\">\n <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n </svg>\n</ng-container>\n", styles: [".eui-19 .eui-icon-svg{display:inline-flex;position:relative}.eui-19 .eui-icon-svg svg{pointer-events:none}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-facebook{color:#4267b2;fill:#4267b2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-flickr{color:#000;fill:#000}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-foursquare{color:#ff577a;fill:#ff577a}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-gmail,.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-instagram{color:#000;fill:#000}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-linkedin{color:#0a66c2;fill:#0a66c2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-mastodon{color:#2b90d9;fill:#2b90d9}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-messenger{color:#00b2ff;fill:#00b2ff}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-pinterest{color:#e60023;fill:#e60023}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-qzone{color:#fc0;fill:#fc0}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-reddit{color:#ff5700;fill:#ff5700}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-skype{color:#00aff0;fill:#00aff0}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-spotify{color:#1db954;fill:#1db954}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-telegram{color:#24a1de;fill:#24a1de}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-twitter{color:#1da1f2;fill:#1da1f2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-typepad{color:#aab652;fill:#aab652}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-weibo{color:#e6162d;fill:#e6162d}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-whatasapp{color:#25d366;fill:#25d366}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-yahoomail{color:#6619df;fill:#6619df}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-yammer{color:#0078d4;fill:#0078d4}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-youtube{color:red;fill:red}.eui-19 .eui-icon-svg--start{margin-right:var(--eui-s-s)}.eui-19 .eui-icon-svg--end{margin-left:var(--eui-s-s)}.eui-19 .eui-icon-svg--input-icon{position:absolute}.eui-19 .eui-icon-svg--input-icon.eui-icon-svg--start{left:var(--eui-s-2xl)}.eui-19 .eui-icon-svg--input-icon.eui-icon-svg--end{right:var(--eui-s-xl)}.eui-19 .eui-icon-svg--loading{align-items:center;display:inline-flex;color:transparent;fill:transparent}.eui-19 .eui-icon-svg--loading:after,.eui-19 .eui-icon-svg--loading:before{content:\"\";position:absolute;height:100%;width:100%}.eui-19 .eui-icon-svg--loading:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.25);border-radius:var(--eui-br-max)}.eui-19 .eui-icon-svg--loading:after{animation:eui-icon-loading-kf .8s linear;animation-iteration-count:infinite;border-color:rgba(255,255,255,.5) transparent transparent;border-radius:var(--eui-br-max);border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 .eui-icon-svg--loading--sm:before,.eui-19 .eui-icon-svg--loading--sm:after{height:var(--eui-s-m);width:var(--eui-s-m)}.eui-19 .eui-icon-svg.eui-icon-svg--spin>svg{animation:eui-icon-svg-spin 1.5s infinite linear}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-45{transform:rotate(45deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-90{transform:rotate(90deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-135{transform:rotate(135deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-180{transform:rotate(180deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-225{transform:rotate(225deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-270{transform:rotate(270deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-315{transform:rotate(315deg)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";transform:scaleX(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scaleY(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-both{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scale(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--stack{position:absolute;transform:translate(-50%);margin-left:50%}@keyframes eui-icon-loading-kf{to{transform:rotate(360deg)}}@keyframes eui-icon-svg-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s:after{min-height:var(--eui-s-s);min-width:var(--eui-s-s)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m:after{min-height:var(--eui-s-m);min-width:var(--eui-s-m)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l:after{min-height:var(--eui-s-l);min-width:var(--eui-s-l)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl:after{min-height:var(--eui-s-xl);min-width:var(--eui-s-xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl:after{min-height:var(--eui-s-2xl);min-width:var(--eui-s-2xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xs svg{height:var(--eui-is-2xs);width:var(--eui-is-2xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xs svg>image{height:var(--eui-is-2xs);width:var(--eui-is-2xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xs.eui-icon-svg--stack svg{height:var(--eui-is-2xs);width:var(--eui-is-2xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xs svg{height:var(--eui-is-xs);width:var(--eui-is-xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xs svg>image{height:var(--eui-is-xs);width:var(--eui-is-xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xs.eui-icon-svg--stack svg{height:var(--eui-is-xs);width:var(--eui-is-xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-s svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg.eui-icon-svg--size-s svg>image{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg.eui-icon-svg--size-s.eui-icon-svg--stack svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg.eui-icon-svg--size-m svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg.eui-icon-svg--size-m svg>image{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg.eui-icon-svg--size-m.eui-icon-svg--stack svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg.eui-icon-svg--size-l svg{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg.eui-icon-svg--size-l svg>image{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg.eui-icon-svg--size-l.eui-icon-svg--stack svg{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xl svg{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xl svg>image{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xl.eui-icon-svg--stack svg{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xl svg{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xl svg>image{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xl.eui-icon-svg--stack svg{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-3xl svg{height:var(--eui-is-3xl);width:var(--eui-is-3xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-3xl svg>image{height:var(--eui-is-3xl);width:var(--eui-is-3xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-3xl.eui-icon-svg--stack svg{height:var(--eui-is-3xl);width:var(--eui-is-3xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-4xl svg{height:var(--eui-is-4xl);width:var(--eui-is-4xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-4xl svg>image{height:var(--eui-is-4xl);width:var(--eui-is-4xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-4xl.eui-icon-svg--stack svg{height:var(--eui-is-4xl);width:var(--eui-is-4xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-fluid svg{height:var(--eui-is-fluid);width:var(--eui-is-fluid)}.eui-19 .eui-icon-svg.eui-icon-svg--size-fluid svg>image{height:var(--eui-is-fluid);width:var(--eui-is-fluid)}.eui-19 .eui-icon-svg.eui-icon-svg--size-fluid.eui-icon-svg--stack svg{height:var(--eui-is-fluid);width:var(--eui-is-fluid)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.3", type: EuiIconSvgComponent, isStandalone: false, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: { icon: "icon", fillColor: "fillColor", set: "set", size: "size", style: "style", iconUrl: "iconUrl", transform: "transform", euiVariant: "euiVariant", ariaLabel: ["aria-label", "ariaLabel"], ariaHidden: ["ariaHidden", "ariaHidden", booleanAttribute], focusable: ["focusable", "focusable", booleanAttribute], isLoading: ["isLoading", "isLoading", booleanAttribute], isInputIcon: ["isInputIcon", "isInputIcon", booleanAttribute], euiStart: ["euiStart", "euiStart", booleanAttribute], euiEnd: ["euiEnd", "euiEnd", booleanAttribute] }, host: { properties: { "attr.role": "this.ariaRole", "class": "this.cssClasses", "attr.aria-label": "this.ariaLabel" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"icon && !iconUrl && !isLoading\">\n <svg\n class=\"eui-sprite-{{icon}}\"\n [class.eui-icon-svg--loading]=\"isLoading\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\"\n attr.style=\"{{iconStyle}}\">\n <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n </svg>\n <ng-content></ng-content>\n</ng-container>\n\n<ng-container *ngIf=\"iconUrl\">\n <svg class=\"eui-icon-svg\"\n attr.style=\"{{iconStyle}} {{style}}\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\">\n <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n </svg>\n</ng-container>\n", styles: [".eui-19 .eui-icon-svg{display:inline-flex;position:relative}.eui-19 .eui-icon-svg svg{pointer-events:none}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-facebook{color:#4267b2;fill:#4267b2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-flickr{color:#000;fill:#000}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-foursquare{color:#ff577a;fill:#ff577a}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-gmail,.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-instagram{color:#000;fill:#000}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-linkedin{color:#0a66c2;fill:#0a66c2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-mastodon{color:#2b90d9;fill:#2b90d9}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-messenger{color:#00b2ff;fill:#00b2ff}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-pinterest{color:#e60023;fill:#e60023}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-qzone{color:#fc0;fill:#fc0}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-reddit{color:#ff5700;fill:#ff5700}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-skype{color:#00aff0;fill:#00aff0}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-spotify{color:#1db954;fill:#1db954}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-telegram{color:#24a1de;fill:#24a1de}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-twitter{color:#1da1f2;fill:#1da1f2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-typepad{color:#aab652;fill:#aab652}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-weibo{color:#e6162d;fill:#e6162d}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-whatasapp{color:#25d366;fill:#25d366}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-yahoomail{color:#6619df;fill:#6619df}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-yammer{color:#0078d4;fill:#0078d4}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-youtube{color:red;fill:red}.eui-19 .eui-icon-svg--start{margin-right:var(--eui-s-s)}.eui-19 .eui-icon-svg--end{margin-left:var(--eui-s-s)}.eui-19 .eui-icon-svg--input-icon{position:absolute}.eui-19 .eui-icon-svg--input-icon.eui-icon-svg--start{left:var(--eui-s-2xl)}.eui-19 .eui-icon-svg--input-icon.eui-icon-svg--end{right:var(--eui-s-xl)}.eui-19 .eui-icon-svg--loading{align-items:center;display:inline-flex;color:transparent;fill:transparent}.eui-19 .eui-icon-svg--loading:after,.eui-19 .eui-icon-svg--loading:before{content:\"\";position:absolute;height:100%;width:100%}.eui-19 .eui-icon-svg--loading:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.25);border-radius:var(--eui-br-max)}.eui-19 .eui-icon-svg--loading:after{animation:eui-icon-loading-kf .8s linear;animation-iteration-count:infinite;border-color:rgba(255,255,255,.5) transparent transparent;border-radius:var(--eui-br-max);border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 .eui-icon-svg--loading--sm:before,.eui-19 .eui-icon-svg--loading--sm:after{height:var(--eui-s-m);width:var(--eui-s-m)}.eui-19 .eui-icon-svg.eui-icon-svg--spin>svg{animation:eui-icon-svg-spin 1.5s infinite linear}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-45{transform:rotate(45deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-90{transform:rotate(90deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-135{transform:rotate(135deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-180{transform:rotate(180deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-225{transform:rotate(225deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-270{transform:rotate(270deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-315{transform:rotate(315deg)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";transform:scaleX(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scaleY(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-both{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scale(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--stack{position:absolute;transform:translate(-50%);margin-left:50%}@keyframes eui-icon-loading-kf{to{transform:rotate(360deg)}}@keyframes eui-icon-svg-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s:after{min-height:var(--eui-s-s);min-width:var(--eui-s-s)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m:after{min-height:var(--eui-s-m);min-width:var(--eui-s-m)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l:after{min-height:var(--eui-s-l);min-width:var(--eui-s-l)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl:after{min-height:var(--eui-s-xl);min-width:var(--eui-s-xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl:after{min-height:var(--eui-s-2xl);min-width:var(--eui-s-2xl)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
104
104
  }
105
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: EuiIconSvgComponent, decorators: [{
106
106
  type: Component,
107
- args: [{ selector: 'eui-icon-svg, span[euiIconSvg], i[euiIconSvg]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-container *ngIf=\"icon && !iconUrl && !isLoading\">\n <svg\n class=\"eui-sprite-{{icon}}\"\n [class.eui-icon-svg--loading]=\"isLoading\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\"\n attr.style=\"{{iconStyle}}\">\n <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n </svg>\n <ng-content></ng-content>\n</ng-container>\n\n<ng-container *ngIf=\"iconUrl\">\n <svg class=\"eui-icon-svg\"\n attr.style=\"{{iconStyle}} {{style}}\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\">\n <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n </svg>\n</ng-container>\n", styles: [".eui-19 .eui-icon-svg{display:inline-flex;position:relative}.eui-19 .eui-icon-svg svg{pointer-events:none}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-facebook{color:#4267b2;fill:#4267b2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-flickr{color:#000;fill:#000}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-foursquare{color:#ff577a;fill:#ff577a}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-gmail,.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-instagram{color:#000;fill:#000}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-linkedin{color:#0a66c2;fill:#0a66c2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-mastodon{color:#2b90d9;fill:#2b90d9}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-messenger{color:#00b2ff;fill:#00b2ff}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-pinterest{color:#e60023;fill:#e60023}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-qzone{color:#fc0;fill:#fc0}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-reddit{color:#ff5700;fill:#ff5700}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-skype{color:#00aff0;fill:#00aff0}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-spotify{color:#1db954;fill:#1db954}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-telegram{color:#24a1de;fill:#24a1de}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-twitter{color:#1da1f2;fill:#1da1f2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-typepad{color:#aab652;fill:#aab652}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-weibo{color:#e6162d;fill:#e6162d}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-whatasapp{color:#25d366;fill:#25d366}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-yahoomail{color:#6619df;fill:#6619df}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-yammer{color:#0078d4;fill:#0078d4}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-youtube{color:red;fill:red}.eui-19 .eui-icon-svg--start{margin-right:var(--eui-s-s)}.eui-19 .eui-icon-svg--end{margin-left:var(--eui-s-s)}.eui-19 .eui-icon-svg--input-icon{position:absolute}.eui-19 .eui-icon-svg--input-icon.eui-icon-svg--start{left:var(--eui-s-2xl)}.eui-19 .eui-icon-svg--input-icon.eui-icon-svg--end{right:var(--eui-s-xl)}.eui-19 .eui-icon-svg--loading{align-items:center;display:inline-flex;color:transparent;fill:transparent}.eui-19 .eui-icon-svg--loading:after,.eui-19 .eui-icon-svg--loading:before{content:\"\";position:absolute;height:100%;width:100%}.eui-19 .eui-icon-svg--loading:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.25);border-radius:var(--eui-br-max)}.eui-19 .eui-icon-svg--loading:after{animation:eui-icon-loading-kf .8s linear;animation-iteration-count:infinite;border-color:rgba(255,255,255,.5) transparent transparent;border-radius:var(--eui-br-max);border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 .eui-icon-svg--loading--sm:before,.eui-19 .eui-icon-svg--loading--sm:after{height:var(--eui-s-m);width:var(--eui-s-m)}.eui-19 .eui-icon-svg.eui-icon-svg--spin>svg{animation:eui-icon-svg-spin 1.5s infinite linear}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-45{transform:rotate(45deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-90{transform:rotate(90deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-135{transform:rotate(135deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-180{transform:rotate(180deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-225{transform:rotate(225deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-270{transform:rotate(270deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-315{transform:rotate(315deg)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";transform:scaleX(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scaleY(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-both{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scale(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--stack{position:absolute;transform:translate(-50%);margin-left:50%}@keyframes eui-icon-loading-kf{to{transform:rotate(360deg)}}@keyframes eui-icon-svg-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s:after{min-height:var(--eui-s-s);min-width:var(--eui-s-s)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m:after{min-height:var(--eui-s-m);min-width:var(--eui-s-m)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l:after{min-height:var(--eui-s-l);min-width:var(--eui-s-l)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl:after{min-height:var(--eui-s-xl);min-width:var(--eui-s-xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl:after{min-height:var(--eui-s-2xl);min-width:var(--eui-s-2xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xs svg{height:var(--eui-is-2xs);width:var(--eui-is-2xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xs svg>image{height:var(--eui-is-2xs);width:var(--eui-is-2xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xs.eui-icon-svg--stack svg{height:var(--eui-is-2xs);width:var(--eui-is-2xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xs svg{height:var(--eui-is-xs);width:var(--eui-is-xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xs svg>image{height:var(--eui-is-xs);width:var(--eui-is-xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xs.eui-icon-svg--stack svg{height:var(--eui-is-xs);width:var(--eui-is-xs)}.eui-19 .eui-icon-svg.eui-icon-svg--size-s svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg.eui-icon-svg--size-s svg>image{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg.eui-icon-svg--size-s.eui-icon-svg--stack svg{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg.eui-icon-svg--size-m svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg.eui-icon-svg--size-m svg>image{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg.eui-icon-svg--size-m.eui-icon-svg--stack svg{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg.eui-icon-svg--size-l svg{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg.eui-icon-svg--size-l svg>image{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg.eui-icon-svg--size-l.eui-icon-svg--stack svg{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xl svg{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xl svg>image{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-xl.eui-icon-svg--stack svg{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xl svg{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xl svg>image{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-2xl.eui-icon-svg--stack svg{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-3xl svg{height:var(--eui-is-3xl);width:var(--eui-is-3xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-3xl svg>image{height:var(--eui-is-3xl);width:var(--eui-is-3xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-3xl.eui-icon-svg--stack svg{height:var(--eui-is-3xl);width:var(--eui-is-3xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-4xl svg{height:var(--eui-is-4xl);width:var(--eui-is-4xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-4xl svg>image{height:var(--eui-is-4xl);width:var(--eui-is-4xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-4xl.eui-icon-svg--stack svg{height:var(--eui-is-4xl);width:var(--eui-is-4xl)}.eui-19 .eui-icon-svg.eui-icon-svg--size-fluid svg{height:var(--eui-is-fluid);width:var(--eui-is-fluid)}.eui-19 .eui-icon-svg.eui-icon-svg--size-fluid svg>image{height:var(--eui-is-fluid);width:var(--eui-is-fluid)}.eui-19 .eui-icon-svg.eui-icon-svg--size-fluid.eui-icon-svg--stack svg{height:var(--eui-is-fluid);width:var(--eui-is-fluid)}\n"] }]
107
+ args: [{ selector: 'eui-icon-svg, span[euiIconSvg], i[euiIconSvg]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-container *ngIf=\"icon && !iconUrl && !isLoading\">\n <svg\n class=\"eui-sprite-{{icon}}\"\n [class.eui-icon-svg--loading]=\"isLoading\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\"\n attr.style=\"{{iconStyle}}\">\n <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n </svg>\n <ng-content></ng-content>\n</ng-container>\n\n<ng-container *ngIf=\"iconUrl\">\n <svg class=\"eui-icon-svg\"\n attr.style=\"{{iconStyle}} {{style}}\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\">\n <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n </svg>\n</ng-container>\n", styles: [".eui-19 .eui-icon-svg{display:inline-flex;position:relative}.eui-19 .eui-icon-svg svg{pointer-events:none}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-facebook{color:#4267b2;fill:#4267b2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-flickr{color:#000;fill:#000}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-foursquare{color:#ff577a;fill:#ff577a}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-gmail,.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-instagram{color:#000;fill:#000}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-linkedin{color:#0a66c2;fill:#0a66c2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-mastodon{color:#2b90d9;fill:#2b90d9}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-messenger{color:#00b2ff;fill:#00b2ff}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-pinterest{color:#e60023;fill:#e60023}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-qzone{color:#fc0;fill:#fc0}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-reddit{color:#ff5700;fill:#ff5700}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-skype{color:#00aff0;fill:#00aff0}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-spotify{color:#1db954;fill:#1db954}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-telegram{color:#24a1de;fill:#24a1de}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-twitter{color:#1da1f2;fill:#1da1f2}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-typepad{color:#aab652;fill:#aab652}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-weibo{color:#e6162d;fill:#e6162d}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-whatasapp{color:#25d366;fill:#25d366}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-yahoomail{color:#6619df;fill:#6619df}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-yammer{color:#0078d4;fill:#0078d4}.eui-19 .eui-icon-svg .eui-sprite-eui-ecl-youtube{color:red;fill:red}.eui-19 .eui-icon-svg--start{margin-right:var(--eui-s-s)}.eui-19 .eui-icon-svg--end{margin-left:var(--eui-s-s)}.eui-19 .eui-icon-svg--input-icon{position:absolute}.eui-19 .eui-icon-svg--input-icon.eui-icon-svg--start{left:var(--eui-s-2xl)}.eui-19 .eui-icon-svg--input-icon.eui-icon-svg--end{right:var(--eui-s-xl)}.eui-19 .eui-icon-svg--loading{align-items:center;display:inline-flex;color:transparent;fill:transparent}.eui-19 .eui-icon-svg--loading:after,.eui-19 .eui-icon-svg--loading:before{content:\"\";position:absolute;height:100%;width:100%}.eui-19 .eui-icon-svg--loading:before{border:var(--eui-s-2xs) solid rgba(0,0,0,.25);border-radius:var(--eui-br-max)}.eui-19 .eui-icon-svg--loading:after{animation:eui-icon-loading-kf .8s linear;animation-iteration-count:infinite;border-color:rgba(255,255,255,.5) transparent transparent;border-radius:var(--eui-br-max);border-style:solid;border-width:var(--eui-s-2xs);box-shadow:0 0 0 1px transparent}.eui-19 .eui-icon-svg--loading--sm:before,.eui-19 .eui-icon-svg--loading--sm:after{height:var(--eui-s-m);width:var(--eui-s-m)}.eui-19 .eui-icon-svg.eui-icon-svg--spin>svg{animation:eui-icon-svg-spin 1.5s infinite linear}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-45{transform:rotate(45deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-90{transform:rotate(90deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-135{transform:rotate(135deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-180{transform:rotate(180deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-225{transform:rotate(225deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-270{transform:rotate(270deg)}.eui-19 .eui-icon-svg.eui-icon-svg--rotate-315{transform:rotate(315deg)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";transform:scaleX(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scaleY(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--flip-both{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";transform:scale(-1)}.eui-19 .eui-icon-svg.eui-icon-svg--stack{position:absolute;transform:translate(-50%);margin-left:50%}@keyframes eui-icon-loading-kf{to{transform:rotate(360deg)}}@keyframes eui-icon-svg-spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s{height:var(--eui-is-s);width:var(--eui-is-s)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-s:after{min-height:var(--eui-s-s);min-width:var(--eui-s-s)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m{height:var(--eui-is-m);width:var(--eui-is-m)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-m:after{min-height:var(--eui-s-m);min-width:var(--eui-s-m)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l{height:var(--eui-is-l);width:var(--eui-is-l)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-l:after{min-height:var(--eui-s-l);min-width:var(--eui-s-l)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl{height:var(--eui-is-xl);width:var(--eui-is-xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-xl:after{min-height:var(--eui-s-xl);min-width:var(--eui-s-xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl{height:var(--eui-is-2xl);width:var(--eui-is-2xl)}.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl:before,.eui-19 .eui-icon-svg--loading.eui-icon-svg--size-2xl:after{min-height:var(--eui-s-2xl);min-width:var(--eui-s-2xl)}\n"] }]
108
108
  }], ctorParameters: () => [{ type: undefined, decorators: [{
109
109
  type: Optional
110
110
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"eui-components-eui-icon.mjs","sources":["../../eui-icon/eui-icon-svg.component.ts","../../eui-icon/eui-icon-svg.component.html","../../eui-icon/eui-components-eui-icon.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n OnChanges,\n SimpleChanges,\n AfterContentInit,\n Inject,\n Optional,\n booleanAttribute,\n NgModule,\n} from '@angular/core';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\nimport { EuiConfig } from '@eui/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-icon-svg, span[euiIconSvg], i[euiIconSvg]',\n templateUrl: './eui-icon-svg.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiIconSvgComponent implements AfterContentInit, OnChanges, OnInit {\n @HostBinding('attr.role') ariaRole = 'img';\n\n @Input() icon: string; // could be the form of \"icon:set\" to pass them both in a single input\n @Input() fillColor: string;\n @Input() set = 'eui';\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | string = 'm';\n @Input() style = '';\n @Input() iconUrl: string;\n @Input() transform = '';\n @Input() euiVariant: string; // fake it as used in showcase on samples loops (eui-tabs f.e.) shouldn't be\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n // Always refer to the baseStatesDirective\n 'eui-icon-svg',\n `eui-icon-svg--size-${this.size}`,\n this.transform ? `eui-icon-svg--${this.transform}` : '',\n\n // own cmp state => reflected with the scss states\n this.euiStart ? 'eui-icon-svg--start' : '',\n this.euiEnd ? 'eui-icon-svg--end' : '',\n this.isInputIcon ? 'eui-icon-svg--input-icon': '',\n this.isLoading ? 'eui-icon-svg--loading': '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.aria-label')\n @Input('aria-label') ariaLabel = 'Icon';\n\n public iconName: string;\n public assetsBaseUrl = 'assets';\n public iconStyle: string;\n\n @Input({ transform: booleanAttribute }) ariaHidden = true;\n @Input({ transform: booleanAttribute }) focusable = false;\n @Input({ transform: booleanAttribute }) isLoading = false;\n @Input({ transform: booleanAttribute }) isInputIcon = false;\n\n @Input({ transform: booleanAttribute }) euiStart = false;\n @Input({ transform: booleanAttribute }) euiEnd = false;\n\n constructor(\n @Optional() @Inject(EUI_CONFIG_TOKEN) private config: EuiConfig,\n ) {\n }\n\n ngOnInit(): void {\n const assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;\n if (assetsBaseUrl) {\n this.assetsBaseUrl = this.config.appConfig.global.eui.assetsBaseUrl;\n }\n if (!this.size || this.size === '') {\n this.size = 'm';\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.set) {\n if (c.set.currentValue !== c.set.previousValue) {\n this._setIconAndSet();\n }\n }\n\n if (c && c.icon) {\n if (c.icon.currentValue !== c.icon.previousValue) {\n this._setIconAndSet();\n }\n }\n\n if (c && c.size) {\n if (c.size.currentValue !== c.size.previousValue) {\n this._setStyle();\n }\n }\n if (c && c.fillColor) {\n if (c.fillColor.currentValue !== c.fillColor.previousValue) {\n this._setStyle();\n }\n }\n }\n\n ngAfterContentInit(): void {\n this._setIconAndSet();\n this._setStyle();\n }\n\n private _setIconAndSet(): void {\n if (this.icon && this.icon.indexOf(':') > -1) {\n const iconSet = this.icon.split(':');\n this.icon = iconSet[0];\n this.set = iconSet[1];\n }\n\n if (!this.set || this.set === '') {\n this.set = 'eui';\n } else {\n if (this.set === 'sharp' || this.set === 'outline' || this.set === 'filled') {\n this.iconName = `${this.icon}-${this.set}`;\n } else {\n this.iconName = this.icon;\n }\n }\n }\n\n private _setStyle(): void {\n let fill = '';\n if (this.fillColor) {\n fill = `fill: var(--eui-c-${this.fillColor}); color: var(--eui-c-${this.fillColor});`;\n }\n // const height = `height: var(--eui-is-${this.size});`;\n // const width = `width: var(--eui-is-${this.size});`;\n // this.iconStyle = `${fill} ${height} ${width}`;\n this.iconStyle = `${fill}`;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiIconSvgComponent],\n exports: [EuiIconSvgComponent],\n})\nexport class EuiIconModule {}\n","<ng-container *ngIf=\"icon && !iconUrl && !isLoading\">\n <svg\n class=\"eui-sprite-{{icon}}\"\n [class.eui-icon-svg--loading]=\"isLoading\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\"\n attr.style=\"{{iconStyle}}\">\n <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n </svg>\n <ng-content></ng-content>\n</ng-container>\n\n<ng-container *ngIf=\"iconUrl\">\n <svg class=\"eui-icon-svg\"\n attr.style=\"{{iconStyle}} {{style}}\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\">\n <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n </svg>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-components-eui-icon.mjs","sources":["../../eui-icon/eui-icon-svg.component.ts","../../eui-icon/eui-icon-svg.component.html","../../eui-icon/eui-components-eui-icon.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Input,\n HostBinding,\n OnInit,\n ViewEncapsulation,\n OnChanges,\n SimpleChanges,\n AfterContentInit,\n Inject,\n Optional,\n booleanAttribute,\n NgModule,\n} from '@angular/core';\nimport { EUI_CONFIG_TOKEN } from '@eui/core';\nimport { EuiConfig } from '@eui/core';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'eui-icon-svg, span[euiIconSvg], i[euiIconSvg]',\n templateUrl: './eui-icon-svg.component.html',\n styleUrls: ['./styles/_index.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class EuiIconSvgComponent implements AfterContentInit, OnChanges, OnInit {\n @HostBinding('attr.role') ariaRole = 'img';\n\n @Input() icon: string; // could be the form of \"icon:set\" to pass them both in a single input\n @Input() fillColor: string;\n @Input() set = 'eui';\n @Input() size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | string = 'm';\n @Input() style = '';\n @Input() iconUrl: string;\n @Input() transform = '';\n @Input() euiVariant: string; // fake it as used in showcase on samples loops (eui-tabs f.e.) shouldn't be\n\n @HostBinding('class')\n public get cssClasses(): string {\n return [\n // Always refer to the baseStatesDirective\n 'eui-icon-svg',\n `eui-icon-svg--size-${this.size}`,\n this.transform ? `eui-icon-svg--${this.transform}` : '',\n\n // own cmp state => reflected with the scss states\n this.euiStart ? 'eui-icon-svg--start' : '',\n this.euiEnd ? 'eui-icon-svg--end' : '',\n this.isInputIcon ? 'eui-icon-svg--input-icon': '',\n this.isLoading ? 'eui-icon-svg--loading': '',\n ]\n .join(' ')\n .trim();\n }\n\n @HostBinding('attr.aria-label')\n @Input('aria-label') ariaLabel = 'Icon';\n\n public iconName: string;\n public assetsBaseUrl = 'assets';\n public iconStyle: string;\n\n @Input({ transform: booleanAttribute }) ariaHidden = true;\n @Input({ transform: booleanAttribute }) focusable = false;\n @Input({ transform: booleanAttribute }) isLoading = false;\n @Input({ transform: booleanAttribute }) isInputIcon = false;\n\n @Input({ transform: booleanAttribute }) euiStart = false;\n @Input({ transform: booleanAttribute }) euiEnd = false;\n\n constructor(\n @Optional() @Inject(EUI_CONFIG_TOKEN) private config: EuiConfig,\n ) {\n }\n\n ngOnInit(): void {\n const assetsBaseUrl = this.config?.appConfig?.global?.eui?.assetsBaseUrl;\n if (assetsBaseUrl) {\n this.assetsBaseUrl = this.config.appConfig.global.eui.assetsBaseUrl;\n }\n if (!this.size || this.size === '') {\n this.size = 'm';\n }\n }\n\n ngOnChanges(c: SimpleChanges): void {\n if (c && c.set) {\n if (c.set.currentValue !== c.set.previousValue) {\n this._setIconAndSet();\n }\n }\n\n if (c && c.icon) {\n if (c.icon.currentValue !== c.icon.previousValue) {\n this._setIconAndSet();\n }\n }\n\n if (c && c.size) {\n if (c.size.currentValue !== c.size.previousValue) {\n this._setStyle();\n }\n }\n if (c && c.fillColor) {\n if (c.fillColor.currentValue !== c.fillColor.previousValue) {\n this._setStyle();\n }\n }\n }\n\n ngAfterContentInit(): void {\n this._setIconAndSet();\n this._setStyle();\n }\n\n private _setIconAndSet(): void {\n if (this.icon && this.icon.indexOf(':') > -1) {\n const iconSet = this.icon.split(':');\n this.icon = iconSet[0];\n this.set = iconSet[1];\n }\n\n if (!this.set || this.set === '') {\n this.set = 'eui';\n } else {\n if (this.set === 'sharp' || this.set === 'outline' || this.set === 'filled') {\n this.iconName = `${this.icon}-${this.set}`;\n } else {\n this.iconName = this.icon;\n }\n }\n }\n\n private _setStyle(): void {\n let fill = '';\n if (this.fillColor) {\n fill = `fill: var(--eui-c-${this.fillColor}); color: var(--eui-c-${this.fillColor});`;\n }\n // const height = `height: var(--eui-is-${this.size});`;\n // const width = `width: var(--eui-is-${this.size});`;\n // this.iconStyle = `${fill} ${height} ${width}`;\n this.iconStyle = `${fill}`;\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n declarations: [EuiIconSvgComponent],\n exports: [EuiIconSvgComponent],\n})\nexport class EuiIconModule {}\n","<ng-container *ngIf=\"icon && !iconUrl && !isLoading\">\n <svg\n class=\"eui-sprite-{{icon}}\"\n [class.eui-icon-svg--loading]=\"isLoading\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\"\n attr.style=\"{{iconStyle}}\">\n <use [attr.href]=\"assetsBaseUrl + '/icons/sprites/' + set + '.svg#' + iconName\"></use>\n </svg>\n <ng-content></ng-content>\n</ng-container>\n\n<ng-container *ngIf=\"iconUrl\">\n <svg class=\"eui-icon-svg\"\n attr.style=\"{{iconStyle}} {{style}}\"\n [attr.aria-hidden]=\"ariaHidden\"\n [attr.role]=\"'img'\"\n [attr.focusable]=\"focusable\">\n <image [attr.href]=\"iconUrl\" [class]=\"'eui-icon-svg'\" attr.style=\"{{iconStyle}} {{style}}\"></image>\n </svg>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}