{"__symbolic":"module","version":4,"metadata":{"SbbFileSelectorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"SbbFileSelector"},{"__symbolic":"reference","name":"SbbFileExtension"},{"__symbolic":"reference","name":"SbbFileNameNoExtension"},{"__symbolic":"reference","name":"SbbFileSizeFormatted"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":15,"character":12},{"__symbolic":"reference","module":"@sbb-esta/angular-core/icon","name":"SbbIconModule","line":15,"character":26}],"exports":[{"__symbolic":"reference","name":"SbbFileSelector"}]}]}],"members":{}},"SBB_FILE_SELECTOR_OPTIONS":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":4,"character":45},"arguments":["FILE_SELECTOR_OPTIONS"]},"SbbFileSelectorOptions":{"__symbolic":"interface"},"FileTypeCategory":{"GENERIC_DOC":1,"DOC":2,"IMAGE":3,"PDF":4,"AUDIO":5,"VIDEO":6,"ZIP":7},"SBB_FILE_TYPES":{"TEXT":["text/*"],"IMAGE":["image/*"],"IMAGE_JPG":["image/jpeg","image/pjpeg"],"IMAGE_PNG":["image/png"],"IMAGE_SVG":["image/svg+xml"],"IMAGE_GIF":["image/gif"],"AUDIO":["audio/*"],"AUDIO_MP4":["audio/mp4"],"AUDIO_MP3":["audio/mpeg","audio/mp3"],"AUDIO_OGG":["audio/ogg"],"AUDIO_WAVE":["audio/wave"],"AUDIO_WAV":["audio/wav","audio/x-wav","audio/x-pn-wav","audio/webm"],"VIDEO":["video/*"],"VIDEO_MP4":["video/mp4"],"VIDEO_MPEG":["video/mpeg"],"VIDEO_OGG":["video/ogg"],"VIDEO_MOV":["video/quicktime"],"VIDEO_WEBM":["video/webm"],"VIDEO_AVI":["video/x-msvideo"],"VIDEO_WMV":["video/x-ms-wmv"],"PDF":["application/pdf"],"MS_WORD_DOC":["application/msword","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-word.document.macroEnabled.12","application/vnd.ms-word.template.macroEnabled.12"],"MS_EXCEL":["application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.template.macroEnabled.12","application/vnd.ms-excel.addin.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12"],"MS_POWERPOINT":["application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/vnd.ms-powerpoint.addin.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"],"ZIP":["application/x-gtar","application/x-gcompress","application/compress","application/x-tar","application/x-rar-compressed","application/octet-stream","application/x-zip-compressed","application/zip-compressed","application/x-7z-compressed","application/gzip","application/zip","application/x-bzip2"]},"SbbFileSelectorTypesService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":6,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"getFileTypeCategoryByMimeType":[{"__symbolic":"method"}],"getAcceptString":[{"__symbolic":"method"}],"getFileExtensionFromFileName":[{"__symbolic":"method"}],"getFileNameNoExtension":[{"__symbolic":"method"}],"formatFileSize":[{"__symbolic":"method"}],"_setAcceptString":[{"__symbolic":"method"}],"_findMimeType":[{"__symbolic":"method"}],"_getFileFormats":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"SbbFileSelector":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"sbb-file-selector","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":33,"character":19},"member":"OnPush"},"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":34,"character":17},"member":"None"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":37,"character":15},"useExisting":{"__symbolic":"reference","name":"SbbFileSelector"},"multi":true}],"host":{"class":"sbb-file-selector","[attr.id]":"this.id","$quoted$":["[attr.id]"]},"template":"<label class=\"sbb-file-selector-label\" [for]=\"inputId\">\n  <input\n    type=\"file\"\n    class=\"cdk-visually-hidden\"\n    #fileInput\n    [attr.id]=\"inputId\"\n    [attr.accept]=\"accept\"\n    [attr.capture]=\"capture\"\n    [attr.multiple]=\"multiple\"\n    [disabled]=\"disabled\"\n    (change)=\"fileChange($event)\"\n    (blur)=\"_onTouched()\"\n  />\n  <span class=\"sbb-file-selector-button\" [class.sbb-file-selector-disabled]=\"disabled\">\n    <span i18n=\"Button label to select files for upload@@sbbFileSelectorUploadFile\"\n      >Upload file</span\n    >\n    <span class=\"sbb-svgsprite-icon sbb-icon-fit\"\n      ><sbb-icon svgIcon=\"kom:upload-small\"></sbb-icon\n    ></span>\n  </span>\n</label>\n\n<ul class=\"sbb-file-selector-list sbb-icon-fit\">\n  <li *ngFor=\"let file of filesList\">\n    <div\n      role=\"presentation\"\n      class=\"sbb-file-selector-list-type-icon\"\n      [ngSwitch]=\"getFileTypeCat(file)\"\n    >\n      <sbb-icon svgIcon=\"kom:document-text-small\" *ngSwitchCase=\"_fileTypeCategory.DOC\"></sbb-icon>\n      <sbb-icon\n        svgIcon=\"kom:document-image-small\"\n        *ngSwitchCase=\"_fileTypeCategory.IMAGE\"\n      ></sbb-icon>\n      <sbb-icon svgIcon=\"kom:document-pdf-small\" *ngSwitchCase=\"_fileTypeCategory.PDF\"></sbb-icon>\n      <sbb-icon\n        svgIcon=\"kom:document-sound-small\"\n        *ngSwitchCase=\"_fileTypeCategory.AUDIO\"\n      ></sbb-icon>\n      <sbb-icon\n        svgIcon=\"kom:document-video-small\"\n        *ngSwitchCase=\"_fileTypeCategory.VIDEO\"\n      ></sbb-icon>\n      <sbb-icon svgIcon=\"kom:document-zip-small\" *ngSwitchCase=\"_fileTypeCategory.ZIP\"></sbb-icon>\n      <sbb-icon svgIcon=\"kom:document-standard-small\" *ngSwitchDefault></sbb-icon>\n    </div>\n    <span class=\"sbb-file-selector-list-desc\"\n      >{{ file | fileNameNoExtension }} (<span class=\"sbb-file-selector-list-file-ext\">{{\n        file | fileExtension\n      }}</span\n      >, {{ file | fileSizeFormatted }})</span\n    >\n    <button type=\"button\" class=\"sbb-file-selector-list-remove-icon\" (click)=\"removeFile(file)\">\n      <span\n        i18n=\"\n          Hidden button label to remove a file from the selection list@@sbbFileSelectorRemoveFile\"\n        class=\"cdk-visually-hidden\"\n        >Remove file</span\n      >\n      <sbb-icon svgIcon=\"kom:trash-small\"></sbb-icon>\n    </button>\n  </li>\n</ul>\n","styles":[".sbb-file-selector{display:block}.sbb-file-selector .sbb-file-selector-button{background:none;max-width:none;min-width:0;padding:0;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%;background-color:#eb0000;text-decoration:none;display:inline-block;text-align:center;font-size:1rem;line-height:1.4;border-style:solid;border-radius:.1333333333em;color:#fff;-webkit-tap-highlight-color:rgba(0,0,0,0);border-width:.0666666667rem;height:2.4em;padding:.4em 1.0666666667em .4666666667em}@media all and (min-width: 40.1875em){.sbb-file-selector .sbb-file-selector-button{font-size:1rem;width:auto;min-width:4em;max-width:26.6666666667em}}@media all and (min-width: 64.0625em){.sbb-file-selector .sbb-file-selector-button{font-size:1rem}}.sbb-file-selector .sbb-file-selector-button:not(:disabled):hover,.sbb-file-selector .sbb-file-selector-button:not(:disabled):focus{cursor:pointer}.sbb-file-selector .sbb-file-selector-button:not(.sbb-file-selector-disabled){color:#444;background-color:#dcdcdc;border:none}.sbb-file-selector .sbb-file-selector-button:not(.sbb-file-selector-disabled):not(:disabled):hover,.sbb-file-selector .sbb-file-selector-button:not(.sbb-file-selector-disabled):not(:disabled):focus{background-color:#cdcdcd;border:none;color:#444}.sbb-file-selector .sbb-file-selector-button .sbb-svgsprite-icon{display:none}.sbb-file-selector .sbb-file-selector-button.sbb-file-selector-disabled,.sbb-file-selector .sbb-file-selector-button.sbb-file-selector-disabled:hover,.sbb-file-selector .sbb-file-selector-button.sbb-file-selector-disabled:focus{border:none;background-color:rgba(220,220,220,.4);color:rgba(68,68,68,.5)}.sbb-file-selector .sbb-file-selector-button.sbb-file-selector-disabled:hover,.sbb-file-selector .sbb-file-selector-button.sbb-file-selector-disabled:focus{cursor:default}.sbb-file-selector .sbb-file-selector-label{display:inline-flex;overflow:hidden}.sbb-file-selector .sbb-file-selector-label:hover{cursor:pointer}.sbb-file-selector .sbb-file-selector-list{list-style:none;padding:0;margin:0;margin-top:1.6666666667em}.sbb-file-selector .sbb-file-selector-list li{padding-left:0}.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-type-icon,.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-remove-icon{display:inline-block;vertical-align:middle}.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-type-icon{width:1.6em;height:1.6em;margin-right:.5em;margin-bottom:.1333333333em}.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-desc{text-decoration:underline}.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-remove-icon{background:none;max-width:none;min-width:0;padding:0;margin:0;border:none;margin-bottom:.1333333333em;position:relative;width:2.1333333333em;height:2.1333333333em;margin-left:.5333333333em;cursor:pointer;outline:0;color:#686868}.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-remove-icon svg{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:1.6em;height:1.6em}.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-remove-icon:hover,.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-remove-icon:focus,.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-remove-icon:active{color:#c60018;border-color:#c60018}.sbb-file-selector .sbb-file-selector-list .sbb-file-selector-list-file-ext{text-transform:uppercase}\n"]}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"accept":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"capture":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"multiple":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"multipleMode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":74,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":77,"character":3}}]}],"fileChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":87,"character":3}}]}],"fileInput":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":89,"character":3},"arguments":["fileInput",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":110,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":110,"character":17},"arguments":[{"__symbolic":"reference","name":"SBB_FILE_SELECTOR_OPTIONS"}]}]],"parameters":[{"__symbolic":"reference","name":"SbbFileSelectorTypesService"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":108,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":109,"character":29},{"__symbolic":"reference","name":"SbbFileSelectorOptions"}]}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"fileChange":[{"__symbolic":"method"}],"applyChanges":[{"__symbolic":"method"}],"getFileTypeCat":[{"__symbolic":"method"}],"removeFile":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"_getFileListByMode":[{"__symbolic":"method"}],"_checkFileEquality":[{"__symbolic":"method"}]}},"SbbFileNameNoExtension":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":11,"character":1},"arguments":[{"name":"fileNameNoExtension"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SbbFileSelectorTypesService"}]}],"transform":[{"__symbolic":"method"}]}},"SbbFileExtension":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":25,"character":1},"arguments":[{"name":"fileExtension"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SbbFileSelectorTypesService"}]}],"transform":[{"__symbolic":"method"}]}},"SbbFileSizeFormatted":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":39,"character":1},"arguments":[{"name":"fileSizeFormatted"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SbbFileSelectorTypesService"}]}],"transform":[{"__symbolic":"method"}]}}},"origins":{"SbbFileSelectorModule":"./file-selector.module","SBB_FILE_SELECTOR_OPTIONS":"./file-selector/file-selector-base","SbbFileSelectorOptions":"./file-selector/file-selector-base","FileTypeCategory":"./file-selector/file-selector-base","SBB_FILE_TYPES":"./file-selector/file-selector-base","SbbFileSelectorTypesService":"./file-selector/file-selector-types.service","SbbFileSelector":"./file-selector/file-selector.component","SbbFileNameNoExtension":"./file-selector/file-selector.pipes","SbbFileExtension":"./file-selector/file-selector.pipes","SbbFileSizeFormatted":"./file-selector/file-selector.pipes"},"importAs":"@sbb-esta/angular-business/file-selector"}