@libs-ui/components-inputs-upload 0.2.356-41 → 0.2.356-43

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.
@@ -30,15 +30,15 @@ export class LibsUiComponentsInputsUploadAvatarComponent {
30
30
  this.outOpenPreview.emit(this.item());
31
31
  }
32
32
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsInputsUploadAvatarComponent, deps: [{ token: LINK_IMAGE_ERROR_TOKEN_INJECT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
33
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LibsUiComponentsInputsUploadAvatarComponent, isStandalone: true, selector: "libs_ui-components-inputs-upload-avatar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, showVideoDuration: { classPropertyName: "showVideoDuration", publicName: "showVideoDuration", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { item: "itemChange", outOpenPreview: "outOpenPreview" }, ngImport: i0, template: "<div\n class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px] {{ classInclude() }}\"\n [class.libs-ui-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesCheckFileExtensionPipe: 'image') {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img\n [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\"\n (keyup.enter)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'video') {\n <div\n class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n @let constHtmlSrc = item().url || item().origin_url || '';\n <video\n #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"constHtmlSrc | LibsUiPipesSecurityTrustPipe: 'resourceUrl' | async\">\n <track kind=\"captions\" />\n </video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\"></div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'word') {\n <ng-container *ngComponentOutlet=\"'word' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i\n class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "pipe", type: LibsUiPipesSecurityTrustPipe, name: "LibsUiPipesSecurityTrustPipe" }, { kind: "pipe", type: LibsUiPipesInputsUploadCalcDurationVideoPipe, name: "LibsUiPipesInputsUploadCalcDurationVideoPipe" }, { kind: "pipe", type: LibsUiPipesCheckFileExtensionPipe, name: "LibsUiPipesCheckFileExtensionPipe" }, { kind: "pipe", type: LibsUiIconsGetIconComponentPipe, name: "LibsUiIconsGetIconComponentPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LibsUiComponentsInputsUploadAvatarComponent, isStandalone: true, selector: "libs_ui-components-inputs-upload-avatar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, showVideoDuration: { classPropertyName: "showVideoDuration", publicName: "showVideoDuration", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { item: "itemChange", outOpenPreview: "outOpenPreview" }, ngImport: i0, template: "<div\n class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px] {{ classInclude() }}\"\n [class.libs-ui-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesCheckFileExtensionPipe: 'image') {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img\n [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\"\n (keydown.enter)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'video') {\n <div\n class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n @let constHtmlSrc = item().url || item().origin_url || '';\n <video\n #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"constHtmlSrc | LibsUiPipesSecurityTrustPipe: 'resourceUrl' | async\">\n <track kind=\"captions\" />\n </video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\"></div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'word') {\n <ng-container *ngComponentOutlet=\"'word' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i\n class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "pipe", type: LibsUiPipesSecurityTrustPipe, name: "LibsUiPipesSecurityTrustPipe" }, { kind: "pipe", type: LibsUiPipesInputsUploadCalcDurationVideoPipe, name: "LibsUiPipesInputsUploadCalcDurationVideoPipe" }, { kind: "pipe", type: LibsUiPipesCheckFileExtensionPipe, name: "LibsUiPipesCheckFileExtensionPipe" }, { kind: "pipe", type: LibsUiIconsGetIconComponentPipe, name: "LibsUiIconsGetIconComponentPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
34
  }
35
35
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsInputsUploadAvatarComponent, decorators: [{
36
36
  type: Component,
37
- args: [{ selector: 'libs_ui-components-inputs-upload-avatar', standalone: true, imports: [NgComponentOutlet, AsyncPipe, TranslateModule, LibsUiComponentsSpinnerComponent, LibsUiPipesSecurityTrustPipe, LibsUiPipesInputsUploadCalcDurationVideoPipe, LibsUiPipesCheckFileExtensionPipe, LibsUiIconsGetIconComponentPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px] {{ classInclude() }}\"\n [class.libs-ui-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesCheckFileExtensionPipe: 'image') {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img\n [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\"\n (keyup.enter)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'video') {\n <div\n class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n @let constHtmlSrc = item().url || item().origin_url || '';\n <video\n #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"constHtmlSrc | LibsUiPipesSecurityTrustPipe: 'resourceUrl' | async\">\n <track kind=\"captions\" />\n </video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\"></div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'word') {\n <ng-container *ngComponentOutlet=\"'word' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i\n class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n" }]
37
+ args: [{ selector: 'libs_ui-components-inputs-upload-avatar', standalone: true, imports: [NgComponentOutlet, AsyncPipe, TranslateModule, LibsUiComponentsSpinnerComponent, LibsUiPipesSecurityTrustPipe, LibsUiPipesInputsUploadCalcDurationVideoPipe, LibsUiPipesCheckFileExtensionPipe, LibsUiIconsGetIconComponentPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px] {{ classInclude() }}\"\n [class.libs-ui-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesCheckFileExtensionPipe: 'image') {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img\n [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\"\n (keydown.enter)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'video') {\n <div\n class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n @let constHtmlSrc = item().url || item().origin_url || '';\n <video\n #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"constHtmlSrc | LibsUiPipesSecurityTrustPipe: 'resourceUrl' | async\">\n <track kind=\"captions\" />\n </video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\"></div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'word') {\n <ng-container *ngComponentOutlet=\"'word' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i\n class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n" }]
38
38
  }], ctorParameters: () => [{ type: undefined, decorators: [{
39
39
  type: Optional
40
40
  }, {
41
41
  type: Inject,
42
42
  args: [LINK_IMAGE_ERROR_TOKEN_INJECT]
43
43
  }] }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQVVqRyxNQUFNLE9BQU8sMkNBQTJDO0lBUzBCO0lBUnZFLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFTLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsS0FBSyxFQUFXLENBQUM7SUFDckMsT0FBTyxHQUFHLEtBQUssRUFBVyxDQUFDO0lBQzNCLElBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUN2QixZQUFZLEdBQUcsS0FBSyxDQUE2QixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTVGLGNBQWMsR0FBRyxNQUFNLEVBQVMsQ0FBQztJQUUxQyxZQUFnRixjQUFzQjtRQUF0QixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUFHLENBQUM7SUFFaEcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQVk7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixPQUFPO1FBQ1QsQ0FBQztRQUNBLEtBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ3JELENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFZO1FBQ3RDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO3dHQXJCVSwyQ0FBMkMsa0JBU3RCLDZCQUE2Qjs0RkFUbEQsMkNBQTJDLGswQkNuQnhELG94R0F1RUEsNENEdkRZLGlCQUFpQiwrT0FBRSxTQUFTLDZDQUFFLGVBQWUsK0JBQUUsZ0NBQWdDLDRGQUFFLDRCQUE0QixnRUFBRSw0Q0FBNEMsZ0ZBQUUsaUNBQWlDLHFFQUFFLCtCQUErQjs7NEZBRzlOLDJDQUEyQztrQkFSdkQsU0FBUzsrQkFFRSx5Q0FBeUMsY0FFdkMsSUFBSSxXQUNQLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxnQ0FBZ0MsRUFBRSw0QkFBNEIsRUFBRSw0Q0FBNEMsRUFBRSxpQ0FBaUMsRUFBRSwrQkFBK0IsQ0FBQyxtQkFDek4sdUJBQXVCLENBQUMsTUFBTTs7MEJBV2xDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIGlucHV0LCBtb2RlbCwgT3B0aW9uYWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXNwaW5uZXInO1xuaW1wb3J0IHsgTGlic1VpSWNvbnNHZXRJY29uQ29tcG9uZW50UGlwZSB9IGZyb20gJ0BsaWJzLXVpL2ljb25zJztcbmltcG9ydCB7IElFdmVudCwgSUZpbGUgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IExpYnNVaVBpcGVzQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZSB9IGZyb20gJ0BsaWJzLXVpL3BpcGVzLWNoZWNrLWZpbGUtZXh0ZW5zaW9uJztcbmltcG9ydCB7IExpYnNVaVBpcGVzU2VjdXJpdHlUcnVzdFBpcGUgfSBmcm9tICdAbGlicy11aS9waXBlcy1zZWN1cml0eS10cnVzdCc7XG5pbXBvcnQgeyBMSU5LX0lNQUdFX0VSUk9SX1RPS0VOX0lOSkVDVCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDYWxjRHVyYXRpb25WaWRlb1BpcGUgfSBmcm9tICcuLi9waXBlcy9jYWxjLWR1cmF0aW9uLXZpZGVvLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXVwbG9hZC1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ29tcG9uZW50T3V0bGV0LCBBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZSwgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQsIExpYnNVaVBpcGVzU2VjdXJpdHlUcnVzdFBpcGUsIExpYnNVaVBpcGVzSW5wdXRzVXBsb2FkQ2FsY0R1cmF0aW9uVmlkZW9QaXBlLCBMaWJzVWlQaXBlc0NoZWNrRmlsZUV4dGVuc2lvblBpcGUsIExpYnNVaUljb25zR2V0SWNvbkNvbXBvbmVudFBpcGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0lucHV0c1VwbG9hZEF2YXRhckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGl0ZW0gPSBtb2RlbC5yZXF1aXJlZDxJRmlsZT4oKTtcbiAgcmVhZG9ubHkgc2hvd1ZpZGVvRHVyYXRpb24gPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PG51bWJlcj4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlID0gaW5wdXQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCcnLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyAnJyB9KTtcblxuICByZWFkb25seSBvdXRPcGVuUHJldmlldyA9IG91dHB1dDxJRmlsZT4oKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KExJTktfSU1BR0VfRVJST1JfVE9LRU5fSU5KRUNUKSBwcml2YXRlIHJlYWRvbmx5IGxpbmtJbWFnZUVycm9yOiBzdHJpbmcpIHt9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJJbWFnZUVycm9yKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghdGhpcy5saW5rSW1hZ2VFcnJvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAoZXZlbnQgYXMgSUV2ZW50KS50YXJnZXQuc3JjID0gdGhpcy5saW5rSW1hZ2VFcnJvcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVySW1hZ2VDbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm91dE9wZW5QcmV2aWV3LmVtaXQodGhpcy5pdGVtKCkpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZmxleCBtci1bMTJweF0gYmctWyNmZmZmZmZdIHJvdW5kZWQtWzRweF0ge3sgY2xhc3NJbmNsdWRlKCkgfX1cIlxuICBbY2xhc3MubGlicy11aS1kaXNhYmxlXT1cImRpc2FibGUoKSB8fCBpdGVtKCkuaXNVcGxvYWRpbmcgfHwgaXRlbSgpLmVycm9yXCI+XG4gIEBpZiAoaXRlbSgpIHwgTGlic1VpUGlwZXNDaGVja0ZpbGVFeHRlbnNpb25QaXBlOiAnaW1hZ2UnKSB7XG4gICAgPGRpdlxuICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInNpemUoKSB8fCAzMlwiXG4gICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInNpemUoKSB8fCAzMlwiXG4gICAgICBjbGFzcz1cInJlbGF0aXZlXCI+XG4gICAgICBAaWYgKGl0ZW0oKS51cmwgfHwgaXRlbSgpLm9yaWdpbl91cmw7IGFzIHVybCkge1xuICAgICAgICA8aW1nXG4gICAgICAgICAgW3NyY109XCJ1cmxcIlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJzaXplKCkgfHwgMzJcIlxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZSgpIHx8IDMyXCJcbiAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtWzRweF0gY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgIGFsdFxuICAgICAgICAgIChlcnJvcik9XCJoYW5kbGVySW1hZ2VFcnJvcigkZXZlbnQpXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlckltYWdlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgKGtleXVwLmVudGVyKT1cImhhbmRsZXJJbWFnZUNsaWNrKCRldmVudClcIiAvPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtc3Bpbm5lciBbc2l6ZV09XCInbWVkaXVtJ1wiIC8+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKGl0ZW0oKSB8IExpYnNVaVBpcGVzQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZTogJ3ZpZGVvJykge1xuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwicmVsYXRpdmVcIlxuICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInNpemUoKSB8fCAzMlwiXG4gICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInNpemUoKSB8fCAzMlwiPlxuICAgICAgQGlmIChpdGVtKCkudXJsIHx8IGl0ZW0oKS5vcmlnaW5fdXJsKSB7XG4gICAgICAgIEBsZXQgY29uc3RIdG1sU3JjID0gaXRlbSgpLnVybCB8fCBpdGVtKCkub3JpZ2luX3VybCB8fCAnJztcbiAgICAgICAgPHZpZGVvXG4gICAgICAgICAgI3ZpZGVvUmVmXG4gICAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInNpemUgfHwgMzJcIlxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZSB8fCAzMlwiXG4gICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLVs0cHhdXCJcbiAgICAgICAgICBwcmVsb2FkPVwibWV0YWRhdGFcIlxuICAgICAgICAgIFtzcmNdPVwiY29uc3RIdG1sU3JjIHwgTGlic1VpUGlwZXNTZWN1cml0eVRydXN0UGlwZTogJ3Jlc291cmNlVXJsJyB8IGFzeW5jXCI+XG4gICAgICAgICAgPHRyYWNrIGtpbmQ9XCJjYXB0aW9uc1wiIC8+XG4gICAgICAgIDwvdmlkZW8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhYnNvbHV0ZSB3LWZ1bGwgaC1mdWxsIHRvcC0wIGJnLVsjMDAxNDMzXSBvcGFjaXR5LTQwIHJvdW5kZWQtWzRweF1cIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgdG9wLTBcIj5cbiAgICAgICAgICA8aSBjbGFzcz1cInRleHQtWyNmZmZmZmZdIGxpYnMtdWktaWNvbi1wbGF5LXNvbGlkIGJlZm9yZTohdGV4dC1bMTBweF1cIj48L2k+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICBAaWYgKHNob3dWaWRlb0R1cmF0aW9uKCkpIHtcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCB0ZXh0LVs1cHhdIGFic29sdXRlIGJvdHRvbS0wIHJpZ2h0LTAgcHktWzJweF0gcHgtWzRweF0gcm91bmRlZC1bNHB4XSBiZy1bIzAwMDAwMF0gdGV4dC1bI2ZmZmZmZl1cIj5cbiAgICAgICAgICAgIHt7IHZpZGVvUmVmLmR1cmF0aW9uIHwgTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDYWxjRHVyYXRpb25WaWRlb1BpcGUgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxsaWJzX3VpLWNvbXBvbmVudHMtc3Bpbm5lciBbc2l6ZV09XCInbWVkaXVtJ1wiIC8+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKGl0ZW0oKSB8IExpYnNVaVBpcGVzQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZTogJ3BkZicpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cIidwZGYnIHwgTGlic1VpSWNvbnNHZXRJY29uQ29tcG9uZW50UGlwZSB8IGFzeW5jOyBpbnB1dHM6IHsgc2l6ZTogc2l6ZSgpIHx8IDMyIH1cIiAvPlxuICB9IEBlbHNlIGlmIChpdGVtKCkgfCBMaWJzVWlQaXBlc0NoZWNrRmlsZUV4dGVuc2lvblBpcGU6ICd3b3JkJykge1xuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiJ3dvcmQnIHwgTGlic1VpSWNvbnNHZXRJY29uQ29tcG9uZW50UGlwZSB8IGFzeW5jOyBpbnB1dHM6IHsgc2l6ZTogc2l6ZSgpIHx8IDMyIH1cIiAvPlxuICB9IEBlbHNlIGlmIChpdGVtKCkgfCBMaWJzVWlQaXBlc0NoZWNrRmlsZUV4dGVuc2lvblBpcGU6ICdwcHR4Jykge1xuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiJ3BwdHgnIHwgTGlic1VpSWNvbnNHZXRJY29uQ29tcG9uZW50UGlwZSB8IGFzeW5jOyBpbnB1dHM6IHsgc2l6ZTogc2l6ZSgpIHx8IDMyIH1cIiAvPlxuICB9IEBlbHNlIGlmIChpdGVtKCkgfCBMaWJzVWlQaXBlc0NoZWNrRmlsZUV4dGVuc2lvblBpcGU6ICd4bHN4Jykge1xuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiJ3hsc3gnIHwgTGlic1VpSWNvbnNHZXRJY29uQ29tcG9uZW50UGlwZSB8IGFzeW5jOyBpbnB1dHM6IHsgc2l6ZTogc2l6ZSgpIHx8IDMyIH1cIiAvPlxuICB9IEBlbHNlIHtcbiAgICA8ZGl2XG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwic2l6ZSgpIHx8IDMyXCJcbiAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZSgpIHx8IDMyXCJcbiAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJcIj5cbiAgICAgIDxpXG4gICAgICAgIGNsYXNzPVwibGlicy11aS1pY29uLWZpbGUgYmVmb3JlOiF0ZXh0LVsxOXB4XVwiXG4gICAgICAgIFtjbGFzcy50ZXh0LVsjNmE3MzgzXV09XCIhaXRlbSgpLmlzVXBsb2FkaW5nICYmICFpdGVtKCkuZXJyb3JcIlxuICAgICAgICBbY2xhc3MudGV4dC1bIzA3MTYzMV1dPVwiZGlzYWJsZSgpIHx8IGl0ZW0oKS5pc1VwbG9hZGluZyB8fCBpdGVtKCkuZXJyb3JcIj48L2k+XG4gICAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuIl19
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9pbnB1dHMvdXBsb2FkL3NyYy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOztBQVVqRyxNQUFNLE9BQU8sMkNBQTJDO0lBUzBCO0lBUnZFLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFTLENBQUM7SUFDL0IsaUJBQWlCLEdBQUcsS0FBSyxFQUFXLENBQUM7SUFDckMsT0FBTyxHQUFHLEtBQUssRUFBVyxDQUFDO0lBQzNCLElBQUksR0FBRyxLQUFLLEVBQVUsQ0FBQztJQUN2QixZQUFZLEdBQUcsS0FBSyxDQUE2QixFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRTVGLGNBQWMsR0FBRyxNQUFNLEVBQVMsQ0FBQztJQUUxQyxZQUFnRixjQUFzQjtRQUF0QixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUFHLENBQUM7SUFFaEcsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQVk7UUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixPQUFPO1FBQ1QsQ0FBQztRQUNBLEtBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ3JELENBQUM7SUFFUyxpQkFBaUIsQ0FBQyxLQUFZO1FBQ3RDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4QyxDQUFDO3dHQXJCVSwyQ0FBMkMsa0JBU3RCLDZCQUE2Qjs0RkFUbEQsMkNBQTJDLGswQkNuQnhELHN4R0F1RUEsNENEdkRZLGlCQUFpQiwrT0FBRSxTQUFTLDZDQUFFLGVBQWUsK0JBQUUsZ0NBQWdDLDRGQUFFLDRCQUE0QixnRUFBRSw0Q0FBNEMsZ0ZBQUUsaUNBQWlDLHFFQUFFLCtCQUErQjs7NEZBRzlOLDJDQUEyQztrQkFSdkQsU0FBUzsrQkFFRSx5Q0FBeUMsY0FFdkMsSUFBSSxXQUNQLENBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxnQ0FBZ0MsRUFBRSw0QkFBNEIsRUFBRSw0Q0FBNEMsRUFBRSxpQ0FBaUMsRUFBRSwrQkFBK0IsQ0FBQyxtQkFDek4sdUJBQXVCLENBQUMsTUFBTTs7MEJBV2xDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlLCBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIGlucHV0LCBtb2RlbCwgT3B0aW9uYWwsIG91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQgfSBmcm9tICdAbGlicy11aS9jb21wb25lbnRzLXNwaW5uZXInO1xuaW1wb3J0IHsgTGlic1VpSWNvbnNHZXRJY29uQ29tcG9uZW50UGlwZSB9IGZyb20gJ0BsaWJzLXVpL2ljb25zJztcbmltcG9ydCB7IElFdmVudCwgSUZpbGUgfSBmcm9tICdAbGlicy11aS9pbnRlcmZhY2VzLXR5cGVzJztcbmltcG9ydCB7IExpYnNVaVBpcGVzQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZSB9IGZyb20gJ0BsaWJzLXVpL3BpcGVzLWNoZWNrLWZpbGUtZXh0ZW5zaW9uJztcbmltcG9ydCB7IExpYnNVaVBpcGVzU2VjdXJpdHlUcnVzdFBpcGUgfSBmcm9tICdAbGlicy11aS9waXBlcy1zZWN1cml0eS10cnVzdCc7XG5pbXBvcnQgeyBMSU5LX0lNQUdFX0VSUk9SX1RPS0VOX0lOSkVDVCB9IGZyb20gJ0BsaWJzLXVpL3V0aWxzJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTGlic1VpUGlwZXNJbnB1dHNVcGxvYWRDYWxjRHVyYXRpb25WaWRlb1BpcGUgfSBmcm9tICcuLi9waXBlcy9jYWxjLWR1cmF0aW9uLXZpZGVvLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdsaWJzX3VpLWNvbXBvbmVudHMtaW5wdXRzLXVwbG9hZC1hdmF0YXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYXZhdGFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW05nQ29tcG9uZW50T3V0bGV0LCBBc3luY1BpcGUsIFRyYW5zbGF0ZU1vZHVsZSwgTGlic1VpQ29tcG9uZW50c1NwaW5uZXJDb21wb25lbnQsIExpYnNVaVBpcGVzU2VjdXJpdHlUcnVzdFBpcGUsIExpYnNVaVBpcGVzSW5wdXRzVXBsb2FkQ2FsY0R1cmF0aW9uVmlkZW9QaXBlLCBMaWJzVWlQaXBlc0NoZWNrRmlsZUV4dGVuc2lvblBpcGUsIExpYnNVaUljb25zR2V0SWNvbkNvbXBvbmVudFBpcGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0lucHV0c1VwbG9hZEF2YXRhckNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGl0ZW0gPSBtb2RlbC5yZXF1aXJlZDxJRmlsZT4oKTtcbiAgcmVhZG9ubHkgc2hvd1ZpZGVvRHVyYXRpb24gPSBpbnB1dDxib29sZWFuPigpO1xuICByZWFkb25seSBkaXNhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgcmVhZG9ubHkgc2l6ZSA9IGlucHV0PG51bWJlcj4oKTtcbiAgcmVhZG9ubHkgY2xhc3NJbmNsdWRlID0gaW5wdXQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+KCcnLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyAnJyB9KTtcblxuICByZWFkb25seSBvdXRPcGVuUHJldmlldyA9IG91dHB1dDxJRmlsZT4oKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KExJTktfSU1BR0VfRVJST1JfVE9LRU5fSU5KRUNUKSBwcml2YXRlIHJlYWRvbmx5IGxpbmtJbWFnZUVycm9yOiBzdHJpbmcpIHt9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGhhbmRsZXJJbWFnZUVycm9yKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghdGhpcy5saW5rSW1hZ2VFcnJvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAoZXZlbnQgYXMgSUV2ZW50KS50YXJnZXQuc3JjID0gdGhpcy5saW5rSW1hZ2VFcnJvcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVySW1hZ2VDbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLm91dE9wZW5QcmV2aWV3LmVtaXQodGhpcy5pdGVtKCkpO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiZmxleCBtci1bMTJweF0gYmctWyNmZmZmZmZdIHJvdW5kZWQtWzRweF0ge3sgY2xhc3NJbmNsdWRlKCkgfX1cIlxuICBbY2xhc3MubGlicy11aS1kaXNhYmxlXT1cImRpc2FibGUoKSB8fCBpdGVtKCkuaXNVcGxvYWRpbmcgfHwgaXRlbSgpLmVycm9yXCI+XG4gIEBpZiAoaXRlbSgpIHwgTGlic1VpUGlwZXNDaGVja0ZpbGVFeHRlbnNpb25QaXBlOiAnaW1hZ2UnKSB7XG4gICAgPGRpdlxuICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInNpemUoKSB8fCAzMlwiXG4gICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cInNpemUoKSB8fCAzMlwiXG4gICAgICBjbGFzcz1cInJlbGF0aXZlXCI+XG4gICAgICBAaWYgKGl0ZW0oKS51cmwgfHwgaXRlbSgpLm9yaWdpbl91cmw7IGFzIHVybCkge1xuICAgICAgICA8aW1nXG4gICAgICAgICAgW3NyY109XCJ1cmxcIlxuICAgICAgICAgIFtzdHlsZS53aWR0aC5weF09XCJzaXplKCkgfHwgMzJcIlxuICAgICAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZSgpIHx8IDMyXCJcbiAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtWzRweF0gY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgIGFsdFxuICAgICAgICAgIChlcnJvcik9XCJoYW5kbGVySW1hZ2VFcnJvcigkZXZlbnQpXCJcbiAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlckltYWdlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiaGFuZGxlckltYWdlQ2xpY2soJGV2ZW50KVwiIC8+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1zcGlubmVyIFtzaXplXT1cIidtZWRpdW0nXCIgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSBpZiAoaXRlbSgpIHwgTGlic1VpUGlwZXNDaGVja0ZpbGVFeHRlbnNpb25QaXBlOiAndmlkZW8nKSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJyZWxhdGl2ZVwiXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwic2l6ZSgpIHx8IDMyXCJcbiAgICAgIFtzdHlsZS5oZWlnaHQucHhdPVwic2l6ZSgpIHx8IDMyXCI+XG4gICAgICBAaWYgKGl0ZW0oKS51cmwgfHwgaXRlbSgpLm9yaWdpbl91cmwpIHtcbiAgICAgICAgQGxldCBjb25zdEh0bWxTcmMgPSBpdGVtKCkudXJsIHx8IGl0ZW0oKS5vcmlnaW5fdXJsIHx8ICcnO1xuICAgICAgICA8dmlkZW9cbiAgICAgICAgICAjdmlkZW9SZWZcbiAgICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwic2l6ZSB8fCAzMlwiXG4gICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJzaXplIHx8IDMyXCJcbiAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtWzRweF1cIlxuICAgICAgICAgIHByZWxvYWQ9XCJtZXRhZGF0YVwiXG4gICAgICAgICAgW3NyY109XCJjb25zdEh0bWxTcmMgfCBMaWJzVWlQaXBlc1NlY3VyaXR5VHJ1c3RQaXBlOiAncmVzb3VyY2VVcmwnIHwgYXN5bmNcIj5cbiAgICAgICAgICA8dHJhY2sga2luZD1cImNhcHRpb25zXCIgLz5cbiAgICAgICAgPC92aWRlbz5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFic29sdXRlIHctZnVsbCBoLWZ1bGwgdG9wLTAgYmctWyMwMDE0MzNdIG9wYWNpdHktNDAgcm91bmRlZC1bNHB4XVwiPjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWJzb2x1dGUgdy1mdWxsIGgtZnVsbCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciB0b3AtMFwiPlxuICAgICAgICAgIDxpIGNsYXNzPVwidGV4dC1bI2ZmZmZmZl0gbGlicy11aS1pY29uLXBsYXktc29saWQgYmVmb3JlOiF0ZXh0LVsxMHB4XVwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZiAoc2hvd1ZpZGVvRHVyYXRpb24oKSkge1xuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IHRleHQtWzVweF0gYWJzb2x1dGUgYm90dG9tLTAgcmlnaHQtMCBweS1bMnB4XSBweC1bNHB4XSByb3VuZGVkLVs0cHhdIGJnLVsjMDAwMDAwXSB0ZXh0LVsjZmZmZmZmXVwiPlxuICAgICAgICAgICAge3sgdmlkZW9SZWYuZHVyYXRpb24gfCBMaWJzVWlQaXBlc0lucHV0c1VwbG9hZENhbGNEdXJhdGlvblZpZGVvUGlwZSB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1zcGlubmVyIFtzaXplXT1cIidtZWRpdW0nXCIgLz5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSBpZiAoaXRlbSgpIHwgTGlic1VpUGlwZXNDaGVja0ZpbGVFeHRlbnNpb25QaXBlOiAncGRmJykge1xuICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwiJ3BkZicgfCBMaWJzVWlJY29uc0dldEljb25Db21wb25lbnRQaXBlIHwgYXN5bmM7IGlucHV0czogeyBzaXplOiBzaXplKCkgfHwgMzIgfVwiIC8+XG4gIH0gQGVsc2UgaWYgKGl0ZW0oKSB8IExpYnNVaVBpcGVzQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZTogJ3dvcmQnKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCInd29yZCcgfCBMaWJzVWlJY29uc0dldEljb25Db21wb25lbnRQaXBlIHwgYXN5bmM7IGlucHV0czogeyBzaXplOiBzaXplKCkgfHwgMzIgfVwiIC8+XG4gIH0gQGVsc2UgaWYgKGl0ZW0oKSB8IExpYnNVaVBpcGVzQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZTogJ3BwdHgnKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCIncHB0eCcgfCBMaWJzVWlJY29uc0dldEljb25Db21wb25lbnRQaXBlIHwgYXN5bmM7IGlucHV0czogeyBzaXplOiBzaXplKCkgfHwgMzIgfVwiIC8+XG4gIH0gQGVsc2UgaWYgKGl0ZW0oKSB8IExpYnNVaVBpcGVzQ2hlY2tGaWxlRXh0ZW5zaW9uUGlwZTogJ3hsc3gnKSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCIneGxzeCcgfCBMaWJzVWlJY29uc0dldEljb25Db21wb25lbnRQaXBlIHwgYXN5bmM7IGlucHV0czogeyBzaXplOiBzaXplKCkgfHwgMzIgfVwiIC8+XG4gIH0gQGVsc2Uge1xuICAgIDxkaXZcbiAgICAgIFtzdHlsZS53aWR0aC5weF09XCJzaXplKCkgfHwgMzJcIlxuICAgICAgW3N0eWxlLmhlaWdodC5weF09XCJzaXplKCkgfHwgMzJcIlxuICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlclwiPlxuICAgICAgPGlcbiAgICAgICAgY2xhc3M9XCJsaWJzLXVpLWljb24tZmlsZSBiZWZvcmU6IXRleHQtWzE5cHhdXCJcbiAgICAgICAgW2NsYXNzLnRleHQtWyM2YTczODNdXT1cIiFpdGVtKCkuaXNVcGxvYWRpbmcgJiYgIWl0ZW0oKS5lcnJvclwiXG4gICAgICAgIFtjbGFzcy50ZXh0LVsjMDcxNjMxXV09XCJkaXNhYmxlKCkgfHwgaXRlbSgpLmlzVXBsb2FkaW5nIHx8IGl0ZW0oKS5lcnJvclwiPjwvaT5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { NgComponentOutlet, AsyncPipe } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { Pipe, model, input, output, Optional, Inject, ChangeDetectionStrategy, Component, inject, ElementRef, Directive, signal, computed, viewChild, effect, untracked } from '@angular/core';
3
+ import { Pipe, model, input, output, Component, ChangeDetectionStrategy, Optional, Inject, inject, ElementRef, Directive, signal, computed, viewChild, effect, untracked } from '@angular/core';
4
4
  import { LibsUiComponentsSpinnerComponent } from '@libs-ui/components-spinner';
5
5
  import { LibsUiIconsGetIconComponentPipe } from '@libs-ui/icons';
6
6
  import { LibsUiPipesCheckFileExtensionPipe } from '@libs-ui/pipes-check-file-extension';
@@ -74,11 +74,11 @@ class LibsUiComponentsInputsUploadAvatarComponent {
74
74
  this.outOpenPreview.emit(this.item());
75
75
  }
76
76
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsInputsUploadAvatarComponent, deps: [{ token: LINK_IMAGE_ERROR_TOKEN_INJECT, optional: true }], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LibsUiComponentsInputsUploadAvatarComponent, isStandalone: true, selector: "libs_ui-components-inputs-upload-avatar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, showVideoDuration: { classPropertyName: "showVideoDuration", publicName: "showVideoDuration", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { item: "itemChange", outOpenPreview: "outOpenPreview" }, ngImport: i0, template: "<div\n class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px] {{ classInclude() }}\"\n [class.libs-ui-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesCheckFileExtensionPipe: 'image') {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img\n [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\"\n (keyup.enter)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'video') {\n <div\n class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n @let constHtmlSrc = item().url || item().origin_url || '';\n <video\n #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"constHtmlSrc | LibsUiPipesSecurityTrustPipe: 'resourceUrl' | async\">\n <track kind=\"captions\" />\n </video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\"></div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'word') {\n <ng-container *ngComponentOutlet=\"'word' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i\n class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "pipe", type: LibsUiPipesSecurityTrustPipe, name: "LibsUiPipesSecurityTrustPipe" }, { kind: "pipe", type: LibsUiPipesInputsUploadCalcDurationVideoPipe, name: "LibsUiPipesInputsUploadCalcDurationVideoPipe" }, { kind: "pipe", type: LibsUiPipesCheckFileExtensionPipe, name: "LibsUiPipesCheckFileExtensionPipe" }, { kind: "pipe", type: LibsUiIconsGetIconComponentPipe, name: "LibsUiIconsGetIconComponentPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: LibsUiComponentsInputsUploadAvatarComponent, isStandalone: true, selector: "libs_ui-components-inputs-upload-avatar", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, showVideoDuration: { classPropertyName: "showVideoDuration", publicName: "showVideoDuration", isSignal: true, isRequired: false, transformFunction: null }, disable: { classPropertyName: "disable", publicName: "disable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { item: "itemChange", outOpenPreview: "outOpenPreview" }, ngImport: i0, template: "<div\n class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px] {{ classInclude() }}\"\n [class.libs-ui-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesCheckFileExtensionPipe: 'image') {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img\n [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\"\n (keydown.enter)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'video') {\n <div\n class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n @let constHtmlSrc = item().url || item().origin_url || '';\n <video\n #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"constHtmlSrc | LibsUiPipesSecurityTrustPipe: 'resourceUrl' | async\">\n <track kind=\"captions\" />\n </video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\"></div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'word') {\n <ng-container *ngComponentOutlet=\"'word' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i\n class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: LibsUiComponentsSpinnerComponent, selector: "libs_ui-components-spinner", inputs: ["type", "size"] }, { kind: "pipe", type: LibsUiPipesSecurityTrustPipe, name: "LibsUiPipesSecurityTrustPipe" }, { kind: "pipe", type: LibsUiPipesInputsUploadCalcDurationVideoPipe, name: "LibsUiPipesInputsUploadCalcDurationVideoPipe" }, { kind: "pipe", type: LibsUiPipesCheckFileExtensionPipe, name: "LibsUiPipesCheckFileExtensionPipe" }, { kind: "pipe", type: LibsUiIconsGetIconComponentPipe, name: "LibsUiIconsGetIconComponentPipe" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
78
78
  }
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LibsUiComponentsInputsUploadAvatarComponent, decorators: [{
80
80
  type: Component,
81
- args: [{ selector: 'libs_ui-components-inputs-upload-avatar', standalone: true, imports: [NgComponentOutlet, AsyncPipe, TranslateModule, LibsUiComponentsSpinnerComponent, LibsUiPipesSecurityTrustPipe, LibsUiPipesInputsUploadCalcDurationVideoPipe, LibsUiPipesCheckFileExtensionPipe, LibsUiIconsGetIconComponentPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px] {{ classInclude() }}\"\n [class.libs-ui-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesCheckFileExtensionPipe: 'image') {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img\n [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\"\n (keyup.enter)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'video') {\n <div\n class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n @let constHtmlSrc = item().url || item().origin_url || '';\n <video\n #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"constHtmlSrc | LibsUiPipesSecurityTrustPipe: 'resourceUrl' | async\">\n <track kind=\"captions\" />\n </video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\"></div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'word') {\n <ng-container *ngComponentOutlet=\"'word' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i\n class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n" }]
81
+ args: [{ selector: 'libs_ui-components-inputs-upload-avatar', standalone: true, imports: [NgComponentOutlet, AsyncPipe, TranslateModule, LibsUiComponentsSpinnerComponent, LibsUiPipesSecurityTrustPipe, LibsUiPipesInputsUploadCalcDurationVideoPipe, LibsUiPipesCheckFileExtensionPipe, LibsUiIconsGetIconComponentPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex mr-[12px] bg-[#ffffff] rounded-[4px] {{ classInclude() }}\"\n [class.libs-ui-disable]=\"disable() || item().isUploading || item().error\">\n @if (item() | LibsUiPipesCheckFileExtensionPipe: 'image') {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"relative\">\n @if (item().url || item().origin_url; as url) {\n <img\n [src]=\"url\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"rounded-[4px] cursor-pointer\"\n alt\n (error)=\"handlerImageError($event)\"\n (click)=\"handlerImageClick($event)\"\n (keydown.enter)=\"handlerImageClick($event)\" />\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'video') {\n <div\n class=\"relative\"\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\">\n @if (item().url || item().origin_url) {\n @let constHtmlSrc = item().url || item().origin_url || '';\n <video\n #videoRef\n [style.width.px]=\"size || 32\"\n [style.height.px]=\"size || 32\"\n class=\"rounded-[4px]\"\n preload=\"metadata\"\n [src]=\"constHtmlSrc | LibsUiPipesSecurityTrustPipe: 'resourceUrl' | async\">\n <track kind=\"captions\" />\n </video>\n <div class=\"absolute w-full h-full top-0 bg-[#001433] opacity-40 rounded-[4px]\"></div>\n <div class=\"absolute w-full h-full flex items-center justify-center top-0\">\n <i class=\"text-[#ffffff] libs-ui-icon-play-solid before:!text-[10px]\"></i>\n </div>\n @if (showVideoDuration()) {\n <div class=\"flex text-[5px] absolute bottom-0 right-0 py-[2px] px-[4px] rounded-[4px] bg-[#000000] text-[#ffffff]\">\n {{ videoRef.duration | LibsUiPipesInputsUploadCalcDurationVideoPipe }}\n </div>\n }\n } @else {\n <libs_ui-components-spinner [size]=\"'medium'\" />\n }\n </div>\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pdf') {\n <ng-container *ngComponentOutlet=\"'pdf' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'word') {\n <ng-container *ngComponentOutlet=\"'word' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'pptx') {\n <ng-container *ngComponentOutlet=\"'pptx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else if (item() | LibsUiPipesCheckFileExtensionPipe: 'xlsx') {\n <ng-container *ngComponentOutlet=\"'xlsx' | LibsUiIconsGetIconComponentPipe | async; inputs: { size: size() || 32 }\" />\n } @else {\n <div\n [style.width.px]=\"size() || 32\"\n [style.height.px]=\"size() || 32\"\n class=\"flex items-center justify-center\">\n <i\n class=\"libs-ui-icon-file before:!text-[19px]\"\n [class.text-[#6a7383]]=\"!item().isUploading && !item().error\"\n [class.text-[#071631]]=\"disable() || item().isUploading || item().error\"></i>\n </div>\n }\n</div>\n" }]
82
82
  }], ctorParameters: () => [{ type: undefined, decorators: [{
83
83
  type: Optional
84
84
  }, {