!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/dialog"),require("@angular/material/button"),require("@angular/material/input"),require("@angular/material/icon"),require("@angular/material/tooltip"),require("@angular/material/tree"),require("@angular/material/paginator"),require("@angular/material/table"),require("@angular/material/progress-bar"),require("@angular/material/menu"),require("@angular/material/checkbox"),require("@angular/material/select"),require("@angular/material/progress-spinner"),require("@angular/common/http"),require("rxjs"),require("rxjs/internal/BehaviorSubject"),require("rxjs/operators"),require("rxjs/internal/Subject"),require("@angular/platform-browser"),require("@angular/material"),require("rxjs/internal/observable/of"),require("@angular/cdk/tree"),require("rxjs/internal/observable/combineLatest"),require("moment")):"function"==typeof define&&define.amd?define("rs-asset-management",["exports","@angular/core","@angular/common","@angular/forms","@angular/material/dialog","@angular/material/button","@angular/material/input","@angular/material/icon","@angular/material/tooltip","@angular/material/tree","@angular/material/paginator","@angular/material/table","@angular/material/progress-bar","@angular/material/menu","@angular/material/checkbox","@angular/material/select","@angular/material/progress-spinner","@angular/common/http","rxjs","rxjs/internal/BehaviorSubject","rxjs/operators","rxjs/internal/Subject","@angular/platform-browser","@angular/material","rxjs/internal/observable/of","@angular/cdk/tree","rxjs/internal/observable/combineLatest","moment"],t):t((e=e||self)["rs-asset-management"]={},e.ng.core,e.ng.common,e.ng.forms,e.ng.material.dialog,e.ng.material.button,e.ng.material.input,e.ng.material.icon,e.ng.material.tooltip,e.ng.material.tree,e.ng.material.paginator,e.ng.material.table,e.ng.material["progress-bar"],e.ng.material.menu,e.ng.material.checkbox,e.ng.material.select,e.ng.material["progress-spinner"],e.ng.common.http,e.rxjs,e.rxjs["internal/BehaviorSubject"],e.rxjs.operators,e.rxjs["internal/Subject"],e.ng.platformBrowser,e.ng.material,e.rxjs["internal/observable/of"],e.ng.cdk.tree,e.rxjs["internal/observable/combineLatest"],e.moment_)}(this,(function(e,t,n,i,s,o,a,r,l,d,p,c,u,g,h,f,m,b,A,y,v,x,D,w,E,I,S,_){"use strict";
/*! *****************************************************************************
    Copyright (c) Microsoft Corporation.

    Permission to use, copy, modify, and/or distribute this software for any
    purpose with or without fee is hereby granted.

    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
    ***************************************************************************** */var F=function(e,t){return(F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function M(e,t){function n(){this.constructor=e}F(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var C=function(){return(C=Object.assign||function(e){for(var t,n=1,i=arguments.length;n<i;n++)for(var s in t=arguments[n])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)};function B(e,t,n,i){return new(n||(n=Promise))((function(s,o){function a(e){try{l(i.next(e))}catch(e){o(e)}}function r(e){try{l(i.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,r)}l((i=i.apply(e,t||[])).next())}))}function Q(e,t){var n,i,s,o,a={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,i&&(s=2&o[0]?i.return:o[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,o[1])).done)return s;switch(i=0,s&&(o=[2&o[0],s.value]),o[0]){case 0:case 1:s=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,i=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(s=(s=a.trys).length>0&&s[s.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!s||o[1]>s[0]&&o[1]<s[3])){a.label=o[1];break}if(6===o[0]&&a.label<s[1]){a.label=s[1],s=o;break}if(s&&a.label<s[2]){a.label=s[2],a.ops.push(o);break}s[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],i=0}finally{n=s=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,r])}}}function k(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function T(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,s,o=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=o.next()).done;)a.push(i.value)}catch(e){s={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(s)throw s.error}}return a}function O(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(T(arguments[t]));return e}var j=function(){};!function(e){function t(){return null!==e&&e.apply(this,arguments)||this}M(t,e)}(j);var L=function(){};var N=function(e,t,n,i){void 0===t&&(t=1),void 0===n&&(n=!1),void 0===i&&(i=!1),this.item=e,this.level=t,this.expandable=n,this.isLoading=i};var P={IMAGE:"Image",DOCUMENT:"Document"},U={NAME:1,CREATED_DATE:2,MODIFIED_DATE:3};U[U.NAME]="NAME",U[U.CREATED_DATE]="CREATED_DATE",U[U.MODIFIED_DATE]="MODIFIED_DATE";var R={DESC:1,ASC:2};R[R.DESC]="DESC",R[R.ASC]="ASC";var z=new t.InjectionToken("asset.man.config.angular"),H=function(e){function n(t,n){var i=e.call(this,n)||this;return i._env=t,i}return M(n,e),n.prototype.request=function(t,n,i){void 0===i&&(i={});var s=this._env.requestHeader;return i||(i={}),s&&(i.headers=s),e.prototype.request.call(this,t,n,i)},n.decorators=[{type:t.Injectable}],n.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[z]}]},{type:b.HttpHandler}]},n}(b.HttpClient);var q=function(){function e(e,t,n){this._env=e,this.dialog=t,this._api=n,this.folderList$=new A.BehaviorSubject(null),this.assetList$=new A.BehaviorSubject(null),this.openDialog$=new A.BehaviorSubject(null),this.dialogConfig=new L,this.baseUrl=this._env.asset2Url,this.initOptionFiles()}return e.prototype.initOptionFiles=function(){this.keyword="",this.pageSize=12,this.pageIndex=0,this.folderTotal=0,this.fileTotal=0,this.sortBy=U.MODIFIED_DATE,this.sortOrder=R.DESC},e.prototype.resetData=function(){this.setAssetList(null),this.setFolderList(null)},e.prototype.resetAsset=function(){this.initOptionFiles(),this.resetData()},e.prototype.getFolderList=function(){return this.folderList$.asObservable()},e.prototype.setFolderList=function(e,t){this.folderTotal=t||0,this.folderList$.next(e)},e.prototype.getAssetList=function(){return this.assetList$.asObservable()},e.prototype.setAssetList=function(e,t){this.setPagination(t),this.assetList$.next(e)},e.prototype.setDialogOpenStatus=function(e){this.openDialog$.next(e)},e.prototype.getDialogOpenStatus=function(){return this.openDialog$.asObservable()},e.prototype.setPagination=function(e){e&&(this.fileTotal=e.Total,this.pageIndex=e.PageIndex,this.pageSize=e.PageSize)},e.prototype.getAssetById=function(e){var t=this.baseUrl+"/File/GetById/"+e;return this._api.get(t)},e.prototype.getChildrenFolders=function(e){var t=e.assetId,n=e.isFilter,i=void 0===n||n,s=this.baseUrl+"/File/GetChildren",o=(new b.HttpParams).set("getAll","true").set("isFolder","true");return t&&(o=o.set("assetId",t)),i&&this.keyword.length&&(o=o.set("keyword",this.keyword||"")),this._api.get(s,{params:o})},e.prototype.getChildrenAssets=function(e){var t=e.assetId,n=e.pageIndex,i=this.baseUrl+"/File/GetChildren",s=(new b.HttpParams).set("pageSize",this.pageSize.toString()).set("pageIndex",n||this.pageIndex.toString()).set("getAll","false").set("isFolder","false").set("TypeSort",this.sortOrder.toString()).set("SortFilesBy",this.sortBy.toString());return t&&(s=s.set("assetId",t)),this.keyword.length&&(s=s.set("keyword",this.keyword||"")),this.dialogConfig.allowedType&&(s=s.set("fileType",this.dialogConfig.allowedType)),this._api.get(i,{params:s})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[z]}]},{type:s.MatDialog},{type:H}]},e}();var Y=new A.Subject,W=function(){function e(){}return e.prototype.getDispatcher=function(){return this._dispatcher||(this._dispatcher=Y),this._dispatcher},e.prototype.dispatch=function(e){this.getDispatcher().next(e)},e.decorators=[{type:t.Injectable,args:[{providedIn:"root"}]}],e.ctorParameters=function(){return[]},e.ngInjectableDef=t.ɵɵdefineInjectable({factory:function(){return new e},token:e,providedIn:"root"}),e}();var K="[LOADING] Set global loading state",G="[ASSET] Set selected assets",V="[ASSET] reload current asset list ",Z="[ASSET] delete an asset ",J="[FOLDER] get current folder id",X="[FOLDER] set current folder ",$="[FOLDER] reload current folder ",ee="[FOLDER] set current folder hierarchy ",te="[NODE] reload current node ";var ne={globalLoading:!1,selectedAssets:[],deletedAssetId:null,currentFolder:null,currentFolderId:null,currentFolderHierarchy:[],reloadCurrentFolder:!1,reloadCurrentAssets:!1,reloadCurrentNode:!1},ie=new A.BehaviorSubject(ne),se=function(e){return ie.asObservable().pipe(v.map((function(t){return e(t)})),v.distinctUntilChanged())},oe=function(){function e(e,t){this.assetService=e,this.svc=t,this.storedData$=new y.BehaviorSubject([]),this.loading$=new y.BehaviorSubject(!1),this.initialData$=new y.BehaviorSubject([])}return Object.defineProperty(e.prototype,"data",{get:function(){return this.storedData$.getValue()},set:function(e){this.storedData$.next(e)},enumerable:!0,configurable:!0}),e.prototype.fetchChildrenFolder=function(e){return B(this,void 0,void 0,(function(){var t;return Q(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.assetService.getChildrenFolders({assetId:e,isFilter:!1}).toPromise()];case 1:return(t=n.sent())?[2,t.Data]:[3,3];case 2:return n.sent(),[3,3];case 3:return[2]}}))}))},e.prototype.initialData=function(e){var t=e.dispatchRootId;return B(this,void 0,void 0,(function(){var e,n,i=this;return Q(this,(function(s){switch(s.label){case 0:return t&&this.loading$.next(!0),[4,this.assetService.getChildrenFolders({isFilter:!1}).toPromise()];case 1:return(e=s.sent())?(t&&(this.svc.dispatch({type:J,payload:e.Data.AssetId}),this.svc.dispatch({type:ee,payload:[]})),this.rootFolder=e.Data,n=e.Data.Children.map((function(e){return new N(e,0,i.isExpandable(e))})),this.initialData$.next(n),t&&this.loading$.next(!1),[2,this.initialData$.getValue()]):[2]}}))}))},e.prototype.getChildren=function(e){return B(this,void 0,void 0,(function(){return Q(this,(function(t){switch(t.label){case 0:return[4,this.fetchChildrenFolder(e.AssetId)];case 1:return[2,t.sent()]}}))}))},e.prototype.isExpandable=function(e){return e.HaveChildren},e.prototype.addNode=function(e,t){var n=O(this.data);n.findIndex((function(t){return t.AssetId===e.AssetId}))<0&&(n=O(n,[C({},e,{ParentId:t||null})])),this.data=n},e.prototype.updateBreadcrumb=function(e){return B(this,void 0,void 0,(function(){var t,n;return Q(this,(function(i){return(t=this.data.find((function(t){return t.AssetId===e})))&&(n=this.getFolderHierarchy(t),this.svc.dispatch({type:ee,payload:n})),[2]}))}))},e.prototype.getAssetParent=function(e){return this.data.find((function(t){return t.AssetId===e.ParentId}))},e.prototype.getFolderHierarchy=function(e){if(!e)return[];for(var t=[],n=this.getAssetParent(e);n;)t=O([n],t),n=this.getAssetParent(n);return O(t,[e])},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:q},{type:W}]},e}();var ae=function(){function e(e,t,n){this._env=e,this.dialog=t,this._api=n,this.files=[],this.namesMap={},this.errorsMap={},this.supportedSize=10485760,this.documentExtension=[".pdf"],this.imageExtension=[".png",".gif",".jpeg",".jpg",".svg",".svg+xml"],this.supportedTypes=O(this.imageExtension,this.documentExtension),this.messageErrors={size:"File size should be upto",ext:"Only supported file extension:"},this.errorObs$=new A.BehaviorSubject(!0),this.baseUrl=this._env.asset2Url}return e.prototype.getErrorObs=function(){return this.errorObs$.asObservable()},e.prototype.setErrorObs=function(e){this.errorObs$.next(e)},Object.defineProperty(e.prototype,"getFiles",{get:function(){return this.files},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"setFiles",{set:function(e){this.files=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"nameFiles",{get:function(){return this.namesMap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"newName",{set:function(e){this.namesMap=C({},this.namesMap,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errorFiles",{get:function(){return!this.files.length||Object.keys(this.errorsMap).length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errors",{set:function(e){this.errorsMap=C({},this.errorsMap,e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fileErrors",{get:function(){return this.errorsMap},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"errorLength",{get:function(){return Object.keys(this.errorsMap).length},enumerable:!0,configurable:!0}),e.prototype.deleteFile=function(e,t){this.files=this.files.filter((function(e,n){return n!==t})),delete this.namesMap[e],delete this.errorsMap[e]},e.prototype.uploadMultipleAssests=function(e){var t,n,i=this.files,s=this.namesMap,o=new FormData;o.append("parentAssetId",e),o.append("companyId","732DA8D2-04EC-4BE0-A168-63EE0DCF50D8");try{for(var a=k(i),r=a.next();!r.done;r=a.next()){var l=r.value,d="."+l.type.split("/")[1],p=l.name,c=s[p]?""+s[p]+d:p;o.append("files",l,c)}}catch(e){t={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(t)throw t.error}}return this._api.post(this.baseUrl+"/File/Upload",o)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[z]}]},{type:s.MatDialog},{type:H}]},e}();var re=function(){function e(e,t){this._env=e,this._api=t,this.baseUrl=this._env.asset2Url}return e.prototype.addFolder=function(e){var t=e.parentAssetId,n=e.folderName,i=(new b.HttpParams).set("parentAssetId",t).set("folderName",n);return this._api.post(this.baseUrl+"/File/Addfolder",null,{params:i})},e.prototype.updateFile=function(e){var t=e.assetId,n=e.fileName,i=e.description,s=(new b.HttpParams).set("assetId",t).set("fileName",n);return i&&(s=s.set("Description",i)),this._api.post(this.baseUrl+"/File/Update",null,{params:s})},e.prototype.replaceAsset=function(e,t){var n=new FormData;return n.append("AssetId",e),n.append("files",t),n.append("KeepOldName","true"),this._api.post(this.baseUrl+"/File/Replace",n)},e.prototype.deleteFile=function(e){var t=(new b.HttpHeaders).set("Content-Type","application/json");return this._api.request("delete",this.baseUrl+"/File/Delete",{headers:t,body:e})},e.prototype.getFileDetail=function(e){var t=(new b.HttpParams).set("IncludeDetailedWidth","true");return this._api.get(this.baseUrl+"/File/GetById/"+e,{params:t})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[z]}]},{type:H}]},e}();var le=function(){function e(e,t,n){this.data=e,this.dialogRef=t,this.assetService=n,this.destroy$=new x.Subject,this.selectedAssets=[]}return e.prototype.ngOnInit=function(){var e=this;this.initDialogConfig(this.data),se((function(e){return e.selectedAssets})).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){e.selectedAssets=t}))},Object.defineProperty(e.prototype,"disabled",{get:function(){var e=this.data.limit;return!this.selectedAssets||!this.selectedAssets.length||e&&this.selectedAssets.length>e},enumerable:!0,configurable:!0}),e.prototype.selectAssets=function(){this.dialogRef.close(this.selectedAssets)},e.prototype.initDialogConfig=function(e){e&&(this.assetService.dialogConfig=e)},e.prototype.ngOnDestroy=function(){this.assetService.dialogConfig=new L,this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-management-dialog",template:'<lib-modal heading="Asset management" [customHeader]="true">\n  <ng-container subtitle>\n    <lib-breadcrumb></lib-breadcrumb>\n  </ng-container>\n  <ng-container headerActions>\n    <lib-search-box></lib-search-box>\n  </ng-container>\n  <ng-container content>\n    <lib-asset-wrapper [header]="false"></lib-asset-wrapper>\n  </ng-container>\n  <ng-container actions>\n    <div class="asset-management-dialog__footer">\n      <div class="selected-assets">\n        <ng-container *ngIf="data?.limit">\n          <span>Selected{{\' \'}}</span>\n          <span class="count" [ngClass]="{\'error\': selectedAssets?.length && disabled}">\n            {{selectedAssets?.length}}/{{data?.limit}}\n          </span>\n          <span>\n            {{data?.limit > 1 ? "assets": "asset"}}\n          </span>\n        </ng-container>\n\n      </div>\n      <div>\n        <button mat-raised-button mat-dialog-close>Cancel</button>\n        <button mat-raised-button color="primary" (click)="selectAssets()" [disabled]="disabled">Done</button>\n      </div>\n    </div>\n  </ng-container>\n</lib-modal>',styles:[":host::ng-deep .asset-management-dialog__footer{display:flex;width:100%;align-items:center;justify-content:space-between}:host::ng-deep .asset-management-dialog__footer .selected-assets{font-size:14px;color:#979797}:host::ng-deep .asset-management-dialog__footer .selected-assets .count{color:#000}:host::ng-deep .asset-management-dialog__footer .selected-assets .error{color:#f44336}"]}]}],e.ctorParameters=function(){return[{type:L,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:q}]},e}();var de=function(){function e(e,n,i){this.dialog=e,this.svc=n,this.assetService=i,this.isDialog=!0,this.assetChange=new t.EventEmitter,this.destroy$=new A.Subject}return e.prototype.ngOnInit=function(){var e;(e=this.svc.getDispatcher())?e.subscribe((function(e){switch(e.type){case G:ne=C({},ne,{selectedAssets:e.payload}),ie.next(ne);break;case K:ne=C({},ne,{globalLoading:e.payload}),ie.next(ne);break;case X:ne=C({},ne,{currentFolder:C({},e.payload)}),ie.next(ne);break;case $:ne=C({},ne,{reloadCurrentFolder:!ne.reloadCurrentFolder}),ie.next(ne);break;case V:ne=C({},ne,{reloadCurrentAssets:!ne.reloadCurrentAssets}),ie.next(ne);break;case te:ne=C({},ne,{reloadCurrentNode:!ne.reloadCurrentNode}),ie.next(ne);break;case ee:ne=C({},ne,{currentFolderHierarchy:O(e.payload)}),ie.next(ne);break;case J:ne=C({},ne,{currentFolderId:e.payload}),ie.next(ne);break;case Z:ne=C({},ne,{deletedAssetId:e.payload}),ie.next(ne)}})):console.warn("Dispatcher not found."),this.bindSubscriber()},e.prototype.bindSubscriber=function(){var e=this;this.assetService.getDialogOpenStatus().pipe(v.takeUntil(this.destroy$)).subscribe((function(t){t&&e.openAssetsDialog()}))},e.prototype.onAssetsChange=function(e){e&&this.assetChange.emit(e)},e.prototype.openAssetsDialog=function(){var e=this,t={limit:this.limit,allowedType:this.allowedType};this.dialog.open(le,{autoFocus:!1,panelClass:"lib-dialog--large",data:t}).afterClosed().pipe(v.takeUntil(this.destroy$)).subscribe((function(t){t&&e.assetChange.emit(t)}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-management",template:'<ng-container *ngIf="!isDialog">\n  <lib-asset-wrapper (assets)="onAssetsChange($event)"></lib-asset-wrapper>\n</ng-container>\n<ng-content *ngIf="isDialog"></ng-content>',providers:[q],styles:["::ng-deep .custom-scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);background-color:#f5f5f5;border-radius:10px}::ng-deep .custom-scrollbar::-webkit-scrollbar{width:5px;height:5px;background-color:#f5f5f5}::ng-deep .custom-scrollbar::-webkit-scrollbar-thumb{border-radius:10px;background-color:#bdbbbb}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:W},{type:q}]},e.propDecorators={isDialog:[{type:t.Input}],limit:[{type:t.Input}],allowedType:[{type:t.Input}],assetChange:[{type:t.Output}]},e}();var pe=function(){function e(e){this.assetService=e}return e.prototype.onClick=function(e){this.openAssetsDialog()},e.prototype.openAssetsDialog=function(){this.assetService.setDialogOpenStatus(!0)},e.decorators=[{type:t.Directive,args:[{selector:"[libDialogTrigger]"}]}],e.ctorParameters=function(){return[{type:q}]},e.propDecorators={onClick:[{type:t.HostListener,args:["click",["$event.target"]]}]},e}();var ce=function(){function e(){this.imageDropped=new t.EventEmitter}return e.prototype.onDragOver=function(e){e.preventDefault(),e.stopPropagation()},e.prototype.onDragLeave=function(e){e.preventDefault(),e.stopPropagation()},e.prototype.ondrop=function(e){e.preventDefault(),e.stopPropagation();var t=e.dataTransfer.files;t=Array.from(t),this.imageDropped.emit(t)},e.decorators=[{type:t.Directive,args:[{selector:"[libDnDFile]"}]}],e.propDecorators={imageDropped:[{type:t.Output}],onDragOver:[{type:t.HostListener,args:["dragover",["$event"]]}],onDragLeave:[{type:t.HostListener,args:["dragleave",["$event"]]}],ondrop:[{type:t.HostListener,args:["drop",["$event"]]}]},e}();var ue=[ce,pe],ge=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:O(ue),imports:[n.CommonModule],exports:O(ue)}]}],e}(),he=function(){function e(){this.multiple=!0,this.fileChange=new t.EventEmitter}return e.prototype.onFileChange=function(e){var t=e.target.files;t.length<1||(t=Array.from(t),this.fileChange.emit(t))},e.decorators=[{type:t.Component,args:[{selector:"lib-input-file",template:'<input\n  #inputFile\n  class="input-file"\n  type="file"\n  [accept]="acceptTypes"\n  id="file-import"\n  (change)="onFileChange($event)"\n  [multiple]="multiple"\n/>\n<button mat-raised-button [color]="color" (click)="inputFile?.click()">\n  <ng-content></ng-content>\n</button>\n',styles:[":host::ng-deep{display:inline-block}:host::ng-deep .input-file{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={color:[{type:t.Input}],multiple:[{type:t.Input}],acceptTypes:[{type:t.Input}],fileChange:[{type:t.Output,args:["onFileChange"]}]},e}();var fe=function(){function e(){this.customHeader=!1}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"lib-modal",template:'<h4 mat-dialog-title *ngIf="!customHeader; else customHeaderTemplate">\n  <div class="lib-modal--title" [title]="heading">\n    {{ heading }}\n  </div>\n  <div class="lib-modal--close">\n    <mat-icon mat-dialog-close>close</mat-icon>\n  </div>\n</h4>\n<ng-template #customHeaderTemplate>\n  <h4 mat-dialog-title>\n    <div class="lib-modal--custom-title">\n      <span>\n        {{ heading }}\n      </span>\n      <div class="lib-modal--custom-subtitle">\n        <ng-content select="[subtitle]"></ng-content>\n      </div>\n    </div>\n    <div class="lib-modal--header-actions">\n      <ng-content select="[headerActions]"></ng-content>\n    </div>\n    <mat-icon mat-dialog-close class="mat-dialog-close">close</mat-icon>\n  </h4>\n</ng-template>\n<mat-dialog-content class="custom-scrollbar">\n  <ng-content select="[content]"></ng-content>\n</mat-dialog-content>\n<mat-dialog-actions>\n  <ng-content select="[actions]"></ng-content>\n</mat-dialog-actions>\n',styles:[":host::ng-deep{display:flex;flex-direction:column;min-height:150px;position:relative}:host::ng-deep .mat-dialog-title{padding-bottom:24px;margin:0;display:flex;justify-content:space-between;font-size:24px;line-height:1;gap:10px}:host::ng-deep .mat-dialog-title mat-icon{cursor:pointer}:host::ng-deep .lib-modal--custom-title,:host::ng-deep .lib-modal--title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .lib-modal--custom-subtitle{margin-top:5px}:host::ng-deep .lib-modal--header-actions{display:flex;align-items:center;gap:10px}:host::ng-deep mat-dialog-content{flex:1;padding:0 24px}:host::ng-deep mat-dialog-actions{padding-top:24px;padding-bottom:0;display:flex;justify-content:flex-end;min-height:auto;margin-bottom:0}:host::ng-deep mat-dialog-actions .mat-button-base+.mat-button-base{margin-left:20px}:host::ng-deep .mat-error{margin-top:5px;font-size:14px}:host::ng-deep .no-wrap{white-space:nowrap}:host::ng-deep input,:host::ng-deep textarea{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px;color:#000;margin-top:0;resize:none}::ng-deep .lib-dialog--small{width:400px!important}::ng-deep .lib-dialog--small .file__name{word-break:break-word}::ng-deep .lib-dialog--small .mat-button-base{min-width:70px}::ng-deep .lib-dialog--small .loading{padding:0 5px}::ng-deep .lib-dialog--small .loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}::ng-deep .lib-dialog--small .loading .mat-spinner{margin-right:10px}::ng-deep .lib-dialog--medium{max-width:1200px!important;width:90%!important}::ng-deep .lib-dialog--medium .mat-dialog-content{border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8;overflow-x:hidden}::ng-deep .lib-dialog--large{max-width:1200px!important;width:90vw!important}::ng-deep .lib-dialog--large .mat-dialog-title{padding-bottom:12px;position:relative}::ng-deep .lib-dialog--large .mat-dialog-title .mat-dialog-close{position:absolute;right:-22px;top:-22px}::ng-deep .lib-dialog--large .mat-dialog-content{min-height:70vh;border-top:1px solid #d8d8d8;border-bottom:1px solid #d8d8d8;padding:0}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body{max-height:calc(70vh - 2px)!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .node-tree{height:calc(70vh - 2px)!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .asset-list__item{min-width:25%!important}@media only screen and (max-width:768px){::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body{max-height:none!important}::ng-deep .lib-dialog--large .mat-dialog-content .asset-wrapper .asset-body .node-tree{height:-webkit-max-content!important;height:-moz-max-content!important;height:max-content!important}}::ng-deep .lib-dialog--large .mat-dialog-actions{padding:12px 0;margin-bottom:-24px!important}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={heading:[{type:t.Input}],customHeader:[{type:t.Input}]},e}();var me="data:image/png;base64,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",be=function(){function e(e){this.domSanitizer=e,this.base64Image=this.domSanitizer.bypassSecurityTrustUrl("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODAiIGhlaWdodD0iNzAiIHZpZXdCb3g9IjAgMCA4MCA3MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTU5LjM4MDEgNDQuMDRINTYuMjIwMUw1NS4xMDAxIDQyLjk2QzU5LjAyMDEgMzguNCA2MS4zODAxIDMyLjQ4IDYxLjM4MDEgMjYuMDRDNjEuMzgwMSAxMS42OCA0OS43NDAxIDAuMDQwMDM5MSAzNS4zODAxIDAuMDQwMDM5MUMyMS43MDAxIDAuMDQwMDM5MSAxMC41MDAxIDEwLjYgOS41MDAwNiAyNC4wNEgxNy41ODAxQzE4LjU4MDEgMTUuMDQgMjYuMTAwMSA4LjA0MDA0IDM1LjM4MDEgOC4wNDAwNEM0NS4zNDAxIDguMDQwMDQgNTMuMzgwMSAxNi4wOCA1My4zODAxIDI2LjA0QzUzLjM4MDEgMzYgNDUuMzQwMSA0NC4wNCAzNS4zODAxIDQ0LjA0QzM0LjcwMDEgNDQuMDQgMzQuMDYwMSA0My45MiAzMy4zODAxIDQzLjg0VjUxLjkyQzM0LjA2MDEgNTIgMzQuNzAwMSA1Mi4wNCAzNS4zODAxIDUyLjA0QzQxLjgyMDEgNTIuMDQgNDcuNzQwMSA0OS42OCA1Mi4zMDAxIDQ1Ljc2TDUzLjM4MDEgNDYuODhWNTAuMDRMNzMuMzgwMSA3MEw3OS4zNDAxIDY0LjA0TDU5LjM4MDEgNDQuMDRaIiBmaWxsPSIjNkZDMEZGIi8+CjxwYXRoIGQ9Ik0yMy4yNiAzMS4zMjAzTDEzLjM4IDQxLjIwMDNMMy41MDAwMyAzMS4zMjAzTDAuNjYwMDM0IDM0LjE2MDNMMTAuNTQgNDQuMDQwM0wwLjY2MDAzNCA1My45MjAzTDMuNTAwMDMgNTYuNzYwM0wxMy4zOCA0Ni44ODAzTDIzLjI2IDU2Ljc2MDNMMjYuMSA1My45MjAzTDE2LjIyIDQ0LjA0MDNMMjYuMSAzNC4xNjAzTDIzLjI2IDMxLjMyMDNaIiBmaWxsPSIjNkZDMEZGIi8+Cjwvc3ZnPgo=")}return e.prototype.ngOnInit=function(){},e.decorators=[{type:t.Component,args:[{selector:"lib-search-not-found",template:'<img [src]="base64Image" />\n<span>No result found</span>\n',styles:[":host::ng-deep{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:55px;color:#979797}"]}]}],e.ctorParameters=function(){return[{type:D.DomSanitizer}]},e}();var Ae=function(){function e(e,n){this.domSanitizer=e,this.uploadAssetService=n,this.base64Pdf=this.domSanitizer.bypassSecurityTrustUrl(me),this.checkError=new t.EventEmitter,this.fileChange=new t.EventEmitter,this.fileRemove=new t.EventEmitter,this.dataFile={name:"",size:0,ext:"",data:null,errors:{ext:!1,size:!1}}}return e.prototype.ngOnInit=function(){this.setDataFile(this.file)},e.prototype.setDataFile=function(e){var t,n=this,i=this.uploadAssetService,s=i.supportedTypes,o=i.supportedSize,a=e.name.split(".");a.splice(a.length-1,1),this.dataFile.name=a.join("."),this.dataFile.size=e.size,this.dataFile.ext=e.type.split("/")[1],this.dataFile.errors={ext:s.indexOf("."+this.dataFile.ext)<0,size:o<this.dataFile.size};var r=this.dataFile.errors,l=r.ext,d=r.size;if((l||d)&&(this.uploadAssetService.errors=((t={})[e.name]=!0,t),this.checkError.emit()),e.type.indexOf("image")>-1){var p=new FileReader;p.readAsDataURL(e),p.onload=function(e){var t=document.createElement("img");t.src=e.target.result,t.onload=function(){n.dataFile.data=n.domSanitizer.bypassSecurityTrustUrl(e.target.result)}}}this.uploadAssetService.setErrorObs(this.uploadAssetService.errorFiles)},e.prototype.onChange=function(e){this.dataFile.name=e.target.value.trim(),this.fileChange.emit(this.dataFile.name)},e.prototype.onRemove=function(){this.fileRemove.emit(!0)},e.decorators=[{type:t.Component,args:[{selector:"lib-file-item",template:'<div class="file-item__img">\n  <ng-container\n    *ngIf="\n      file.type.indexOf(\'image\') > -1 || dataFile.ext === \'pdf\';\n      else defaultFile\n    "\n  >\n    <img\n      [class.image]="file.type.indexOf(\'image\') > -1"\n      *ngIf="dataFile.ext === \'pdf\' || dataFile.data"\n      [src]="dataFile.ext === \'pdf\' ? base64Pdf : dataFile.data"\n    />\n  </ng-container>\n  <ng-template #defaultFile>\n    <mat-icon>attach_file</mat-icon>\n  </ng-template>\n</div>\n<div class="file-item__content">\n  <input\n    class="file-item__content--name"\n    matInput\n    placeholder="Enter file name"\n    [value]="dataFile.name"\n    required\n    (input)="onChange($event)"\n  />\n  <div class="file-item__content--info">\n    <div class="file-item__content--info__item">\n      Type of file: <span>{{ dataFile.ext }}</span>\n    </div>\n    <div class="file-item__content--info__item">\n      Size: <span>{{ dataFile.size | fileSize }}</span>\n    </div>\n  </div>\n  <div *ngIf="dataFile.errors.ext" class="file-item__error">\n    {{ uploadAssetService.messageErrors[\'ext\'] }}\n    {{ uploadAssetService.supportedTypes.join(\', \') }}\n  </div>\n  <div *ngIf="dataFile.errors.size" class="file-item__error">\n    {{ uploadAssetService.messageErrors[\'size\'] }}\n    {{ uploadAssetService.supportedSize | fileSize: 0 }}\n  </div>\n</div>\n<div class="file-item__action">\n  <mat-icon (click)="onRemove()">delete_outline</mat-icon>\n</div>\n',styles:[":host::ng-deep{padding:10px 5%;display:flex;justify-content:space-between;align-items:center;background-color:#f9f9f9;border-radius:10px}:host::ng-deep .file-item__img{display:flex;justify-content:center;align-items:center;width:250px;height:150px;border-radius:10px}:host::ng-deep .file-item__img img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}:host::ng-deep .file-item__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-item__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-item__content{flex:1;padding-left:5%;padding-right:5%}:host::ng-deep .file-item__content--name{width:100%;padding:10px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .file-item__content--info{margin-top:10px;display:flex}:host::ng-deep .file-item__content--info__item:not(:last-child){margin-right:50px}:host::ng-deep .file-item__content--info__item span{color:#000;text-transform:uppercase}:host::ng-deep .file-item__error{margin-top:10px;color:#f44336}:host::ng-deep .file-item__action{color:#f44336;cursor:pointer}"]}]}],e.ctorParameters=function(){return[{type:D.DomSanitizer},{type:ae}]},e.propDecorators={file:[{type:t.Input}],checkError:[{type:t.Output}],fileChange:[{type:t.Output}],fileRemove:[{type:t.Output}]},e}();var ye=function(){function e(e){this.uploadAssetsService=e,this.revalidate=new t.EventEmitter}return e.prototype.ngOnInit=function(){},e.prototype.onFileChange=function(e){var t=this.uploadAssetsService.getFiles;this.uploadAssetsService.setFiles=O(t,e),document.getElementById("file-import").value=""},e.prototype.onDelFile=function(e,t){this.uploadAssetsService.deleteFile(e,t),this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.prototype.onChangeName=function(e,t){var n;this.uploadAssetsService.newName=((n={})[t]=e,n)},e.prototype.onEmitError=function(){this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.decorators=[{type:t.Component,args:[{selector:"lib-file-list",template:'<div class="file-list__heading">\n  <div class="file-list__info">\n    <h4 class="file-list__info--title">\n      <span *ngIf="!uploadAssetsService.errorLength">\n        {{\n          uploadAssetsService?.getFiles?.length -\n            uploadAssetsService.errorLength\n        }}\n        {{ uploadAssetsService?.getFiles?.length > 1 ? \'assets\' : \'asset\' }}\n        ready to upload\n      </span>\n      <span *ngIf="uploadAssetsService.errorLength">\n        {{ uploadAssetsService.errorLength }}\n        {{ uploadAssetsService.errorLength > 1 ? \'assets\' : \'asset\' }}\n        invalid, please remove it before upload</span\n      >\n    </h4>\n    <div class="file-list__info--desc">\n      Manage the assets before adding them to the Media Library\n    </div>\n  </div>\n  <lib-input-file\n    [acceptTypes]="uploadAssetsService?.supportedTypes?.join(\', \')"\n    (onFileChange)="onFileChange($event)"\n    color="primary"\n  >\n    <span>Add new assets</span>\n  </lib-input-file>\n</div>\n<div class="file-list">\n  <lib-file-item\n    *ngFor="let file of uploadAssetsService?.getFiles; let i = index"\n    [file]="file"\n    (checkError)="onEmitError()"\n    (fileRemove)="onDelFile(file.name, i)"\n    (fileChange)="onChangeName($event, file.name)"\n  ></lib-file-item>\n</div>\n',styles:[":host::ng-deep .file-list{padding-top:15px}:host::ng-deep .file-list__heading{display:flex;justify-content:space-between;align-items:center;padding-top:15px;padding-bottom:15px;position:-webkit-sticky;position:sticky;top:0;background-color:#fff}:host::ng-deep .file-list__info--title{font-size:16px;margin-bottom:5px;color:#000}:host::ng-deep lib-file-item{margin-bottom:20px}"]}]}],e.ctorParameters=function(){return[{type:ae}]},e.propDecorators={revalidate:[{type:t.Output}]},e}();var ve=function(){function e(e,n){this.domSanitizer=e,this.uploadAssetsService=n,this.base64Image=this.domSanitizer.bypassSecurityTrustUrl("data:image/png;base64,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"),this.revalidate=new t.EventEmitter,this.isDragging=!1}return e.prototype.ngOnInit=function(){},e.prototype.onDelFile=function(e,t){this.uploadAssetsService.deleteFile(e,t),this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.prototype.onChangeName=function(e,t){var n;this.uploadAssetsService.newName=((n={})[t]=e,n)},e.prototype.onFileChange=function(e){this.isDragging=!1;var t=this.uploadAssetsService.getFiles;this.uploadAssetsService.setFiles=O(t,e)},e.prototype.onEmitError=function(){this.revalidate.emit(this.uploadAssetsService.errorFiles)},e.prototype.onDragover=function(e){this.isDragging=!0},e.prototype.onDragleave=function(e){this.isDragging=!1},e.decorators=[{type:t.Component,args:[{selector:"lib-upload-file",template:'<div\n  class="upload-file__wrapper"\n  [class.dragging]="isDragging"\n  libDnDFile\n  (imageDropped)="onFileChange($event)"\n  (dragover)="onDragover($event)"\n  (dragleave)="onDragleave($event)"\n>\n  <div>\n    <img [src]="base64Image" />\n    <div class="upload-file__label">Drag and drop here or</div>\n  </div>\n  <lib-input-file\n    [acceptTypes]="uploadAssetsService?.supportedTypes?.join(\', \')"\n    (onFileChange)="onFileChange($event)"\n    color="primary"\n  >\n    <span>Browse files</span>\n  </lib-input-file>\n</div>\n',styles:[":host::ng-deep .upload-file__wrapper{margin-top:30px;margin-bottom:30px;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:1px dashed #017eff;border-radius:10px;box-sizing:border-box}:host::ng-deep .upload-file__wrapper lib-input-file{margin-top:30px}:host::ng-deep .upload-file__wrapper.dragging{background-color:#f5fcff}:host::ng-deep .upload-file__label{margin-top:30px;font-size:24px}:host::ng-deep .upload-file lib-file-item{margin-bottom:20px}:host::ng-deep .upload-file__upload{cursor:pointer}"]}]}],e.ctorParameters=function(){return[{type:D.DomSanitizer},{type:ae}]},e.propDecorators={revalidate:[{type:t.Output}]},e}();var xe=function(){function e(e,t,n,s){this.fb=e,this.data=t,this.dialogRef=n,this.fileService=s,this.isLoading=!1,this.errorMessage="",this.value="",this.destroy$=new A.Subject,this.form=new i.FormControl,this.formGroup=this.fb.group({name:["",i.Validators.compose([i.Validators.required])]})}return e.prototype.ngOnInit=function(){},Object.defineProperty(e.prototype,"disabled",{get:function(){return!this.formGroup.controls.name.value||!!this.errorMessage||this.isLoading},enumerable:!0,configurable:!0}),e.prototype.onChange=function(e){this.errorMessage=""},e.prototype.addFolder=function(){var e=this,t=this.formGroup.controls.name.value;this.isLoading=!0,this.fileService.addFolder({parentAssetId:this.data.currentAssetId,folderName:t.trim()}).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){return e.closeDialog(!0)}),(function(t){e.isLoading=!1,e.errorMessage=t.ResponseMessage}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-add-folder-dialog",template:'<lib-modal heading="Add a folder">\n  <ng-container content>\n    <form (ngSubmit)="addFolder()" [formGroup]="formGroup" #form="ngForm">\n      <input\n        (input)="onChange($event)"\n        matInput\n        placeholder="Enter your folder name"\n        autocomplete="off"\n        required\n        pattern=".*\\S+.*"\n        formControlName="name"\n      />\n      <mat-error *ngIf="formGroup?.controls?.name?.errors?.pattern">\n        This field does not allow only whitespace\n      </mat-error>\n      <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n    </form>\n  </ng-container>\n  <ng-container actions>\n    <button mat-raised-button mat-dialog-close>Cancel</button>\n    <button\n      mat-raised-button\n      color="primary"\n      (click)="addFolder()"\n      [class.loading]="isLoading"\n      [disabled]="disabled || formGroup?.controls?.name?.errors?.pattern"\n    >\n      <ng-container *ngIf="isLoading">\n        <mat-spinner [diameter]="20"></mat-spinner>\n      </ng-container>\n      <span>Add</span>\n    </button>\n  </ng-container>\n</lib-modal>\n',styles:[":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]}]}],e.ctorParameters=function(){return[{type:i.FormBuilder},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:re}]},e}();var De=function(){function e(e,t,n,s){this.fb=e,this.data=t,this.dialogRef=n,this.fileService=s,this.isLoading=!1,this.errorMessage="",this.value="",this.destroy$=new A.Subject,this.form=new i.FormControl,this.formGroup=this.fb.group({name:[this.data.name,i.Validators.compose([i.Validators.required])]})}return e.prototype.ngOnInit=function(){},Object.defineProperty(e.prototype,"disabled",{get:function(){var e=this.formGroup.controls.name.value;return!e||!!this.errorMessage||e.toLowerCase().trim()===this.data.name.toLowerCase()||this.isLoading},enumerable:!0,configurable:!0}),e.prototype.onChange=function(e){this.errorMessage=""},e.prototype.editFolder=function(){var e=this,t=this.formGroup.controls.name.value;this.isLoading=!0,this.fileService.updateFile({assetId:this.data.assetId,fileName:t.trim()}).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){return e.closeDialog(!0)}),(function(t){e.isLoading=!1,e.errorMessage=t.ResponseMessage}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-edit-folder-dialog",template:'<lib-modal heading="Rename folder">\n  <ng-container content>\n    <form (ngSubmit)="editFolder()" [formGroup]="formGroup" #form="ngForm">\n      <input\n        matInput\n        required\n        autocomplete="off"\n        formControlName="name"\n        (input)="onChange($event)"\n        placeholder="Enter your folder name"\n        pattern=".*\\S+.*"\n      />\n      <mat-error *ngIf="formGroup?.controls?.name?.errors?.pattern">\n        This field does not allow only whitespace\n      </mat-error>\n      <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n    </form>\n  </ng-container>\n  <ng-container actions>\n    <button mat-raised-button mat-dialog-close>Cancel</button>\n    <button\n      mat-raised-button\n      color="primary"\n      (click)="editFolder()"\n      [class.loading]="isLoading"\n      [disabled]="disabled || formGroup?.controls?.name?.errors?.pattern"\n    >\n      <ng-container *ngIf="isLoading">\n        <mat-spinner [diameter]="20"></mat-spinner>\n      </ng-container>\n      <span>Update</span>\n    </button>\n  </ng-container>\n</lib-modal>\n',styles:[":host::ng-deep .mat-dialog-title{padding-bottom:0!important}:host::ng-deep form{position:relative}:host::ng-deep form .mat-error{margin-top:0;position:absolute;left:0;bottom:-20px;line-height:15px;font-size:13px}:host::ng-deep .mat-dialog-content{padding-top:24px;padding-bottom:24px}:host::ng-deep .mat-dialog-actions{padding-top:5px}"]}]}],e.ctorParameters=function(){return[{type:i.FormBuilder},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:re}]},e}();var we=function(){function e(e,t,n,i){this.data=e,this.dialogRef=t,this.fileService=n,this.assetService=i,this.isLoading=!1,this.destroy$=new A.Subject}return e.prototype.ngOnInit=function(){},e.prototype.delete=function(){var e=this;this.isLoading=!0,this.fileService.deleteFile(this.data.ids).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){e.handleAssetPaging(),e.isLoading=!1,e.closeDialog(!0)}),(function(t){e.isLoading=!1,console.log("deleted fail",t)}))},e.prototype.handleAssetPaging=function(){var e=this;this.assetService.getAssetList().pipe(v.takeUntil(this.destroy$)).subscribe((function(t){t&&t.length===e.data.ids.length&&e.assetService.pageIndex>0&&e.assetService.pageIndex--}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-delete-dialog",template:'<ng-container *ngIf="data?.type === \'folder\'">\n  <lib-modal heading="Delete folder">\n    <ng-container content>\n      <div>\n        Are you sure you want to delete folder{{ \' \' }}\n        <strong class="file__name">{{ data.name }}</strong\n        >?\n      </div>\n    </ng-container>\n    <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n  </lib-modal>\n</ng-container>\n\n<ng-container *ngIf="data?.type === \'file\'">\n  <lib-modal heading="Delete file">\n    <ng-container content>\n      <div>\n        Are you sure you want to delete file{{ \' \' }}\n        <strong class="file__name">{{ \' \' }}{{ data.name }}</strong\n        >?\n      </div>\n    </ng-container>\n    <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n  </lib-modal>\n</ng-container>\n\n<ng-container *ngIf="data?.type === \'files\'">\n  <lib-modal heading="Delete files">\n    <ng-container content>\n      <div>\n        Are you sure you want to delete\n        <strong *ngIf="data?.ids?.length > 1; else singular"\n          >{{ data?.ids?.length }} files</strong\n        >\n        <ng-template #singular>\n          <strong>{{ data?.ids?.length }} file</strong> </ng-template\n        >?\n      </div>\n    </ng-container>\n    <ng-container actions *ngTemplateOutlet="deleteAction"></ng-container>\n  </lib-modal>\n</ng-container>\n\n<ng-template #deleteAction>\n  <button mat-raised-button mat-dialog-close>No</button>\n  <button\n    mat-raised-button\n    color="warn"\n    (click)="delete()"\n    class="file__button delete__action"\n    [class.loading]="isLoading"\n    [disabled]="isLoading"\n  >\n    <ng-container *ngIf="isLoading">\n      <mat-spinner [diameter]="20"></mat-spinner>\n    </ng-container>\n    <span>Yes</span>\n  </button>\n</ng-template>\n',styles:[""]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:re},{type:q}]},e}();var Ee=function(){function e(e,t,n,i){this.data=e,this.dialogRef=t,this.changeDetectorRef=n,this.uploadAssetsService=i,this.isLoading=!1,this.disabled=!0,this.destroy$=new A.Subject,this.data.fileType&&(this.uploadAssetsService.supportedTypes="Image"===this.data.fileType?O(this.uploadAssetsService.imageExtension):O(this.uploadAssetsService.documentExtension))}return e.prototype.ngOnInit=function(){var e=this;this.uploadAssetsService.getErrorObs().pipe(v.takeUntil(this.destroy$)).subscribe((function(t){e.disabled=t,e.changeDetectorRef.detectChanges()}))},e.prototype.onValidate=function(e){this.disabled=e},e.prototype.uploadFiles=function(){var e=this;this.isLoading=!0,this.uploadAssetsService.uploadMultipleAssests(this.data.currentAssetId).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){t&&e.closeDialog(!0)}))},e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-upload-dialog",template:'<lib-modal heading="Add new assets">\n  <ng-container content>\n    <lib-upload-file\n      *ngIf="!uploadAssetsService?.getFiles?.length"\n      (revalidate)="onValidate($event)"\n    ></lib-upload-file>\n    <lib-file-list\n      *ngIf="uploadAssetsService?.getFiles?.length"\n      (revalidate)="onValidate($event)"\n    ></lib-file-list>\n  </ng-container>\n  <ng-container actions>\n    <button mat-raised-button mat-dialog-close>Cancel</button>\n    <button\n      class="upload__action"\n      [class.loading]="isLoading"\n      mat-raised-button\n      color="primary"\n      (click)="uploadFiles()"\n      [disabled]="disabled || isLoading"\n    >\n      <ng-container *ngIf="isLoading">\n        <mat-spinner [diameter]="20"></mat-spinner>\n      </ng-container>\n      <span>Upload</span>\n    </button>\n  </ng-container>\n</lib-modal>\n',providers:[ae],styles:[":host::ng-deep{display:block;width:1200px;max-width:100%;font-size:14px;line-height:16px;color:#979797;letter-spacing:.15px}:host::ng-deep .mat-dialog-title{position:relative;margin-bottom:0;padding-bottom:24px;color:#000}:host::ng-deep .mat-dialog-actions{justify-content:flex-end;padding:24px 0 0}:host::ng-deep .upload__action{min-width:100px}:host::ng-deep .upload__action.loading{padding:0 5px}:host::ng-deep .upload__action.loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}:host::ng-deep .upload__action.loading .mat-spinner{margin-right:10px}"]}]}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[w.MAT_DIALOG_DATA]}]},{type:w.MatDialogRef},{type:t.ChangeDetectorRef},{type:ae}]},e}();var Ie=function(){function e(e,t){this.dialog=e,this.svc=t}return e.prototype.ngOnInit=function(){},e.prototype.openFolder=function(){this.svc.dispatch({type:J,payload:this.folder.AssetId})},e.prototype.renameFolder=function(){var e=this;this.dialog.open(De,{data:{assetId:this.folder.AssetId,name:this.folder.OriginalFileName},panelClass:"lib-dialog--small"}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:$})}))},e.prototype.deleteFolder=function(){var e=this;this.dialog.open(we,{data:{type:"folder",ids:[this.folder.AssetId],name:this.folder.OriginalFileName},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:$})}))},e.decorators=[{type:t.Component,args:[{selector:"lib-folder-item",template:'<div class="folder" (dblclick)="openFolder()">\n  <mat-icon class="folder__icon">folder</mat-icon>\n  <span class="folder__name" [matTooltip]="folder.OriginalFileName">\n    {{ folder.OriginalFileName }}\n  </span>\n  <mat-icon class="folder__action" [matMenuTriggerFor]="menu"\n    >more_vert</mat-icon\n  >\n</div>\n<mat-menu #menu="matMenu">\n  <button mat-menu-item (click)="renameFolder()">\n    <mat-icon>edit_outline</mat-icon> <span>Rename</span>\n  </button>\n  <button mat-menu-item (click)="deleteFolder()">\n    <mat-icon color="warn">delete_outline</mat-icon> <span>Delete</span>\n  </button>\n</mat-menu>\n',styles:[":host::ng-deep .folder{width:180px;height:50px;display:flex;position:relative;align-items:center;padding:5px 20px 5px 10px;border-radius:10px;cursor:pointer;transition:.3s}:host::ng-deep .folder:hover{background-color:#f1f1f1}:host::ng-deep .folder:hover .folder__action{display:block}:host::ng-deep .folder__icon{display:flex;align-items:center;color:#6fc0ff;font-size:38px;margin-right:20px}:host::ng-deep .folder__name{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .folder__action{display:none;right:0;position:absolute;color:#979797;transition:.3s}:host::ng-deep .folder__action:hover{color:#000}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:W}]},e.propDecorators={folder:[{type:t.Input}]},e}();var Se=function(){function e(){this.loading=!1,this.unsubscribe$=new x.Subject,this.bindSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.globalLoading})).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){e.loading=t}))},e.decorators=[{type:t.Component,args:[{selector:"lib-folder-list",template:'<div class="folder-container">\n  <h6>Folders</h6>\n  <div class="folder-list custom-scrollbar">\n    <lib-folder-item\n      *ngFor="let folder of folders"\n      [folder]="folder"\n    ></lib-folder-item>\n  </div>\n  <div class="folder-empty" *ngIf="folders && !folders.length">\n    <span>This folder is empty.</span>\n  </div>\n</div>\n',styles:[":host::ng-deep .folder-container h6{color:#979797}:host::ng-deep .folder-container .folder-list{display:flex;flex-wrap:nowrap;overflow:auto;padding-bottom:10px}:host::ng-deep .folder-container .folder-empty{text-align:center;color:#979797;font-size:14px}"]}]}],e.ctorParameters=function(){return[]},e.propDecorators={folders:[{type:t.Input}]},e}();var _e=function(){function e(e,t){this.assetService=e,this.svc=t,this.unsubscribe$=new x.Subject,this.selectedAssets=[]}return e.prototype.ngOnInit=function(){this.bindSubscriber()},e.prototype.ngOnChanges=function(e){e.assets&&(this.paginator.pageIndex=this.assetService.pageIndex,this.paginator.pageSize=this.assetService.pageSize,this.paginator.length=this.assetService.fileTotal)},e.prototype.onSelectAsset=function(e){var t=this.selectedAssets.findIndex((function(t){return t.AssetId===e.AssetId})),n=t>-1?this.selectedAssets.filter((function(e,n){return t!==n})):O(this.selectedAssets,[e]);this.svc.dispatch({type:G,payload:n})},e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.deletedAssetId})).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){if(e.selectedAssets&&e.selectedAssets.length){var n=e.selectedAssets.filter((function(e){return e.AssetId!==t}));e.svc.dispatch({type:G,payload:n})}})),se((function(e){return e.currentFolderId})).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){e.currentFolderId=t,e.svc.dispatch({type:G,payload:[]})})),se((function(e){return e.selectedAssets})).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){e.selectedAssets=t})),se((function(e){return e.reloadCurrentAssets})).pipe(v.takeUntil(this.unsubscribe$),v.switchMap((function(e){return E.of(e)}))).subscribe((function(){e.fetchChildrenAssets()}))},e.prototype.pageChange=function(e){this.assetService.pageSize=e.pageSize,this.assetService.pageIndex=e.pageIndex,this.fetchChildrenAssets()},e.prototype.fetchChildrenAssets=function(){var e=this;this.currentFolderId&&(this.svc.dispatch({type:K,payload:!0}),this.assetService.getChildrenAssets({assetId:this.currentFolderId}).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assetService.setAssetList(t.Data.Children,t.Meta)})).add((function(){e.svc.dispatch({type:K,payload:!1})})))},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-list",template:'<div class="asset-container">\n  <div class="asset-heading">\n    <h6 class="asset-heading__title">Files</h6>\n    <lib-sort-items\n      [hidden]="!assets?.length"\n      class="asset-heading__sort"\n    ></lib-sort-items>\n  </div>\n  <ng-container *ngIf="assets && !assets.length; else assetsTemplate">\n    <div class="asset-empty">\n      <span>This asset is empty.</span>\n    </div>\n  </ng-container>\n  <ng-template #assetsTemplate>\n    <div class="asset-list">\n      <lib-asset-item\n        class="asset-list__item"\n        *ngFor="let asset of assets"\n        [asset]="asset"\n        (selectAsset)="onSelectAsset($event)"\n      >\n      </lib-asset-item>\n    </div>\n  </ng-template>\n  <div [hidden]="!assets?.length">\n    <mat-paginator\n      #paginator\n      [pageSizeOptions]="[12, 24, 60, 120]"\n      (page)="pageChange($event)"\n      [showFirstLastButtons]="true"\n    >\n    </mat-paginator>\n  </div>\n</div>\n',styles:[":host::ng-deep .asset-container .asset-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}:host::ng-deep .asset-container .asset-heading__title{margin-bottom:0;color:#979797}:host::ng-deep .asset-container .asset-list{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:stretch;margin:0 -5px}:host::ng-deep .asset-container .asset-list__item{width:25%}@media only screen and (max-width:1200px){:host::ng-deep .asset-container .asset-list__item{width:calc(100% / 3)}}@media only screen and (max-width:960px){:host::ng-deep .asset-container .asset-list__item{width:50%}}:host::ng-deep .asset-container .asset-empty{text-align:center;color:#979797;font-size:14px}"]}]}],e.ctorParameters=function(){return[{type:q},{type:W}]},e.propDecorators={paginator:[{type:t.ViewChild,args:[p.MatPaginator,{static:!0}]}],assets:[{type:t.Input}]},e}();var Fe=function(){function e(){this.units=["bytes","KB","MB","GB","TB","PB"]}return e.prototype.transform=function(e,t){if(void 0===e&&(e=0),void 0===t&&(t=2),isNaN(parseFloat(String(e)))||!isFinite(e))return"?";for(var n=0;e>=1024;)e/=1024,n++;return e.toFixed(+t)+" "+this.units[n]},e.decorators=[{type:t.Pipe,args:[{name:"fileSize"}]}],e}();var Me=function(){function e(e,t,n,i,s,o,a,r){this.dialog=e,this.data=t,this.dialogRef=n,this.fileSize=i,this.assetService=s,this.fileService=o,this.domSanitizer=a,this.svc=r,this.fileName="",this.description="",this.linkDownload="",this.isCopied=!1,this.errorMessage="",this.patternError=!1,this.replaceMessage="",this.destroy$=new A.Subject,this.base64Pdf=this.domSanitizer.bypassSecurityTrustUrl(me),this.isLoading=!0,this.isUpdating=!1,this.fileType=P}return e.prototype.ngOnInit=function(){this.linkDownload="https://sandboxunitedapi.relationshop.net/V6/Asset2/api/File/Download/"+this.data.assetId,this.getAssetDetail()},Object.defineProperty(e.prototype,"disabled",{get:function(){return!this.fileName.length||!!this.errorMessage||this.patternError||this.isUpdating},enumerable:!0,configurable:!0}),e.prototype.closeDialog=function(e){this.dialogRef.close(e)},e.prototype.getAssetDetail=function(){var e=this;this.fileService.getFileDetail(this.data.assetId).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){t&&(e.isLoading=!1,e.assetDetails=t.Data,e.fileName=e.assetDetails.OriginalFileNameWithoutExtension,e.description=e.assetDetails.Description,e.acceptTypes=["."+e.assetDetails.Extension.toLowerCase()])}))},e.prototype.updateAsset=function(){var e=this;this.isUpdating=!0,this.fileService.updateFile({assetId:this.assetDetails.AssetId,fileName:this.fileName.trim(),description:this.description&&this.description.trim()}).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){e.isUpdating=!1,e.closeDialog(!0)}),(function(t){e.errorMessage=t.ResponseMessage,e.isUpdating=!1}))},e.prototype.deleteAsset=function(){var e=this;this.dialog.open(we,{data:{type:"file",ids:[this.assetDetails.AssetId],name:this.assetDetails.OriginalFileNameWithoutExtension},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&(e.closeDialog(!0),e.svc.dispatch({type:Z,payload:e.assetDetails.AssetId}))}))},e.prototype.replaceAsset=function(e){var t=this;this.validateFile(e[0])&&(this.isLoading=!0,this.fileService.replaceAsset(this.assetDetails.AssetId,e[0]).pipe(v.takeUntil(this.destroy$)).subscribe((function(e){t.svc.dispatch({type:V}),t.getAssetDetail()}),(function(e){t.isLoading=!1,t.replaceMessage=e.ResponseMessage})))},e.prototype.validateFile=function(e){if(this.replaceMessage="",e){var t=this.matchExt(e.type),n=[];if(this.acceptTypes.indexOf(t)<0){var i=this.assetService.messageErrors.ext+" "+this.acceptTypes.join(", ");n.push(i)}if(this.assetService.supportedSize<e.size){var s=this.fileSize.transform(this.assetService.supportedSize,0);n.push(this.assetService.messageErrors.size+" "+s)}return n.length&&(this.replaceMessage=n.join("<br/>")),!n.length}},e.prototype.matchExt=function(e){var t="."+e.split("/")[1].toLowerCase();switch(t){case".jpeg":return".jpg";case".svg+xml":return".svg";default:return t}},e.prototype.onChangeName=function(e){this.fileName=e.target.value,this.errorMessage="",this.patternError=this.fileName&&!this.fileName.match(/.*\S+.*/)},e.prototype.onChangeDescription=function(e){this.description=e.target.value},e.prototype.copyText=function(e){var t=this,n=document.createElement("textarea");n.style.position="fixed",n.style.left="0",n.style.top="0",n.style.opacity="0",n.value=e,document.body.appendChild(n),n.focus(),n.select(),document.execCommand("copy"),document.body.removeChild(n),this.isCopied=!0,this.timer=setTimeout((function(){t.isCopied=!1}),1e3)},e.prototype.ngOnDestroy=function(){clearTimeout(this.timer),this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-dialog",template:'<lib-modal\n  [heading]="assetDetails?.OriginalFileNameWithoutExtension || data?.name"\n>\n  <ng-container content>\n    <div *ngIf="isLoading; else contentAsset" class="file-details__loading">\n      <div>\n        <mat-spinner></mat-spinner>\n      </div>\n    </div>\n  </ng-container>\n  <ng-container actions>\n    <button mat-raised-button mat-dialog-close>Cancel</button>\n    <button\n      class="update__action"\n      [class.loading]="isUpdating"\n      mat-raised-button\n      color="primary"\n      (click)="updateAsset()"\n      [disabled]="disabled"\n    >\n      <ng-container *ngIf="isUpdating">\n        <mat-spinner [diameter]="20"></mat-spinner>\n      </ng-container>\n      <span>Update</span>\n    </button>\n  </ng-container>\n</lib-modal>\n<ng-template #contentAsset>\n  <div class="file-details__item">\n    <div class="file-details__image">\n      <div class="file-details__image--heading">\n        <mat-error\n          *ngIf="replaceMessage"\n          [innerHTML]="replaceMessage"\n        ></mat-error>\n        <div class="file-details__action">\n          <lib-input-file\n            matTooltip="Replace"\n            [acceptTypes]="acceptTypes.join(\', \')"\n            (onFileChange)="replaceAsset($event)"\n            [multiple]="false"\n          >\n            <mat-icon class="icon-sync">sync</mat-icon>\n          </lib-input-file>\n          <a [href]="linkDownload" matTooltip="Download" mat-raised-button>\n            <mat-icon class="icon-download">get_app</mat-icon>\n          </a>\n          <button matTooltip="Delete" mat-raised-button (click)="deleteAsset()">\n            <mat-icon class="icon-delete">delete_outline</mat-icon>\n          </button>\n        </div>\n      </div>\n      <div class="file-details__img">\n        <ng-container\n          *ngIf="\n            assetDetails?.FileType === fileType.DOCUMENT ||\n              assetDetails?.FileType === fileType.IMAGE;\n            else defaultFile\n          "\n        >\n          <img\n            [class.image]="assetDetails?.FileType === fileType.IMAGE"\n            [src]="\n              assetDetails?.FileType === fileType.IMAGE\n                ? assetDetails?.UrlDetail\n                : base64Pdf\n            "\n            [alt]="assetDetails?.FilePath"\n          />\n        </ng-container>\n        <ng-template #defaultFile>\n          <mat-icon>attach_file</mat-icon>\n        </ng-template>\n      </div>\n    </div>\n  </div>\n  <div class="file-details__item">\n    <div class="file-details__info">\n      <div class="file-details__info--name">\n        <div class="file-details__label">File name</div>\n        <input\n          class="file-details__input"\n          matInput\n          placeholder="Enter your folder name"\n          [value]="fileName"\n          required\n          (input)="onChangeName($event)"\n        />\n        <mat-error *ngIf="errorMessage">{{ errorMessage }}</mat-error>\n        <mat-error *ngIf="patternError">\n          This field does not allow only whitespace\n        </mat-error>\n      </div>\n      <div class="file-details__info--description">\n        <div class="file-details__label">Description</div>\n        <textarea\n          class="file-details__textarea custom-scrollbar"\n          matInput\n          placeholder="Enter description"\n          [value]="description"\n          (input)="onChangeDescription($event)"\n          maxlength="200"\n          rows="3"\n        >\n        </textarea>\n      </div>\n\n      <div class="file-details__info--details">\n        <div class="file-details__info--size">\n          <div class="file-details__label">Size</div>\n          <div>{{ assetDetails?.Size }}</div>\n        </div>\n        <div class="file-details__info--ext">\n          <div class="file-details__label">Extension</div>\n          <div>{{ assetDetails?.Extension }}</div>\n        </div>\n        <div class="file-details__info--date">\n          <div class="file-details__label">Created date</div>\n          <div>{{ assetDetails?.CreatedDate | localDate }}</div>\n        </div>\n        <div class="file-details__info--date">\n          <div class="file-details__label">Updated date</div>\n          <div>\n            {{ assetDetails?.ModifiedDate | localDate }}\n          </div>\n        </div>\n        <div\n          *ngIf="\n            assetDetails?.FileType === fileType.IMAGE &&\n            assetDetails?.Extension !== \'svg\'\n          "\n          class="file-details__info--dimension"\n        >\n          <div class="file-details__label">Dimensions</div>\n          <div>{{ assetDetails?.Width }}x{{ assetDetails?.Height }}</div>\n        </div>\n      </div>\n      <div class="file-details__link">\n        <div class="file-details__label">Public Url</div>\n        <div class="break-word">\n          <span>{{ assetDetails?.CloudUrl }}&nbsp;&nbsp;</span>\n          <mat-icon matTooltip="Copy" (click)="copyText(assetDetails?.CloudUrl)"\n            >content_copy</mat-icon\n          >\n        </div>\n      </div>\n      <span class="file-details__copy" [class.visible]="isCopied">Copied!</span>\n    </div>\n  </div>\n</ng-template>\n',providers:[Fe],styles:[":host::ng-deep .mat-dialog-content{position:relative;display:flex;flex:1;justify-content:space-between;align-items:flex-start;font-size:14px;line-height:24px;color:#000;min-height:400px}:host::ng-deep .file-details__loading{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:1}:host::ng-deep .file-details__item{width:50%;padding:20px 10px;position:relative}:host::ng-deep .file-details__image{padding:20px;background:#f9f9f9;border:1px solid #e0e0e0;border-radius:10px}:host::ng-deep .file-details__image--heading{display:flex;justify-content:flex-end}:host::ng-deep .file-details__image--heading .mat-error{flex:1;margin-top:0}:host::ng-deep .file-details__action{margin-bottom:20px}:host::ng-deep .file-details__action>*{margin-left:10px}:host::ng-deep .file-details__action .mat-button-base{padding:0;min-width:40px}:host::ng-deep .file-details__action .icon-download,:host::ng-deep .file-details__action .icon-sync{color:#979797}:host::ng-deep .file-details__action .icon-delete{color:#f44336}:host::ng-deep .file-details__img{position:relative;padding-bottom:66.66%;text-align:center}:host::ng-deep .file-details__img img{max-width:100%;max-height:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host::ng-deep .file-details__img img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .file-details__img mat-icon{font-size:100px;width:auto;height:auto}:host::ng-deep .file-details__info{position:relative}:host::ng-deep .file-details__info--name{padding-bottom:20px;position:relative}:host::ng-deep .file-details__info--name .mat-error{margin-top:0;position:absolute;left:0;bottom:0;font-size:13px;line-height:20px}:host::ng-deep .file-details__info--description{padding-bottom:10px}:host::ng-deep .file-details__info--details{display:flex;flex-wrap:wrap;flex:1}:host::ng-deep .file-details__info--details>*{width:50%;margin-top:10px}:host::ng-deep .file-details__input,:host::ng-deep .file-details__textarea{margin-top:7px}:host::ng-deep .file-details__link{margin-top:15px}:host::ng-deep .file-details__link .mat-icon{font-size:16px;cursor:pointer}:host::ng-deep .file-details__label{color:#979797}:host::ng-deep .file-details__copy{opacity:0;position:absolute;top:50%;left:50%;background-color:rgba(0,0,0,.5);color:#fff;padding:15px;border-radius:5px;transform:translate(-50%,-50%)}:host::ng-deep .file-details__copy.visible{opacity:1}:host::ng-deep .update__action{min-width:100px}:host::ng-deep .update__action.loading{padding:0 5px}:host::ng-deep .update__action.loading .mat-button-wrapper{display:flex;width:100%;justify-content:center;align-items:center}:host::ng-deep .update__action.loading .mat-spinner{margin-right:10px}:host::ng-deep .break-word{word-break:break-word}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:void 0,decorators:[{type:t.Inject,args:[s.MAT_DIALOG_DATA]}]},{type:s.MatDialogRef},{type:Fe},{type:ae},{type:re},{type:D.DomSanitizer},{type:W}]},e}();var Ce=function(){function e(e,n,i,s){this.dialog=e,this.domSanitizer=n,this.svc=i,this.assetService=s,this.selectAsset=new t.EventEmitter,this.base64Pdf=this.domSanitizer.bypassSecurityTrustUrl(me),this.selectedAssets=[],this.fileType=P,this.destroy$=new A.Subject,this.bindSubscriber()}return e.prototype.ngOnInit=function(){},Object.defineProperty(e.prototype,"checkSelectedAsset",{get:function(){var e=this;return this.selectedAssets&&this.selectedAssets.some((function(t){return t.AssetId===e.asset.AssetId}))},enumerable:!0,configurable:!0}),e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.selectedAssets})).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){e.selectedAssets=t}))},e.prototype.onChange=function(){this.selectAsset.emit(this.asset)},e.prototype.editAsset=function(){var e=this,t=this.dialog.open(Me,{autoFocus:!1,data:{assetId:this.asset.AssetId,name:this.asset.OriginalFileNameWithoutExtension},panelClass:"lib-dialog--medium"});t&&t.afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:V})}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(!0),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-item",template:'<div class="asset-wrapper">\n  <div class="asset-content">\n    <div class="asset-content__header">\n      <button class="asset-content__header--button" mat-raised-button>\n        <mat-checkbox\n          class="checkbox"\n          [checked]="checkSelectedAsset"\n          (change)="onChange()"\n        ></mat-checkbox>\n      </button>\n      <button\n        class="asset-content__header--button edit-button"\n        mat-raised-button\n        (click)="editAsset()"\n      >\n        <mat-icon>edit</mat-icon>\n      </button>\n    </div>\n    <div class="asset-content__body">\n      <ng-container [ngSwitch]="asset.FileType">\n        <ng-container *ngSwitchCase="fileType.IMAGE">\n          <img\n            class="image"\n            [src]="asset.UrlThumbnail"\n            [alt]="asset.OriginalFileName"\n          />\n        </ng-container>\n        <ng-container *ngSwitchCase="fileType.DOCUMENT">\n          <img [src]="base64Pdf" [alt]="asset.OriginalFileName" class="pdf" />\n        </ng-container>\n      </ng-container>\n    </div>\n    <div class="asset-content__footer">\n      <div\n        class="asset-content__footer--info"\n        [ngClass]="{\n          \'file-type__document\': asset.FileType === fileType.DOCUMENT\n        }"\n      >\n        <p\n          class="name"\n          [matTooltip]="asset.OriginalFileNameWithoutExtension"\n          matTooltipClass="width-auto"\n        >\n          {{ asset.OriginalFileNameWithoutExtension }}\n        </p>\n        <p class="info">\n          <span class="extension">{{ asset.Extension }}</span>\n          <span\n            *ngIf="\n              asset.FileType === fileType.IMAGE && asset?.Extension !== \'svg\'\n            "\n          >\n            - {{ asset.Width }}x{{ asset.Height }}</span\n          >\n          <span *ngIf="asset.Size"> - {{ asset.Size }}</span>\n        </p>\n      </div>\n      <div class="asset-content__footer--file-type">\n        <span>{{ asset.FileType }}</span>\n      </div>\n    </div>\n  </div>\n</div>\n',styles:[":host::ng-deep .asset-wrapper{padding:5px}:host::ng-deep .asset-wrapper .asset-content{overflow:hidden;position:relative;border-radius:10px;border:1px solid #d8d8d8;font-size:14px;transition:.3s cubic-bezier(.25,.8,.25,1)}:host::ng-deep .asset-wrapper .asset-content:hover{box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}:host::ng-deep .asset-wrapper .asset-content__header{position:absolute;z-index:1;top:0;left:0;width:100%;display:flex;justify-content:space-between;padding:14px}:host::ng-deep .asset-wrapper .asset-content__header--button{width:30px;height:30px;min-width:30px;display:flex;align-items:center;justify-content:center;text-align:center;color:rgba(0,0,0,.65);background:rgba(255,255,255,.6)}:host::ng-deep .asset-wrapper .asset-content__header--button:hover{background:#fff}:host::ng-deep .asset-wrapper .asset-content__header--button.edit-button{transition:.3s cubic-bezier(.25,.8,.25,1);opacity:0}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-icon{font-size:22px}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox{display:flex;align-items:center}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox .mat-checkbox-layout{margin:0}:host::ng-deep .asset-wrapper .asset-content__header--button .mat-checkbox .mat-checkbox-layout .mat-checkbox-frame{color:#767676}:host::ng-deep .asset-wrapper .asset-content__body{padding-bottom:66.66%;background:#f1f1f1;position:relative}:host::ng-deep .asset-wrapper .asset-content__body img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host::ng-deep .asset-wrapper .asset-content__body img.image{background-image:url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAAUABQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/ivFPFOf+EjvxzjbBgdv+PeDp+OfxzSt4q18AkageASB9ntu3OM+Vn8c5rsdG0fT9d06DVdUgN1f3XmefP5ksO/ypXhj/dwvHGu2ONF+VF3bQSM0AeYUV7IPCWgjgWRA/wCvi4P85SaKAPGm5Vh7H+VeyeERjQLEDoPP/WeQ/wAzRRQB0tFFFAH/2Q==)}:host::ng-deep .asset-wrapper .asset-content__body img.pdf{width:75%;height:75%}:host::ng-deep .asset-wrapper .asset-content__footer{display:flex;align-items:center;justify-content:space-between;padding:5px 8px}:host::ng-deep .asset-wrapper .asset-content__footer--info{max-width:calc(100% - 50px)}:host::ng-deep .asset-wrapper .asset-content__footer--info p{margin:0;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .asset-wrapper .asset-content__footer--info .info{font-size:12px;color:#979797}:host::ng-deep .asset-wrapper .asset-content__footer--info .info .extension{text-transform:uppercase}:host::ng-deep .asset-wrapper .asset-content__footer--info.file-type__document{max-width:calc(100% - 70px)}:host::ng-deep .asset-wrapper .asset-content__footer--file-type{border-radius:5px;background-color:#d8d8d8;padding:2px 6px;font-size:12px}:host::ng-deep .asset-wrapper .asset-content:hover .edit-button{opacity:1!important}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:D.DomSanitizer},{type:W},{type:q}]},e.propDecorators={asset:[{type:t.Input}],selectAsset:[{type:t.Output}]},e}();var Be=function(){function e(e,t){this._treeControl=e,this._database=t,this.dataChange=new A.BehaviorSubject([])}return Object.defineProperty(e.prototype,"data",{get:function(){return this.dataChange.value},set:function(e){this._treeControl.dataNodes=e,this.dataChange.next(e)},enumerable:!0,configurable:!0}),e.prototype.connect=function(e){var t=this;return this._treeControl.expansionModel.changed.subscribe((function(e){(e.added||e.removed)&&t.handleTreeControl(e)})),A.merge(e.viewChange,this.dataChange).pipe(v.map((function(){return t.data})))},e.prototype.disconnect=function(e){},e.prototype.handleTreeControl=function(e){var t=this;e.added&&e.added.forEach((function(e){return B(t,void 0,void 0,(function(){return Q(this,(function(t){switch(t.label){case 0:return[4,this.toggleNode(e,!0)];case 1:return[2,t.sent()]}}))}))})),e.removed&&e.removed.slice().reverse().forEach((function(e){return B(t,void 0,void 0,(function(){return Q(this,(function(t){switch(t.label){case 0:return[4,this.toggleNode(e,!1)];case 1:return[2,t.sent()]}}))}))}))},e.prototype.toggleNode=function(e,t){return B(this,void 0,void 0,(function(){var n,i,s,o,a,r,l=this;return Q(this,(function(d){switch(d.label){case 0:return e?(e.isLoading=!0,(i=this.data.indexOf(e))<0?[2]:t?[4,this._database.getChildren(e.item)]:[3,2]):[2];case 1:return(s=d.sent())?(o=s.Children.map((function(t){return l._database.addNode(t,e.item.AssetId),new N(t,e.level+1,l._database.isExpandable(t))})),(n=this.data).splice.apply(n,O([i+1,0],o)),[3,3]):[2];case 2:for(a=0,r=i+1;r<this.data.length&&this.data[r].level>e.level;r++,a++);this.data.splice(i+1,a),d.label=3;case 3:return e.isLoading=!1,this.dataChange.next(this.data),[2]}}))}))},e.prototype.reloadNode=function(e){return B(this,void 0,void 0,(function(){var t,n,i,s,o,a,r=this;return Q(this,(function(l){switch(l.label){case 0:return e?[4,this._database.getChildren(e.item)]:[2];case 1:if(n=l.sent(),i=this.data.indexOf(e),!n||i<0)return[2];for(s=0,o=i+1;o<this.data.length&&this.data[o].level>e.level;o++,s++);return this.data.splice(i+1,s),a=n.Children.map((function(t){return new N(t,e.level+1,r._database.isExpandable(t))})),(t=this.data).splice.apply(t,O([i+1,0],a)),this.dataChange.next(this.data),[2]}}))}))},e}();var Qe=function(){function e(e,t,n){this.nodeTreeService=e,this.svc=t,this.changeDetectorRef=n,this.isRoot=!1,this.homeLoading=!1,this.loading=!1,this.unsubscribe$=new A.Subject,this.getLevel=function(e){return e.level},this.isExpandable=function(e){return e.expandable},this.hasChild=function(e,t){return t.expandable},this.treeControl=new I.FlatTreeControl(this.getLevel,this.isExpandable),this.dataSource=new Be(this.treeControl,e)}return e.prototype.ngOnInit=function(){this.bindSubscriber(),this.initialData()},e.prototype.initialData=function(){return B(this,void 0,void 0,(function(){return Q(this,(function(e){switch(e.label){case 0:return[4,this.nodeTreeService.initialData({dispatchRootId:!0})];case 1:return e.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))},e.prototype.bindSubscriber=function(){var e=this;this.nodeTreeService.loading$.pipe(v.takeUntil(this.unsubscribe$),v.distinctUntilChanged()).subscribe((function(t){e.homeLoading=t,e.changeDetectorRef.detectChanges()})),this.nodeTreeService.initialData$.pipe(v.takeUntil(this.unsubscribe$),v.distinctUntilChanged()).subscribe((function(t){var n=(e.nodeTreeService.rootFolder||{AssetId:null}).AssetId;e.isRoot=n&&e.currentFolderId===n,e.dataSource.data=t,t.forEach((function(t){return e.nodeTreeService.addNode(t.item,null)})),e.changeDetectorRef.detectChanges()})),this.dataSource.dataChange.pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){t&&t.length&&e.changeDetectorRef.detectChanges()})),se((function(e){return e.currentFolderId})).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){return B(e,void 0,void 0,(function(){var e;return Q(this,(function(n){switch(n.label){case 0:return t?(e=(this.nodeTreeService.rootFolder||{AssetId:null}).AssetId,this.isRoot=e&&t===e,this.currentFolderId=t,[4,this.nodeTreeService.updateBreadcrumb(t)]):[3,2];case 1:n.sent(),this.changeDetectorRef.detectChanges(),n.label=2;case 2:return[2]}}))}))})),se((function(e){return e.reloadCurrentFolder})).pipe(v.takeUntil(this.unsubscribe$),v.switchMap((function(e){return A.of(e)}))).subscribe((function(){return B(e,void 0,void 0,(function(){return Q(this,(function(e){switch(e.label){case 0:return[4,this.handleReloadFolder(this.currentFolderId)];case 1:return e.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))}))},e.prototype.selectNode=function(e){return B(this,void 0,void 0,(function(){var t;return Q(this,(function(n){switch(n.label){case 0:return(t=e.item.AssetId)===this.currentFolderId?this.svc.dispatch({type:te}):this.svc.dispatch({type:J,payload:t}),[4,this.handleReloadFolder(t)];case 1:return n.sent(),this.changeDetectorRef.detectChanges(),[2]}}))}))},e.prototype.backToHome=function(){this.initialData();var e=this.nodeTreeService.rootFolder.AssetId;this.currentFolderId===e&&this.svc.dispatch({type:te})},e.prototype.checked=function(e){return this.currentFolderId&&this.currentFolderId===e.item.AssetId},e.prototype.disabled=function(e){return e.expandable},e.prototype.getParent=function(e){var t=this.getLevel(e);if(t<1)return null;for(var n=this.dataSource.data.indexOf(e)-1;n>=0;n--){var i=this.dataSource.data[n];if(this.getLevel(i)<t)return i}},e.prototype.getNodeById=function(e){return this.treeControl.dataNodes.find((function(t){return t.item.AssetId===e}))},e.prototype.handleReloadFolder=function(e){return B(this,void 0,void 0,(function(){var t,n,i;return Q(this,(function(s){switch(s.label){case 0:return!e||this.loading?[2]:(this.loading=!0,(t=this.getNodeById(e))?(n=this.getParent(t))?[4,this.dataSource.reloadNode(n)]:[3,4]:[3,8]);case 1:return s.sent(),(i=this.getNodeById(e))?[4,this.treeControl.expand(i)]:[3,3];case 2:s.sent(),s.label=3;case 3:return[3,7];case 4:return[4,this.nodeTreeService.initialData({dispatchRootId:!1})];case 5:return s.sent(),(i=this.getNodeById(e))?[4,this.treeControl.expand(i)]:[3,7];case 6:s.sent(),s.label=7;case 7:return[3,10];case 8:return[4,this.nodeTreeService.initialData({dispatchRootId:!1})];case 9:s.sent(),s.label=10;case 10:return this.loading=!1,[2]}}))}))},e.prototype.ngOnDestroy=function(){this.dataSource.data=[],this.nodeTreeService.data=[],this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-node-tree",template:'<div class="node custom-scrollbar node-tree">\n  <div class="node__home" (click)="backToHome()" [ngClass]="{ active: isRoot,\n    disabled: loading || homeLoading}">\n    <mat-icon *ngIf="!homeLoading">home</mat-icon>\n    <mat-spinner *ngIf="homeLoading" [diameter]="20"\n      class="node__home--loading"></mat-spinner>\n    <span>Home</span>\n  </div>\n  <mat-tree [dataSource]="dataSource" [treeControl]="treeControl"\n    class="node__item">\n    <mat-tree-node *matTreeNodeDef="let node" matTreeNodePadding\n      [ngClass]="{ active: checked(node),disabled: loading || node.isLoading }"\n      (click)="selectNode(node)">\n      <button mat-icon-button disabled class="node__item--pading"></button>\n      <div class="node__item--info" [style.maxWidth.px]="width -50">\n        <mat-icon class="folder-icon">folder</mat-icon>\n        <div class="node-name">\n          <span>\n            {{ node.item.OriginalFileName }}\n          </span>\n          <span class="node-summary" *ngIf="node.item?.TotalFolder ||\n            node.item?.TotalFile">\n            <small *ngIf="node.item?.TotalFolder">{{ node.item?.TotalFolder}}\n              {{node.item?.TotalFolder> 1 ?\n              \'folders\':\'folder\'}}</small>\n            <small *ngIf="node.item?.TotalFolder && node.item?.TotalFile">,\n            </small>\n            <small *ngIf="node.item?.TotalFile">{{ node.item?.TotalFile}}\n              {{node.item?.TotalFile> 1 ?\n              \'files\':\'file\'}}</small>\n          </span>\n        </div>\n      </div>\n    </mat-tree-node>\n    <mat-tree-node *matTreeNodeDef="let node; when: hasChild" matTreeNodePadding\n      (click)="selectNode(node)"\n      [ngClass]="{ active: checked(node), disabled: loading || node.isLoading\n      }">\n      <button mat-icon-button [attr.aria-label]="\'Toggle \' +\n        node.item.OriginalFileName" matTreeNodeToggle\n        [disabled]="node.isLoading">\n        <mat-icon *ngIf="!node.isLoading" class="mat-icon-rtl-mirror">\n          {{ treeControl.isExpanded(node) ? \'expand_more\' : \'chevron_right\' }}\n        </mat-icon>\n        <mat-spinner *ngIf="node.isLoading" [diameter]="20"\n          class="node__item--loading"></mat-spinner>\n      </button>\n      <div class="node__item--info" [style.maxWidth.px]="width -50">\n        <mat-icon class="folder-icon">folder</mat-icon>\n        <div class="node-name">\n          <span>\n            {{ node.item.OriginalFileName }}\n          </span>\n          <span class="node-summary">\n            <small *ngIf="node.item?.TotalFolder">{{ node.item?.TotalFolder}}\n              {{node.item?.TotalFolder> 1 ?\n              \'folders\':\'folder\'}}</small>\n            <small *ngIf="node.item?.TotalFolder && node.item?.TotalFile">,\n            </small>\n            <small *ngIf="node.item?.TotalFile">{{ node.item?.TotalFile}}\n              {{node.item?.TotalFile> 1 ?\n              \'files\':\'file\'}}</small>\n          </span>\n        </div>\n      </div>\n    </mat-tree-node>\n  </mat-tree>\n</div>',styles:[":host::ng-deep .node{overflow-x:hidden;height:100%;display:-ms-grid;display:grid;grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content}:host::ng-deep .node__home{padding:8px 10px;display:flex;align-items:center;height:44px}:host::ng-deep .node__home .mat-icon{color:#979797;margin-right:15px;margin-bottom:10px;font-size:32px}:host::ng-deep .node__home .node__home--loading{margin-right:19px}:host::ng-deep .node__item--loading{margin-left:10px}:host::ng-deep .node__item--info{display:flex;align-items:center}:host::ng-deep .node__item--info .folder-icon{display:flex;align-items:center;color:#6fc0ff;font-size:32px;margin-right:20px}:host::ng-deep .node__item--info .node-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .node__item--info .node-name span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host::ng-deep .node__item--info .node-name .node-summary{margin-top:-5px;color:#979797}:host::ng-deep .node .mat-tree{width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:100%}:host::ng-deep .node .mat-tree .mat-tree-node{padding:5px 0;min-height:44px}:host::ng-deep .node .mat-tree .mat-tree-node .node__item--pading{height:20px}:host::ng-deep .node .mat-tree-node:hover,:host::ng-deep .node .node__home{transition:.3s;cursor:pointer}:host::ng-deep .node .mat-tree-node:hover:hover,:host::ng-deep .node .node__home:hover{background-color:#e8e8e8}:host::ng-deep .node .active{background-color:#f0f0f0}:host::ng-deep .node .disabled{pointer-events:none}"]}]}],e.ctorParameters=function(){return[{type:oe},{type:W},{type:t.ChangeDetectorRef}]},e.propDecorators={width:[{type:t.Input}]},e}();var ke=function(){function e(e,t){this.nodeTreeService=e,this.svc=t,this.unsubscribe$=new x.Subject,this.currentFolderHierarchy=[],this.maximumShownLevel=3,this.bindSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.ngOnDestroy=function(){this.unsubscribe$.next(),this.unsubscribe$.complete()},e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.currentFolderHierarchy})).pipe(v.takeUntil(this.unsubscribe$),v.switchMap((function(e){return E.of(e)}))).subscribe((function(t){e.currentFolderHierarchy=t}))},e.prototype.navigateToFolder=function(e){this.svc.dispatch({type:J,payload:e.AssetId})},e.prototype.backToHome=function(){return B(this,void 0,void 0,(function(){return Q(this,(function(e){switch(e.label){case 0:return[4,this.nodeTreeService.initialData({dispatchRootId:!0})];case 1:return e.sent(),this.svc.dispatch({type:te}),[2]}}))}))},e.decorators=[{type:t.Component,args:[{selector:"lib-breadcrumb",template:'<nav class="breadcrumb-wrapper">\n    <ul class="lib-breadcrumb">\n        <li class="lib-breadcrumb__item">\n            <span class="lib-breadcrumb__item--name" (click)="backToHome()">Home</span>\n        </li>\n        <ng-container *ngIf="currentFolderHierarchy.length <= maximumShownLevel">\n            <li *ngFor="let folder of currentFolderHierarchy; let last = last" class="lib-breadcrumb__item">\n                <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n                <span class="lib-breadcrumb__item--name" (click)="navigateToFolder(folder)" [ngClass]="{ \'current-item\' : last }">\n                    {{folder.OriginalFileName}}\n                </span>\n            </li>\n        </ng-container>\n        <ng-container *ngIf="currentFolderHierarchy.length> maximumShownLevel">\n            <div class="lib-breadcrumb__item">\n                <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n                <span class="lib-breadcrumb__item--name" [matMenuTriggerFor]="menu">\n                    <mat-icon>more_horiz</mat-icon>\n                </span>\n            </div>\n\n            <li *ngFor="let folder of currentFolderHierarchy; let index= index; let last = last" class="lib-breadcrumb__item">\n                <ng-container *ngIf="index> currentFolderHierarchy.length -\n                    maximumShownLevel">\n                    <mat-icon class="lib-breadcrumb__item--icon">navigate_next</mat-icon>\n                    <span class="lib-breadcrumb__item--name" (click)="navigateToFolder(folder)" [ngClass]="{ \'current-item\' : last }">\n                        {{folder.OriginalFileName}}\n                    </span>\n                </ng-container>\n            </li>\n        </ng-container>\n\n    </ul>\n</nav>\n\n<mat-menu #menu="matMenu">\n    <ng-container *ngFor="let folder of currentFolderHierarchy; let index=\n        index;">\n        <button mat-menu-item *ngIf="index<= currentFolderHierarchy.length -\n            maximumShownLevel" (click)="navigateToFolder(folder)">\n            <mat-icon>navigate_next</mat-icon>\n            <span>{{folder.OriginalFileName}}</span>\n        </button>\n    </ng-container>\n</mat-menu>',styles:[":host::ng-deep .breadcrumb-wrapper{color:#979797;background-color:#fff}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb{display:flex;align-items:center;margin:0;padding:0}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item{height:20px;display:flex;align-items:center;list-style:none}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--icon{color:#c8c8c8;cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px;font-size:14px;padding:0;font-weight:400;cursor:pointer;transition:.3s;height:20px;line-height:20px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon{color:#979797;height:16px}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name .mat-icon:hover{color:#000}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item{cursor:default}:host::ng-deep .breadcrumb-wrapper .lib-breadcrumb__item--name.current-item:hover{color:#979797}"]}]}],e.ctorParameters=function(){return[{type:oe},{type:W}]},e}();var Te=function(){function e(e,t){this.assetService=e,this.svc=t,this.destroy$=new x.Subject,this.value="",this.folderId="",this.bindingSubscriber()}return e.prototype.ngOnInit=function(){},e.prototype.bindingSubscriber=function(){var e=this;se((function(e){return e.currentFolderId})).pipe(v.takeUntil(this.destroy$),v.switchMap((function(e){return E.of(e)}))).subscribe((function(t){return e.folderId=t}))},e.prototype.onChange=function(e){this.value=e.target.value},e.prototype.onSubmit=function(){(this.value||this.assetService.keyword)&&(this.assetService.keyword=this.value,this.searchByName())},e.prototype.clearSearch=function(){this.assetService.keyword?(this.value="",this.assetService.keyword="",this.searchByName(),this.assetService.setFolderList(null),this.assetService.setAssetList(null)):this.value=""},e.prototype.searchByName=function(){var e=this;this.svc.dispatch({type:K,payload:!0}),S.combineLatest([this.assetService.getChildrenFolders({assetId:this.folderId}),this.assetService.getChildrenAssets({assetId:this.folderId,pageIndex:"0"})]).pipe(v.takeUntil(this.destroy$)).subscribe((function(t){var n=T(t,2),i=n[0],s=n[1];e.assetService.setFolderList(i.Data,i.Meta.Total),e.assetService.setAssetList(s.Data.Children,s.Meta)})).add((function(){e.svc.dispatch({type:K,payload:!1})}))},e.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-search-box",template:'<form (ngSubmit)="onSubmit()">\n  <label for="search-assets">\n    <mat-icon>search</mat-icon>\n  </label>\n  <input\n    class="search-input"\n    id="search-assets"\n    [value]="value"\n    (input)="onChange($event)"\n    matInput\n    placeholder="Search assets..."\n    autocomplete="off"\n    required\n  />\n  <mat-icon\n    [class.visible]="value || assetService.keyword"\n    (click)="clearSearch()"\n    matTooltip="Clear search"\n    >close</mat-icon\n  >\n</form>\n',styles:[":host::ng-deep{display:flex;align-items:center;width:300px;height:40px}:host::ng-deep form{width:100%;position:relative}:host::ng-deep label{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:rgba(0,0,0,.38);display:flex;align-items:center}:host::ng-deep input.search-input{width:100%;padding:10px 40px;border:1px solid #d8d8d8;border-radius:5px;color:#000;font-size:14px}:host::ng-deep input.search-input+.mat-icon{display:none;position:absolute;right:10px;top:50%;transform:translateY(-50%);color:rgba(0,0,0,.38);font-size:20px;cursor:pointer;align-items:center}:host::ng-deep input.search-input+.mat-icon.visible{display:flex}"]}]}],e.ctorParameters=function(){return[{type:q},{type:W}]},e}();var Oe=function(){function e(e,t){this.assetService=e,this.svc=t,this.typeSort=R,this.sortOrder=R.DESC,this.sortBy=U.MODIFIED_DATE,this.sortList=[{value:U.NAME,label:"Sort by name"},{value:U.CREATED_DATE,label:"Sort by created date"},{value:U.MODIFIED_DATE,label:"Sort by modified date"}]}return e.prototype.ngOnInit=function(){this.sortBy=this.assetService.sortBy,this.sortOrder=this.assetService.sortOrder},e.prototype.onSortBy=function(e){this.sortBy=e.value,this.assetService.sortBy=this.sortBy,this.svc.dispatch({type:V})},e.prototype.toggleSortOrder=function(){this.sortOrder=this.sortOrder===R.ASC?R.DESC:R.ASC,this.assetService.sortOrder=this.sortOrder,this.svc.dispatch({type:V})},e.decorators=[{type:t.Component,args:[{selector:"lib-sort-items",template:'<mat-icon\n  [ngClass]="{\n    sort__icon: true,\n    asc: sortOrder === typeSort.ASC,\n    desc: sortOrder === typeSort.DESC\n  }"\n  matTooltip="Sort direction"\n  (click)="toggleSortOrder()"\n  >sort</mat-icon\n>\n<mat-form-field class="sort__dropdown" appearance="none">\n  <mat-select [(value)]="sortBy" (selectionChange)="onSortBy($event)">\n    <mat-option *ngFor="let option of sortList" [value]="option.value">\n      {{ option.label }}\n    </mat-option>\n  </mat-select>\n</mat-form-field>\n',styles:[":host::ng-deep{display:flex;align-items:center}:host::ng-deep .sort__icon{cursor:pointer;transition:transform .3s ease-in-out}:host::ng-deep .sort__icon.asc{transform:scaleY(-1)}:host::ng-deep .sort__dropdown{padding:5px;border:1px solid #d8d8d8;border-radius:5px}:host::ng-deep .sort__dropdown .mat-form-field-wrapper{padding-bottom:0}:host::ng-deep .sort__dropdown .mat-form-field-infix{border-top:0;padding:0}:host::ng-deep .sort__dropdown .mat-select{font-size:14px}:host::ng-deep .sort__dropdown .mat-select-arrow{border:none}"]}]}],e.ctorParameters=function(){return[{type:q},{type:W}]},e}();var je=function(){function e(e){this.assetService=e,this.header=!0,this.assets=new t.EventEmitter,this.unsubscribe$=new x.Subject,this.nodeTreeMinWidth=250,this.nodeTreeMaxWidth=700}return e.prototype.ngOnInit=function(){var e=this;this.nodeTreeWidth=this.nodeTreeMinWidth,se((function(e){return e.selectedAssets})).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assets.emit(t)}))},e.prototype.onResize=function(e){var t=e.width;this.nodeTreeWidth=t},Object.defineProperty(e.prototype,"nodeDetailsWidth",{get:function(){return"calc(100% - "+this.nodeTreeWidth+"px)"},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.assetService.resetAsset(),this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-asset-wrapper",template:'<div class="asset-wrapper">\n  <div class="asset-header" *ngIf="header">\n    <div class="asset-header__left asset-header__title" #title>\n      <lib-breadcrumb></lib-breadcrumb>\n    </div>\n    <div class="asset-header__right asset-header__actions" #actions>\n      <lib-search-box></lib-search-box>\n    </div>\n  </div>\n  <div class="asset-body">\n    <lib-drag-to-resize (resizeCompleted)="onResize($event)" class="asset-body__node-tree" [minWidth]="nodeTreeMinWidth" [maxWidth]="nodeTreeMaxWidth">\n      <lib-node-tree [width]="nodeTreeWidth"></lib-node-tree>\n    </lib-drag-to-resize>\n    <lib-node-details class="asset-body__node-details" [style.maxWidth]="nodeDetailsWidth"></lib-node-details>\n  </div>\n</div>',styles:[":host::ng-deep .mat-dialog-title{padding:24px}:host::ng-deep .mat-dialog-title .lib-modal--close{padding:10px;position:absolute;top:10px;right:10px;z-index:1}:host::ng-deep .mat-dialog-actions{padding-left:24px;padding-right:24px}:host::ng-deep .asset-wrapper{display:flex;flex-direction:column;height:100%;width:100%;overflow-x:hidden}:host::ng-deep .asset-wrapper .asset-header{display:flex;padding:20px 15px;border-bottom:1px solid #d8d8d8;justify-content:space-between;align-items:center}:host::ng-deep .asset-wrapper .asset-body{display:flex;align-items:stretch}:host::ng-deep .asset-wrapper .asset-body__node-tree{border-right:1px solid #d8d8d8}:host::ng-deep .asset-wrapper .asset-body__node-details{flex:1}@media screen and (max-width:768px){:host::ng-deep .asset-wrapper .asset-header{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:10px}:host::ng-deep .asset-wrapper .asset-body{flex-direction:column;justify-content:flex-start}:host::ng-deep .asset-wrapper .asset-body__node-tree{width:100%}:host::ng-deep .asset-wrapper .asset-body__node-details{max-width:100%!important}}::ng-deep .mat-tooltip.width-auto{max-width:100%!important}"]}]}],e.ctorParameters=function(){return[{type:q}]},e.propDecorators={header:[{type:t.Input}],assets:[{type:t.Output}]},e}();var Le=function(){function e(e,t,n,i,s){this.dialog=e,this.assetService=t,this.nodeTreeService=n,this.svc=i,this.changeDetectorRef=s,this.unsubscribe$=new x.Subject,this.selectedAssets=[],this.loading$=new y.BehaviorSubject(!1),this.bindSubscriber()}return e.prototype.ngOnInit=function(){var e=this;this.assetService.getFolderList().pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){e.currentFolder=t,e.changeDetectorRef.detectChanges()})),this.assetService.getAssetList().pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){e.assets=t,e.changeDetectorRef.detectChanges()}))},e.prototype.bindSubscriber=function(){var e=this;se((function(e){return e.globalLoading})).pipe(v.takeUntil(this.unsubscribe$),v.switchMap((function(e){return A.of(e)}))).subscribe((function(t){e.loading$.next(t)})),se((function(e){return e.selectedAssets})).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(t){t&&(e.selectedAssets=t)})),se((function(e){return e.currentFolderId})).pipe(v.takeUntil(this.unsubscribe$),v.switchMap((function(e){return A.of(e)}))).subscribe((function(t){t&&(e.assetService.pageIndex=0,e.fetchNodeDetails(t))})),se((function(e){return e.reloadCurrentFolder})).pipe(v.takeUntil(this.unsubscribe$),v.switchMap((function(e){return A.of(e)}))).subscribe((function(){e.currentFolder&&e.fetchFolder(e.currentFolder.AssetId)})),se((function(e){return e.reloadCurrentNode})).pipe(v.takeUntil(this.unsubscribe$),v.switchMap((function(e){return A.of(e)}))).subscribe((function(){e.currentFolder&&(e.assetService.pageIndex=0,e.fetchNodeDetails(e.currentFolder.AssetId))}))},e.prototype.openUploadDialog=function(){var e=this;this.dialog.open(Ee,{data:{currentAssetId:this.currentFolder.AssetId,fileType:this.assetService.dialogConfig.allowedType},panelClass:"lib-dialog--medium"}).afterClosed().subscribe((function(t){t&&(e.svc.dispatch({type:V}),e.svc.dispatch({type:$}))}))},e.prototype.addFolder=function(){var e=this;this.dialog.open(xe,{data:{currentAssetId:this.currentFolder.AssetId},panelClass:"lib-dialog--small"}).afterClosed().subscribe((function(t){t&&e.svc.dispatch({type:$})}))},e.prototype.deleteAssets=function(){var e=this,t=this.selectedAssets.map((function(e){return e.AssetId}));this.dialog.open(we,{data:{type:"files",ids:t},panelClass:"lib-dialog--small",autoFocus:!1}).afterClosed().subscribe((function(t){t&&(e.svc.dispatch({type:V}),e.svc.dispatch({type:$}),e.svc.dispatch({type:G,payload:[]}))}))},e.prototype.fetchFolder=function(e){var t=this;this.svc.dispatch({type:K,payload:!0}),this.assetService.getChildrenFolders({assetId:e}).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(e){t.assetService.setFolderList(e.Data,e.Meta.Total),e.Data&&e.Data.Children&&e.Data.Children.forEach((function(e){return t.nodeTreeService.addNode(e,t.currentFolder.AssetId)}))})).add((function(){t.svc.dispatch({type:K,payload:!1})}))},e.prototype.fetchNodeDetails=function(e){var t=this;this.svc.dispatch({type:K,payload:!0}),S.combineLatest([this.assetService.getChildrenFolders({assetId:e}),this.assetService.getChildrenAssets({assetId:e})]).pipe(v.takeUntil(this.unsubscribe$)).subscribe((function(e){var n=T(e,2),i=n[0],s=n[1];t.assetService.setFolderList(i.Data,i.Meta.Total),t.assetService.setAssetList(s.Data.Children,s.Meta),i.Data&&i.Data.Children&&i.Data.Children.forEach((function(e){return t.nodeTreeService.addNode(e,t.currentFolder.AssetId)}))})).add((function(){t.svc.dispatch({type:K,payload:!1})}))},Object.defineProperty(e.prototype,"noResults",{get:function(){return this.assetService.keyword&&!this.currentFolder.Children.length&&!this.assets.length},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.svc.dispatch({type:J,payload:null}),this.svc.dispatch({type:G,payload:[]}),this.unsubscribe$.next(),this.unsubscribe$.complete()},e.decorators=[{type:t.Component,args:[{selector:"lib-node-details",template:'<div class="node-details custom-scrollbar">\n  <div class="node-header">\n    <mat-progress-bar [style.visibility]="(loading$ | async) ? \'visible\' : \'hidden\'" mode="indeterminate">\n    </mat-progress-bar>\n    <div class="node-header-content">\n      <div class="node-header-content__left">\n        <H5 class="node-header-content__left--title">\n          <ng-container *ngIf="assetService?.keyword">\n            Search results for <span>{{ assetService?.keyword }}</span> in\n          </ng-container>\n          {{ currentFolder?.OriginalFileName }}\n        </H5>\n        <p *ngIf="!noResults" class="node-header-content__left--subtitle">\n          {{ assetService?.folderTotal }}\n          {{ assetService?.folderTotal > 1 ? \'folders\' : \'folder\' }},\n          {{ assetService?.fileTotal }}\n          {{ assetService?.fileTotal > 1 ? \'files\': \'file\' }}\n        </p>\n      </div>\n      <div class="node-header-content__right">\n        <div class="button-wrapper">\n          <button mat-raised-button [disabled]="!selectedAssets?.length" (click)="deleteAssets()" color="warn">\n            <span>{{selectedAssets?.length > 1 ? \'Delete assets\' : \'Delete asset\'}}</span>\n            <span *ngIf="selectedAssets?.length" class="count">({{ selectedAssets.length }})</span>\n          </button>\n          <button mat-raised-button color="primary" (click)="openUploadDialog()" [disabled]="!currentFolder?.AssetId">\n            Upload asset\n          </button>\n          <button mat-raised-button color="primary" (click)="addFolder()" [disabled]="!currentFolder?.AssetId">\n            Add folder\n          </button>\n        </div>\n      </div>\n    </div>\n  </div>\n  <div class="node-body">\n    <lib-search-not-found *ngIf="noResults; else contentAsset"></lib-search-not-found>\n    <ng-template #contentAsset>\n      <lib-folder-list class="node-body__section" [folders]="currentFolder?.Children"></lib-folder-list>\n      <lib-asset-list [assets]="assets"></lib-asset-list>\n    </ng-template>\n  </div>\n</div>',styles:[":host::ng-deep .node-details{max-height:100%;overflow-y:auto}:host::ng-deep .node-details .node-header{position:-webkit-sticky;position:sticky;top:0;background-color:#fff;z-index:20}:host::ng-deep .node-details .node-header-content{padding:10px 20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}:host::ng-deep .node-details .node-header-content__left--title{margin-bottom:5px}:host::ng-deep .node-details .node-header-content__left--title span{color:#fb3458}:host::ng-deep .node-details .node-header-content__left--subtitle{margin:0;color:#979797;font-size:14px}:host::ng-deep .node-details .node-header-content__right{flex:1}:host::ng-deep .node-details .node-header-content__right .button-wrapper{display:flex;gap:15px;justify-content:flex-end}:host::ng-deep .node-details .node-header-content__right .button-wrapper .count{margin-left:3px}:host::ng-deep .node-details .node-body{padding:0 20px}:host::ng-deep .node-details .node-body__section{display:block;margin-bottom:15px}"]}]}],e.ctorParameters=function(){return[{type:s.MatDialog},{type:q},{type:oe},{type:W},{type:t.ChangeDetectorRef}]},e}();var Ne=function(){function e(){this.resizeCompleted=new t.EventEmitter,this.grabber=!1,this.oldX=0}return e.prototype.ngOnInit=function(){this.width=this.minWidth},e.prototype.onMouseMove=function(e){this.grabber&&(this.resizer(e.clientX-this.oldX),this.oldX=e.clientX)},e.prototype.onMouseUp=function(e){this.grabber&&(this.grabber=!1)},e.prototype.onMouseDown=function(e){this.grabber=!0,this.oldX=e.clientX},e.prototype.resizer=function(e){this.width+e>this.maxWidth?this.width=this.maxWidth:this.width+e<this.minWidth?this.width=this.minWidth:this.width+=e,this.resizeCompleted.emit({width:this.width})},e.decorators=[{type:t.Component,args:[{selector:"lib-drag-to-resize",template:"<div class=\"drag-reszie__wrapper\" [ngStyle]=\"{\n    'width': width+'px',\n    'user-select': grabber? 'none' : 'auto'}\">\n    <ng-content></ng-content>\n    <div class=\"drag-reszie__wrapper--resizer\" (mousedown)=\"onMouseDown($event)\">\n    </div>\n</div>",styles:[':host::ng-deep .drag-reszie__wrapper{position:relative;height:100%}:host::ng-deep .drag-reszie__wrapper--resizer{content:"";position:absolute;top:0;right:-15px;z-index:99;cursor:ew-resize;height:100%;width:15px;border-left:3px solid transparent;transition:.3s ease-in-out}:host::ng-deep .drag-reszie__wrapper--resizer:hover{border-left-color:#6fc0ff}']}]}],e.ctorParameters=function(){return[]},e.propDecorators={minWidth:[{type:t.Input}],maxWidth:[{type:t.Input}],resizeCompleted:[{type:t.Output}],onMouseMove:[{type:t.HostListener,args:["document:mousemove",["$event"]]}],onMouseUp:[{type:t.HostListener,args:["document:mouseup",["$event"]]}]},e}();var Pe={date:"MM/DD/YYYY",dayMonth:"MMM DD",dateTime:"MM/DD/YYYY HH:mm",fullDateTime:"MM/DD/YYYY HH:mm:ss",dateTimeAM:"MM/DD/YYYY hh:mm A",apiDate:"YYYY/MM/DD",apiDateTime:"YYYY-MM-DD[T]HH:mm:ssZ",apiDateTimeNoZ:"YYYY-MM-DD[T]HH:mm:ss",apiDateMonthYear:"MMM DD YYYY",urlParam:"YYYY-MM-DD"},Ue=_,Re=function(){function e(){this.transform=function(e,t){var n=t||{format:Pe.dateTimeAM,timeZone:"America/Chicago"},i=n.format;n.timeZone;if(!e)return"-";if(-1!==e.indexOf("Z"))return Ue(e).format(i);var s=Ue.utc(e).toISOString();return Ue(s).format(i)}}return e.decorators=[{type:t.Pipe,args:[{name:"localDatetime"}]}],e}();var ze=function(){function e(){this.transform=function(e,t){var n=t||{format:Pe.date,timeZone:"America/Chicago"},i=n.format;n.timeZone;if(!e)return"-";if(-1!==e.indexOf("Z"))return Ue(e).format(i);var s=Ue.utc(e).toISOString();return Ue(s).format(i)}}return e.decorators=[{type:t.Pipe,args:[{name:"localDate"}]}],e}();var He=[ae,q,re,oe,H],qe=[he,fe,be,Ne,ve,Ae,ye,Ee,xe,De,we,Me,Se,Le,Ie,_e,Ce,Qe,ke,Te,Oe,je,le],Ye=[fe,Ee,xe,De,we,Me,le];function We(e){return function(){return new Promise((function(t){return setTimeout((function(){return t(e)}))}))}}var Ke=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{declarations:O(qe,[de,Fe,ze,Re]),imports:[ge,n.CommonModule,i.FormsModule,i.ReactiveFormsModule,s.MatDialogModule,o.MatButtonModule,a.MatInputModule,r.MatIconModule,s.MatDialogModule,o.MatButtonModule,a.MatInputModule,r.MatIconModule,l.MatTooltipModule,p.MatPaginatorModule,c.MatTableModule,u.MatProgressBarModule,g.MatMenuModule,h.MatCheckboxModule,d.MatTreeModule,f.MatSelectModule,m.MatProgressSpinnerModule],exports:O(qe,[de,ge,Fe,ze,Re]),providers:O(He,[{provide:t.APP_INITIALIZER,useFactory:We,deps:He,multi:!0}]),entryComponents:O(Ye)}]}],e.ctorParameters=function(){return[]},e}();e.AMFactory=We,e.AM_CONFIG=z,e.AddFolderDialogComponent=xe,e.AssetDialogComponent=Me,e.AssetItemComponent=Ce,e.AssetListComponent=_e,e.AssetManagementComponent=de,e.AssetManagementDialogComponent=le,e.AssetManagementModule=Ke,e.AssetService=q,e.AssetWrapperComponent=je,e.BaseHttpClient=H,e.BreadcrumbComponent=ke,e.DeleteDialogComponent=we,e.DialogTriggerDirective=pe,e.EditFolderDialogComponent=De,e.FileItemComponent=Ae,e.FileListComponent=ye,e.FileService=re,e.FolderItemComponent=Ie,e.FolderListComponent=Se,e.InputFileComponent=he,e.ModalComponent=fe,e.NodeDetailsComponent=Le,e.NodeTreeComponent=Qe,e.NodeTreeService=oe,e.SearchBoxComponent=Te,e.SearchNotFoundComponent=be,e.UploadAssetsService=ae,e.UploadDialogComponent=Ee,e.UploadFileComponent=ve,e.ɵa=Ne,e.ɵb=Fe,e.ɵc=W,e.ɵd=Oe,e.ɵe=L,e.ɵf=Re,e.ɵg=ze,e.ɵh=ue,e.ɵi=ge,e.ɵj=ce,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=rs-asset-management.umd.min.js.map