@energycap/components 0.30.4 → 0.31.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/energycap-components.umd.js +33 -33
- package/bundles/energycap-components.umd.js.map +1 -1
- package/bundles/energycap-components.umd.min.js +2 -2
- package/bundles/energycap-components.umd.min.js.map +1 -1
- package/energycap-components.metadata.json +1 -1
- package/energycap-components.min.css +1 -1
- package/esm2015/lib/controls/banner/banner.component.js +3 -3
- package/esm2015/lib/controls/button/button.component.js +1 -1
- package/esm2015/lib/controls/checkbox/checkbox.component.js +1 -1
- package/esm2015/lib/controls/collapsible-toggle/collapsible-toggle.component.js +1 -1
- package/esm2015/lib/controls/combobox/combobox.component.js +1 -1
- package/esm2015/lib/controls/dropdown/dropdown.component.js +1 -1
- package/esm2015/lib/controls/file-upload/file-upload.component.js +1 -1
- package/esm2015/lib/controls/form-control-label/form-control-label.component.js +1 -1
- package/esm2015/lib/controls/form-group/form-group.component.js +1 -1
- package/esm2015/lib/controls/item-picker/item-picker.component.js +1 -1
- package/esm2015/lib/controls/menu/menu.component.js +1 -1
- package/esm2015/lib/controls/numericbox/numericbox.component.js +1 -1
- package/esm2015/lib/controls/popover/popover.component.js +1 -1
- package/esm2015/lib/controls/radio-button/radio-button.component.js +1 -1
- package/esm2015/lib/controls/select/select.component.js +1 -1
- package/esm2015/lib/controls/tabs/tabs.component.js +1 -1
- package/esm2015/lib/controls/textbox/textbox.component.js +1 -1
- package/esm2015/lib/display/app-bar/app-bar.component.js +1 -1
- package/esm2015/lib/display/dialog/dialog-group/dialog-group.component.js +1 -1
- package/esm2015/lib/display/dialog/dialog.component.js +1 -1
- package/esm2015/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.js +1 -1
- package/esm2015/lib/display/item-display/item-display.component.js +1 -1
- package/esm2015/lib/display/json-display/json-display.component.js +1 -1
- package/esm2015/lib/display/resizable/resizable.component.js +1 -1
- package/esm2015/lib/display/table/searchable-table.component.js +1 -1
- package/esm2015/lib/display/table/table-detail-row.component.js +1 -1
- package/esm2015/lib/display/table/table-locked-column.component.js +1 -1
- package/esm2015/lib/display/table/table-master-header-row.component.js +1 -1
- package/esm2015/lib/display/table/table-master-row.component.js +1 -1
- package/esm2015/lib/display/table/table.component.js +1 -1
- package/esm2015/lib/display/tags/tags.component.js +1 -1
- package/esm2015/lib/display/toast/toast/toast.component.js +2 -2
- package/fesm2015/energycap-components.js +33 -33
- package/fesm2015/energycap-components.js.map +1 -1
- package/package.json +2 -2
- package/src/styles/_global-variables.scss +1 -0
- package/src/styles/_icons.scss +3 -0
- package/src/styles/mixins/_button-base.scss +13 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/a11y"),require("@angular/cdk/overlay"),require("@angular/common"),require("@angular/core"),require("@angular/forms"),require("@angular/router"),require("@ngx-translate/core"),require("ngx-clipboard"),require("rxjs"),require("rxjs/operators"),require("moment"),require("popper.js"),require("lodash"),require("@angular/cdk/portal")):"function"==typeof define&&define.amd?define("@energycap/components",["exports","@angular/cdk/a11y","@angular/cdk/overlay","@angular/common","@angular/core","@angular/forms","@angular/router","@ngx-translate/core","ngx-clipboard","rxjs","rxjs/operators","moment","popper.js","lodash","@angular/cdk/portal"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).energycap=e.energycap||{},e.energycap.components={}),e.ng.cdk.a11y,e.ng.cdk.overlay,e.ng.common,e.ng.core,e.ng.forms,e.ng.router,e.i1,e.ngxClipboard,e.rxjs,e.rxjs.operators,e.moment,e.Popper,e.lodash,e.ng.cdk.portal)}(this,(function(e,t,o,n,r,i,a,s,l,c,d,p,u,h,m){"use strict";function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=g(p),f=g(u),v=function(){function e(){this.localStorageAvailable=!1,this.sessionStorageAvailable=!1;var e=null;try{var t="roundtrip-test-"+(new Date).getTime(),o="val-"+t;localStorage.setItem(t,o),sessionStorage.setItem(t,o),this.localStorageAvailable=localStorage.getItem(t)==o,this.sessionStorageAvailable=sessionStorage.getItem(t)==o,localStorage.removeItem(t),sessionStorage.removeItem(t)}catch(t){e=t}finally{this.localStorageAvailable&&this.sessionStorageAvailable||console.warn("storage unavailable for caching purposes. Some features will not be fully supported. ",{local:this.localStorageAvailable,session:this.sessionStorageAvailable,error:e})}}return e.prototype.isCacheAvailable=function(e){return void 0===e&&(e=!1),e?this.sessionStorageAvailable:this.localStorageAvailable},e.prototype.getItem=function(e,t){void 0===t&&(t=!1);var o=this.getStorage(t);if(o){var n=o.getItem(e);if(n)return JSON.parse(n)}return null},e.prototype.keys=function(e){void 0===e&&(e=!1);var t=new Array,o=this.getStorage(e);if(o)for(var n=0,r=o.length;n<r;++n)t.push(o.key(n));return t},e.prototype.removeItem=function(e,t){void 0===t&&(t=!1);var o=this.getStorage(t);o&&o.removeItem(e)},e.prototype.setItem=function(e,t,o){void 0===o&&(o=!1);var n=this.getStorage(o);n&&n.setItem(e,JSON.stringify(t))},e.prototype.getStorage=function(e){return e&&this.sessionStorageAvailable?window.sessionStorage:this.localStorageAvailable?window.localStorage:null},e}();v.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new v},token:v,providedIn:"root"}),v.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],v.ctorParameters=function(){return[]};var y=function(){function e(e){this.cacheService=e,this.hidden=!1,this.id="",this.type="warning",this.bannerStyle="pinned",this.showCloseBtn=!1,this.autoHideOnClose=!0,this.rememberClosed=!1,this.closed=new r.EventEmitter,this.icon="",this.cacheKeyPrefix="dismissableBanner-"}return e.prototype.ngOnChanges=function(){if(this.customIcon?this.icon=this.customIcon:this.getIconByBannerType(),this.rememberClosed){var e=this.cacheService.getItem(""+this.cacheKeyPrefix+this.id);this.hidden=!!e&&e.hidden}},e.prototype.close=function(){this.autoHideOnClose&&(this.hidden=!0),this.rememberClosed&&this.cacheService.setItem(""+this.cacheKeyPrefix+this.id,{hidden:!0}),this.closed.emit()},e.prototype.getIconByBannerType=function(){"info"===this.type?this.icon="icon-info-circle":"warning"===this.type?this.icon="icon-warning":"error"===this.type?this.icon="icon-error":"success"===this.type&&(this.icon="icon-check-circle")},e}();y.decorators=[{type:r.Component,args:[{selector:"ec-banner",template:'<div id="banner_{{id}}" class="banner {{type}} {{bannerStyle}}">\r\n <ec-button id="banner{{id}}_close"\r\n *ngIf="showCloseBtn"\r\n type="icon"\r\n icon="ec-icon-sm icon-cancel"\r\n (clicked)="close()">\r\n </ec-button>\r\n <div class="banner-content d-flex text-body-1 font-color-secondary">\r\n <i class="ec-icon {{icon}}"></i>\r\n <div class="ml-2">\r\n <p class="title mb-0" *ngIf="title">\r\n {{title}}\r\n </p>\r\n <p class="text mb-0" *ngIf="text">{{text}}</p>\r\n \r\n <ul class="list mb-0" *ngIf="list?.length">\r\n <li *ngFor="let item of list">{{item}}</li>\r\n </ul>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0}.banner,:host(.border-bottom-0) .banner{border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex:1 1;flex-direction:column;min-height:2.5rem;overflow-y:auto;position:relative}.banner-content{align-items:var(--ec-banner-align-items-content,normal);flex:none;margin:auto 0;padding:.5rem 1rem}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{font-size:1.125rem}ec-button{position:absolute;right:.25rem;top:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info{background-color:var(--ec-background-color-info)}.info .banner-content>.ec-icon{color:#2d9ab8}.warning{background-color:var(--ec-background-color-caution)}.warning .banner-content>.ec-icon{color:var(--ec-color-bad)}.success{background-color:var(--ec-background-color-success)}.success .banner-content>.ec-icon{color:var(--ec-color-success)}.error{background-color:var(--ec-background-color-danger)}.error .banner-content>.ec-icon{color:var(--ec-color-danger)}.pinned{border-bottom:1px solid rgba(26,26,35,.08);border-radius:0}.toast{border:1px solid rgba(26,26,35,.08);box-shadow:var(--ec-box-shadow)}.toast ec-button{right:.1875rem;top:.1875rem}"]}]}],y.ctorParameters=function(){return[{type:v}]},y.propDecorators={hidden:[{type:r.HostBinding,args:["hidden"]},{type:r.Input}],id:[{type:r.Input}],type:[{type:r.Input}],bannerStyle:[{type:r.Input}],title:[{type:r.Input}],text:[{type:r.Input}],list:[{type:r.Input}],showCloseBtn:[{type:r.Input}],autoHideOnClose:[{type:r.Input}],customIcon:[{type:r.Input}],rememberClosed:[{type:r.Input}],closed:[{type:r.Output}]};var x=function(){function e(){this.disabled=!1,this.tabindex=0,this.type="common",this.pending=!1,this.pendingIcon="icon-loading",this.isSubmit=!1,this.autofocus=!1,this.clicked=new r.EventEmitter}return e.prototype.ngOnInit=function(){if(!this.label&&!this.icon&&!this.customTemplate)throw new Error("ButtonComponent requires an icon, a label, or both")},e.prototype.ngAfterViewInit=function(){this.autofocus&&this.focus()},e.prototype.onClick=function(e){this.pending||this.disabled?e.stopImmediatePropagation():this.clicked.emit(e)},e.prototype.focus=function(){this.buttonElement.nativeElement.focus()},e}();x.decorators=[{type:r.Component,args:[{selector:"ec-button",template:'<button id="{{id}}_button"\r\n class="ec-button-{{customTemplate ? \'custom\' : type}}"\r\n [class.has-badge]="badge !== undefined"\r\n tabindex="{{tabindex}}"\r\n [type]="type === \'submit\' || isSubmit ? \'submit\' : \'button\'"\r\n [disabled]="disabled"\r\n (click)="onClick($event)"\r\n #element\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n <ng-container *ngIf="customTemplate; else defaultTemplate">\r\n <ng-container *ngTemplateOutlet="customTemplate"></ng-container>\r\n </ng-container>\r\n</button>\r\n\r\n<ng-template #defaultTemplate>\r\n \x3c!-- Hidden when the button is not pending --\x3e\r\n <div class="pending-container" *ngIf="pending">\r\n <i class="ec-icon {{pendingIcon}}" id="{{id}}_pending"></i>\r\n </div>\r\n\r\n <i class="ec-icon {{icon}}" id="{{id}}_icon" *ngIf="icon"></i>\r\n\r\n <ng-container *ngIf="label">\r\n <span id="{{id}}_label" class="label">{{label | translate}}</span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="badge !== undefined">\r\n <span id="{{id}}_badge" class="badge">{{badge}}</span>\r\n </ng-container>\r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{-webkit-appearance:none;color:var(--ec-color-primary-dark);display:inline-block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-action);margin:0;padding:0;vertical-align:top}:host(.font-size-inherit),:host(.font-size-inherit) button{font-size:inherit}:host(.text-left) button{justify-content:flex-start}:host(.text-right) button{justify-content:flex-end}:host(.active) .ec-button-custom,:host(.active) .ec-button-danger-text,:host(.active) .ec-button-icon,:host(.active) .ec-button-link,:host(.active) .ec-button-secondary,:host(.active) .ec-button-text{background-color:var(--ec-background-color-hover)}:host(.active) button:focus{border-color:transparent;box-shadow:none}:host(.active) .ec-button-secondary:focus{border-color:var(--ec-border-color-legacy)}:host(.d-block) button{width:100%}:host(.border-0) button:not(:focus){border-color:transparent}:host(.is-action-icon) .ec-button-icon{color:var(--ec-color-interactive)}:host(.is-success) .ec-button-icon,:host(.is-success) .ec-button-secondary,:host(.is-success) .ec-button-text{color:var(--ec-color-success)}:host(.is-error) .ec-button-icon,:host(.is-error) .ec-button-secondary,:host(.is-error) .ec-button-text{color:var(--ec-color-danger)}:host-context(.btn-stack) button{height:1rem}:host-context(.btn-stack) .ec-icon{height:.625rem;width:.625rem}:host-context(.actions-col) button{border-radius:0}.ec-button-primary,.ec-button-submit{background-color:#cfd856;border-color:#c1cd23;color:var(--ec-color-primary-dark)}.ec-button-primary:active:enabled,.ec-button-submit:active:enabled{background-color:#c1cd23;color:var(--ec-color-primary-dark)}.ec-button-secondary{border-color:var(--ec-border-color-legacy)}.ec-button-secondary,.ec-button-secondary:active:enabled{background-color:var(--ec-background-color);color:var(--ec-color-primary-dark)}.ec-button-common{background-color:#2d9ab8;border-color:#0084a9;color:var(--ec-color-primary-light)}.ec-button-common .ec-icon{color:inherit}.ec-button-common:active:enabled{background-color:#0084a9;border-color:#005f7a}.ec-button-icon{background-color:transparent;color:rgba(26,26,35,.66);padding:0;width:2rem}.ec-button-icon .ec-icon{height:1rem;margin:0;padding:0}.ec-button-icon:hover{background-color:#bfe0e9}.ec-button-icon:disabled{background-color:transparent;border-color:transparent}.ec-button-icon:disabled .ec-icon{opacity:.5}.ec-button-icon.has-badge{min-width:2rem;padding-left:.375rem;padding-right:0;width:auto}.ec-button-icon .badge{margin-left:-.5rem}.ec-button-text{background-color:transparent;color:var(--ec-color-primary-dark)}.ec-button-text .ec-icon{color:var(--ec-color-secondary-dark)}.ec-button-text:active:enabled{background-color:transparent;color:var(--ec-color-primary-dark)}.ec-button-text:disabled{background-color:transparent;border-color:transparent}.ec-button-link{background-color:transparent;color:var(--ec-color-interactive)}.ec-button-link .ec-icon{color:inherit}.ec-button-link:active:enabled{background-color:transparent;color:var(--ec-color-interactive)}.ec-button-link:disabled{background-color:transparent;border-color:transparent}.ec-button-danger{background-color:var(--ec-color-danger);border-color:#e33436;color:var(--ec-color-primary-light)}.ec-button-danger .ec-icon{color:inherit}.ec-button-danger:active:enabled{background-color:#e33436}.ec-button-danger-text{background-color:transparent;color:var(--ec-color-danger)}.ec-button-danger-text .ec-icon{color:inherit}.ec-button-danger-text:active:enabled{background-color:transparent;color:var(--ec-color-danger)}.ec-button-danger-text:disabled{background-color:transparent;border-color:transparent}.ec-button-custom{background-color:transparent;height:auto;padding:0}.ec-button-custom:disabled{background-color:transparent;border:0}button{align-items:center;background-color:var(--ec-background-color);border:.0625rem solid transparent;border-radius:var(--ec-border-radius);cursor:pointer;display:flex;font-size:var(--ec-font-size-action);height:2rem;justify-content:center;line-height:1.25;line-height:1.25rem;padding:.3125rem .5rem;position:relative}button.is-highlighted,button.is-selected{background-color:#d9edf2}button:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);outline:none;position:relative;z-index:1}button:active{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}button.is-disabled,button:disabled{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color-legacy);color:var(--ec-color-secondary-dark);cursor:default;opacity:.65}button .label{align-items:center;display:flex;flex:auto}button .ec-icon{flex:0 0 auto}button .ec-icon+.label{margin:0 .375rem}button .label{justify-content:center;white-space:nowrap}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}:host(.textbox-group-btn-right){position:relative}:host(.textbox-group-btn-right) button{border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px;padding-left:.4375rem;padding-right:.4375rem}.badge{background-color:#7e579b;border:.125rem solid #fff;border-radius:.5625rem;color:var(--ec-color-primary-light);display:inline-block;font-size:.625rem;font-weight:700;line-height:.875rem;margin-left:-.25rem;margin-top:-.75rem;min-width:1rem;padding:0 .25rem;text-align:center;vertical-align:baseline;white-space:nowrap}:host(.is-tab) button{align-items:center;border:1px solid transparent;border-radius:var(--ec-border-radius);color:var(--ec-color-secondary-dark);cursor:pointer;display:flex;font-size:var(--ec-font-size-label);height:1.5rem;justify-content:center;min-width:1.5rem;padding-left:.5rem;padding-right:.5rem}:host(.is-tab) button:hover{color:#354751}:host(.is-tab) button.active{background-color:#d2d7d9;color:#354751}:host(.is-tab) button:focus{outline:none}:host(.is-tab) button:focus:not(.active):not(.is-disabled){border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);box-shadow:none;position:relative;z-index:1}:host(.is-tab) button.is-disabled{color:var(--ec-color-hint-dark);cursor:default}:host(.is-tab) button.ec-button-icon{justify-content:center;padding:0;width:auto}:host(.is-tab) button:hover{background-color:transparent}:host(.is-tab).active button{background-color:#d2d7d9;color:#354751}.pending-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}.pending-container>.ec-icon{color:inherit;flex:none}.pending-container~.badge,.pending-container~.ec-icon,.pending-container~.label{opacity:0}"]}]}],x.ctorParameters=function(){return[]},x.propDecorators={id:[{type:r.HostBinding,args:["attr.id"]},{type:r.Input}],disabled:[{type:r.Input}],icon:[{type:r.Input}],label:[{type:r.Input}],badge:[{type:r.Input}],tabindex:[{type:r.Input}],type:[{type:r.Input}],pending:[{type:r.Input}],pendingIcon:[{type:r.Input}],customTemplate:[{type:r.Input}],isSubmit:[{type:r.Input}],autofocus:[{type:r.Input}],clicked:[{type:r.Output}],buttonElement:[{type:r.ViewChild,args:["element",{static:!0}]}]};var w=function(){function e(e,t){this.control=e,this.clipboardService=t,this.copySuccess=!1,this.copyFailed=!1,this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.control.clicked.pipe(d.takeUntil(this.destroyed)).subscribe((function(){e.onClick()}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.onClick=function(){var e,t=this,o=this.clipboardService.copyFromContent(null===(e=this.copyFormModel)||void 0===e?void 0:e.value),n=this.control.pendingIcon;o?(this.copySuccess=!0,this.control.pendingIcon="icon-check"):(this.copyFailed=!0,this.control.pendingIcon="icon-cancel"),this.control.pending=!0,setTimeout((function(){t.control.pending=!1,t.copySuccess=!1,t.copyFailed=!1,t.control.pendingIcon=n}),500)},e}();w.decorators=[{type:r.Directive,args:[{selector:"[ecCopyButton]"}]}],w.ctorParameters=function(){return[{type:x},{type:l.ClipboardService}]},w.propDecorators={copyFormModel:[{type:r.Input,args:["ecCopyButton"]}],copySuccess:[{type:r.HostBinding,args:["class.is-success"]}],copyFailed:[{type:r.HostBinding,args:["class.is-error"]}]};
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/a11y"),require("@angular/cdk/overlay"),require("@angular/common"),require("@angular/core"),require("@angular/forms"),require("@angular/router"),require("@ngx-translate/core"),require("ngx-clipboard"),require("rxjs"),require("rxjs/operators"),require("moment"),require("popper.js"),require("lodash"),require("@angular/cdk/portal")):"function"==typeof define&&define.amd?define("@energycap/components",["exports","@angular/cdk/a11y","@angular/cdk/overlay","@angular/common","@angular/core","@angular/forms","@angular/router","@ngx-translate/core","ngx-clipboard","rxjs","rxjs/operators","moment","popper.js","lodash","@angular/cdk/portal"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).energycap=e.energycap||{},e.energycap.components={}),e.ng.cdk.a11y,e.ng.cdk.overlay,e.ng.common,e.ng.core,e.ng.forms,e.ng.router,e.i1,e.ngxClipboard,e.rxjs,e.rxjs.operators,e.moment,e.Popper,e.lodash,e.ng.cdk.portal)}(this,(function(e,t,o,n,r,i,a,s,l,c,d,p,u,h,m){"use strict";function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=g(p),f=g(u),v=function(){function e(){this.localStorageAvailable=!1,this.sessionStorageAvailable=!1;var e=null;try{var t="roundtrip-test-"+(new Date).getTime(),o="val-"+t;localStorage.setItem(t,o),sessionStorage.setItem(t,o),this.localStorageAvailable=localStorage.getItem(t)==o,this.sessionStorageAvailable=sessionStorage.getItem(t)==o,localStorage.removeItem(t),sessionStorage.removeItem(t)}catch(t){e=t}finally{this.localStorageAvailable&&this.sessionStorageAvailable||console.warn("storage unavailable for caching purposes. Some features will not be fully supported. ",{local:this.localStorageAvailable,session:this.sessionStorageAvailable,error:e})}}return e.prototype.isCacheAvailable=function(e){return void 0===e&&(e=!1),e?this.sessionStorageAvailable:this.localStorageAvailable},e.prototype.getItem=function(e,t){void 0===t&&(t=!1);var o=this.getStorage(t);if(o){var n=o.getItem(e);if(n)return JSON.parse(n)}return null},e.prototype.keys=function(e){void 0===e&&(e=!1);var t=new Array,o=this.getStorage(e);if(o)for(var n=0,r=o.length;n<r;++n)t.push(o.key(n));return t},e.prototype.removeItem=function(e,t){void 0===t&&(t=!1);var o=this.getStorage(t);o&&o.removeItem(e)},e.prototype.setItem=function(e,t,o){void 0===o&&(o=!1);var n=this.getStorage(o);n&&n.setItem(e,JSON.stringify(t))},e.prototype.getStorage=function(e){return e&&this.sessionStorageAvailable?window.sessionStorage:this.localStorageAvailable?window.localStorage:null},e}();v.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new v},token:v,providedIn:"root"}),v.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],v.ctorParameters=function(){return[]};var y=function(){function e(e){this.cacheService=e,this.hidden=!1,this.id="",this.type="warning",this.bannerStyle="pinned",this.showCloseBtn=!1,this.autoHideOnClose=!0,this.rememberClosed=!1,this.closed=new r.EventEmitter,this.icon="",this.cacheKeyPrefix="dismissableBanner-"}return e.prototype.ngOnChanges=function(){if(this.customIcon?this.icon=this.customIcon:this.getIconByBannerType(),this.rememberClosed){var e=this.cacheService.getItem(""+this.cacheKeyPrefix+this.id);this.hidden=!!e&&e.hidden}},e.prototype.close=function(){this.autoHideOnClose&&(this.hidden=!0),this.rememberClosed&&this.cacheService.setItem(""+this.cacheKeyPrefix+this.id,{hidden:!0}),this.closed.emit()},e.prototype.getIconByBannerType=function(){"info"===this.type?this.icon="icon-info-circle":"warning"===this.type?this.icon="icon-warning":"error"===this.type?this.icon="icon-error":"success"===this.type&&(this.icon="icon-check-circle")},e}();y.decorators=[{type:r.Component,args:[{selector:"ec-banner",template:'<div id="banner_{{id}}" class="banner {{type}} {{bannerStyle}}">\r\n <ec-button id="banner{{id}}_close"\r\n *ngIf="showCloseBtn"\r\n type="icon"\r\n icon="ec-icon-sm icon-cancel"\r\n (clicked)="close()">\r\n </ec-button>\r\n <div class="banner-content d-flex text-body-1">\r\n <i class="ec-icon {{icon}}"></i>\r\n <div class="ml-2">\r\n <p class="title mb-0" *ngIf="title">\r\n {{title}}\r\n </p>\r\n <p class="text mb-0" *ngIf="text">{{text}}</p>\r\n \r\n <ul class="list mb-0" *ngIf="list?.length">\r\n <li *ngFor="let item of list">{{item}}</li>\r\n </ul>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:flex}:host(.border-bottom-0) .banner{border-bottom:0}.banner,:host(.border-bottom-0) .banner{border-radius:var(--ec-border-radius-card)}.banner{display:flex;flex:1 1;flex-direction:column;min-height:2.5rem;overflow-y:auto;position:relative}.banner-content{align-items:var(--ec-banner-align-items-content,normal);color:var(--ec-color-secondary-dark);flex:none;margin:auto 0;padding:.5rem 1rem}.banner-content ::ng-deep p{line-height:inherit}.ec-icon{font-size:1.125rem}ec-button{position:absolute;right:.25rem;top:.25rem}ec-button+.banner-content{padding-right:2.75rem}.title{font-weight:700}.list{margin:0;padding-left:2em}.text+.list{margin-top:1em}.info:not(.toast){background-color:var(--ec-background-color-info)}.info:not(.toast) .banner-content>.ec-icon{color:#2d9ab8}.warning:not(.toast){background-color:var(--ec-background-color-caution)}.warning:not(.toast) .banner-content>.ec-icon{color:var(--ec-color-bad)}.success:not(.toast){background-color:var(--ec-background-color-success)}.success:not(.toast) .banner-content>.ec-icon{color:var(--ec-color-success)}.error:not(.toast){background-color:var(--ec-background-color-danger)}.error:not(.toast) .banner-content>.ec-icon{color:var(--ec-color-danger)}.pinned{border-bottom:1px solid rgba(26,26,35,.08);border-radius:0}.toast{--ec-button-color-icon:var(--ec-color-primary-light);--ec-color-icon:var(--ec-color-primary-light);--ec-color-interactive:var(--ec-color-interactive-light);background-color:#162f3b;border:1px solid rgba(26,26,35,.08);box-shadow:var(--ec-box-shadow)}.toast .banner-content{color:var(--ec-color-primary-light)}.toast ec-button{right:.1875rem;top:.1875rem}.toast ec-button ::ng-deep .ec-button-icon:hover{background-color:#354751}"]}]}],y.ctorParameters=function(){return[{type:v}]},y.propDecorators={hidden:[{type:r.HostBinding,args:["hidden"]},{type:r.Input}],id:[{type:r.Input}],type:[{type:r.Input}],bannerStyle:[{type:r.Input}],title:[{type:r.Input}],text:[{type:r.Input}],list:[{type:r.Input}],showCloseBtn:[{type:r.Input}],autoHideOnClose:[{type:r.Input}],customIcon:[{type:r.Input}],rememberClosed:[{type:r.Input}],closed:[{type:r.Output}]};var x=function(){function e(){this.disabled=!1,this.tabindex=0,this.type="common",this.pending=!1,this.pendingIcon="icon-loading",this.isSubmit=!1,this.autofocus=!1,this.clicked=new r.EventEmitter}return e.prototype.ngOnInit=function(){if(!this.label&&!this.icon&&!this.customTemplate)throw new Error("ButtonComponent requires an icon, a label, or both")},e.prototype.ngAfterViewInit=function(){this.autofocus&&this.focus()},e.prototype.onClick=function(e){this.pending||this.disabled?e.stopImmediatePropagation():this.clicked.emit(e)},e.prototype.focus=function(){this.buttonElement.nativeElement.focus()},e}();x.decorators=[{type:r.Component,args:[{selector:"ec-button",template:'<button id="{{id}}_button"\r\n class="ec-button-{{customTemplate ? \'custom\' : type}}"\r\n [class.has-badge]="badge !== undefined"\r\n tabindex="{{tabindex}}"\r\n [type]="type === \'submit\' || isSubmit ? \'submit\' : \'button\'"\r\n [disabled]="disabled"\r\n (click)="onClick($event)"\r\n #element\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n <ng-container *ngIf="customTemplate; else defaultTemplate">\r\n <ng-container *ngTemplateOutlet="customTemplate"></ng-container>\r\n </ng-container>\r\n</button>\r\n\r\n<ng-template #defaultTemplate>\r\n \x3c!-- Hidden when the button is not pending --\x3e\r\n <div class="pending-container" *ngIf="pending">\r\n <i class="ec-icon {{pendingIcon}}" id="{{id}}_pending"></i>\r\n </div>\r\n\r\n <i class="ec-icon {{icon}}" id="{{id}}_icon" *ngIf="icon"></i>\r\n\r\n <ng-container *ngIf="label">\r\n <span id="{{id}}_label" class="label">{{label | translate}}</span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="badge !== undefined">\r\n <span id="{{id}}_badge" class="badge">{{badge}}</span>\r\n </ng-container>\r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{-webkit-appearance:none;color:var(--ec-color-primary-dark);display:inline-block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-action);margin:0;padding:0;vertical-align:top}:host(.font-size-inherit),:host(.font-size-inherit) button{font-size:inherit}:host(.text-left) button{justify-content:flex-start}:host(.text-right) button{justify-content:flex-end}:host(.active) .ec-button-custom,:host(.active) .ec-button-danger-text,:host(.active) .ec-button-icon,:host(.active) .ec-button-link,:host(.active) .ec-button-secondary,:host(.active) .ec-button-text{background-color:var(--ec-background-color-hover)}:host(.active) button:focus{border-color:transparent;box-shadow:none}:host(.active) .ec-button-secondary:focus{border-color:var(--ec-border-color-legacy)}:host(.d-block) button{width:100%}:host(.border-0) button:not(:focus){border-color:transparent}:host(.is-action-icon) .ec-button-icon{color:var(--ec-color-interactive)}:host(.is-success) .ec-button-icon,:host(.is-success) .ec-button-secondary,:host(.is-success) .ec-button-text{color:var(--ec-color-success)}:host(.is-error) .ec-button-icon,:host(.is-error) .ec-button-secondary,:host(.is-error) .ec-button-text{color:var(--ec-color-danger)}:host-context(.btn-stack) button{height:1rem}:host-context(.btn-stack) .ec-icon{height:calc(var(--ec-font-size-icon)*0.625);width:calc(var(--ec-font-size-icon)*0.625)}:host-context(.actions-col) button{border-radius:0}.ec-button-primary,.ec-button-submit{background-color:#cfd856;border-color:#c1cd23;color:var(--ec-color-primary-dark)}.ec-button-primary:active:enabled,.ec-button-submit:active:enabled{background-color:#c1cd23;color:var(--ec-color-primary-dark)}.ec-button-primary .ec-icon,.ec-button-submit .ec-icon{color:var(--ec-button-color-icon,var(--ec-color-icon))}.ec-button-secondary{border-color:var(--ec-border-color-legacy)}.ec-button-secondary,.ec-button-secondary:active:enabled{background-color:var(--ec-background-color);color:var(--ec-color-primary-dark)}.ec-button-secondary .ec-icon{color:var(--ec-button-color-icon,var(--ec-color-icon))}.ec-button-common{background-color:#2d9ab8;border-color:#0084a9;color:var(--ec-color-primary-light)}.ec-button-common .ec-icon{color:var(--ec-button-color-icon,inherit)}.ec-button-common:active:enabled{background-color:#0084a9;border-color:#005f7a}.ec-button-icon{background-color:transparent;color:var(--ec-color-icon);padding:0;width:2rem}.ec-button-icon .ec-icon{color:var(--ec-button-color-icon,var(--ec-color-icon));height:1rem;margin:0;padding:0}.ec-button-icon:hover{background-color:#bfe0e9}.ec-button-icon:disabled{background-color:transparent;border-color:transparent}.ec-button-icon:disabled .ec-icon{opacity:.5}.ec-button-icon.has-badge{min-width:2rem;padding-left:.375rem;padding-right:0;width:auto}.ec-button-icon .badge{margin-left:-.5rem}.ec-button-text{background-color:transparent;color:var(--ec-color-primary-dark)}.ec-button-text .ec-icon{color:var(--ec-button-color-icon,var(--ec-color-secondary-dark))}.ec-button-text:active:enabled{background-color:transparent;color:var(--ec-color-primary-dark)}.ec-button-text:disabled{background-color:transparent;border-color:transparent}.ec-button-link{background-color:transparent;color:var(--ec-color-interactive)}.ec-button-link .ec-icon{color:var(--ec-button-color-icon,inherit)}.ec-button-link:active:enabled{background-color:transparent;color:var(--ec-color-interactive)}.ec-button-link:disabled{background-color:transparent;border-color:transparent}.ec-button-danger{background-color:var(--ec-color-danger);border-color:#e33436;color:var(--ec-color-primary-light)}.ec-button-danger .ec-icon{color:var(--ec-button-color-icon,inherit)}.ec-button-danger:active:enabled{background-color:#e33436}.ec-button-danger-text{background-color:transparent;color:var(--ec-color-danger)}.ec-button-danger-text .ec-icon{color:var(--ec-button-color-icon,inherit)}.ec-button-danger-text:active:enabled{background-color:transparent;color:var(--ec-color-danger)}.ec-button-danger-text:disabled{background-color:transparent;border-color:transparent}.ec-button-custom{background-color:transparent;height:auto;padding:0}.ec-button-custom:disabled{background-color:transparent;border:0}button{align-items:center;background-color:var(--ec-background-color);border:.0625rem solid transparent;border-radius:var(--ec-border-radius);cursor:pointer;display:flex;font-size:var(--ec-font-size-action);height:2rem;justify-content:center;line-height:1.25;line-height:1.25rem;padding:.3125rem .5rem;position:relative}button.is-highlighted,button.is-selected{background-color:#d9edf2}button:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);outline:none;position:relative;z-index:1}button:active{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}button.is-disabled,button:disabled{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color-legacy);color:var(--ec-color-secondary-dark);cursor:default;opacity:.65}button .label{align-items:center;display:flex;flex:auto}button .ec-icon{flex:0 0 auto}button .ec-icon+.label{margin:0 .375rem}button .label{justify-content:center;white-space:nowrap}button .ec-icon+.label{flex:none;margin-left:.25rem}button.has-badge{padding-right:.0625rem}:host(.textbox-group-btn-right){position:relative}:host(.textbox-group-btn-right) button{border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px;padding-left:.4375rem;padding-right:.4375rem}.badge{background-color:#7e579b;border:.125rem solid #fff;border-radius:.5625rem;color:var(--ec-color-primary-light);display:inline-block;font-size:.625rem;font-weight:700;line-height:.875rem;margin-left:-.25rem;margin-top:-.75rem;min-width:1rem;padding:0 .25rem;text-align:center;vertical-align:baseline;white-space:nowrap}:host(.is-tab) button{align-items:center;border:1px solid transparent;border-radius:var(--ec-border-radius);color:var(--ec-color-secondary-dark);cursor:pointer;display:flex;font-size:var(--ec-font-size-label);height:1.5rem;justify-content:center;min-width:1.5rem;padding-left:.5rem;padding-right:.5rem}:host(.is-tab) button:hover{color:#354751}:host(.is-tab) button.active{background-color:#d2d7d9;color:#354751}:host(.is-tab) button:focus{outline:none}:host(.is-tab) button:focus:not(.active):not(.is-disabled){border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);box-shadow:none;position:relative;z-index:1}:host(.is-tab) button.is-disabled{color:var(--ec-color-hint-dark);cursor:default}:host(.is-tab) button.ec-button-icon{justify-content:center;padding:0;width:auto}:host(.is-tab) button:hover{background-color:transparent}:host(.is-tab).active button{background-color:#d2d7d9;color:#354751}.pending-container{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}.pending-container>.ec-icon{color:inherit;flex:none}.pending-container~.badge,.pending-container~.ec-icon,.pending-container~.label{opacity:0}"]}]}],x.ctorParameters=function(){return[]},x.propDecorators={id:[{type:r.HostBinding,args:["attr.id"]},{type:r.Input}],disabled:[{type:r.Input}],icon:[{type:r.Input}],label:[{type:r.Input}],badge:[{type:r.Input}],tabindex:[{type:r.Input}],type:[{type:r.Input}],pending:[{type:r.Input}],pendingIcon:[{type:r.Input}],customTemplate:[{type:r.Input}],isSubmit:[{type:r.Input}],autofocus:[{type:r.Input}],clicked:[{type:r.Output}],buttonElement:[{type:r.ViewChild,args:["element",{static:!0}]}]};var w=function(){function e(e,t){this.control=e,this.clipboardService=t,this.copySuccess=!1,this.copyFailed=!1,this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.control.clicked.pipe(d.takeUntil(this.destroyed)).subscribe((function(){e.onClick()}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.onClick=function(){var e,t=this,o=this.clipboardService.copyFromContent(null===(e=this.copyFormModel)||void 0===e?void 0:e.value),n=this.control.pendingIcon;o?(this.copySuccess=!0,this.control.pendingIcon="icon-check"):(this.copyFailed=!0,this.control.pendingIcon="icon-cancel"),this.control.pending=!0,setTimeout((function(){t.control.pending=!1,t.copySuccess=!1,t.copyFailed=!1,t.control.pendingIcon=n}),500)},e}();w.decorators=[{type:r.Directive,args:[{selector:"[ecCopyButton]"}]}],w.ctorParameters=function(){return[{type:x},{type:l.ClipboardService}]},w.propDecorators={copyFormModel:[{type:r.Input,args:["ecCopyButton"]}],copySuccess:[{type:r.HostBinding,args:["class.is-success"]}],copyFailed:[{type:r.HostBinding,args:["class.is-error"]}]};
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
15
|
***************************************************************************** */
|
|
16
|
-
var I=function(e,t){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])})(e,t)};function k(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}I(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}function C(e,t,o,n){return new(o||(o=Promise))((function(r,i){function a(e){try{l(n.next(e))}catch(e){i(e)}}function s(e){try{l(n.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))}function S(e,t){var o,n,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{o=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}Object.create;function T(e){var t="function"==typeof Symbol&&Symbol.iterator,o=t&&e[t],n=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function M(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,r,i=o.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(o=i.return)&&o.call(i)}finally{if(r)throw r.error}}return a}function D(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(M(arguments[t]));return e}Object.create;var E=function(){function e(){}return e.isEndOfTime=function(e){var t=this.endOfTime;return this.isSameDay(e,t)},e.isSameDay=function(e,t){return b.default(e).isSame(b.default(t),"day")},e.getParseFormats=function(e){var t={"MM/DD/YYYY":this.monthFirstParseFormats,"MM-DD-YYYY":this.monthFirstParseFormats,"DD/MM/YYYY":this.dateFirstParseFormats,"DD-MM-YYYY":this.dateFirstParseFormats,"YYYY/MM/DD":this.monthFirstParseFormats,"YYYY-MM-DD":this.monthFirstParseFormats};return e?t[e]:this.monthFirstParseFormats},e.getAccountMeterStartDate=function(t,o){var n=t.effectiveFrom||o.startDate;return n?new Date(n):e.defaultAccountMeterEffectiveDate},e.getAccountMeterEndDate=function(t,o){var n=t.effectiveTo||o.endDate;return n&&!e.isEndOfTime(n)?new Date(n):null},e.isDateBetween=function(e,t,o,n,r){var i="()";return n&&r?i="[]":n?i="[)":r&&(i="(]"),t=t||this.beginningOfTime,o=o||this.endOfTime,b.default(e).isBetween(t,o,"day",i)},e.stringToDate=function(e){return null==e?e:b.default(e).toDate()},e}();E.beginningOfTime=new Date(1899,11,31),E.endOfTime=new Date(3e3,0,1),E.defaultAccountMeterEffectiveDate=new Date(2010,0,1),E.defaultAccountServiceEffectiveDate=new Date(2010,0,1),E.minDatePickerDate=new Date(1980,0,1),E.maxDatePickerDate=new Date(3e3,0,1,23,59,59),E.defaultDateFormat="yyyy-MM-dd",E.defaultTimeFormat="HH:mm:ss",E.defaultTimestampFormat=E.defaultDateFormat+" "+E.defaultTimeFormat,E.billImportFormatDateFormats=[{label:"mm/dd/yyyy",value:"mm/dd/yyyy"},{label:"Month dd yyyy",value:"Month dd yyyy"},{label:"dd/mm/yyyy",value:"dd/mm/yyyy"},{label:"dd Month yyyy",value:"dd Month yyyy"},{label:"yyyymmdd",value:"yyyymmdd"}],E.monthFirstParseFormats=["yyyy/MM/dd","MM/dd/yyyy","MMddyyyy","MM/dd/yy","MMddyy","MM/dd","yyyy.MM.dd","MM.dd.yyyy","MM.dd.yy","MM.dd","yyyy-MM-dd","MM-dd-yyyy","MM-dd-yy","MM-dd","yyyyMMdd"],E.dateFirstParseFormats=["yyyy/dd/MM","dd/MM/yyyy","ddMMyyyy","dd/MM/yy","ddMMyy","dd/MM","yyyy.dd.MM","dd.MM.yyyy","dd.MM.yy","dd.MM","yyyy-dd-MM","dd-MM-yyyy","dd-MM-yy","dd-MM","yyyyDDmm"],E.timeFormat="HH:mm:ss";var z=function(){function e(){}return e.prototype.getPreferences=function(){return c.of({preference:{dateFormat:"MM/DD/YYYY",timeFormat:"h:mm:ss a"}})},e}();z.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new z},token:z,providedIn:"root"}),z.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var P=function(){function e(e){this.userPreferenceService=e,this.lastFormatString="MM/DD/YYYY"}return e.prototype.transform=function(e,t,o,n){var r=this,i="",a="";return e&&b.default(e).isValid()&&(t||!E.isEndOfTime(e))&&(this.userPreferenceService.getPreferences().subscribe((function(e){if(e.preference){if(a=e.preference.dateFormat,o){var t=e.preference.timeFormat;n||(t=t.replace(":ss","")),a+=" "+t}r.lastFormatString=a}})),i=b.default(e).format(this.lastFormatString)),i},e}();P.decorators=[{type:r.Pipe,args:[{name:"dateDisplay"}]}],P.ctorParameters=function(){return[{type:z}]};var O=function(){function e(e,t){this.translate=e,this.dateDisplayPipe=t}return e.prototype.getErrorMessages=function(e){var t=new Array;if(null!==e){for(var o in e){var n=e[o];switch(o){case"email":t.push(this.translate.get("InvalidEmailValidationMessage_LC"));break;case"required":t.push(this.translate.get("is required"));break;case"requiredPlural":t.push(this.translate.get("RequiredPluralValidationMessage_LC"));break;case"minlength":t.push(this.translate.get("MinLengthValidationMessage_LC",{minLength:n.requiredLength}));break;case"maxlength":t.push(this.translate.get("MaxLengthValidationMessage",{maxLength:n.requiredLength}));break;case"pattern":t.push(this.translate.get("IncorrectFormat_LC"));break;case"min":t.push(this.translate.get("MinValueValidationMessage_LC",{minValue:n.min}));break;case"max":t.push(this.translate.get("MaxValueValidationMessage_LC",{maxValue:n.max}));break;case"zipCodeInvalidFormat":t.push(this.translate.get("must be 5–9 numbers"));break;case"postalCodeInvalidFormat":t.push(this.translate.get("must be 6 characters, alternating letters and numbers"));break;case"zipCodeNotFound":t.push(this.translate.get("ZipCodeNotFoundValidationMessage_LC"));break;case"numericbox":t.push(this.getNumericBoxValidationMessages(n));break;case"addnew":t.push(this.translate.get("CouldNotBeAddedValidationMessage_LC"));break;case"minError":case"minDate":var r=this.dateDisplayPipe.transform(n.minValue);t.push(this.translate.get("MinValueValidationMessage_LC",{minValue:r}));break;case"maxError":case"maxDate":r=this.dateDisplayPipe.transform(n.maxValue,!0);t.push(this.translate.get("MaxValueValidationMessage_LC",{maxValue:r}));break;case"dateRange":t.push(this.translate.get("DateRangeValidationMessage_LC"));break;case"password":t.push(this.translate.get("PasswordValidationMessage_LC"));break;case"textbox":t.push(this.getTextBoxValidationMessages(n));break;case"notUnique":t.push(this.translate.get("MustBeUnique_LC"));break;case"json":t.push(this.translate.get("JsonValidationMessage_SC"));break;case"passwordInvalid":t.push(this.translate.get("PasswordInvalidValidationMessage_LC"));break;case"domain":t.push(this.translate.get("DomainValidationMessage_SC"))}}if(t.length>0)return c.forkJoin(t).toPromise()}return Promise.resolve(new Array)},e.prototype.getNumericBoxValidationMessages=function(e){var t={},o="Integer";return e.decimals&&(t.precision=e.decimals,o="Decimal"),void 0!==e.min&&void 0!==e.max?(t.minValue=e.min,t.maxValue=e.max,this.translate.get(o+"BetweenValidationMessage_LC",t)):void 0!==e.min?(t.minValue=e.min,this.translate.get(o+"MinValidationMessage_LC",t)):void 0!==e.max?(t.maxValue=e.max,this.translate.get(o+"MaxValidationMessage_LC",t)):e.maxPrecisionDigits?(t.maxPrecisionDigits=e.maxPrecisionDigits,this.translate.get("MaxPrecisionDigitsValidationMessage_LC",t)):e.decimals?this.translate.get("DecimalValidationMessage_LC",t):this.translate.get("IncorrectFormat_LC")},e.prototype.getTextBoxValidationMessages=function(e){return e.unique?this.translate.get("TextboxRequiredAndUnique_LC",{minLength:e.minLength,maxLength:e.maxLength}):this.translate.get("TextboxRequired_LC",{minLength:e.minLength,maxLength:e.maxLength})},e}();O.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new O(r.ɵɵinject(s.TranslateService),r.ɵɵinject(P))},token:O,providedIn:"root"}),O.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],O.ctorParameters=function(){return[{type:s.TranslateService},{type:P}]};var A=function(){function e(){}return e.prototype.patchValueSafely=function(e,t){var o={};Object.keys(t).forEach((function(e){var n=t[e];null!=n&&(o[e]=n)})),e.patchValue(o)},e.prototype.getInputId=function(e){return e+"_input"},e.prototype.setRequiredFn=function(e,t,o){return void 0===t&&(t=[]),void 0===o&&(o=!1),function(n){var r=D(t);(n||!o&&0===n)&&r.push(i.Validators.required),r.length>0?e.setValidators(r):e.clearValidators(),e.updateValueAndValidity({emitEvent:!1})}},e}();A.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new A},token:A,providedIn:"root"}),A.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var V=function(){function e(e,t){this.validationMessageService=e,this.formGroupHelper=t,this.autofocus=!1,this.labelPosition="top",this.id="",this.pending=!1,this.required=!1,this.tabindex=0,this.validationErrors="",this.inputId="",this.componentDestroyed=new c.Subject}return e.prototype.ngOnChanges=function(e){e.readonly&&void 0!==e.readonly.currentValue&&(!0===e.readonly.currentValue?this.formModel.disable():!1===e.readonly.currentValue&&this.formModel.enable()),e.id&&void 0!==e.id.currentValue&&(this.inputId=this.formGroupHelper.getInputId(this.id))},e.prototype.ngOnInit=function(){var e=this;this.inputId=this.formGroupHelper.getInputId(this.id),this.formModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(t){e.translateValidationMessages(t)})),this.translateValidationMessages()},e.prototype.ngOnDestroy=function(){this.componentDestroyed.next(),this.componentDestroyed.unsubscribe()},e.prototype.translateValidationMessages=function(e){return C(this,void 0,void 0,(function(){var e,t;return S(this,(function(o){switch(o.label){case 0:return this.formModel?(e=this.formModel,this.validationErrors="",e.valid?[3,2]:[4,this.validationMessageService.getErrorMessages(e.errors)]):[2];case 1:(t=o.sent())&&(this.validationErrors=t.join("; ")),o.label=2;case 2:return[2]}}))}))},e}();V.decorators=[{type:r.Directive}],V.ctorParameters=function(){return[{type:O},{type:A}]},V.propDecorators={autofocus:[{type:r.Input}],formModel:[{type:r.Input}],label:[{type:r.Input}],labelPosition:[{type:r.Input}],id:[{type:r.Input}],pending:[{type:r.Input}],required:[{type:r.Input}],tabindex:[{type:r.Input}],readonly:[{type:r.Input}],tooltip:[{type:r.Input}]};var L=function(e){function t(t,o){var n=e.call(this,t,o)||this;return n.validationMessageService=t,n.formGroupHelper=o,n.name="",n.ignoreDisabledDependents=!0,n.indeterminate=!1,n.ignoreCall=!1,n.resetDependentSubscriptions=new c.Subject,n}return k(t,e),t.prototype.ngAfterViewInit=function(){this.autofocus&&this.inputElement.nativeElement.focus()},t.prototype.ngOnChanges=function(e){e.dependentCheckboxesGroup&&this.setupDependents()},t.prototype.dispatchEvent=function(e){"click"!==e.type||this.formModel.disabled||this.formModel.patchValue(!this.formModel.value)},t.prototype.setupDependents=function(){var e=this;if(this.dependentCheckboxesGroup){this.resetDependentSubscriptions.next();var t=Object.values(this.dependentCheckboxesGroup.controls);this.updateMasterState(t),this.formModel.valueChanges.pipe(d.distinctUntilChanged(),d.takeUntil(c.merge(this.componentDestroyed,this.resetDependentSubscriptions))).subscribe((function(o){e.ignoreCall||(e.ignoreCall=!0,t.forEach((function(t){t.disabled&&e.ignoreDisabledDependents||t.setValue(o)})),e.indeterminate=!1,e.ignoreCall=!1)})),t.forEach((function(o){o.valueChanges.pipe(d.distinctUntilChanged(),d.takeUntil(c.merge(e.componentDestroyed,e.resetDependentSubscriptions))).subscribe((function(o){!0===o||!1===o?e.ignoreCall||(e.ignoreCall=!0,e.updateMasterState(t),e.ignoreCall=!1):console.error("The value "+o+" is not true or false, which are the only supported values for FormControls in the dependentCheckboxesGroup")}))}))}},t.prototype.updateMasterState=function(e){var t=[],o=function(e){return!0===e.value};(t=this.ignoreDisabledDependents?e.filter((function(e){return e.enabled})):e).every(o)?(this.formModel.setValue(!0),this.indeterminate=!1):t.some(o)?(this.formModel.setValue(!1),this.indeterminate=!0):(this.formModel.setValue(!1),this.indeterminate=!1)},t}(V);L.decorators=[{type:r.Component,args:[{selector:"ec-checkbox",template:'<div class="control">\r\n <label class="checkbox"\r\n [ngClass]="{\'is-disabled\': formModel.disabled, \'no-label\': !label, \'is-readonly\': readonly}">\r\n <input id="{{id}}_input"\r\n #checkboxInput\r\n class=\'input\'\r\n [class.indeterminate]="indeterminate"\r\n [attr.id]="inputId"\r\n [attr.name]="name"\r\n type="checkbox"\r\n tabindex="{{tabindex}}"\r\n [formControl]="formModel"\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n <i class="ec-icon icon-check"></i>\r\n <span id="{{id}}_label"\r\n *ngIf="label"\r\n class="label"\r\n [innerHtml]="label | translate">\r\n </span>\r\n </label>\r\n</div>\r\n',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host(.w-auto){width:auto}.checkbox{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.checkbox.is-disabled{cursor:default}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.ec-icon{color:var(--ec-border-color)}.input:not(:checked)+.ec-icon:before{display:none}.input.indeterminate+.ec-icon,.input:indeterminate+.ec-icon{color:var(--ec-color-interactive)}.input.indeterminate+.ec-icon:before,.input:indeterminate+.ec-icon:before{background-color:currentColor;content:"";display:block;height:3px;width:10px}.input:focus+.ec-icon{box-shadow:0 0 0 .0625rem var(--ec-color-interactive);color:var(--ec-color-interactive)}.input:disabled+.ec-icon{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color)}.input:disabled+.ec-icon,.input:disabled~.label{color:var(--ec-color-secondary-dark);opacity:.65}.ec-icon{align-items:center;background-clip:padding-box;background-color:var(--ec-background-color);border:1px solid;border-radius:.125rem;color:var(--ec-color-interactive);display:inline-flex;flex:none;height:1em;justify-content:center;margin-top:.5rem;pointer-events:none;width:1em}.ec-icon:before{font-size:.6875em}.label{height:2rem;height:auto;line-height:1.25;margin-left:.5rem;min-height:2rem;padding:.375rem 0}.checkbox.is-readonly{pointer-events:none}.checkbox.is-readonly .input{opacity:0}.checkbox.is-readonly .ec-icon{background-color:rgba(26,26,35,.12);border:0}.checkbox.is-readonly .ec-icon,.checkbox.is-readonly .label{color:var(--ec-color-primary-dark);opacity:1}.no-label .icon-check,.no-label .input{margin-top:0}']}]}],L.ctorParameters=function(){return[{type:O},{type:A}]},L.propDecorators={name:[{type:r.Input}],dependentCheckboxesGroup:[{type:r.Input}],ignoreDisabledDependents:[{type:r.Input}],inputElement:[{type:r.ViewChild,args:["checkboxInput",{static:!0}]}]};var R=function(){function e(){this.expanded=!1,this.expandedChange=new r.EventEmitter}return e.prototype.onToggle=function(){this.expanded=!this.expanded,this.expandedChange.emit(this.expanded)},e}();R.decorators=[{type:r.Component,args:[{selector:"ec-collapsible-toggle",template:'<ec-button id="{{id}}_button" type="icon" icon="icon-angle-down {{expanded ? \'\' : \'rotate-270\'}}" tabindex="{{tabindex}}" (clicked)="onToggle()"></ec-button>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{align-items:center;display:inline-flex;height:1.5rem;justify-content:center;width:1.5rem}ec-button::ng-deep .ec-button-icon{height:1.25rem;width:1.25rem}"]}]}],R.propDecorators={id:[{type:r.Input}],expanded:[{type:r.Input}],tabindex:[{type:r.Input}],expandedChange:[{type:r.Output}]};var F=function(){function e(e,t,o,n){this.templateRef=e,this.viewContainer=t,this.document=o,this.renderer=n,this.popperStatusChange=new r.EventEmitter}return e.prototype.ngOnInit=function(){this.templateViewRef=this.viewContainer.createEmbeddedView(this.templateRef)},e.prototype.ngOnDestroy=function(){this.hide()},e.prototype.show=function(){var t=this;if(e.GlobalPopupRef&&e.GlobalPopupRef!=this&&(e.GlobalPopupRef.hide(),e.GlobalPopupRef=void 0),this.globalCloseSubscription||(this.globalCloseSubscription=c.fromEvent(this.document.body,"click").subscribe((function(e){t.hide()}))),!this.popperRef){this.popupViewRef=this.viewContainer.createEmbeddedView(this.popup);var o=this.popupViewRef.rootNodes.find((function(e){return"#text"!==e.nodeName}));this.popperRef=new f.default(this.templateViewRef.rootNodes[0],o,this.popperOptions),e.GlobalPopupRef=this,this.popperStatusChange.emit("visible")}},e.prototype.hide=function(){this.globalCloseSubscription&&(this.globalCloseSubscription.unsubscribe(),this.globalCloseSubscription=void 0),this.popperRef&&this.popupViewRef&&(this.popupViewRef.destroy(),this.popperRef.destroy(),this.popperRef=void 0,this.popperStatusChange.emit("hidden"))},e.prototype.update=function(){this.popperRef&&this.popperRef.update()},e.prototype.fixPosition=function(e,t){if(void 0===t&&(t=!1),this.popperRef&&this.popperRef.reference&&this.popperRef.popper){var o=this.popperRef.popper;if(this.renderer.removeStyle(o,"width"),this.renderer.setStyle(o,"position","fixed"),t){var n=this.document.querySelector("body");this.renderer.parentNode(o)!==n&&this.renderer.appendChild(n,o)}var r=this.popperRef.reference,i=o.offsetWidth,a=o.getBoundingClientRect(),s=a.left,l=r.getBoundingClientRect(),c=l.bottom;this.popperOptions&&this.popperOptions.placement&&(s="bottom-start"===this.popperOptions.placement||"top-start"===this.popperOptions.placement?l.left:l.right-(e||i>l.width?i:l.width)),a.height+c+10>window.innerHeight&&(c=l.top-a.height),this.renderer.setStyle(o,"transform","none"),this.renderer.setStyle(o,"left",s+"px"),this.renderer.setStyle(o,"top",c+"px"),this.renderer.setStyle(o,"width",i+"px"),e||this.renderer.setStyle(o,"min-width",l.width+"px")}},e}();F.GlobalPopupRef=void 0,F.decorators=[{type:r.Directive,args:[{selector:"[ecPopup]"}]}],F.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:void 0,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]},{type:r.Renderer2}]},F.propDecorators={popup:[{type:r.Input,args:["ecPopup"]}],popperOptions:[{type:r.Input,args:["options"]}]};var _=function(){function e(){}return e.prototype.scrollToItem=function(e,t,o){void 0===o&&(o=32);var n=document.querySelector(e);if(n){var r=n.querySelector(t);if(r){var i=r.getBoundingClientRect(),a=n.getBoundingClientRect();(i.bottom>a.bottom||i.top<a.top)&&(n.scrollTop=i.top-a.top+n.scrollTop-o)}}},e.prototype.getCurrentScrollPosition=function(e){var t=document.querySelector(e);return t?t.scrollTop:(console.error("Scroll container '"+e+"' does not exist."),0)},e.prototype.scrollToPosition=function(e,t){var o=document.querySelector(e);o?o.scrollTop=t:console.error("Scroll container '"+e+"' does not exist.")},e.prototype.scrollItemCentered=function(e,t){try{var o=document.querySelector(e);if(o){var n=o.getBoundingClientRect().height;this.scrollToItem(e,t,.5*n)}}catch(o){console.error("Error scrolling target into view. Container selector: "+e+". Target selector: "+t,o)}},e}();_.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new _},token:_,providedIn:"root"}),_.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],_.ctorParameters=function(){return[]};var N=function(e){function t(t,o,n,a){var s=e.call(this,t,o)||this;return s.validationMessageService=t,s.formGroupHelper=o,s.translate=n,s.scrollService=a,s.menuPosition="bottom_right",s.options=[],s.templateType="label",s.popupFixed=!0,s.upperCase=!1,s.placeholder="",s.hideToggleButton=!1,s.alwaysOpen=!1,s.menuElementClasses=[],s.textboxElementClasses=[],s.hideNoMatches=!1,s.noMatchesText="NoMatches_SC",s.addNewClick=new r.EventEmitter,s.search=new r.EventEmitter,s.filteredOptions=[],s.menuStatus="hidden",s.effectivePlaceholder="",s.selectedItem=null,s.textboxFormModel=new i.FormControl(""),s.addNewSelected=!1,s.foundMatch=!1,s.selectedItemIndex=-1,s.chooseOrAddPlaceholder="",s.choosePlaceholder="",s.hasDataBeenLoadedOnOpen=!1,s}return k(t,e),t.prototype.onResize=function(){this.popup&&this.popup.hide()},t.prototype.ngOnChanges=function(t){e.prototype.ngOnChanges.call(this,t),t.options&&(this.resetOptions(),this.popup&&this.popup.update()),(t.required||t.minlength||t.maxlength)&&this.setTextboxFormModelValidators(),(t.addNew&&!t.addNew.isFirstChange()||t.placeholder)&&this.updatePlaceholderText()},t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.alwaysOpen&&(this.hideToggleButton=!0,this.menuStatus="visible"),this.chooseOrAddPlaceholder=this.translate.instant("Choose or add")+"...",this.choosePlaceholder=""+this.translate.instant("Choose"),this.formModelChanged(this.formModel.value),this.setTextboxFormModelValidators(),this.formModel.valueChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(e){return t.formModelChanged(e)})),this.textboxFormModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(e){return t.setFormModelValidationErrors(e)})),this.updatePlaceholderText()},t.prototype.ngAfterViewInit=function(){var e=this;if(this.popup){var t={modifiers:{preventOverflow:{boundariesElement:"viewport"}}};switch(this.menuPosition){case"top_left":t.placement="top-start";break;case"top_right":t.placement="top-end";break;case"bottom_left":t.placement="bottom-start";break;case"bottom_right":t.placement="bottom-end";break;default:throw new Error("Invalid menuPosition for ComboboxComponent.")}t.onCreate=function(){e.scrollMenu(),e.popupFixed&&e.popup.fixPosition()},this.popupFixed&&(t.onUpdate=function(){e.popup.fixPosition()}),this.popup.popperOptions=t,this.popup.popperStatusChange.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(t){e.menuStatus=t,"hidden"===t&&(e.syncModelValues(),e.resetOptions())}))}},t.prototype.setErrors=function(e){this.textboxFormModel.setErrors(e),this.formModel.markAsTouched()},t.prototype.resetOptions=function(e){this.filteredOptions=e||this.options,""!==this.textboxFormModel.value?(this.selectedItemIndex=this.findDefaultSelectionIndex(this.filteredOptions,this.textboxFormModel.value),this.selectedItem=this.filteredOptions[this.selectedItemIndex]||null,this.scrollMenu(this.selectedItemIndex)):this.clearSelectedItem()},t.prototype.selectedChanged=function(e){this.setFormModelValue(e),this.toggleMenu()},t.prototype.toggleMenu=function(e){var t=this;this.popup&&(e&&e.stopPropagation(),this.formModel.disabled||("visible"===this.menuStatus?this.popup.hide():this.loadOnOpenObservable&&!this.hasDataBeenLoadedOnOpen?(this.pending=!0,this.loadOnOpenObservable.pipe(d.take(1)).subscribe((function(e){t.hasDataBeenLoadedOnOpen=!0,t.pending=!1,t.options=e,t.resetOptions(),t.popup.show()}))):this.popup.show()))},t.prototype.onBlur=function(){this.formModel.markAsTouched()},t.prototype.keyNavigate=function(e){switch(e.key){case"ArrowDown":case"Down":case"ArrowUp":case"Up":e.stopPropagation(),e.preventDefault(),this.onArrowDownUp(e);break;case"Backspace":case"Delete":case"Del":"hidden"===this.menuStatus&&this.toggleMenu();break;case"Tab":"visible"===this.menuStatus&&(this.addNewSelected&&e.preventDefault(),this.commitSelection(e));break;case"Enter":e.preventDefault(),"visible"===this.menuStatus&&this.commitSelection(e);break;case"Escape":case"Esc":"visible"===this.menuStatus&&(e.preventDefault(),this.toggleMenu());break;case" ":case"Spacebar":"hidden"===this.menuStatus&&(e.preventDefault(),this.toggleMenu());break;default:"hidden"===this.menuStatus&&"Shift"!==e.key&&this.toggleMenu()}},t.prototype.addNewItem=function(e){return C(this,void 0,void 0,(function(){return S(this,(function(t){switch(t.label){case 0:this.pending=!0,t.label=1;case 1:return t.trys.push([1,3,,4]),[4,e()];case 2:return t.sent(),[3,4];case 3:return t.sent(),this.setErrors({addnew:!0}),[3,4];case 4:return this.pending=!1,this.toggleMenu(),[2]}}))}))},t.prototype.commitSelection=function(e){this.addNewSelected?(e.stopPropagation(),this.onAddNew(e)):(this.setFormModelValue(this.selectedItem),this.toggleMenu())},t.prototype.onAddNew=function(e){e.stopPropagation(),this.addNewSelected=!1,this.addNewClick.emit(this.textboxFormModel.value)},t.prototype.onArrowDownUp=function(e){switch(e.key){case"ArrowDown":case"Down":-1!==this.selectedItemIndex||!this.addNewButton||this.addNewButton.nativeElement.hidden||this.addNewSelected?this.selectedItemIndex<this.filteredOptions.length-1&&(this.addNewSelected&&(this.addNewSelected=!1),this.selectedItemIndex==this.filteredOptions.length-2&&"heading"===this.filteredOptions[this.selectedItemIndex+1].display||(this.selectedItemIndex++,this.selectedItemIndex<this.filteredOptions.length-1&&"heading"===this.filteredOptions[this.selectedItemIndex].display&&this.selectedItemIndex++)):this.addNewSelected=!0;break;case"ArrowUp":case"Up":-1===this.selectedItemIndex&&this.addNewButton&&!this.addNewButton.nativeElement.hidden&&this.addNewSelected?this.addNewSelected=!1:this.selectedItemIndex>-1&&(0===this.selectedItemIndex&&this.addNewButton&&!this.addNewButton.nativeElement.hidden&&(this.addNewSelected=!0),this.selectedItemIndex--,this.selectedItemIndex>-1&&"heading"===this.filteredOptions[this.selectedItemIndex].display&&(this.selectedItemIndex--,-1==this.selectedItemIndex&&(this.addNewButton&&!this.addNewButton.nativeElement.hidden?this.addNewSelected=!0:this.selectedItemIndex=1)));break;default:return}this.selectedItem=this.filteredOptions[this.selectedItemIndex],"hidden"===this.menuStatus?this.setFormModelValue(this.selectedItem):this.scrollMenu()},t.prototype.filterOptionsArray=function(e){var t=e.toLowerCase();return e&&""!==e?this.options.filter((function(e){return e.label.toLowerCase().indexOf(t)>=0})):this.options},t.prototype.findSelectedItemIndex=function(e){var t=e||this.selectedItem;return t?this.filteredOptions.findIndex((function(e){return e.id&&t.id?e.label===t.label&&e.id===t.id:e.label===t.label})):-1},t.prototype.formModelChanged=function(e){this.synchronizeDisabledAttributes(),e?(this.textboxFormModel.setValue(e.label),this.selectedItemIndex=this.findSelectedItemIndex(e),this.selectedItemIndex>=0&&(this.selectedItem=this.filteredOptions[this.selectedItemIndex])):(this.textboxFormModel.reset(),this.clearSelectedItem())},t.prototype.scrollMenu=function(e){var t=this;if(this.filteredOptions.length>0)if(this.selectedItemIndex=void 0===e?this.findSelectedItemIndex():e,this.selectedItemIndex>-1&&this.selectedItem){var o=this.selectedItem.id?"#"+this.selectedItem.id:"#"+this.id+"_menu_item"+this.selectedItemIndex;setTimeout((function(){t.scrollService.scrollItemCentered("#"+t.id+"_menu_list",o)}),0)}else this.selectedItem=null},t.prototype.searchAndFilter=function(e){this.search.emit(e),0===this.search.observers.length&&void 0!==e&&(this.resetOptions(this.filterOptionsArray(e)),this.addNewSelected&&!this.addNewButton&&(this.addNewSelected=!1))},t.prototype.setFormModelValidationErrors=function(e){this.textboxFormModel.invalid?this.formModel.setErrors(this.textboxFormModel.errors):this.formModel.setErrors(null)},t.prototype.setFormModelValue=function(e){this.textboxFormModel.setValue(e?e.label:""),this.formModel.setValue(e)},t.prototype.setTextboxFormModelValidators=function(){var e=[];this.required&&e.push(i.Validators.required),this.minlength&&e.push(i.Validators.minLength(this.minlength)),this.maxlength&&e.push(i.Validators.maxLength(this.maxlength)),this.textboxFormModel.setValidators(e),this.textboxFormModel.updateValueAndValidity()},t.prototype.synchronizeDisabledAttributes=function(){this.formModel.disabled!==this.textboxFormModel.disabled&&(this.formModel.disabled?this.textboxFormModel.disable():this.textboxFormModel.enable())},t.prototype.syncModelValues=function(){this.formModel.value&&this.formModel.value.label!==this.textboxFormModel.value?this.textboxFormModel.setValue(this.formModel.value.label):this.formModel.value||this.textboxFormModel.setValue("")},t.prototype.textboxValueChanged=function(e){var t=this;if(this.searchAndFilter(this.textboxFormModel.value),""===this.textboxFormModel.value&&this.clearSelectedItem(),this.addNew){var o=this.filteredOptions.find((function(e){return e.label.toLowerCase()===t.textboxFormModel.value.toLowerCase()}));this.foundMatch=!!o}this.popup&&this.popup.update()},t.prototype.clearSelectedItem=function(){this.selectedItem=null,this.selectedItemIndex=-1},t.prototype.updatePlaceholderText=function(){this.placeholder?this.effectivePlaceholder=this.translate.instant(this.placeholder):this.addNew?this.effectivePlaceholder=this.chooseOrAddPlaceholder:this.effectivePlaceholder=this.choosePlaceholder},t.prototype.findDefaultSelectionIndex=function(e,t){var o=-1;if(e&&e.length&&(o=e.findIndex((function(e){return null!=e&&"heading"!==e.display})),t)){t=t.toLowerCase().trim();var n=e.findIndex((function(e){return e.label.toLowerCase()==t&&"heading"!==e.display}));n>=0&&(o=n)}return o},t}(V);N.decorators=[{type:r.Component,args:[{selector:"ec-combobox",template:'<div class="control control-label-{{labelPosition}}"\r\n [ngClass]="{\'open\': menuStatus === \'visible\',\r\n \'invalid\': formModel.touched && formModel.invalid,\r\n \'has-icon\': (templateType === \'iconAndLabel\' && formModel.value && formModel.value.icon && formModel.value.label === textboxFormModel.value),\r\n \'is-readonly\': readonly,\r\n \'is-disabled\': formModel.disabled,\r\n \'is-always-open\': alwaysOpen}">\r\n\r\n <label *ngIf="label" ngPreserveWhitespaces>\r\n <span>{{label | translate}}</span>\r\n <span *ngIf="validationErrors.length > 0 && formModel.touched && formModel.invalid">{{validationErrors}}</span>\r\n </label>\r\n\r\n <ng-container *ngIf="alwaysOpen; else popupTarget">\r\n <div class="textbox-group control-input" [ngClass]="textboxElementClasses">\r\n <ng-container *ngTemplateOutlet="textbox"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf="filteredOptions.length > 0 || textboxFormModel.value">\r\n <ng-container *ngTemplateOutlet="dropdownmenu"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #popupTarget>\r\n <div class="textbox-group control-input" [ngClass]="textboxElementClasses" *ecPopup="dropdownmenu">\r\n <ng-container *ngTemplateOutlet="textbox"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #textbox>\r\n <i class="ec-icon {{formModel.value?.icon}}"></i>\r\n\r\n <ec-textbox class="textbox-group-input mb-0"\r\n #textbox\r\n [id]="id"\r\n [autofocus]="autofocus"\r\n [formModel]="textboxFormModel"\r\n [maxlength]="maxlength"\r\n [minlength]="minlength"\r\n [placeholder]="effectivePlaceholder"\r\n [required]="required"\r\n [tabindex]="tabindex"\r\n [readonly]="readonly"\r\n (input)="textboxValueChanged($event)"\r\n (keydown)="keyNavigate($event)"\r\n (focusout)="onBlur()"\r\n [upperCase]="upperCase"\r\n [pending]="pending && alwaysOpen"\r\n [autocomplete]="\'off\'"></ec-textbox>\r\n\r\n <ec-button class="textbox-group-btn-right"\r\n *ngIf="!hideToggleButton"\r\n [id]="id + \'_button\'"\r\n [disabled]="formModel.disabled"\r\n icon="icon-caret-down"\r\n [tabindex]="-1"\r\n type="secondary"\r\n (click)="toggleMenu($event)"\r\n (keydown)="keyNavigate($event)"></ec-button>\r\n</ng-template>\r\n\r\n<ng-template #dropdownmenu>\r\n <div class="popup"\r\n ecOverlay\r\n [status]="pending && !alwaysOpen ? \'pending\' : \'hasData\'">\r\n\r\n <button class="add-new"\r\n id="{{id}}_addNew"\r\n #addNewButton\r\n [class.is-selected]="addNewSelected"\r\n *ngIf="addNew"\r\n [hidden]="foundMatch || (addNew === \'dynamic\' && (!textboxFormModel.value || (formModel.value && textboxFormModel.value === formModel.value.label)))"\r\n\r\n (click)="onAddNew($event)">\r\n <span class="add-new-label ec-util-truncate">\r\n <span *ngIf="addNew === \'static\' || addNew === true" translate>Add new...</span>\r\n <span *ngIf="addNew === \'dynamic\'">{{\'Add\' | translate}} <strong class="ec-util-truncate" [ngClass]="{\'text-uppercase\': upperCase}">{{textboxFormModel.value}}</strong></span>\r\n </span>\r\n <i class="ec-icon icon-add"></i>\r\n </button>\r\n\r\n <ec-menu id="{{id}}_menu"\r\n [class.border-top-0]="!filteredOptions.length && hideNoMatches"\r\n [ngClass]="menuElementClasses"\r\n [templateType]="templateType"\r\n [customMenuTemplate]="customMenuTemplate"\r\n [showNoItems]="!hideNoMatches"\r\n [noDataText]="noMatchesText"\r\n [items]="filteredOptions"\r\n [selected]="selectedItem"\r\n (selectedChanged)="selectedChanged($event)"></ec-menu>\r\n\r\n <footer *ngIf="totalRecords && totalRecords > filteredOptions.length && filteredOptions.length > 0">\r\n <span>{{filteredOptions.length}} {{\'of\' | translate}} {{totalRecords}}</span>\r\n </footer>\r\n </div>\r\n</ng-template>\r\n',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}.control{position:relative}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;border-color:var(--ec-border-color-legacy);padding-left:1.5rem}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}.control .textbox-group .ec-icon{display:none;left:.5rem;position:absolute;top:.5rem;z-index:2}.control.has-icon:not(.invalid) .ec-icon{display:inline-flex}.control.has-icon:not(.invalid) ec-textbox ::ng-deep input{padding-left:1.75rem}.control.is-disabled .ec-icon{filter:grayscale(100%);opacity:.65}.control.is-readonly ec-textbox ::ng-deep input{border-bottom-right-radius:var(--ec-border-radius);border-right-width:.0625rem;border-top-right-radius:var(--ec-border-radius)}.control.is-readonly ec-button{display:none}.control.is-always-open{height:100%}.control.is-always-open .textbox-group,.control.is-always-open label{margin-left:1rem;margin-right:1rem}.control.is-always-open .textbox-group{margin-bottom:1rem}.control.is-always-open .popup{background-color:transparent;border:0;box-shadow:none;flex:1 1;margin:0;min-height:0;z-index:0}.control.is-always-open ec-menu{border-top:1px solid var(--ec-border-color)}.control.is-always-open ec-menu ::ng-deep ul{max-height:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.popup{background-color:var(--ec-background-color);border-radius:var(--ec-border-radius-card);box-shadow:var(--ec-box-shadow-overlay);margin-top:.25rem;overflow:hidden;z-index:var(--ec-z-index-popup)}ec-menu{display:block}ec-menu:not(:first-child){border-top:1px solid var(--ec-border-color)}ec-menu ::ng-deep ul{max-height:30vh}ec-menu ::ng-deep ul li{white-space:nowrap}.add-new{align-items:center;background-color:var(--ec-background-color);border:0;cursor:pointer;display:flex;height:2rem;line-height:1.25;padding:.25rem .5rem;width:100%}.add-new.is-highlighted,.add-new.is-selected{background-color:#d9edf2}.add-new:focus{background-color:var(--ec-color-disabled-dark);outline:none;position:relative;z-index:1}.add-new:active{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}.add-new.is-disabled,.add-new:disabled{color:var(--ec-color-secondary-dark);cursor:default;opacity:.65}.add-new .label{align-items:center;display:flex;flex:auto}.add-new .ec-icon+.label{margin:0 .375rem}.add-new.is-selected,.add-new:hover:not(:active){background-color:#bfe0e9}.add-new:active .ec-icon{color:inherit}.add-new-label{flex:1 1;margin-right:.5rem;text-align:left}.add-new .ec-icon{flex:0 0 auto}footer{border-top:1px solid var(--ec-border-color);color:var(--ec-color-hint-dark);font-size:var(--ec-font-size-label);line-height:1;padding:.5rem;text-align:right}ec-button ::ng-deep button .ec-icon{background-position:50%;background-size:1em}.open:not(.is-always-open) .textbox-group ec-textbox ::ng-deep input{border-color:var(--ec-border-color-legacy);box-shadow:none}.open:not(.is-always-open) .textbox-group ec-button ::ng-deep button{background-color:var(--ec-background-color-hover);box-shadow:none}']}]}],N.ctorParameters=function(){return[{type:O},{type:A},{type:s.TranslateService},{type:_}]},N.propDecorators={onResize:[{type:r.HostListener,args:["window:resize"]}],addNew:[{type:r.Input}],maxlength:[{type:r.Input}],menuPosition:[{type:r.Input}],minlength:[{type:r.Input}],options:[{type:r.Input}],templateType:[{type:r.Input}],customMenuTemplate:[{type:r.Input}],popupFixed:[{type:r.Input}],totalRecords:[{type:r.Input}],upperCase:[{type:r.Input}],placeholder:[{type:r.Input}],loadOnOpenObservable:[{type:r.Input}],hideToggleButton:[{type:r.Input}],alwaysOpen:[{type:r.Input}],menuElementClasses:[{type:r.Input}],textboxElementClasses:[{type:r.Input}],hideNoMatches:[{type:r.Input}],noMatchesText:[{type:r.Input}],addNewClick:[{type:r.Output}],search:[{type:r.Output}],textbox:[{type:r.ViewChild,args:["textbox"]}],popup:[{type:r.ViewChild,args:[F]}],addNewButton:[{type:r.ViewChild,args:["addNewButton"]}]};var B=function(){function e(e,t){this.router=e,this.activatedRoute=t,this._hasUnsavedChanges=!1,this.beforeUnloadFunction=function(e){e.preventDefault(),e.returnValue=""},window&&(this.resized=c.fromEvent(window,"resize"))}return Object.defineProperty(e.prototype,"hasUnsavedChanges",{get:function(){return this._hasUnsavedChanges},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"innerWidth",{get:function(){return window?window.innerWidth:void 0},enumerable:!1,configurable:!0}),e.prototype.goBack=function(){window.history.back()},e.prototype.getHistoryLength=function(){var e;return(null===(e=null===window||void 0===window?void 0:window.history)||void 0===e?void 0:e.length)||0},e.prototype.navigateToUrl=function(e){return C(this,void 0,void 0,(function(){return S(this,(function(t){switch(t.label){case 0:return t.trys.push([0,5,,6]),0!==e.indexOf("/app/")?[3,2]:[4,this.router.navigateByUrl(e.substring(5))];case 1:return t.sent(),[3,4];case 2:return[4,this.router.navigateByUrl(e)];case 3:t.sent(),t.label=4;case 4:return[3,6];case 5:return t.sent(),window.location.href=e,[3,6];case 6:return[2]}}))}))},e.prototype.addNavigateAwayPrompt=function(){this._hasUnsavedChanges=!0,window.addEventListener("beforeunload",this.beforeUnloadFunction)},e.prototype.removeNavigateAwayPrompt=function(){this._hasUnsavedChanges=!1,window.removeEventListener("beforeunload",this.beforeUnloadFunction)},e.prototype.postMessage=function(e,t,o){e.postMessage(t,o)},e.prototype.openNew=function(e){window.open(e,"_blank")},e.prototype.modifyHistoryQueryParamsSubset=function(e){return C(this,void 0,void 0,(function(){return S(this,(function(t){return[2,this.router.navigate([],{relativeTo:this.activatedRoute,replaceUrl:!0,queryParams:e,queryParamsHandling:"merge"})]}))}))},e.prototype.confirm=function(e){return Promise.resolve(confirm(e))},e.prototype.closeWindow=function(e){e?e.close():window.close()},e.prototype.getLocation=function(){return window.location.pathname+window.location.hash},e.prototype.getFullUrl=function(){return window.location.href},e.prototype.reloadWindow=function(){window.location.reload()},e}();B.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new B(r.ɵɵinject(a.Router),r.ɵɵinject(a.ActivatedRoute))},token:B,providedIn:"root"}),B.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],B.ctorParameters=function(){return[{type:a.Router},{type:a.ActivatedRoute}]};var H=function(){function e(e,t,o,n){this.el=e,this.renderer=t,this.windowService=o,this.scrollService=n,this.items=[],this.selected=null,this.templateType="label",this.showNoItems=!1,this.noDataText="NoItems_TC",this.enableKeyNav=!1,this.highlightedItem=null,this.maintainSelectedItem=!0,this.truncateItems=!1,this.preserveIconSpace=!1,this.selectedChanged=new r.EventEmitter,this.menuClosed=new r.EventEmitter,this.highlightedItemIndex=-1,this.lastSelected=null}return e.prototype.ngAfterContentInit=function(){var e=this;switch(this.templateType){case"label":case"iconAndLabel":this.internalizedTemplate=this.iconAndLabelTemplate;break;case"checkAndLabel":this.internalizedTemplate=this.checkAndLabelTemplate;break;default:throw new Error("Invalid templateType for MenuComponent. Please use either: 'label', 'iconAndLabel' or 'checkAndLabel'")}this.customMenuTemplate&&(this.internalizedTemplate=this.customMenuTemplate),this.id&&(this.attrId=this.id),this.setItemIds(),this.highlightedItem&&this.items.length&&(this.highlightedItemIndex=this.items.findIndex((function(t){return e.highlightedItem===t}))),this.addKeydownListener()},e.prototype.ngOnDestroy=function(){this.removeKeydownListener&&this.removeKeydownListener()},e.prototype.selectItem=function(e,t,o){var n;e.stopPropagation(),t.disabled||t.readonly||this.lastSelected===t||(t.url?o||"LI"===(null===(n=e.target)||void 0===n?void 0:n.tagName)?(t.target?window.open(t.url,t.target):this.windowService.navigateToUrl(t.url),this.onSelection(t)):this.onSelection(t):(t.onClick&&t.onClick(t,!1),t.items?this.toggleChildMenu(!0):this.onSelection(t)),this.maintainSelectedItem?(this.selected=t,this.lastSelected=t):(this.selected=null,this.lastSelected=null))},e.prototype.back=function(e){e.stopPropagation(),this.parent&&this.parent.onClick&&this.parent.onClick(null,!0),this.menuClosed.emit()},e.prototype.onSelection=function(e){"heading"!==e.display&&this.selectedChanged.emit(e)},e.prototype.toggleChildMenu=function(e){var t=this,o=this.el.nativeElement.querySelector("nav");if(e){this.removeKeydownListener&&this.removeKeydownListener();var n=o.offsetHeight,r=o.offsetWidth;this.renderer.setStyle(o,"height",n+"px"),this.renderer.setStyle(o,"width",r+"px"),this.renderer.addClass(this.el.nativeElement,"open"),setTimeout((function(){t.renderer.addClass(t.el.nativeElement,"open-active")}))}else this.addKeydownListener(),this.renderer.removeClass(this.el.nativeElement,"open-active"),setTimeout((function(){t.renderer.removeClass(t.el.nativeElement,"open"),t.renderer.setStyle(o,"height","100%"),t.selected=null}),350)},e.prototype.keyNavigate=function(e){if(this.enableKeyNav)switch(e.key){case"ArrowUp":case"Up":case"ArrowDown":case"Down":e.stopPropagation(),e.preventDefault(),this.moveHighlightedUpOrDown(e);break;case"ArrowRight":case"Right":e.stopPropagation(),e.preventDefault(),this.highlightedItem&&this.highlightedItem.items&&this.selectItem(e,this.highlightedItem,!0);break;case"ArrowLeft":case"Left":e.stopPropagation(),e.preventDefault(),this.parent&&this.back(e);break;case" ":case"Spacebar":case"Enter":e.preventDefault(),this.highlightedItemIndex>-1&&this.highlightedItem?this.selectItem(e,this.highlightedItem,!0):-1===this.highlightedItemIndex&&this.parent&&this.back(e);break;default:return}},e.prototype.scrollToSelectedItem=function(){var e=this;window.setTimeout((function(){e.scrollService.scrollToItem("#"+e.id+"_list","li.is-selected")}))},e.prototype.moveHighlightedUpOrDown=function(e){switch(e.key){case"ArrowUp":case"Up":this.highlightedItemIndex>-1&&(this.highlightedItemIndex--,this.highlightedItemIndex>-1&&"heading"===this.items[this.highlightedItemIndex].display&&this.highlightedItemIndex--);break;case"ArrowDown":case"Down":this.highlightedItemIndex<this.items.length-1&&(this.highlightedItemIndex++,this.highlightedItemIndex<this.items.length-1&&"heading"===this.items[this.highlightedItemIndex].display&&this.highlightedItemIndex++);break;default:return}this.highlightedItemIndex>-1?this.highlightedItem=this.items[this.highlightedItemIndex]:this.highlightedItem=null,this.scrollToHighlightedItem()},e.prototype.scrollMenu=function(e){if(this.items.length>0){e=e||this.items[0];var t=this.findItemIndex(e);if(this.id){var o=e.id?"#"+e.id:"#"+this.id+"_item"+t;this.scrollService.scrollItemCentered("#"+this.id+"_list",o)}}},e.prototype.scrollToHighlightedItem=function(){this.scrollMenu(this.highlightedItem)},e.prototype.findItemIndex=function(e){return e?this.items.findIndex((function(t){return t.label===e.label})):-1},e.prototype.addKeydownListener=function(){var e=this;this.enableKeyNav&&(this.removeKeydownListener=this.renderer.listen("document","keydown",(function(t){return e.keyNavigate(t)})))},e.prototype.setItemIds=function(){var e=this;this.items&&this.items.forEach((function(t,o){t.id=t.id?t.id:e.id+"_item"+o}))},e}();H.decorators=[{type:r.Component,args:[{selector:"ec-menu",template:'<nav>\r\n <div class="parent"\r\n [class.no-data]="showNoItems && (!items || items.length === 0)">\r\n <header id="{{id}}_header"\r\n class="text-heading-3 p-1"\r\n [class.is-selected]="highlightedItemIndex === -1"\r\n *ngIf="parent"\r\n (click)="back($event)">\r\n <div class="item-wrapper">\r\n <i class="ec-icon icon-angle-down rotate-90 flex-shrink"></i>\r\n <span class="label text-truncate flex-grow">{{parent?.label}}</span>\r\n </div>\r\n </header>\r\n\r\n <ul id="{{id}}_list" class="py-1">\r\n <li *ngFor="let item of items; index as i"\r\n id="{{item.id || id + \'_item\' + i}}"\r\n class="{{item.display || \'item\'}} {{item.classList}}"\r\n [attr.disabled]="item.disabled"\r\n [hidden]="item.hidden"\r\n ecNavItemActive="is-selected"\r\n [ecNavItemActiveQueryParams]="item.queryParams"\r\n [ecNavItemActiveUrl]="item.url"\r\n [ecNavItemActiveExactMatch]=\'item.isActiveExactMatch\'\r\n (routerLinkActivated)="selectItem($event, item)"\r\n [ngClass]="{\'is-highlighted\':(selected === item && item?.display !== \'heading\') || highlightedItem === item, \'is-link\': item.url, \'is-disabled\': item.disabled, \'is-readonly\': item.readonly, \'is-checked\': item.checked, \'text-heading-3\': item?.display === \'heading\'}"\r\n (click)="selectItem($event, item)">\r\n\r\n <a *ngIf="item.url && !item.externalLink"\r\n id="{{item.id}}_link"\r\n title="{{truncateItems ? item.label : \'\'}}"\r\n class="item-wrapper"\r\n [routerLink]="item.url"\r\n [queryParams]="item.queryParams || null"\r\n target="{{item.target || \'_self\'}}">\r\n\r\n <ng-container *ngTemplateOutlet="internalizedTemplate; context: {$implicit: item}"></ng-container>\r\n </a>\r\n\r\n <a *ngIf="item.url && item.externalLink"\r\n id="{{item.id}}_link"\r\n title="{{truncateItems ? item.label : \'\'}}"\r\n class="item-wrapper"\r\n href="{{item.url}}"\r\n target="{{item.target || \'_self\'}}">\r\n\r\n <ng-container *ngTemplateOutlet="internalizedTemplate; context: {$implicit: item}"></ng-container>\r\n </a>\r\n\r\n <div *ngIf="!item.url"\r\n title="{{truncateItems ? item.label : \'\'}}"\r\n class="item-wrapper">\r\n <ng-container *ngTemplateOutlet="internalizedTemplate; context: {$implicit: item}"></ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n <p class="no-data-message">{{noDataText | translate}}</p>\r\n </div>\r\n\r\n \x3c!-- Child menu (Rendered to the right) --\x3e\r\n <ec-menu *ngIf="selected?.items"\r\n id="{{id}}_child"\r\n class="child"\r\n [parent]="selected"\r\n [items]="selected?.items"\r\n [showNoItems]="true"\r\n [templateType]="templateType"\r\n [enableKeyNav]="true"\r\n [truncateItems]="truncateItems"\r\n (selectedChanged)="onSelection($event)"\r\n (menuClosed)="toggleChildMenu(false)">\r\n </ec-menu>\r\n</nav>\r\n\r\n\x3c!-- \'label\' Item Template --\x3e\r\n<ng-template #label\r\n let-item>\r\n <span id="{{item.id}}_label"\r\n class="label"\r\n [class.text-truncate]="truncateItems">{{item.label}}</span>\r\n\r\n <i class="ec-icon icon-angle-down rotate-270" *ngIf="item?.items"></i>\r\n</ng-template>\r\n\r\n\x3c!-- \'checkAndLabel\' Item Template --\x3e\r\n<ng-template #checkAndLabel\r\n let-item>\r\n\r\n <i class="ec-icon icon-check ec-icon-sm" *ngIf="item.display !== \'heading\'"></i>\r\n\r\n <i class="ec-icon {{item.icon}} ml-2" *ngIf="item.icon"></i>\r\n\r\n <span id="{{item.id}}_label"\r\n class="label"\r\n [class.text-truncate]="truncateItems">{{item.label}}</span>\r\n\r\n <i class="ec-icon icon-angle-down rotate-270" *ngIf="item?.items"></i>\r\n</ng-template>\r\n\r\n\x3c!-- \'iconAndLabel\' Item Template --\x3e\r\n<ng-template #iconAndLabel\r\n let-item>\r\n \x3c!-- If menuItem.icon exists and is not blank, show the icon in the menu --\x3e\r\n <i class="ec-icon {{item.icon}}" *ngIf="(item.icon && item.icon !== \'\') || preserveIconSpace"></i>\r\n\r\n <span id="{{item.id}}_label"\r\n class="label"\r\n [class.text-truncate]="truncateItems">{{item.label}}</span>\r\n\r\n <i class="ec-icon icon-angle-down rotate-270" *ngIf="item?.items"></i>\r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background-color:var(--ec-background-color);display:block;font-size:var(--ec-font-size-action);font-weight:400}:host.open>nav>.child,:host.open>nav>.parent{height:100%;left:0;position:absolute;right:0;top:0;transition:transform .25s ease}:host.open>nav>.parent{transform:translateX(0)}:host.open>nav>.child{transform:translateX(100%)}:host.open-active>nav>.parent{transform:translateX(-100%)}:host.open-active>nav>.child{transform:translateX(0)}:host(.bg-transparent){background-color:transparent}:host-context(.is-always-open){height:100%}:host-context(.is-always-open) .item-wrapper{padding-left:1rem;padding-right:1rem}nav{height:100%;overflow:hidden}.parent,nav{display:flex;position:relative}.parent{flex:auto;flex-direction:column;max-width:100%}.parent>header{cursor:pointer}.parent>header.is-highlighted .item-wrapper,.parent>header.is-selected .item-wrapper{background-color:#d9edf2}.parent>header:hover .item-wrapper{background-color:#bfe0e9}.parent.no-data ul{display:none}.parent.no-data .no-data-message{display:block}ul{flex:auto;height:100%;list-style:none;margin:0;overflow-y:auto;padding:0}ul li{cursor:pointer;padding:0 .25rem}ul li a{border-bottom:0;color:inherit;text-decoration:none}ul li.is-highlighted .item-wrapper,ul li.is-selected .item-wrapper{background-color:#d9edf2}ul li:hover .item-wrapper{background-color:#bfe0e9}ul li:focus .item-wrapper{background-color:var(--ec-color-disabled-dark);outline:none;position:relative;z-index:1}ul li.is-disabled .item-wrapper{color:var(--ec-color-secondary-dark);opacity:.65}ul li.is-disabled,ul li.is-readonly{cursor:default}ul li.is-disabled .item-wrapper,ul li.is-readonly .item-wrapper{background-color:transparent;color:inherit}ul li.is-checked .icon-check{opacity:1}ul li.heading{cursor:default}ul li.heading .item-wrapper{background-color:transparent}ul li.heading:not(:first-child){margin-top:.5rem}ul li.divider{border-bottom:1px solid var(--ec-border-color);margin-bottom:.25rem;padding-bottom:.25rem}ul li.indent-1 .item-wrapper{padding-left:1.5rem}ul li.indent-2 .item-wrapper{padding-left:2.5rem}ul li.indent-3 .item-wrapper{padding-left:3.5rem}.item-wrapper{border-radius:var(--ec-border-radius);color:inherit;cursor:inherit;display:flex;line-height:1.25rem;min-height:1.75rem;padding:.25rem .5rem}.item-wrapper .label{margin-right:auto}.item-wrapper .label+.ec-icon{margin-left:.5rem}.item-wrapper .ec-icon{flex:none;margin-top:.125rem}.item-wrapper .ec-icon+.label{margin-left:.5rem}.item-wrapper .ec-icon-sm{margin-top:.25rem}.item-wrapper .icon-check{opacity:0}.no-data-message{color:var(--ec-color-hint-dark);display:none;font-size:var(--ec-font-size-body);margin-bottom:0;padding:1rem;text-align:center}:host-context(ec-tree) ul{overflow-x:hidden}:host-context(ec-tree) li.is-highlighted,:host-context(ec-tree) li.is-selected{font-weight:700}:host-context(ec-tree) li.is-highlighted:not(:hover),:host-context(ec-tree) li.is-selected:not(:hover){background-color:transparent}"]}]}],H.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:B},{type:_}]},H.propDecorators={id:[{type:r.Input}],attrId:[{type:r.HostBinding,args:["attr.id"]}],items:[{type:r.Input}],selected:[{type:r.Input}],parent:[{type:r.Input}],templateType:[{type:r.Input}],customMenuTemplate:[{type:r.Input}],title:[{type:r.Input}],showNoItems:[{type:r.Input}],noDataText:[{type:r.Input}],enableKeyNav:[{type:r.Input}],highlightedItem:[{type:r.Input}],maintainSelectedItem:[{type:r.Input}],truncateItems:[{type:r.Input}],preserveIconSpace:[{type:r.Input}],selectedChanged:[{type:r.Output}],menuClosed:[{type:r.Output}],labelTemplate:[{type:r.ViewChild,args:["label",{static:!0}]}],iconAndLabelTemplate:[{type:r.ViewChild,args:["iconAndLabel",{static:!0}]}],checkAndLabelTemplate:[{type:r.ViewChild,args:["checkAndLabel",{static:!0}]}]};var j=function(){function e(){this.autofocus=!1,this.status={status:"hasData",message:""},this.disabled=!1,this.buttonType="icon",this.buttonTitle="",this.showArrow=!0,this.items=[],this.menuTemplateType="label",this.popupFixed=!1,this.pending=!1,this.itemSelected=new r.EventEmitter,this.popupOpened=new r.EventEmitter,this.menuStatus="hidden",this.highlightedItem=null,this.isKeyboardEvent=!1,this.componentDestroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.popup.popperStatusChange.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(t){e.menuStatus=t,"visible"===e.menuStatus&&e.popupOpened.emit()}))},e.prototype.ngAfterViewInit=function(){var e=this,t={modifiers:{preventOverflow:{boundariesElement:"viewport"}},placement:"bottom-end"};"left"===this.menuPosition&&(t.placement="bottom-start"),this.popupFixed&&(t.onCreate=function(){e.popup.fixPosition()},t.onUpdate=function(){e.popup.hide()}),this.popup.popperOptions=t},e.prototype.ngOnDestroy=function(){this.componentDestroyed.next(),this.componentDestroyed.unsubscribe()},e.prototype.toggleMenu=function(e){e&&e.stopPropagation(),this.disabled||("hidden"===this.menuStatus?(this.isKeyboardEvent&&this.items.length&&(this.highlightedItem=this.items.find((function(e){return"heading"!==e.display}))||null),this.popup.show()):(this.popup.hide(),this.highlightedItem=null,this.isKeyboardEvent=!1))},e.prototype.selectedChanged=function(e){this.itemSelected.emit(e),this.toggleMenu()},e.prototype.keyNavigate=function(e){switch(e.key){case"Enter":this.isKeyboardEvent=!0;break;case"Escape":case"Tab":"visible"===this.menuStatus&&this.toggleMenu(e);break;default:return}},e}();j.decorators=[{type:r.Component,args:[{selector:"ec-dropdown",template:'<div class="control">\r\n <ec-button [disabled]="disabled"\r\n id="{{id}}_toggle"\r\n [ngClass]="{\'has-arrow\':showArrow, \'active\': menuStatus === \'visible\', \'text-left\': buttonAlignment === \'left\', \'text-right\': buttonAlignment === \'right\'}"\r\n *ecPopup="dropdownMenu"\r\n [label]="label"\r\n [icon]="icon"\r\n [tabindex]="tabindex"\r\n [type]="buttonType"\r\n [customTemplate]="buttonCustomTemplate"\r\n [pending]="pending"\r\n title="{{buttonTitle}}"\r\n (click)="toggleMenu($event)"\r\n (keydown)="keyNavigate($event)"\r\n [autofocus]="autofocus">\r\n </ec-button>\r\n <span class="arrow is-{{buttonType}}"\r\n *ngIf="showArrow"\r\n [class.is-disabled]="disabled">\r\n <i class="ec-icon icon-caret-down" [class.flip-y]="menuStatus === \'visible\'"></i>\r\n </span>\r\n</div>\r\n\r\n<ng-template #dropdownMenu>\r\n <div id="{{id}}_popup"\r\n class="popup"\r\n ecOverlay\r\n [status]="status?.status"\r\n [message]="status?.message"\r\n [displayAsMask]="true">\r\n \x3c!-- Dropdown Menu Title --\x3e\r\n <header id="{{id}}_title"\r\n class="text-heading-2 px-2 my-2"\r\n *ngIf="menuTitle">{{menuTitle}}\r\n </header>\r\n \x3c!-- Dropdown Menu --\x3e\r\n <ec-menu id="{{id}}_menu"\r\n [class.wrap-items]="menuWidth"\r\n [templateType]="menuTemplateType"\r\n [style.width]="menuWidth ? menuWidth + \'px\' : \'auto\'"\r\n [style.min-width]="menuMinWidth ? menuMinWidth + \'px\' : \'auto\'"\r\n [style.height]="menuHeight ? menuHeight + \'px\' : \'auto\'"\r\n [items]="items"\r\n [showNoItems]="true"\r\n [enableKeyNav]="true"\r\n [highlightedItem]="highlightedItem"\r\n (selectedChanged)="selectedChanged($event)">\r\n </ec-menu>\r\n <footer *ngIf="menuFooter">{{menuFooter}}</footer>\r\n </div>\r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{box-sizing:border-box;display:inline-block;vertical-align:top}:host(.font-size-inherit) ec-button,:host(.font-size-inherit) ec-button ::ng-deep button{font-size:inherit}:host(.fill),:host(.fill) .control,:host(.fill) .control ec-button{display:block;height:100%;width:100%}:host(.fill) .control ec-button ::ng-deep button{display:block;display:flex;height:100%;width:100%}:host(.fill) ec-menu{min-width:100%}:host(.td-fill){left:0;position:absolute;top:0}:host(.td-fill) ec-button ::ng-deep button{font-size:.75rem;padding-left:.375rem;padding-right:.375rem}:host(.is-action) .arrow,:host(.is-action) ec-button{color:var(--ec-color-interactive)}:host(.is-condensed) ec-button ::ng-deep button{height:1.5rem}:host(.is-condensed) ec-button.has-arrow ::ng-deep button{padding:0 1.125rem 0 .25rem}:host(.is-condensed) ec-button.has-arrow~.arrow{right:.375rem}:host(.d-block) ec-button{display:block}:host(.d-block) ec-button ::ng-deep button{width:100%}:host-context(th){color:var(--ec-color-primary-dark)}.control{position:relative}ec-button{display:block}ec-button.has-arrow~.arrow{align-items:center;display:flex;height:100%;pointer-events:none;position:absolute;right:.5rem;top:0;width:.625rem;z-index:1}ec-button.has-arrow~.arrow .ec-icon{color:rgba(26,26,35,.66);transition:color .3s ease;width:auto}ec-button.has-arrow~.arrow.is-common .ec-icon{color:var(--ec-color-primary-light)}ec-button.has-arrow~.arrow.is-link .ec-icon{color:var(--ec-color-interactive)}ec-button.has-arrow~.arrow.is-disabled .ec-icon{color:rgba(26,26,35,.66);opacity:.5}ec-button.has-arrow ::ng-deep button{padding-right:1.25rem;width:auto}ec-button.has-arrow ::ng-deep button:not(.ec-button-custom){padding-left:.5rem}.popup{background-color:var(--ec-background-color);border-radius:var(--ec-border-radius-card);box-shadow:var(--ec-box-shadow-overlay);margin-top:.25rem;overflow:hidden;text-align:start;z-index:var(--ec-z-index-popup)}.popup>header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup footer{border-top:.0625rem solid var(--ec-border-color-legacy);color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);line-height:1.2;padding:.1875rem .5rem}ec-menu ::ng-deep ul{max-height:50vh}ec-menu ::ng-deep li{white-space:nowrap}ec-menu.wrap-items ::ng-deep li{white-space:normal}"]}]}],j.ctorParameters=function(){return[]},j.propDecorators={id:[{type:r.Input}],autofocus:[{type:r.Input}],status:[{type:r.Input}],disabled:[{type:r.Input}],label:[{type:r.Input}],icon:[{type:r.Input}],buttonType:[{type:r.Input}],buttonAlignment:[{type:r.Input}],buttonTitle:[{type:r.Input}],tabindex:[{type:r.Input}],showArrow:[{type:r.Input}],items:[{type:r.Input}],menuTemplateType:[{type:r.Input}],menuTitle:[{type:r.Input}],menuHeight:[{type:r.Input}],menuWidth:[{type:r.Input}],menuMinWidth:[{type:r.Input}],menuPosition:[{type:r.Input}],menuFooter:[{type:r.Input}],popupFixed:[{type:r.Input}],buttonCustomTemplate:[{type:r.Input}],pending:[{type:r.Input}],itemSelected:[{type:r.Output}],popupOpened:[{type:r.Output}],menuEl:[{type:r.ViewChild,args:[H,{read:r.ElementRef}]}],popup:[{type:r.ViewChild,args:[F,{static:!0}]}]};var W={zip:[".zip"],excel:[".xls",".xlsx"]},U=function(e){function t(t,o){var n=e.call(this,t,o)||this;return n.validationMessageService=t,n.formGroupHelper=o,n.placeholder="Choose file...",n.fileOutput="base64",n}return k(t,e),t.getFormModel=function(e,t){void 0===t&&(t=!1);var o=new i.FormGroup({file:new i.FormControl({value:null,disabled:t},e),name:new i.FormControl({value:null,disabled:t},e),base64FileString:new i.FormControl(null),uploadResult:new i.FormControl(null)});return t&&o.disable(),o},t.prototype.ngOnChanges=function(t){e.prototype.ngOnChanges.call(this,t),this.updateFileTypeAccept()},t.prototype.ngOnInit=function(){var t,o,n=this;e.prototype.ngOnInit.call(this),null===(o=null===(t=this.formModel)||void 0===t?void 0:t.get("name"))||void 0===o||o.valueChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(e){e||n.formModel.patchValue({file:null,base64FileString:null,uploadResult:null})}))},t.prototype.fileChange=function(e){return C(this,void 0,void 0,(function(){var t,o,n=this;return S(this,(function(r){switch(r.label){case 0:return(t=e.item(0))?((o=new FileReader).onloadend=function(e){return C(n,void 0,void 0,(function(){var e,n;return S(this,(function(r){return n=null===(e=null==o?void 0:o.result)||void 0===e?void 0:e.toString().split(",")[1],this.processFile(t,n),[2]}))}))},this.isBase64FileOutput()?(o.readAsDataURL(t),[3,3]):[3,1]):[3,4];case 1:return[4,this.processFile(t)];case 2:r.sent(),r.label=3;case 3:this.fileInput&&(this.fileInput.nativeElement.value=""),r.label=4;case 4:return[2]}}))}))},t.prototype.updateFileTypeAccept=function(){this.fileType&&("custom"!==this.fileType?this.fileTypeAccept=W[this.fileType].join(","):this.customExtensions&&(this.fileTypeAccept=this.customExtensions.join(",")))},t.prototype.processFile=function(e,t){return C(this,void 0,void 0,(function(){var o;return S(this,(function(n){switch(n.label){case 0:if(!this.onFileSelected)return[3,5];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.onFileSelected(e)];case 2:return o=n.sent(),this.patchFileResult(e,t,o),[3,4];case 3:return n.sent(),[3,4];case 4:return[3,6];case 5:this.patchFileResult(e,t),n.label=6;case 6:return[2]}}))}))},t.prototype.isBase64FileOutput=function(){return"base64"===this.fileOutput},t.prototype.patchFileResult=function(e,t,o){var n;null===(n=this.formModel)||void 0===n||n.patchValue({file:e,name:null==e?void 0:e.name,base64FileString:null!=t?t:null}),o?this.formModel.patchValue({uploadResult:o}):this.formModel.patchValue({uploadResult:null})},t}(V);U.decorators=[{type:r.Component,args:[{selector:"ec-file-upload",template:'<ec-form-group [label]="label"\r\n [formGroup]="formModel"\r\n class="mb-0">\r\n <div class="d-flex control-group">\r\n <div class="d-flex flex-grow position-relative">\r\n <input #fileInput\r\n id="{{inputId}}_input"\r\n type="file"\r\n tabindex="-1"\r\n [attr.accept]="fileTypeAccept"\r\n (click)="browseBtn.focus()"\r\n (change)="fileChange($event.target.files)"\r\n [class.has-value]="formModel?.get(\'name\')?.value">\r\n <ec-form-control id="{{inputId}}_formControl"\r\n class="text-truncate"\r\n [required]="required"\r\n [pending]="pending">\r\n <input id="{{inputId}}_name"\r\n [formControl]="formModel?.get(\'name\')"\r\n type="text"\r\n [placeholder]="placeholder"\r\n [tabindex]="-1">\r\n </ec-form-control>\r\n </div>\r\n <ec-button #browseBtn\r\n id="{{inputId}}_browseBtn"\r\n (clicked)="fileInput.click()"\r\n type="secondary"\r\n [tabindex]="tabindex"\r\n [disabled]="formModel?.get(\'name\')?.disabled"\r\n label="Browse"\r\n [autofocus]="autofocus">\r\n </ec-button>\r\n </div>\r\n</ec-form-group>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;margin-bottom:1rem}ec-form-control{margin-bottom:0}ec-form-control ::ng-deep>.ec-focus-ring{display:none!important}input[type=file]{cursor:pointer;display:block;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:1}input[type=file].has-value{width:calc(100% - 1.5rem)}"]}]}],U.ctorParameters=function(){return[{type:O},{type:A}]},U.propDecorators={placeholder:[{type:r.Input}],fileType:[{type:r.Input}],fileOutput:[{type:r.Input}],customExtensions:[{type:r.Input}],onFileSelected:[{type:r.Input}],fileInput:[{type:r.ViewChild,args:["fileInput",{read:r.ElementRef,static:!0}]}]};var q=function(){function e(e){this.el=e,this.id="",this.showClear=!0,this.pending=!1,this.required=!1,this.readonly=!1,this.actionClicked=new r.EventEmitter}return Object.defineProperty(e.prototype,"empty",{get:function(){var e,t;return!(null===(e=this.formModel)||void 0===e?void 0:e.value)&&0!==(null===(t=this.formModel)||void 0===t?void 0:t.value)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"invalid",{get:function(){var e;return 1==(null===(e=this.formModel)||void 0===e?void 0:e.touched)&&1==this.formModel.invalid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){var e;return 1==(null===(e=this.formModel)||void 0===e?void 0:e.disabled)},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.formModel||console.error("Missing [formControl] directive on ec-form-control content.")},e.prototype.onClick=function(){this.focus()},e.prototype.focus=function(){var e=this.el.nativeElement.querySelectorAll("input, textarea, select");e.length&&e.item(0).focus()},e.prototype.clear=function(){var e;null===(e=this.formModel)||void 0===e||e.reset()},e}();q.decorators=[{type:r.Component,args:[{selector:"ec-form-control",template:'<ng-content></ng-content>\r\n<i id="{{id + \'_icon\'}}" class="ec-form-control-icon ec-icon {{icon}}"></i>\r\n<i id="{{id + \'_loading\'}}" class="ec-form-control-icon ec-icon icon-loading"></i>\r\n<i id="{{id + \'_required\'}}" class="ec-form-control-icon ec-icon icon-required"></i>\r\n<i id="{{id + \'_invalid\'}}" class="ec-form-control-icon ec-icon icon-invalid"></i>\r\n<i id="{{id + \'_clear\'}}" *ngIf="showClear" class="ec-form-control-clear ec-icon icon-cancel" (click)="clear()"></i>\r\n<i id="{{id + \'_action\'}}" *ngIf="actionIcon" class="ec-form-control-action ec-icon {{actionIcon}}" (click)="actionClicked.emit()"></i>\r\n<div class="ec-focus-ring"></div>',encapsulation:r.ViewEncapsulation.None,styles:["ec-form-control{background-clip:padding-box;background-color:var(--ec-background-color);border:1px solid var(--ec-border-color);border-radius:var(--ec-border-radius);color:var(--ec-color-primary-dark);display:flex;font-size:var(--ec-font-size-body);min-height:2rem;padding:0 .5rem;position:relative;width:100%}ec-form-control>input,ec-form-control>select,ec-form-control>textarea{background-color:transparent;border:0;color:inherit;flex:1 1;min-width:0;order:2}ec-form-control>input::-moz-selection,ec-form-control>select::-moz-selection,ec-form-control>textarea::-moz-selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}ec-form-control>input::selection,ec-form-control>select::selection,ec-form-control>textarea::selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}ec-form-control>input::-webkit-input-placeholder,ec-form-control>select::-webkit-input-placeholder,ec-form-control>textarea::-webkit-input-placeholder{color:var(--ec-color-hint-dark)}ec-form-control>input::-moz-placeholder,ec-form-control>select::-moz-placeholder,ec-form-control>textarea::-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}ec-form-control>input:-ms-input-placeholder,ec-form-control>select:-ms-input-placeholder,ec-form-control>textarea:-ms-input-placeholder{color:var(--ec-color-hint-dark)}ec-form-control>input:-moz-placeholder,ec-form-control>select:-moz-placeholder,ec-form-control>textarea:-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}ec-form-control>input:focus,ec-form-control>select:focus,ec-form-control>textarea:focus{outline:none}ec-form-control>input:focus~.ec-focus-ring,ec-form-control>select:focus~.ec-focus-ring,ec-form-control>textarea:focus~.ec-focus-ring{display:block}ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix,ec-form-control>input,ec-form-control>select,ec-form-control>textarea{font-size:inherit;line-height:1.25;padding:calc(.9375rem - var(--ec-font-size-body)*1.25/2) 0}ec-form-control>textarea{padding:.3125rem 0;resize:none}ec-form-control .ec-form-control-icon{margin-right:.25rem;margin-top:.4375rem;order:1}ec-form-control .ec-form-control-icon:not([class*=icon-]){display:none}ec-form-control .icon-required{color:var(--ec-color-caution)}ec-form-control .ec-form-control-action,ec-form-control .ec-form-control-clear{cursor:pointer;flex:none;height:1.875rem;order:3;width:2rem}ec-form-control .ec-form-control-action:last-of-type,ec-form-control .ec-form-control-clear:last-of-type{margin-right:-.5rem}ec-form-control .ec-form-control-action:hover,ec-form-control .ec-form-control-clear:hover{background-color:var(--ec-background-color-hover)}ec-form-control .ec-form-control-clear{width:1.5rem}ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{color:var(--ec-color-secondary-dark);cursor:default;flex:none}ec-form-control .ec-form-control-prefix{margin-right:.125rem;order:2}ec-form-control .ec-form-control-suffix{margin-left:.125rem;order:3}ec-form-control .ec-focus-ring{border:.125rem solid var(--ec-border-color-focus);border-radius:var(--ec-border-radius);bottom:-1px;display:none;left:-1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:1}ec-form-control.is-pending .icon-invalid,ec-form-control.is-pending .icon-required{display:none}ec-form-control.is-invalid{background-color:var(--ec-background-color-caution);border-color:var(--ec-color-caution)}ec-form-control.is-empty .ec-form-control-clear,ec-form-control.is-invalid .icon-required,ec-form-control.is-required.is-empty .ec-form-control-icon:first-of-type,ec-form-control:not(.is-empty) .icon-required,ec-form-control:not(.is-invalid) .icon-invalid,ec-form-control:not(.is-pending) .icon-loading,ec-form-control:not(.is-required) .icon-required{display:none}ec-form-control.is-disabled,ec-form-control.is-readonly{background-color:var(--ec-background-color-disabled)}ec-form-control.is-disabled .ec-form-control-clear,ec-form-control.is-disabled .icon-invalid,ec-form-control.is-disabled .icon-loading,ec-form-control.is-disabled .icon-required,ec-form-control.is-readonly .ec-form-control-clear,ec-form-control.is-readonly .icon-invalid,ec-form-control.is-readonly .icon-loading,ec-form-control.is-readonly .icon-required{display:none}ec-form-control.is-readonly{border-color:transparent;color:var(--ec-color-primary-dark)}ec-form-control.is-readonly .ec-form-control-action{display:none}ec-form-control.is-disabled:not(.is-readonly){color:var(--ec-color-disabled-dark);opacity:.6}ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-prefix,ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-suffix{color:inherit}"]}]}],q.ctorParameters=function(){return[{type:r.ElementRef}]},q.propDecorators={formModel:[{type:r.ContentChild,args:[i.FormControlDirective]}],id:[{type:r.Input}],icon:[{type:r.Input}],actionIcon:[{type:r.Input}],showClear:[{type:r.Input}],pending:[{type:r.Input},{type:r.HostBinding,args:["class.is-pending"]}],required:[{type:r.Input},{type:r.HostBinding,args:["class.is-required"]}],readonly:[{type:r.Input},{type:r.HostBinding,args:["class.is-readonly"]}],empty:[{type:r.HostBinding,args:["class.is-empty"]}],invalid:[{type:r.HostBinding,args:["class.is-invalid"]}],disabled:[{type:r.HostBinding,args:["class.is-disabled"]}],actionClicked:[{type:r.Output}],onClick:[{type:r.HostListener,args:["click"]}]};var G=function(e,t){var o=[];if(e instanceof i.FormControl)o.push(e);else if(e instanceof i.FormGroup)for(var n in e.controls)o.push(e.controls[n]);else e instanceof i.FormArray&&(o=e.controls);o.forEach((function(e){e instanceof i.FormArray?e.controls.forEach((function(e){e instanceof i.FormGroup||e instanceof i.FormArray?G(e,t):t(e)})):e instanceof i.FormGroup?G(e,t):t(e)}))},$=function(e,t,o){return void 0===t&&(t="value"),e.enabled&&null!==e.value&&void 0!==e.value?null===t?e.value:o?e.value[t][o]:e.value[t]:null},Y=function(){function e(e,t){this.validationMessageService=e,this.translateService=t,this.label="",this.labelPosition="top",this.overrideValidationError="",this.hideValidationMessage=!1,this.validationErrors="",this.allControlsTouched=!1,this.componentDestroyed=new c.Subject}return e.prototype.ngOnInit=function(){return C(this,void 0,void 0,(function(){var e=this;return S(this,(function(t){return this.formGroup&&(this.formGroup.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){e.translateValidationMessages(e.getErrors(e.formGroup))})),this.translateValidationMessages(this.getErrors(this.formGroup))),this.id&&(this.attrId=this.id),[2]}))}))},e.prototype.ngOnDestroy=function(){this.componentDestroyed.next(),this.componentDestroyed.unsubscribe()},e.prototype.getErrors=function(e){var t=this;e.markAsUntouched();var o=null,n=!0,r=!1;return G(e,(function(e){o=t.assignErrors(e,o),e.untouched&&(n=!1),r=!0})),e.errors&&(o=Object.assign(o||{},e.errors)),n&&r&&e.markAsTouched(),o},e.prototype.assignErrors=function(e,t){return e.errors&&(t=Object.assign(t||{},e.errors)),t},e.prototype.translateValidationMessages=function(e){return C(this,void 0,void 0,(function(){var t;return S(this,(function(o){switch(o.label){case 0:return e?this.overrideValidationError?(this.validationErrors=this.translateService.instant(this.overrideValidationError),[3,3]):[3,1]:[3,4];case 1:return[4,this.validationMessageService.getErrorMessages(e)];case 2:(t=o.sent())&&(this.validationErrors=t.join("; ")),o.label=3;case 3:return[3,5];case 4:this.validationErrors="",o.label=5;case 5:return[2]}}))}))},e}();Y.decorators=[{type:r.Component,args:[{selector:"ec-form-group",template:'<div class="control control-label-{{labelPosition}}" [class.ec-untouched]="formGroup?.untouched">\r\n <label *ngIf="label" ngPreserveWhitespaces>\r\n\r\n <span id="{{id}}_label">{{label | translate}}</span>\r\n\r\n <span *ngIf="!hideValidationMessage && validationErrors && formGroup?.touched && formGroup?.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n <ng-content></ng-content>\r\n</div>',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;border-color:var(--ec-border-color-legacy);padding-left:1.5rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}.control-label-left{display:flex}']}]}],Y.ctorParameters=function(){return[{type:O},{type:s.TranslateService}]},Y.propDecorators={id:[{type:r.Input}],attrId:[{type:r.HostBinding,args:["attr.id"]}],label:[{type:r.Input}],formGroup:[{type:r.Input}],labelPosition:[{type:r.Input}],overrideValidationError:[{type:r.Input}],hideValidationMessage:[{type:r.Input}]};var X=function(){function e(e,t,o,n){this.router=e,this.el=t,this.renderer=o,this.route=n,this._exact=!0,this.routerLinkActivated=new r.EventEmitter,this.destroyed=new c.Subject}return Object.defineProperty(e.prototype,"exact",{set:function(e){this._exact=void 0===e||e,this.update()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url",{set:function(e){null!=e&&(this._url=this.router.createUrlTree([e],{relativeTo:this.route,queryParams:this.queryParams}),this.update())},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.router.events.pipe(d.takeUntil(this.destroyed),d.filter((function(e){return e instanceof a.NavigationEnd}))).subscribe((function(){e.update()}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.update=function(){this._url&&this.classValue&&(this.router.isActive(this._url,this._exact)?(this.renderer.addClass(this.el.nativeElement,this.classValue),this.routerLinkActivated.emit(new Event("routerLinkActivated"))):this.renderer.removeClass(this.el.nativeElement,this.classValue))},e}();X.decorators=[{type:r.Directive,args:[{selector:"[ecNavItemActive]"}]}],X.ctorParameters=function(){return[{type:a.Router},{type:r.ElementRef},{type:r.Renderer2},{type:a.ActivatedRoute}]},X.propDecorators={classValue:[{type:r.Input,args:["ecNavItemActive"]}],exact:[{type:r.Input,args:["ecNavItemActiveExactMatch"]}],queryParams:[{type:r.Input,args:["ecNavItemActiveQueryParams"]}],url:[{type:r.Input,args:["ecNavItemActiveUrl"]}],routerLinkActivated:[{type:r.Output}]};var K=new RegExp("^(-)?([\\d]+)?$"),Z=/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i,J=function(e){var t="{0,"+e.toString()+"}";return new RegExp("^((((-)?\\d+\\.?\\d"+t+"?)|((-)?\\.?\\d"+t+")))?$")},Q="^\\s*(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})[-. )]*(\\d{3})[-. ]*(\\d{4})(?: *x(\\d+))?\\s*$",ee="([A-Za-z])+(://)+[^\\s]*",te=function(e){function t(t,o,n){var r=e.call(this,t,o)||this;return r.validationMessageService=t,r.formGroupHelper=o,r.translate=n,r.autocomplete="off",r.type="text",r.rows=3,r.selectOnAutofocus=!1,r.upperCase=!1,r.validationPattern="",r}return k(t,e),t.prototype.ngOnChanges=function(t){e.prototype.ngOnChanges.call(this,t)},t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.validationPattern="","tel"===this.type?this.validationPattern=Q:"url"===this.type&&(this.validationPattern=ee),this.placeholder&&this.translate.get(this.placeholder).subscribe((function(e){t.placeholder=e}))},t.prototype.ngAfterViewInit=function(){this.autofocus&&this.setFocus(this.selectOnAutofocus)},t.prototype.setFocus=function(e){this.inputElement.nativeElement.focus(),e&&this.inputElement.nativeElement.select()},t.prototype.focusOutEvent=function(){this.upperCase&&this.formModel.value&&this.formModel.setValue(this.formModel.value.toUpperCase().trim())},t}(V);te.decorators=[{type:r.Component,args:[{selector:"ec-textbox",template:'<div class="control control-label-{{labelPosition}}"\r\n [ngClass]="{\'is-readonly\': readonly}">\r\n <label *ngIf="label" ngPreserveWhitespaces>\r\n\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf="validationErrors.length > 0 && formModel.touched && formModel.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n <div class="input-wrapper control-input">\r\n <input *ngIf="type !== \'multi_line\'"\r\n #textboxInput\r\n email="{{type === \'email\' ? true : false}}"\r\n pattern="{{validationPattern}}"\r\n type="{{type}}"\r\n tabindex="{{tabindex}}"\r\n title="{{tooltip}}"\r\n [attr.id]="inputId"\r\n [attr.autocomplete]="autocomplete"\r\n [attr.placeholder]="placeholder"\r\n [attr.maxlength]="maxlength"\r\n [attr.minlength]="minlength"\r\n [attr.required]="required ? required : null"\r\n [formControl]="formModel"\r\n [ngClass]="{\'is-empty\': !formModel?.value, \'is-pending\': pending, \'is-uppercase\': upperCase}"\r\n (focusout)="focusOutEvent()"\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n\r\n <textarea *ngIf="type === \'multi_line\'"\r\n [attr.rows]="rows"\r\n #textboxInput\r\n tabindex="{{tabindex}}"\r\n [attr.id]="inputId"\r\n [attr.placeholder]="placeholder"\r\n [attr.maxlength]="maxlength"\r\n [attr.minlength]="minlength"\r\n [attr.required]="required ? required : null"\r\n [formControl]="formModel"\r\n [ngClass]="{\'is-empty\': formModel?.value === \'\', \'is-pending\': pending}"\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n </textarea>\r\n </div>\r\n</div>',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}:host input{background-clip:padding-box;background-color:var(--ec-background-color);background-image:none;border:.0625rem solid var(--ec-border-color-legacy);border-radius:var(--ec-border-radius);height:2rem;line-height:1.25;padding:.3125rem .5rem;width:100%}:host input::-moz-selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host input::selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host input::-webkit-input-placeholder{color:var(--ec-color-hint-dark)}:host input::-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-color-hint-dark)}:host input:-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host input:required.is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');border-color:var(--ec-border-color-legacy)}:host input.ng-invalid.ng-touched,:host input:required.is-empty{background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host input.ng-invalid.ng-touched{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\')}:host input.ng-invalid.ng-touched:not(:focus){border-color:var(--ec-color-caution)}:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending,:host input.is-pending.ng-valid{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 50 50"><path fill="%230084a9" d="M43.935 25.145c0-10.318-8.364-18.683-18.683-18.683-10.318 0-18.683 8.365-18.683 18.683h4.068c0-8.071 6.543-14.615 14.615-14.615s14.615 6.543 14.615 14.615h4.068z"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.8s" repeatCount="indefinite"/></path></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}:host input:disabled{color:var(--ec-color-secondary-dark);opacity:.65}:host input:disabled,:host input:disabled:required,:host input:disabled:required.is-empty{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color-legacy)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-clip:padding-box;background-color:var(--ec-background-color);background-image:none;border:.0625rem solid var(--ec-border-color-legacy);border-radius:var(--ec-border-radius);display:block;height:auto;line-height:1.25;padding:.3125rem .5rem;resize:none;width:100%}:host textarea::-moz-selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host textarea::selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host textarea::-webkit-input-placeholder{color:var(--ec-color-hint-dark)}:host textarea::-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-color-hint-dark)}:host textarea:-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host textarea:required.is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');border-color:var(--ec-border-color-legacy)}:host textarea.ng-invalid.ng-touched,:host textarea:required.is-empty{background-position:.25rem .5rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\')}:host textarea.ng-invalid.ng-touched:not(:focus){border-color:var(--ec-color-caution)}:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending,:host textarea.is-pending.ng-valid{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 50 50"><path fill="%230084a9" d="M43.935 25.145c0-10.318-8.364-18.683-18.683-18.683-10.318 0-18.683 8.365-18.683 18.683h4.068c0-8.071 6.543-14.615 14.615-14.615s14.615 6.543 14.615 14.615h4.068z"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.8s" repeatCount="indefinite"/></path></svg>\');background-position:.25rem .5rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color-legacy);color:var(--ec-color-secondary-dark);opacity:.65}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-color:var(--ec-background-color-disabled);background-image:none;border-color:var(--ec-border-color-legacy);padding-left:.5rem}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:.0625rem}:host(.textbox-group-input:not(:last-child)) input{border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}:host(.textbox-group-input:not(:last-child)) input:focus{border-right-width:.0625rem;position:relative;z-index:1}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}']}]}],te.ctorParameters=function(){return[{type:O},{type:A},{type:s.TranslateService}]},te.propDecorators={autocomplete:[{type:r.Input}],type:[{type:r.Input}],placeholder:[{type:r.Input}],maxlength:[{type:r.Input}],minlength:[{type:r.Input}],rows:[{type:r.Input}],selectOnAutofocus:[{type:r.Input}],upperCase:[{type:r.Input}],inputElement:[{type:r.ViewChild,args:["textboxInput"]}]};var oe=function(e,t,o,n){return function(r){var i=!1;if(r.value&&""!==r.value){if((o&&o>0?J(o):n?J(n):K).test(r.value)){if(n){i=Number(r.value).toString().replace(/^-?/,"").replace(/(^0\.)|(\.)/,"").length>n}}else i=!0;void 0!==e&&Number(r.value)<e&&(i=!0),void 0!==t&&Number(r.value)>t&&(i=!0)}return i?{numericbox:{valid:!1,min:e,max:t,decimals:o,maxPrecisionDigits:n}}:null}},ne=function(e){function t(t,o,n){var r=e.call(this,t,o)||this;return r.validationMessageService=t,r.formGroupHelper=o,r.renderer=n,r.showPrecision=!1,r.autoUpdateFormModel=!1,r.unitsWidthCalculated=!1,r.autoUpdatingFormModel=!1,r}return k(t,e),t.prototype.ngAfterViewInit=function(){var e=this;this.autoUpdateFormModel&&this.textboxFormModel.valueChanges.pipe(d.debounceTime(300),d.distinctUntilChanged(),d.takeUntil(this.componentDestroyed)).subscribe((function(){e.updateFormModelValue()}))},t.prototype.ngOnChanges=function(t){(t.rightUnits||t.leftUnits)&&(this.unitsWidthCalculated=!1),e.prototype.ngOnChanges.call(this,t)},t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.textboxFormModel=new i.FormControl({value:this.formModel.value,disabled:this.formModel.disabled}),this.textboxFormModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){t.formModel.enabled&&t.formModel.setErrors(t.textboxFormModel.errors)})),this.formModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){t.formModel.disabled?t.textboxFormModel.disable():t.textboxFormModel.disabled&&t.textboxFormModel.enable()})),this.textboxFormModel.setValidators(this.getValidators()),this.textboxFormModel.setValue(this.formatDisplayNumber(this.formModel.value)),this.formModel.valueChanges.pipe(d.filter((function(){return!t.autoUpdatingFormModel})),d.takeUntil(this.componentDestroyed)).subscribe((function(e){t.textboxFormModel.setValue(t.formatDisplayNumber(e))})),this.leftUnits&&this.textboxFormModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){t.positionLeftUnits()}))},t.prototype.ngAfterViewChecked=function(){!this.leftUnits&&!this.rightUnits||this.unitsWidthCalculated||this.showUnits()},t.prototype.getValidators=function(){var e=[];return this.required&&e.push(i.Validators.required),e.push(oe(this.min,this.max,this.decimals,this.maxPrecisionDigits)),e},t.prototype.onFocusOut=function(){this.updateFormModelValue(!0)},t.prototype.setFocus=function(e){this.textboxInput.setFocus(e)},t.prototype.updateFormModelValue=function(e){this.autoUpdateFormModel&&(this.autoUpdatingFormModel=!0);try{if(this.textboxFormModel.valid||""===this.textboxFormModel.value){var t=null;this.textboxFormModel.value&&!isNaN(this.textboxFormModel.value)?(t=Number(this.textboxFormModel.value),this.formModel.value!==t&&this.formModel.setValue(t)):null!==this.formModel.value&&this.formModel.setValue(null),e&&this.textboxFormModel.setValue(this.formatDisplayNumber(t))}this.formModel.markAsTouched()}catch(e){}finally{this.autoUpdatingFormModel=!1}},t.prototype.formatDisplayNumber=function(e){return e||0===e?this.showPrecision&&this.decimals&&!isNaN(e)?e.toFixed(this.decimals):e.toString():null},t.prototype.positionRightUnits=function(){var e=this.textboxEl.nativeElement.querySelector(".units-right"),t=this.textboxEl.nativeElement.querySelector("input");if(e&&t){var o=e.offsetWidth;o>0&&(this.unitsWidthCalculated=!0);var n=o;this.renderer.setStyle(t,"padding-right",n+"px")}},t.prototype.positionLeftUnits=function(){var e=this.textboxEl.nativeElement.querySelector(".units-left"),t=this.textboxEl.nativeElement.querySelector("input");if(e&&t){var o=e.offsetWidth;o>0&&(this.unitsWidthCalculated=!0);var n=o,r=getComputedStyle(e).left;r&&(n+=parseInt(r.replace("px",""),0)),this.renderer.setStyle(t,"padding-left",n+"px")}},t.prototype.showUnits=function(){var e=this.textboxEl.nativeElement.querySelector(".input-wrapper");if(e){var t;if(this.leftUnits)(t=this.textboxEl.nativeElement.querySelector(".units-left"))?this.renderer.setProperty(t,"innerHTML",this.leftUnits):this.renderer.appendChild(e,this.makeUnitElement("left",this.leftUnits)),this.positionLeftUnits();if(this.rightUnits)(t=this.textboxEl.nativeElement.querySelector(".units-right"))?this.renderer.setProperty(t,"innerHTML",this.rightUnits):this.renderer.appendChild(e,this.makeUnitElement("right",this.rightUnits)),this.positionRightUnits()}},t.prototype.makeUnitElement=function(e,t){var o=this.renderer.createElement("span");return this.renderer.setAttribute(o,"class","units units-"+e),this.renderer.setAttribute(o,"id",this.id+"_units"),this.renderer.setAttribute(o,"style","pointer-events: none"),this.renderer.setProperty(o,"innerHTML",t),o},t}(V);ne.decorators=[{type:r.Component,args:[{selector:"ec-numericbox",template:'<div class="control control-label-{{labelPosition}}"\r\n [class.invalid]="formModel?.invalid && (formModel?.touched)">\r\n <label *ngIf="label"\r\n ngPreserveWhitespaces>\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf="validationErrors.length && formModel?.touched && formModel?.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n \x3c!-- Setting the maxlength to 13 to combat the user from entering too large of a number\r\n for javascript to support. If the user enters all 13 characters as numbers and we have showPrecision set, adding the\r\n decimal and the empty zero characters will get them in a situation where to edit it they must remove characters\r\n as we would push them past the limit --\x3e\r\n <ec-textbox [id]="id"\r\n #textbox\r\n class="control-input mb-0"\r\n [placeholder]="placeholder"\r\n [maxlength]="maxPrecisionDigits ? maxPrecisionDigits + 3 : 13"\r\n [autofocus]="autofocus"\r\n [formModel]="textboxFormModel"\r\n [required]="required"\r\n [tabindex]="tabindex"\r\n [readonly]="readonly"\r\n [tooltip]="tooltip"\r\n (focusout)="onFocusOut()">\r\n </ec-textbox>\r\n</div>\r\n',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}ec-textbox ::ng-deep .input-wrapper{position:relative}ec-textbox ::ng-deep input{text-align:right}ec-textbox ::ng-deep input.ng-invalid.ng-touched~.units-left,ec-textbox ::ng-deep input:required.is-empty:not(:disabled)~.units-left{left:1.25rem}ec-textbox ::ng-deep .control:not(.is-readonly) input:disabled~.units{color:var(--ec-color-secondary-dark);opacity:.65}ec-textbox ::ng-deep .units{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);height:2rem;line-height:1.25;padding:.375rem .25rem;position:absolute;top:1px;z-index:2}ec-textbox ::ng-deep .units.units-right{padding-right:.5rem;right:0}ec-textbox ::ng-deep .units.units-left{left:0;padding-left:.5rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid:not(:focus),.control.invalid ec-textbox ::ng-deep input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.units-left,.control.invalid ec-textbox ::ng-deep input.ng-valid~.units-left{left:1.25rem}']}]}],ne.ctorParameters=function(){return[{type:O},{type:A},{type:r.Renderer2}]},ne.propDecorators={placeholder:[{type:r.Input}],decimals:[{type:r.Input}],showPrecision:[{type:r.Input}],maxPrecisionDigits:[{type:r.Input}],max:[{type:r.Input}],min:[{type:r.Input}],leftUnits:[{type:r.Input}],rightUnits:[{type:r.Input}],autoUpdateFormModel:[{type:r.Input}],textboxEl:[{type:r.ViewChild,args:[te,{read:r.ElementRef,static:!0}]}],textboxInput:[{type:r.ViewChild,args:["textbox",{static:!0}]}]};var re=function(){function e(e,t,o){this.overlay=e,this.viewContainerRef=t,this.elementRef=o,this.icon="",this.contentPosition="top-left",this.iconHoverClass="",this.isVisible=!1}return e.prototype.ngOnDestroy=function(){this.hide()},e.prototype.show=function(){if(!this.isVisible){var e=this.getOverlayConfig();this.overlayRef=this.overlay.create(e);var t=new m.TemplatePortal(this.content,this.viewContainerRef);this.contentViewRef=this.overlayRef.attach(t),this.isVisible=!0}},e.prototype.onMouseMove=function(e){var t;this.contentRect||(this.contentRect=null===(t=this.contentViewRef)||void 0===t?void 0:t.rootNodes[0].getBoundingClientRect()),this.contentRect&&(e.clientX>this.contentRect.right||e.clientX<this.contentRect.left||e.clientY>this.contentRect.bottom||e.clientY<this.contentRect.top)&&this.hide()},e.prototype.hide=function(){var e;this.contentRect=void 0,null===(e=this.overlayRef)||void 0===e||e.dispose(),this.isVisible=!1},e.prototype.getOverlayConfig=function(){var e=this.getPosition(),t=this.overlay.position().flexibleConnectedTo(this.elementRef).withPositions([e]);return new o.OverlayConfig({positionStrategy:t})},e.prototype.getPosition=function(){var e=this.contentPosition.split("-"),t="left"==e[1]?"start":"end",o=e[0];return{originX:t,originY:o,overlayX:t,overlayY:o}},e}();re.decorators=[{type:r.Component,args:[{selector:"ec-popover",template:'<div class="p-2">\r\n <i class="ec-icon {{icon}} ec-icon-sm"></i>\r\n</div>\r\n\r\n<ng-template #content>\r\n <article class="popover-content"\r\n (document:mousemove)="onMouseMove($event)">\r\n <ng-content></ng-content>\r\n </article>\r\n <div class="p-2 {{contentPosition}}">\r\n <i class="ec-icon {{icon}} ec-icon-sm {{iconHoverClass}}"></i>\r\n </div>\r\n</ng-template>\r\n',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:inline-block;line-height:1}.popover-content{border-radius:var(--ec-border-radius);box-shadow:0 3px 6px 0 rgba(26,26,35,.12);overflow:hidden;position:relative}.popover-content+div{line-height:1;position:absolute}.popover-content+div.top-left{left:0;top:0}.popover-content+div.top-right{right:0;top:0}.popover-content+div.bottom-right{bottom:0;right:0}.popover-content+div.bottom-left{bottom:0;left:0}"]}]}],re.ctorParameters=function(){return[{type:o.Overlay},{type:r.ViewContainerRef},{type:r.ElementRef}]},re.propDecorators={icon:[{type:r.Input}],contentPosition:[{type:r.Input}],iconHoverClass:[{type:r.Input}],content:[{type:r.ViewChild,args:["content"]}],show:[{type:r.HostListener,args:["mouseover"]}]};var ie=function(e){function t(t,o){var n=e.call(this,t,o)||this;return n.validationMessageService=t,n.formGroupHelper=o,n.type="radio",n.options=[],n.direction="row",n.name="",n}return k(t,e),t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.currentClasses=[],"toggle"===this.type?this.currentClasses.push("radio-group-toggle"):"column"===this.direction&&this.currentClasses.push("radio-group-column"),this.formModel.valueChanges.subscribe((function(){void 0!==t.formModel.value&&null!==t.formModel.value||t.formModel.setValue(t.options[0].value)}))},t.prototype.ngAfterViewInit=function(){this.autofocus&&this.inputElement.nativeElement.focus(),this.options.length>5&&"toggle"===this.type&&console.warn("Radio button components with a type of toggle cannot have more than 5 options")},t}(V);ie.decorators=[{type:r.Component,args:[{selector:"ec-radiobutton",template:'<div class="control"\r\n [class.control-label-bottom]="labelPosition === \'bottom\'">\r\n <label *ngIf="label"\r\n ngPreserveWhitespaces>\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf="validationErrors.length > 0 && formModel.touched && formModel.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n\r\n\r\n <div class="radio-group {{\'toggle-options-\' + options.length}}"\r\n [ngClass]="currentClasses"\r\n [class.is-disabled]="formModel.disabled"\r\n [class.is-readonly]="readonly">\r\n\r\n \x3c!-- RadioButton type="toggle"--\x3e\r\n \x3c!-- There are two ng-templates here due to the fact you can\'t have ngIf and ngFor on the same element --\x3e\r\n <ng-container *ngIf="type === \'toggle\'">\r\n <ng-container *ngFor="let option of options; index as i; first as isFirst">\r\n \x3c!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\r\n the tabbing did not work, and with the other the controls were all linked together. They both need set\r\n for the best of both worlds --\x3e\r\n <input [attr.id]="inputId + i.toString()"\r\n [formControl]="formModel"\r\n type="radio"\r\n tabindex="{{tabindex}}"\r\n [value]="option.value"\r\n #radioInput\r\n name="{{name}}"\r\n attr.name="{{name}}"\r\n [attr.cdkFocusInitial]="(autofocus && isFirst) || null">\r\n <label [attr.for]="inputId + i.toString()"\r\n title="{{ option.tooltip | translate}}">\r\n <i class="ec-icon {{option.icon}}" *ngIf="option.icon"></i>\r\n <span id="{{inputId}}_label{{i.toString()}}" *ngIf="option.label">{{option.label | translate}}</span>\r\n </label>\r\n </ng-container>\r\n <a>\r\n <div class="toggle-handle"></div>\r\n </a>\r\n <div class="toggle-focused"></div>\r\n </ng-container>\r\n\r\n \x3c!-- RadioButton type="radio"--\x3e\r\n \x3c!-- There are two ng-templates here due to the fact you can\'t have ngIf and ngFor on the same element --\x3e\r\n <ng-container *ngIf="type === \'radio\'">\r\n <ng-container *ngFor="let option of options; index as i; first as isFirst">\r\n <label class=\'radio-button\'\r\n title="{{ option.tooltip | translate}}">\r\n \x3c!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\r\n the tabbing did not work, and with the other the controls were all linked together. They both need set\r\n for the best of both worlds --\x3e\r\n <input [attr.id]="inputId + i.toString()"\r\n class="input"\r\n [formControl]="formModel"\r\n type="radio"\r\n value="{{option.value}}"\r\n #radioInput\r\n tabindex="{{tabindex}}"\r\n name="{{name}}"\r\n attr.name="{{name}}"\r\n [attr.cdkFocusInitial]="(autofocus && isFirst) || null">\r\n <span class="indicator"></span>\r\n <span id="{{inputId}}_label{{i.toString()}}"\r\n class="label"\r\n *ngIf="option.label"\r\n [innerHtml]="option.label | translate"></span>\r\n </label>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n</div>\r\n',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host(.w-auto){width:auto}.control>label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.radio-group{display:flex;flex-wrap:wrap}.radio-group-column{flex-direction:column}.radio-group-column .radio-button{margin-right:auto}.radio-group.is-disabled .radio-button{cursor:default}.radio-group.is-readonly .radio-button{pointer-events:none}.radio-group.is-readonly .radio-button .input{opacity:0}.radio-group.is-readonly .radio-button .indicator{background-color:rgba(26,26,35,.12);border:0}.radio-group.is-readonly .radio-button .indicator,.radio-group.is-readonly .radio-button .label,.radio-group.is-readonly.radio-group-toggle{color:var(--ec-color-primary-dark);opacity:1}.radio-group.is-readonly.radio-group-toggle{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}.radio-group.is-readonly.radio-group-toggle a,.radio-group.is-readonly.radio-group-toggle input:not(:checked),.radio-group.is-readonly.radio-group-toggle input:not(:checked)+label{display:none}.radio-group.is-readonly.radio-group-toggle input:checked+label{color:inherit;justify-content:flex-start}.radio-button{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.radio-button:not(:last-child){margin-right:1rem}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.indicator{color:var(--ec-border-color)}.input:not(:checked)+.indicator:before{display:none}.input:focus+.indicator{box-shadow:0 0 0 .0625rem var(--ec-color-interactive);color:var(--ec-color-interactive)}.input:disabled+.indicator{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color)}.input:disabled+.indicator,.input:disabled~.label{color:var(--ec-color-secondary-dark);opacity:.65}.indicator{align-items:center;background-clip:padding-box;background-color:var(--ec-background-color);border:1px solid;border-radius:50%;color:var(--ec-color-interactive);display:inline-flex;flex:none;height:1em;justify-content:center;margin-top:.5rem;pointer-events:none;width:1em}.indicator:before{background-color:currentColor;border-radius:50%;content:"";display:block;height:.5em;width:.5em}.label{height:2rem;height:auto;line-height:1.25;margin-left:.5rem;min-height:2rem;padding:.375rem 0}.radio-group-toggle{background-color:var(--ec-border-color-legacy);border:.0625rem solid var(--ec-border-color-legacy);border-radius:var(--ec-border-radius);color:var(--ec-color-hint-dark);display:flex;font-size:var(--ec-font-size-body);min-height:2em;position:relative}.radio-group-toggle input{opacity:0;position:absolute;z-index:-1}.radio-group-toggle input:checked+label{color:#0084a9}.radio-group-toggle input:checked:last-of-type~a{transform:translateX(100%)}.radio-group-toggle input:focus~.toggle-focused{display:block}.radio-group-toggle .toggle-focused{border-radius:var(--ec-border-radius);bottom:0;box-shadow:0 0 0 .125rem var(--ec-color-interactive);display:none;left:0;position:absolute;right:0;top:0}.radio-group-toggle label{align-items:center;cursor:pointer;display:flex;flex:1 1 0%;justify-content:center;line-height:1.1em;margin-bottom:0;padding:.375rem .5rem;position:relative;text-align:center;transition:color .3s ease;z-index:2}.radio-group-toggle label .ec-icon{color:inherit}.radio-group-toggle a{border:.1875rem solid transparent;border-radius:calc(var(--ec-border-radius)*0.75);display:block;height:100%;left:0;position:absolute;top:0;transition:transform .25s ease;width:50%;z-index:1}.radio-group-toggle a .toggle-handle{background-color:var(--ec-background-color);border-radius:calc(var(--ec-border-radius)*0.75);height:100%}.radio-group-toggle.is-disabled{background-color:var(--ec-background-color-disabled);color:var(--ec-color-secondary-dark);opacity:.65}.radio-group-toggle.is-disabled label{color:inherit!important;cursor:default}.radio-group-toggle.is-disabled a.toggle-handle{background-color:var(--ec-color-hint-light)}.toggle-options-3 a{width:33.3333333333%}.toggle-options-3 input:checked:last-of-type~a{transform:translateX(200%)}.toggle-options-3 input:checked:nth-of-type(2)~a{transform:translateX(100%)}.toggle-options-4 a{width:25%}.toggle-options-4 input:checked:last-of-type~a{transform:translateX(300%)}.toggle-options-4 input:checked:nth-of-type(3)~a{transform:translateX(200%)}.toggle-options-4 input:checked:nth-of-type(2)~a{transform:translateX(100%)}.toggle-options-5 a{width:20%}.toggle-options-5 input:checked:last-of-type~a{transform:translateX(400%)}.toggle-options-5 input:checked:nth-of-type(4)~a{transform:translateX(300%)}.toggle-options-5 input:checked:nth-of-type(3)~a{transform:translateX(200%)}.toggle-options-5 input:checked:nth-of-type(2)~a{transform:translateX(100%)}']}]}],ie.ctorParameters=function(){return[{type:O},{type:A}]},ie.propDecorators={type:[{type:r.Input}],options:[{type:r.Input}],direction:[{type:r.Input}],name:[{type:r.Input}],inputElement:[{type:r.ViewChild,args:["radioInput"]}]};var ae=function(e){function t(t,o,n){var r=e.call(this,t,o)||this;return r.validationMessageService=t,r.formGroupHelper=o,r.el=n,r.placeholder="",r.options=[],r.autoDefault=!0,r}return k(t,e),t.prototype.ngOnChanges=function(t){t.options&&this.autoDefault&&this.onOptionsChange(t.options.firstChange),e.prototype.ngOnChanges.call(this,t)},t.prototype.ngAfterViewInit=function(){this.autofocus&&this.focus(),this.autoDefault||console.warn("SelectComponent#"+this.id+" has 'autoDefault' set to false and will not select the default option.")},t.prototype.focus=function(){var e=this.el.nativeElement.querySelector("select");e&&e.focus()},t.prototype.onOptionsChange=function(e){var t,o,n=this;if(null!==this.formModel.value&&void 0!==this.formModel.value&&""!==this.formModel.value){if(this.options.every((function(e){return e.value!==n.formModel.value}))){var r=this.required?null===(t=this.options[0])||void 0===t?void 0:t.value:null;this.formModel.setValue(r,{emitEvent:!e})}}else this.required&&this.formModel.setValue(null===(o=this.options[0])||void 0===o?void 0:o.value,{emitEvent:!e})},t}(V);ae.decorators=[{type:r.Component,args:[{selector:"ec-select",template:'<div class="control"\r\n [ngClass]="{\'is-readonly\': readonly, \'is-disabled\': formModel.disabled}">\r\n <label for="{{id}}_select"\r\n *ngIf="label"\r\n ngPreserveWhitespaces>{{label|translate}}</label>\r\n <select [attr.id]="inputId"\r\n tabindex="{{tabindex}}"\r\n [formControl]="formModel"\r\n [attr.required]="required"\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n <option *ngIf="!required"\r\n [ngValue]="null">{{placeholder}}</option>\r\n <option *ngFor="let option of options"\r\n [ngValue]="option.value">{{option.label}}</option>\r\n </select>\r\n</div>',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}:host select{-moz-appearance:none;-webkit-appearance:none;appearance:none;background-clip:padding-box;background-color:var(--ec-background-color);background-image:none;background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M32 8L16 24 0 8z"/></svg>\');background-position:right .5rem center;background-repeat:no-repeat;background-size:.75rem,.75rem;border:.0625rem solid var(--ec-border-color-legacy);border-radius:var(--ec-border-radius);height:2rem;line-height:1.25;padding:.3125rem 1.5rem .3125rem .5rem;width:100%}:host select::-moz-selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host select::selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host select::-webkit-input-placeholder{color:var(--ec-color-hint-dark)}:host select::-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host select:-ms-input-placeholder{color:var(--ec-color-hint-dark)}:host select:-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host select:required.is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');border-color:var(--ec-border-color-legacy)}:host select.ng-invalid.ng-touched,:host select:required.is-empty{background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host select.ng-invalid.ng-touched{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\')}:host select.ng-invalid.ng-touched:not(:focus){border-color:var(--ec-color-caution)}:host select.is-pending.ng-invalid,:host select.is-pending.ng-pending,:host select.is-pending.ng-valid{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 50 50"><path fill="%230084a9" d="M43.935 25.145c0-10.318-8.364-18.683-18.683-18.683-10.318 0-18.683 8.365-18.683 18.683h4.068c0-8.071 6.543-14.615 14.615-14.615s14.615 6.543 14.615 14.615h4.068z"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.8s" repeatCount="indefinite"/></path></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host select:focus,:host select:focus.is-empty{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}:host select:disabled{color:var(--ec-color-secondary-dark);opacity:.65}:host select:disabled,:host select:disabled:required,:host select:disabled:required.is-empty{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color-legacy)}:host select:disabled:required,:host select:disabled:required.is-empty{background-image:none;padding-left:.5rem}:host select.is-uppercase:not(.is-empty){text-transform:uppercase}:host select:focus{position:static}']}]}],ae.ctorParameters=function(){return[{type:O},{type:A},{type:r.ElementRef}]},ae.propDecorators={placeholder:[{type:r.Input}],options:[{type:r.Input}],autoDefault:[{type:r.Input}]};var se=function(){function e(e,t){this.items=[],this.selectedChanges=new c.Subject,e&&(this.items=e,this.items.length&&t&&(this._selected=t))}return Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e,e&&this.selectItem(e)},enumerable:!1,configurable:!0}),e.prototype.selectItem=function(e){e.url||(e.onClick&&e.onClick(e),this.selectedChanges.next(e))},e}(),le=function(){function e(){this.id="",this.tabindex=0,this.tabStyle="tabs",this.tabs=new se}return e.prototype.selectTab=function(e,t){t.disabled||"click"!==e.type&&("keypress"!==e.type||"Enter"!==e.key)||(this.tabs.selected=t)},e}();le.decorators=[{type:r.Component,args:[{selector:"ec-tabs",template:'<ul *ngIf="tabs?.items?.length" class="{{tabStyle}}">\r\n\r\n <li class="{{tab.classlist}}" [ngClass]="{\'icon-only\': tab.icon && !tab.label}" *ngFor="let tab of tabs?.items; index as i;">\r\n\r\n <a *ngIf="tab.url && !tab.disabled"\r\n tabindex="{{tabs?.selected === tab ? -1 : tabindex}}"\r\n class="tab"\r\n id="{{tab.id ? tab.id : id + \'_item\' + i}}"\r\n routerLinkActive="active"\r\n [routerLink]="tab.url"\r\n [queryParams]="tab.queryParams || null"\r\n [queryParamsHandling]="tab.queryParamsHandling || \'\'"\r\n (keypress)="selectTab($event, tab)"\r\n (click)="selectTab($event, tab)">\r\n <i class="ec-icon {{tab.icon}}" *ngIf="tab.icon" [class.mr-1]="tab.label"></i>\r\n <span class="text-truncate">{{tab.label | translate}}</span>\r\n <span *ngIf="tab?.indicator" class="indicator ml-1" [style.background-color]="tab?.indicator === true ? \'\' : tab?.indicator"></span>\r\n </a>\r\n\r\n <span *ngIf="!tab.url || tab.disabled"\r\n tabindex="{{tabs?.selected === tab || tab.disabled ? -1 : tabindex}}"\r\n id="{{tab.id ? tab.id : id + \'_item\' + i}}"\r\n class="tab"\r\n [ngClass]="{\'active\': tabs?.selected === tab, \'is-disabled\': tab.disabled}"\r\n (keypress)="selectTab($event, tab)"\r\n (click)="selectTab($event, tab)">\r\n <i class="ec-icon {{tab.icon}}" *ngIf="tab.icon" [class.mr-1]="tab.label"></i>\r\n <span class="text-truncate">{{tab.label | translate}}</span>\r\n <span *ngIf="tab?.indicator" class="indicator ml-1" [style.background-color]="tab?.indicator === true ? \'\' : tab?.indicator"></span>\r\n </span>\r\n </li>\r\n</ul> ',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}ul{list-style:none;margin:0;padding:0}a{text-decoration:none}.tabs{border-bottom:1px solid var(--ec-border-color-legacy);display:flex;padding-left:1rem;padding-right:1rem}.tabs li{display:block;min-width:0}.tabs li:not(:last-child){margin-right:.25rem}.tabs .tab{align-items:center;border:1px solid transparent;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--ec-border-radius);border-top-right-radius:var(--ec-border-radius);color:var(--ec-color-secondary-dark);cursor:pointer;display:flex;font-size:var(--ec-font-size-label);height:2rem;justify-content:center;margin-bottom:-1px;min-width:2rem;padding-left:.5rem;padding-right:.5rem}.tabs .tab:hover{color:#354751}.tabs .tab.active{background-color:var(--ec-background-color-body);border-left-color:var(--ec-border-color-legacy);border-right-color:var(--ec-border-color-legacy);border-top-color:var(--ec-border-color-legacy);color:#354751}.tabs .tab:focus{outline:none}.tabs .tab:focus:not(.active):not(.is-disabled){border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);box-shadow:none;position:relative;z-index:1}.tabs .tab.is-disabled{color:var(--ec-color-hint-dark);cursor:default}.pills{display:flex}.pills li{display:block;min-width:0}.pills li:not(:last-child){margin-right:.25rem}.pills .tab{align-items:center;border:1px solid transparent;border-radius:var(--ec-border-radius);color:var(--ec-color-secondary-dark);cursor:pointer;display:flex;font-size:var(--ec-font-size-label);height:1.5rem;justify-content:center;min-width:1.5rem;padding-left:.5rem;padding-right:.5rem}.pills .tab:hover{color:#354751}.pills .tab.active{background-color:#d2d7d9;color:#354751}.pills .tab:focus{outline:none}.pills .tab:focus:not(.active):not(.is-disabled){border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);box-shadow:none;position:relative;z-index:1}.pills .tab.is-disabled{color:var(--ec-color-hint-dark);cursor:default}.icon-only .tab{justify-content:center;padding:0}.indicator{background-color:rgba(111,28,138,.25);border:2px solid #6f1c8a;border-radius:50%;display:block;height:.625rem;width:.625rem}:host(.is-condensed) .pills li,:host(.is-condensed) .tabs li{margin-right:0}:host(.is-condensed) .tab{padding-left:.25rem;padding-right:.25rem}"]}]}],le.ctorParameters=function(){return[]},le.propDecorators={id:[{type:r.Input}],tabindex:[{type:r.Input}],tabStyle:[{type:r.Input}],tabs:[{type:r.Input,args:["tabGroup"]}]};var ce=function(){function e(){}return e.prototype.getAvatarLabels=function(e){var t=void 0,o="HI",n=this.trimUser(e);return n.firstName||n.lastName?n.firstName?(o=n.firstName.slice(0,1),t=n.firstName,n.lastName&&(t+=" "+n.lastName)):(o=n.lastName.slice(0,1),t=n.lastName):n.email?(o=n.email.slice(0,1),t=n.email):n.username&&(o=n.username.slice(0,1),t=n.username),{abbreviation:o,full:t}},e.prototype.trimUser=function(e){return{email:(e.email||"").trim(),firstName:(e.firstName||"").trim(),lastName:(e.lastName||"").trim(),username:(e.username||"").trim()}},e}();ce.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new ce},token:ce,providedIn:"root"}),ce.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var de=function(){function e(e){this.avatarService=e,this.userMenuItems=[],this.userMenuWidth=0,this.userMenuMinWidth=160,this.userMenuTabindex=0,this.iconPath="/assets/images/icon.svg",this.menuItems=[],this.userItem=[]}return e.prototype.ngOnChanges=function(){this.user?this.userItem[0]={label:this.avatarService.getAvatarLabels(this.user).full||"",display:"heading"}:this.userItem=[],this.menuItems=D(this.userItem,this.userMenuItems)},e}();de.decorators=[{type:r.Component,args:[{selector:"ec-app-bar",template:'<section class="logo-container">\r\n <img src="{{iconPath}}"\r\n alt="EnergyCAP Platform">\r\n</section>\r\n\r\n<section class="title-container">\r\n <ng-content select=".app-bar-title"></ng-content>\r\n</section>\r\n\r\n<section class="actions-container">\r\n <ng-content select=".app-bar-actions"></ng-content>\r\n <ec-dropdown id="AppBarUserMenu"\r\n *ngIf="userMenuItems.length; else avatar"\r\n [items]="menuItems"\r\n [buttonCustomTemplate]="avatar"\r\n [showArrow]="false"\r\n [menuWidth]="userMenuWidth"\r\n [menuMinWidth]="userMenuMinWidth"\r\n [tabindex]="userMenuTabindex"></ec-dropdown>\r\n</section>\r\n\r\n<ng-template #avatar>\r\n <div class="p-1">\r\n <ec-avatar [user]="user"></ec-avatar>\r\n </div>\r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{align-items:center;background-color:var(--ec-background-color);display:flex;height:3rem;padding:0 .75rem 0 1rem;position:relative;width:100%;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{align-items:center;display:flex;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{height:2rem;width:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}"]}]}],de.ctorParameters=function(){return[{type:ce}]},de.propDecorators={user:[{type:r.Input}],userMenuItems:[{type:r.Input}],userMenuWidth:[{type:r.Input}],userMenuMinWidth:[{type:r.Input}],userMenuTabindex:[{type:r.Input}],iconPath:[{type:r.Input}]};var pe=function(){function e(e,t,o){this.el=e,this.renderer=t,this.avatarService=o,this.colors={abcde01:"red",fghij23:"orange",klmn15:"yellow",opqr67:"green",stuv8:"blue",wxyz9:"purple"},this.label="HI",this.currentCSSClass=""}return e.prototype.ngOnChanges=function(e){e.user.firstChange||this.user||console.error("AvatarComponent expected a value for the [user] input but got "+this.user+" instead."),this.updateLabel(),this.updateColor()},e.prototype.updateLabel=function(){this.user&&(this.label=this.avatarService.getAvatarLabels(this.user).abbreviation)},e.prototype.updateColor=function(){this.currentCSSClass&&this.renderer.removeClass(this.el.nativeElement,this.currentCSSClass);var e="gray";if("HI"!==this.label&&this.label)for(var t in this.colors)t.includes(this.label[0].toLowerCase())&&(e=this.colors[t]);this.currentCSSClass="avatar-"+e,this.renderer.addClass(this.el.nativeElement,this.currentCSSClass)},e}();pe.decorators=[{type:r.Component,args:[{selector:"ec-avatar",template:"{{label}}",styles:[":host{align-items:center;border-radius:50%;color:var(--ec-color-primary-light);display:flex;font-size:1rem;height:2.25rem;justify-content:center;line-height:1.25rem;text-transform:uppercase;width:2.25rem}:host.avatar-red{background-color:#eb6669}:host.avatar-orange{background-color:#fa9f69}:host.avatar-yellow{background-color:#ffec74}:host.avatar-green{background-color:#dbe280}:host.avatar-blue{background-color:#58afc7}:host.avatar-purple{background-color:#9e82b4}:host.avatar-gray{background-color:#acbcc3}:host.avatar-green,:host.avatar-orange,:host.avatar-yellow{color:var(--ec-color-secondary-dark)}"]}]}],pe.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:ce}]},pe.propDecorators={user:[{type:r.Input}]};var ue=function(){function e(e,t){this.status="hasData",this.message="",this.setStatus(e,t)}return e.prototype.setStatus=function(e,t,o,n,r){this.status=e,this.message=t||"",this.action=o||void 0,this.noDataTemplate=n||void 0,this.overlayClassList=r||""},e}(),he=function(){function e(){this.status="hasData"}return e.prototype.setStatus=function(e,t,o,n){this.status=e,this.message=t||"",this.action=o||void 0,this.noDataTemplate=n||void 0},e.prototype.actionClicked=function(e){this.action&&this.action.onClick&&this.action.onClick(e)},e}();he.decorators=[{type:r.Component,args:[{selector:"[ecOverlay]",template:'\x3c!-- Transcluded Content --\x3e\r\n<ng-content *ngIf="displayAsMask || (!displayAsMask && status === \'hasData\')"></ng-content>\r\n\x3c!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact--\x3e\r\n<span [hidden]="true"\r\n\t class="overlay-status-{{status}}"></span>\r\n\x3c!-- Overlay goes last so it is rendered on top of preceding content due to source order --\x3e\r\n<div *ngIf="status !== \'hasData\'"\r\n\t class="overlay flex-grow {{overlayClassList}}"\r\n\t [ngClass]="{\'not-mask\': !displayAsMask,\r\n\t\t\t\t\'overlay-error\': status === \'error\',\r\n\t\t\t\t\'overlay-nodata\': status === \'noData\',\r\n\t\t\t\t\'overlay-pending\': status === \'pending\'}">\r\n\r\n\t\x3c!--Pending Spinner--\x3e\r\n\t<ec-spinner [hidden]="status !== \'pending\'"></ec-spinner>\r\n\r\n\t<ng-template [ngIf]="status === \'noData\' && noDataTemplate">\r\n\t\t<ng-container *ngTemplateOutlet="noDataTemplate"></ng-container>\r\n\t</ng-template>\r\n\r\n\t<ng-container *ngIf="(status === \'noData\' && !noDataTemplate) || status !== \'noData\'">\r\n\t\t\x3c!--Status Message--\x3e\r\n\t\t<div id="statusMessage"\r\n\t\t\t class="message"\r\n\t\t\t *ngIf="message"\r\n\t\t\t [ngClass]="{\'error\': status === \'error\', \'mt-1\': status === \'pending\'}"\r\n\t\t\t [innerHtml]="message | translate">\r\n\t\t</div>\r\n\r\n\t\t\x3c!-- Action --\x3e\r\n\t\t<ec-button type="common"\r\n\t\t\t\t class="mt-3"\r\n\t\t\t\t *ngIf="action?.onClick"\r\n\t\t\t\t [icon]="action?.icon"\r\n\t\t\t\t (clicked)="actionClicked($event)"\r\n\t\t\t\t [label]="action?.label"\r\n\t\t\t\t [hidden]="status === \'pending\'">\r\n\t\t</ec-button>\r\n\t</ng-container>\r\n\r\n</div>',styles:[":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-background-color);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;padding:3rem 4rem;position:absolute;right:0;top:0;z-index:var(--ec-z-index-overlay)}.overlay.not-mask{min-height:100%;position:relative}.message{color:var(--ec-color-secondary-dark)}.message,.message.error{font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger)}"]}]}],he.propDecorators={status:[{type:r.Input}],message:[{type:r.Input}],action:[{type:r.Input}],noDataTemplate:[{type:r.Input}],displayAsMask:[{type:r.Input}],overlayClassList:[{type:r.Input}]};var me=function(){this.id="",this.textboxRequired=!1,this.textboxUppercase=!1,this.textareaRows=3,this.saveLabel="Save",this.saveButtonType="primary",this.cancelLabel="Cancel",this.saveOnEnter=!1,this.alternateSaveLabel=void 0,this.alternateSaveButtonType=void 0,this.saveSource="primary",this.inlineConfirmPendingMessage=""},ge=function(){function e(){this.dialogId="Confirm",this.formGroup=new i.FormGroup({}),this.status=new ue("hasData"),this.onDialogSave=new r.EventEmitter,this.onDialogCancel=new r.EventEmitter}return e.prototype.onOpen=function(e){this.context=e,this.dialogId=e.id,this.context.alternateSaveLabel&&(this.context.saveOnEnter=!1)},e.prototype.ngOnInit=function(){this.addFormControls()},e.prototype.onSave=function(e){if(this.formGroup.markAllAsTouched(),this.formGroup.valid){var t=this.formGroup.getRawValue();t.textbox&&(this.context.textboxValue=t.textbox),this.context.saveSource=e,this.context.inlineConfirmAction?this.doInlineConfirmAction():this.onDialogSave.emit(this.context)}else this.context.validationErrorMessage&&(this.error=this.context.validationErrorMessage)},e.prototype.onCancel=function(){this.onDialogCancel.emit()},e.prototype.addFormControls=function(){if(this.context.textboxType){var e=[];this.context.textboxRequired&&e.push(i.Validators.required),this.context.textboxValidators&&e.push.apply(e,D(this.context.textboxValidators)),this.formGroup.addControl("textbox",new i.FormControl("",e))}},e.prototype.doInlineConfirmAction=function(){return C(this,void 0,void 0,(function(){var e,t=this;return S(this,(function(o){switch(o.label){case 0:return this.status.setStatus("pending",this.context.inlineConfirmPendingMessage),[4,this.context.inlineConfirmAction()];case 1:return e=o.sent(),this.status.setStatus("noData",e.message,{id:"inlineConfirmClose",label:"Close",icon:e.isSuccess?"icon-check-circle":"icon-error",classlist:e.isSuccess?"font-color-success":"font-color-error",onClick:function(){e.isSuccess?t.onDialogSave.emit(t.context):t.onDialogCancel.emit()}}),[2]}}))}))},e}();ge.decorators=[{type:r.Component,args:[{selector:"ec-confirm",template:'<section ecOverlay\r\n [status]="status?.status"\r\n [message]="status?.message"\r\n [action]="status?.action"\r\n [noDataTemplate]="inlineConfirmResult"\r\n overlayClassList="p-0"\r\n class="bg-body flex-grow d-flex">\r\n <form [formGroup]="formGroup" class="flex-grow flex-column confirm-content text-body-1">\r\n <section class="flex-grow">\r\n <h2 class="font-weight-bold mb-3" *ngIf="context?.title">{{context?.title}}</h2>\r\n <ec-banner *ngIf="error" [text]="error | translate" bannerStyle="normal" class="mb-3"></ec-banner>\r\n <div *ngIf="context?.message" [innerHtml]="context?.message | translate" class="mb-3"></div>\r\n <ec-textbox id="confirmTextbox"\r\n *ngIf="context?.textboxType"\r\n [autofocus]="true"\r\n [formModel]="formGroup.get(\'textbox\')"\r\n [required]="context?.textboxRequired"\r\n [label]="context?.textboxLabel"\r\n [type]="context?.textboxType"\r\n [rows]="context?.textareaRows"\r\n [placeholder]="context?.textboxPlaceholder"\r\n [upperCase]="context?.textboxUppercase">\r\n </ec-textbox>\r\n </section>\r\n <footer class="mt-auto flex-shrink d-flex py-2 flex-row-reverse">\r\n <ec-button id="saveConfirmButton"\r\n class="ml-2"\r\n [type]="context?.saveButtonType ? context?.saveButtonType : \'primary\'"\r\n [label]="context?.saveLabel ? context?.saveLabel : \'Save\'"\r\n [autofocus]="!context?.textboxType"\r\n [isSubmit]="context?.saveOnEnter"\r\n (clicked)="onSave(\'primary\')">\r\n </ec-button>\r\n <ec-button id="alternateSaveConfirmButton"\r\n *ngIf="context?.alternateSaveLabel"\r\n class="ml-2"\r\n [type]="context?.alternateSaveButtonType ? context?.alternateSaveButtonType : \'primary\'"\r\n [label]="context?.alternateSaveLabel"\r\n (clicked)="onSave(\'alternate\')">\r\n </ec-button>\r\n <ec-button id="cancelConfirmButton"\r\n class="ml-auto"\r\n type="secondary"\r\n [label]="context?.cancelLabel ? context?.cancelLabel : \'Cancel\'"\r\n (clicked)="onCancel()">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class="flex-grow align-self-stretch confirm-content text-body-1">\r\n <div class="d-flex">\r\n <i class="ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon"></i>\r\n <div [innerHTML]="status?.message | translate"></div>\r\n </div>\r\n <div class="d-flex pt-2 mt-auto">\r\n <ec-button id="inlineConfirmClose"\r\n label="Close"\r\n type="secondary"\r\n class="ml-auto"\r\n (clicked)="status?.action?.onClick!()"\r\n [autofocus]="true">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>',styles:[":host{display:flex;width:100%}.confirm-content{display:flex;flex-direction:column;padding:1.5rem}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}"]}]}],ge.ctorParameters=function(){return[]},ge.propDecorators={context:[{type:r.Input}],onDialogSave:[{type:r.Output}],onDialogCancel:[{type:r.Output}]};var be=function(e,t,o){void 0===t&&(t=""),void 0===o&&(o="openStart"),this.eventId=e,this.dialogId=t,this.dialogAction=o},fe=function(e){function t(t,o,n){var r=e.call(this,h.uniqueId())||this;return r.content=t,r.context=o,r.options=n,r}return k(t,e),t}(be),ve=function(e){function t(t,o){return e.call(this,t,o,"open")||this}return k(t,e),t}(be),ye=function(e){function t(t,o,n,r){void 0===n&&(n=!1);var i=e.call(this,t,o,"close")||this;return i.dialogResult=new we(n,r),i}return k(t,e),t}(be),xe=function(e){function t(t){var o=e.call(this,"latest","latest","closeLatest")||this;return o.dialogResult=t,o}return k(t,e),t}(be),we=function(e,t){this.save=e,this.context=t},Ie=function(){function e(){this.events=new c.Subject}return e.prototype.openDialog=function(e,t,o,n){(n=n||{}).size=t;var r=new fe(e,o,n),i=this.events.pipe(d.skipWhile((function(e){return!(e instanceof ye)||e.eventId!==r.eventId})),d.map((function(e){return e.dialogResult})),d.take(1));return this.triggerEvent(r),i},e.prototype.closeLatestDialog=function(e){this.triggerEvent(new xe(e))},e.prototype.confirm=function(e){return this.openDialog(ge,"small",e)},e.prototype.triggerEvent=function(e){this.events.next(e)},e}();Ie.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new Ie},token:Ie,providedIn:"root"}),Ie.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var ke=function(){function e(e){this.dialogService=e,this.activeDialogEvents=[],this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.dialogService.events.pipe(d.filter((function(e){return e instanceof fe||e instanceof xe})),d.takeUntil(this.destroyed)).subscribe((function(t){var o,n;if(t instanceof fe)e.activeDialogEvents.push(t);else if(t instanceof xe&&e.activeDialogEvents.length>0){var r=e.activeDialogEvents[e.activeDialogEvents.length-1];e.dialogService.triggerEvent(new ye(r.eventId,r.dialogId,null===(o=t.dialogResult)||void 0===o?void 0:o.save,null===(n=t.dialogResult)||void 0===n?void 0:n.context)),e.dialogClosed(r)}}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.dialogOpened=function(e,t){e.dialogId=t},e.prototype.dialogClosed=function(e){var t=this.activeDialogEvents.findIndex((function(t){return t===e}));t>=0&&this.activeDialogEvents.splice(t,1)},e}();ke.decorators=[{type:r.Component,args:[{selector:"ec-dialog-group",template:'<ec-dialog *ngFor="let dialog of activeDialogEvents"\r\n [dialogOpenStartEventId]="dialog.eventId"\r\n [size]="dialog.options?.size"\r\n [content]="dialog.content"\r\n [context]="dialog.context"\r\n [options]="dialog.options"\r\n (opened)="dialogOpened(dialog, $event)"\r\n (closed)="dialogClosed(dialog)">\r\n</ec-dialog>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}ec-dialog:not(:only-child){--ec-dialog-background-color:transparent}ec-dialog:not(:only-child):last-child,ec-dialog:not(:only-child):nth-last-child(2){--ec-dialog-background-color:var(--ec-background-color-dialog-stacked)}"]}]}],ke.ctorParameters=function(){return[{type:Ie}]};var Ce=function(){function e(e,t,o,n){this.componentFactoryResolver=e,this.windowService=t,this.dialogService=o,this.documentRef=n,this.isOpen=!1,this.fadeIn=!1,this.fadeOut=!1,this.displayAsPanel=!1,this.alignToTop=!1,this.transparentMask=!1,this.size="small",this.opened=new r.EventEmitter,this.closed=new r.EventEmitter,this.previouslyFocusedElement=null}return e.prototype.onOverlayClick=function(e){"EC-DIALOG"===e.target.tagName&&this.displayAsPanel&&this.close(new we(!1))},e.prototype.ngOnInit=function(){this.content&&this.open(this.content,this.context,this.options)},e.prototype.ngOnDestroy=function(){this.previouslyFocusedElement&&this.previouslyFocusedElement.focus()},e.prototype.open=function(e,t,o){var n,i;return C(this,void 0,void 0,(function(){var a,s,l=this;return S(this,(function(p){switch(p.label){case 0:return this.isOpen?[3,4]:(a=null===(n=this.documentRef)||void 0===n?void 0:n.activeElement,this.previouslyFocusedElement=(null===(i=null==a?void 0:a.shadowRoot)||void 0===i?void 0:i.activeElement)||a,o?(o.alignToTop&&(this.alignToTop=!0),o.displayAsPanel&&(this.displayAsPanel=!0,this.transparentMask=!0),void 0!==o.transparentMask&&(this.transparentMask=o.transparentMask),void 0===o.canOpenDialog?[3,2]:[4,o.canOpenDialog()]):[3,2]);case 1:if(!p.sent())return this.close(new we(!1)),[2];p.label=2;case 2:return"number"==typeof this.size?this.width=this.size:this.width=void 0,this.minWidth=null==o?void 0:o.minWidth,this.fadeIn=!0,e instanceof r.TemplateRef?this.contentContainer.createEmbeddedView(e):(s=this.componentFactoryResolver.resolveComponentFactory(e),this.componentRef=this.contentContainer.createComponent(s)),this.isOpen=!0,this.openDialogComponent(t),[4,c.timer(this.displayAsPanel?250:125).pipe(d.take(1),d.tap((function(){var e=l.getDialogId();l.fadeIn=!1,l.opened.emit(e),l.dialogService.triggerEvent(new ve(l.dialogOpenStartEventId,e))}))).toPromise()];case 3:p.sent(),this.handleCloseOnResize(),p.label=4;case 4:return[2]}}))}))},e.prototype.close=function(e){var t=this;this.fadeOut=!0;var o=this.getDialogId();setTimeout((function(){var n;t.isOpen=!1,t.fadeOut=!1,null===(n=t.contentContainer)||void 0===n||n.clear(),t.componentRef=void 0,t.closed.emit(e),t.dialogService.triggerEvent(new ye(t.dialogOpenStartEventId,o,null==e?void 0:e.save,null==e?void 0:e.context)),t.resetOptions()}),this.displayAsPanel?225:100)},e.prototype.openDialogComponent=function(e){var t=this;if(this.componentRef&&this.componentRef.instance){var o=this.componentRef.instance;o.onOpen&&o.onOpen(e),o.onDialogCancel.pipe(d.takeUntil(this.closed)).subscribe((function(){t.close(new we(!1))})),o.onDialogSave.pipe(d.takeUntil(this.closed)).subscribe((function(e){t.close(new we(!0,e))}))}},e.prototype.resetOptions=function(){this.alignToTop=!1,this.displayAsPanel=!1},e.prototype.handleCloseOnResize=function(){var e=this;this.options&&this.options.closeOnResize&&this.windowService.resized.pipe(d.takeUntil(this.closed),d.take(1)).subscribe((function(){e.close(new we(!1))}))},e.prototype.getDialogId=function(){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.instance.dialogId)||""},e}();Ce.decorators=[{type:r.Component,args:[{selector:"ec-dialog",template:'<article [style.width.px]="width" [style.min-width]="minWidth" class="dialog-{{size}}" cdkTrapFocus cdkTrapFocusAutoCapture><ng-template #content></ng-template></article>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes panelMaskFadeIn{0%{background-color:transparent}to{background-color:var(--ec-dialog-background-color)}}@keyframes panelMaskFadeIn{0%{background-color:transparent}to{background-color:var(--ec-dialog-background-color)}}:host{--ec-dialog-background-color:var(--ec-background-color-dialog);align-items:center;background-color:var(--ec-dialog-background-color);bottom:0;display:none;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--ec-z-index-dialog)}:host.is-open{display:flex}:host.fade-in{-webkit-animation-duration:125ms;-webkit-animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in-out;animation-duration:125ms;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.fade-in,:host.fade-out{-webkit-animation-name:fadeIn;animation-name:fadeIn}:host.fade-out{-webkit-animation-duration:.1s;-webkit-animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in-out;animation-direction:reverse;animation-duration:.1s;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.is-panel article{border-bottom:0;border-radius:0;border-right:0;border-top:0;bottom:0;box-shadow:0 0 .5rem var(--ec-color-shadow);max-height:none;position:absolute;right:0;top:0}:host.is-panel.fade-in{-webkit-animation-fill-mode:forwards;-webkit-animation-name:panelMaskFadeIn;animation-fill-mode:forwards;animation-name:panelMaskFadeIn}:host.is-panel.fade-in,:host.is-panel.fade-in article{-webkit-animation-duration:.25s;animation-duration:.25s}:host.is-panel.fade-in article{-webkit-animation-fill-mode:forwards;-webkit-animation-name:slideIn;-webkit-animation-timing-function:ease-out;animation-fill-mode:forwards;animation-name:slideIn;animation-timing-function:ease-out}:host.is-panel.fade-out{-webkit-animation-fill-mode:forwards;-webkit-animation-name:panelMaskFadeIn;animation-direction:reverse;animation-fill-mode:forwards;animation-name:panelMaskFadeIn}:host.is-panel.fade-out article{-webkit-animation-duration:225ms;-webkit-animation-fill-mode:forwards;-webkit-animation-name:slideIn;-webkit-animation-timing-function:ease-in;animation-direction:reverse;animation-duration:225ms;animation-fill-mode:forwards;animation-name:slideIn;animation-timing-function:ease-in}:host.is-top-aligned{align-items:flex-start}:host.is-top-aligned article{margin-top:20vh;min-height:auto}:host.is-transparent{--ec-dialog-background-color:transparent}article{background-clip:padding-box;background-color:var(--ec-background-color-body);border-radius:var(--ec-border-radius-dialog);box-shadow:0 0 .625rem rgba(26,26,35,.2);display:flex;flex:none;max-height:90vh;max-width:90vw;min-height:9rem;overflow:hidden}.dialog-xsmall{width:20rem}.dialog-small{width:30rem}.dialog-medium{width:40rem}.dialog-large{width:50rem}.dialog-xlarge{width:60rem}.dialog-full{width:90vw}"]}]}],Ce.ctorParameters=function(){return[{type:r.ComponentFactoryResolver},{type:B},{type:Ie},{type:Document,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]}]},Ce.propDecorators={isOpen:[{type:r.HostBinding,args:["class.is-open"]}],fadeIn:[{type:r.HostBinding,args:["class.fade-in"]}],fadeOut:[{type:r.HostBinding,args:["class.fade-out"]}],displayAsPanel:[{type:r.HostBinding,args:["class.is-panel"]}],alignToTop:[{type:r.HostBinding,args:["class.is-top-aligned"]}],transparentMask:[{type:r.HostBinding,args:["class.is-transparent"]}],onOverlayClick:[{type:r.HostListener,args:["click",["$event"]]}],size:[{type:r.Input}],content:[{type:r.Input}],context:[{type:r.Input}],options:[{type:r.Input}],dialogOpenStartEventId:[{type:r.Input}],opened:[{type:r.Output}],closed:[{type:r.Output}],contentContainer:[{type:r.ViewChild,args:["content",{read:r.ViewContainerRef,static:!0}]}]};var Se=function(){function e(){}return e.prototype.trackPageView=function(e,t,o){},e.prototype.trackEvent=function(e,t,o){},e}();Se.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new Se},token:Se,providedIn:"root"}),Se.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var Te=function(){function e(e){this.telemetryTrackerService=e}return e.prototype.trackPageView=function(e,t,o){this.telemetryTrackerService.trackPageView(e,t,o)},e.prototype.trackEvent=function(e,t,o){this.telemetryTrackerService.trackEvent(e,t,o)},e}();Te.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new Te(r.ɵɵinject(Se))},token:Te,providedIn:"root"}),Te.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],Te.ctorParameters=function(){return[{type:Se}]};var Me=function(){this.id="",this.label="",this.level=0,this.display="default",this.hideToggle=!1,this.hasChildren=!1,this.children=[],this.expanded=!1,this.selected=!1,this.selectable=!1,this.readonly=!1,this.status="hasData",this.topLevel=!1,this.isActiveExactMatch=!0},De=function(){function e(e){this.getItemChildren=new r.EventEmitter,this._destroyed=new c.Subject,this.telemetryService=e.get(Te)}return Object.defineProperty(e.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){e&&e.rootNode&&e.rootNode.currentValue&&this.rootNode.hasChildren&&0===this.rootNode.children.length&&this.getItemChildren.emit(this.rootNode)},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.toggleItemClicked=function(e,t){e.expanded=t,this.telemetryService.trackEvent("toggle-tree-node",{newExpandState:e.expanded?"expanded":"collapsed",itemDepth:""+e.level}),e.expanded&&e.hasChildren&&0===e.children.length&&(e.status="pending",this.getItemChildren.emit(e))},e.prototype.setItemChildren=function(e,t){e.children=t,e.status="hasData"},e.prototype.setItemError=function(e){e.status="error"},e}();De.decorators=[{type:r.Directive}],De.ctorParameters=function(){return[{type:r.Injector}]},De.propDecorators={rootNode:[{type:r.Input}],getItemChildren:[{type:r.Output}]};var Ee=function(e){function t(t,o){var n=e.call(this,o)||this;return n.scrollService=t,n.id="HierarchyTree",n.itemSelected=new c.Subject,n.indent=16,n.scrollContainerId="",n}return k(t,e),t.prototype.ngOnInit=function(){this.scrollContainerId=this.id+"_root"},t.prototype.scrollToSelectedItem=function(){var e=this;window.setTimeout((function(){e.scrollService.scrollToItem("#"+e.scrollContainerId,".item-wrapper.is-selected")}))},t.prototype.selectItem=function(e){this.itemSelected.next(e),"heading"!==e.display||e.hideToggle||this.toggleItemClicked(e,!e.expanded)},t}(De);Ee.decorators=[{type:r.Component,args:[{selector:"ec-hierarchy-tree",template:'<ul id="{{scrollContainerId}}"\r\n class="flex-grow scroll-y py-1">\r\n\r\n <li *ngIf="!hideRootNode">\r\n <div class="item-wrapper"\r\n title="{{rootNode?.label}}"\r\n [ngClass]="{\'is-heading\': rootNode?.display === \'heading\'}"\r\n ecNavItemActive="is-selected"\r\n [ecNavItemActiveUrl]="rootNode?.url"\r\n [ecNavItemActiveExactMatch]=\'rootNode?.isActiveExactMatch\'>\r\n <a id="rootNode_{{rootNode?.id}}_link"\r\n class="item flex-grow d-flex align-items-center"\r\n routerLink="{{rootNode?.url}}"\r\n [queryParams]="rootNode?.queryParams">\r\n <i class="ec-icon {{rootNode.icon}} mx-1 flex-shrink"\r\n *ngIf="rootNode?.icon"></i>\r\n <span class="mx-1 text-truncate">{{rootNode?.label}}</span>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n <li *ngFor="let item of items; index as index; first as isFirst"\r\n id="treeItem_{{item.id}}">\r\n <div class="item-wrapper"\r\n title="{{item.label}}"\r\n [ngClass]="{\'is-heading\': item.display === \'heading\'}"\r\n ecNavItemActive="is-selected"\r\n [ecNavItemActiveUrl]="item.url"\r\n [ecNavItemActiveExactMatch]="item.isActiveExactMatch"\r\n [ecNavItemActiveQueryParams]="item.queryParams">\r\n\r\n \x3c!-- This element provides the indentation for each level --\x3e\r\n <span id="indent_{{item.id}}"\r\n class="d-block h-100"\r\n [style.width.px]="(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)">\r\n </span>\r\n\r\n \x3c!-- Toggle the button icon to be a spinner when item.status is pending --\x3e\r\n <ec-collapsible-toggle id="toggle_{{item.id}}"\r\n class="flex-shrink"\r\n [style.width.px]="indent"\r\n *ngIf="item.hasChildren && !item.hideToggle"\r\n [hidden]="item.status === \'pending\'"\r\n [expanded]="item.expanded"\r\n (expandedChange)="toggleItemClicked(item, $event)">\r\n </ec-collapsible-toggle>\r\n\r\n <i class="ec-icon icon-loading my-1"\r\n [hidden]="item.status !== \'pending\'"></i>\r\n\r\n <a id="treeItem_{{item.id}}_link"\r\n class="item"\r\n *ngIf="item.url"\r\n (click)="selectItem(item)"\r\n [routerLink]="item.url"\r\n [queryParams]="item.queryParams"\r\n [queryParamsHandling]="item.queryParamsHandling || \'\'">\r\n <i class="ec-icon {{item.icon}} mx-1 flex-shrink"\r\n *ngIf="item.icon"></i>\r\n <span class="mx-1 text-truncate">{{item.label}}</span>\r\n </a>\r\n <div id="treeItem_{{item.id}}_heading"\r\n class="item"\r\n *ngIf="!item.url"\r\n (click)="selectItem(item)">\r\n <i class="ec-icon {{item.icon}} mx-1 flex-shrink"\r\n *ngIf="item.icon"></i>\r\n <span class="mx-1 text-truncate">{{item.label}}</span>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf="item.children.length > 0 && item.expanded">\r\n <ng-container *ngTemplateOutlet="hierarchyView; context:{ $implicit: item.children }"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet="hierarchyView; context:{ $implicit: rootNode?.children }"></ng-container>\r\n</ul>\r\n',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;font-size:var(--ec-font-size-action)}ul{list-style:none;margin:0;overflow-x:hidden}ul,ul li{padding:0}ul li{white-space:nowrap}ul .item-wrapper{align-items:center;border-radius:var(--ec-border-radius);display:flex;height:1.75rem;margin:0 .25rem;padding:0 .25rem}ul .item-wrapper.is-heading{color:var(--ec-color-hint-dark);cursor:pointer;font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);text-transform:uppercase}ul .item-wrapper:hover{background-color:#bfe0e9}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{align-items:center;color:inherit;display:flex;flex:1 1;min-height:0;min-width:0}"]}]}],Ee.ctorParameters=function(){return[{type:_},{type:r.Injector}]},Ee.propDecorators={id:[{type:r.Input}],hideRootNode:[{type:r.Input}],itemSelected:[{type:r.Output}]};var ze=function(){function e(){this.id="",this.internalValue={value:""},this.externalLink=!1,this.condensed=!1,this.target="_self"}return Object.defineProperty(e.prototype,"value",{set:function(e){this.internalValue="string"==typeof e?{value:e}:e||{value:""}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._url},set:function(e){this.externalLink=!!(null==e?void 0:e.startsWith("http")),this._url=e},enumerable:!1,configurable:!0}),e}();ze.decorators=[{type:r.Component,args:[{selector:"ec-item-display",template:'<div id="{{id}}_label_0"\r\n class="text-caption-1">{{label | translate}}</div>\r\n\r\n<div id="{{id}}_value_0" class="{{condensed ? \'text-body-2\' : \'text-display-1\'}} {{internalValue.classnames}}"\r\n [class.font-color-hint]="!internalValue.value && internalValue.noValueText"\r\n title="{{internalValue.tooltip}}">\r\n\r\n <ng-container *ngIf="url else content">\r\n <a *ngIf="!externalLink"\r\n id="{{id}}_link"\r\n routerLink="{{url}}"\r\n target="{{target}}">\r\n <ng-container *ngTemplateOutlet="content"></ng-container>\r\n </a>\r\n <a *ngIf="externalLink"\r\n id="{{id}}_link"\r\n href="{{url}}"\r\n target="{{target}}">\r\n <ng-container *ngTemplateOutlet="content"></ng-container>\r\n </a>\r\n </ng-container>\r\n</div>\r\n \r\n \r\n<ng-template #content> \r\n <i *ngIf="internalValue?.icon" class="ec-icon {{internalValue?.icon}}"></i>\r\n <span>{{(internalValue?.value || internalValue?.noValueText) | translate}}</span>\r\n <ng-content></ng-content> \r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:inline-block;margin-bottom:1rem;vertical-align:top}.ec-icon{font-size:1em;margin-right:.25em;position:relative;top:.125em}"]}]}],ze.propDecorators={id:[{type:r.HostBinding,args:["attr.id"]},{type:r.Input}],label:[{type:r.Input}],value:[{type:r.Input}],url:[{type:r.Input}],condensed:[{type:r.Input}],target:[{type:r.Input}]};var Pe=function(){function e(){}return e.tryParseJSON=function(e){if(e)try{return JSON.parse(e)}catch(e){return}},e}(),Oe=function(){function e(e){this.translate=e,this.maxLength=1e4,this.jsonDisplay=new i.FormControl("")}return e.prototype.ngOnChanges=function(){if(this.id&&(this.attrId=this.id),this.jsonString){var e=this.jsonString,t=Pe.tryParseJSON(this.jsonString);t&&(e=JSON.stringify(t,null,2)),e.length>this.maxLength&&(e=e.substr(0,this.maxLength)+"\r\n"+this.translate.instant("MessageTooLong_Truncated_SC")),this.jsonDisplay.patchValue(e)}},e}();Oe.decorators=[{type:r.Component,args:[{selector:"ec-json-display",template:'<ec-button id="{{id}}_copy"\r\n class="copy-button"\r\n *ngIf="jsonDisplay.value"\r\n type="icon"\r\n icon="icon-copy"\r\n [ecCopyButton]="jsonDisplay">\r\n</ec-button>\r\n<pre><code>{{jsonDisplay.value}}</code></pre>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background:#354751;border-radius:var(--ec-border-radius-card);color:var(--ec-color-secondary-light);display:block;font-size:var(--ec-font-size-label);max-height:15rem;min-height:2.125rem;overflow-x:auto;overflow-y:auto;position:relative;text-align:right}pre{margin-bottom:0;margin-top:-2rem;text-align:left}pre code{display:block;padding:.5rem}.copy-button{position:sticky;top:0}.copy-button ::ng-deep .ec-icon{color:var(--ec-color-secondary-light)!important}.copy-button ::ng-deep button:hover{background-color:transparent!important}.copy-button ::ng-deep button:hover .ec-icon{color:var(--ec-color-primary-light)!important}"]}]}],Oe.ctorParameters=function(){return[{type:s.TranslateService}]},Oe.propDecorators={id:[{type:r.Input}],attrId:[{type:r.HostBinding,args:["attr.id"]}],jsonString:[{type:r.Input}],maxLength:[{type:r.Input}]};var Ae=function(){function e(e,t,o){this.renderer=e,this.cacheService=t,this.document=o,this.rememberWidth=!1,this.id="",this.currentEl=null,this.startScreenX=0,this.startElWidth=0}return e.prototype.ngAfterViewInit=function(){if(this.rememberWidth&&this.id){var e=this.cacheService.getItem("resizable-"+this.id);e&&e.widths&&e.widths.length>0&&this.restoreWidths(e.widths)}},e.prototype.startDrag=function(e){if(!this.currentEl)throw new Error("currentEl is "+this.currentEl+". currentEl must be assigned before startDrag() is called.");this.startElWidth=this.currentEl.offsetWidth,this.startScreenX=e.screenX,this.renderer.addClass(this.currentEl,"is-active"),this.renderer.setStyle(this.document.body,"cursor","col-resize"),this.mouseupListener&&(this.mouseupListener(),this.mouseupListener=void 0),this.mousemoveListener&&(this.mousemoveListener(),this.mousemoveListener=void 0),this.mouseupListener=this.renderer.listen(this.document,"mouseup",this.stopDrag.bind(this)),this.mousemoveListener=this.renderer.listen(this.document,"mousemove",this.drag.bind(this))},e.prototype.drag=function(e){this.setWidth(this.startElWidth+(e.screenX-this.startScreenX))},e.prototype.stopDrag=function(e){this.mousemoveListener&&(this.mousemoveListener(),this.mousemoveListener=void 0),this.mouseupListener&&(this.mouseupListener(),this.mouseupListener=void 0),this.currentEl&&this.renderer.removeClass(this.currentEl,"is-active"),this.renderer.removeStyle(this.document.body,"cursor")},e.prototype.restoreWidths=function(e){},e.prototype.saveWidths=function(e){this.rememberWidth&&this.id?this.cacheService.setItem("resizable-"+this.id,{widths:e}):this.rememberWidth&&console.error("rememberWidth is set but will not take effect unless ID is also set")},e}();Ae.decorators=[{type:r.Directive}],Ae.ctorParameters=function(){return[{type:r.Renderer2},{type:v},{type:Document,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]}]},Ae.propDecorators={rememberWidth:[{type:r.Input}],id:[{type:r.Input}]};var Ve=function(e){function t(t,o,n,r){var i=e.call(this,o,n,r)||this;return i.el=t,i.rememberWidth=!0,i}return k(t,e),t.prototype.ngOnInit=function(){this.currentEl=this.el.nativeElement},t.prototype.setWidth=function(e){this.renderer.setStyle(this.currentEl,"width",e+"px"),this.saveWidths([e])},t.prototype.restoreWidths=function(e){this.setWidth(e[0])},t}(Ae);Ve.decorators=[{type:r.Component,args:[{selector:"ec-resizable",template:'<div class="content">\n <ng-content></ng-content>\n </div>\n <div class="handle" (mousedown)="startDrag($event)"></div>',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{border-right:1px solid var(--ec-border-color-legacy);display:flex;max-width:480px;min-width:100px;position:relative;width:240px}:host.is-active{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{height:100%;padding:0 5px;position:absolute;right:-7px;top:0;width:13px;z-index:var(--ec-z-index-splitter)}.handle:after{content:"";display:block;height:100%;position:relative;transition:background-color .3s ease}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{display:flex;overflow:hidden}.content,.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}']}]}],Ve.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:v},{type:Document,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]}]};var Le=function(){};Le.decorators=[{type:r.Component,args:[{selector:"ec-spinner",template:'<div class="spinner">\r\n <span class="spinner-dot"></span>\r\n <span class="spinner-dot"></span>\r\n <span class="spinner-dot"></span>\r\n <span class="spinner-dot"></span>\r\n</div>',styles:["@-webkit-keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{-webkit-animation:sk-bouncedelay 1.7s ease-in-out infinite both;animation:sk-bouncedelay 1.7s ease-in-out infinite both;background-color:var(--ec-color-interactive);height:.75rem;margin-right:.25rem;width:.75rem}.spinner-dot:first-child{-webkit-animation-delay:-.6s;animation-delay:-.6s}.spinner-dot:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.spinner-dot:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}:host(.spinner-small) .spinner-dot{-webkit-animation:sk-bouncedelay 1.7s ease-in-out infinite both;animation:sk-bouncedelay 1.7s ease-in-out infinite both;background-color:var(--ec-color-interactive);height:.5rem;margin-right:.1666666667rem;width:.5rem}:host(.spinner-small) .spinner-dot:first-child{-webkit-animation-delay:-.6s;animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}"]}]}];var Re=function(){function e(){this._splashVisibility=new c.Subject,this.splashVisibility=this._splashVisibility}return e.prototype.showSplash=function(){this._splashVisibility.next(!0)},e.prototype.hideSplash=function(){this._splashVisibility.next(!1)},e}();Re.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new Re},token:Re,providedIn:"root"}),Re.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],Re.ctorParameters=function(){return[]};var Fe=function(){function e(e){this.splashService=e,this.isVisible=!0,this.stopAnimation=!1,this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.splashService.splashVisibility.pipe(d.takeUntil(this.destroyed),d.tap((function(t){return C(e,void 0,void 0,(function(){var e=this;return S(this,(function(o){return t?this.stopAnimation=!1:c.timer(1e3).pipe(d.takeUntil(this.splashService.splashVisibility)).subscribe((function(){e.stopAnimation=!0})),[2]}))}))}))).subscribe((function(t){e.isVisible=t}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e}();Fe.decorators=[{type:r.Component,args:[{selector:"ec-splash",template:'<div class="app-splash"\r\n [class.app-loaded]="!isVisible">\r\n\r\n \x3c!-- This is the raw icon.svg file so we can animate it --\x3e\r\n <svg [class.d-none]="stopAnimation" \r\n xmlns="http://www.w3.org/2000/svg"\r\n width="50"\r\n height="50"\r\n viewBox="0 0 50 50">\r\n <g>\r\n <g>\r\n <path fill="#A0AD39"\r\n fill-rule="nonzero"\r\n d="M34.93,32.25 L34.93,37.25 L15.21,37.25 L15.21,32.25 L34.93,32.25 Z M28.45,22.48 L28.45,27.48 L15.21,27.48 L15.21,22.48 L28.45,22.48 Z M34.93,12.71 L34.93,17.71 L15.21,17.71 L15.21,12.71 L34.93,12.71 Z" />\r\n <path fill="#A0AD39"\r\n d="M24.99,5 C31.1,5 36.56,7.75 40.23,12.07 L44.33,9.16 C39.75,3.57 32.78,0 24.99,0 C17.2,0 10.23,3.57 5.65,9.16 L9.75,12.07 C13.42,7.75 18.88,5 24.99,5 Z" />\r\n </g>\r\n <path fill="#17303B"\r\n d="M40.24,37.93 C36.57,42.25 31.11,45 25,45 C18.89,45 13.43,42.25 9.76,37.93 L9.78,37.92 C6.82,34.43 5,29.94 5,25 C5,21.86 5.74,18.91 7.03,16.26 L2.89,13.33 C1.05,16.81 0,20.78 0,25 C0,31.01 2.13,36.52 5.66,40.83 L5.66,40.83 C10.24,46.42 17.21,49.99 25,49.99 C32.79,49.99 39.76,46.42 44.34,40.83 L40.24,37.93 Z" />\r\n </g>\r\n\r\n </svg>\r\n</div>'}]}],Fe.ctorParameters=function(){return[{type:Re}]};var _e=function(){function e(e){this.el=e,this.onResize=new r.EventEmitter}return e.prototype.emitWidth=function(e){this.onResize.emit(e)},e}();_e.decorators=[{type:r.Component,args:[{selector:"th.is-resizable",template:'<div class="content-wrapper">\r\n <div class="content">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n<div class="handle"></div>\r\n'}]}],_e.ctorParameters=function(){return[{type:r.ElementRef}]},_e.propDecorators={onResize:[{type:r.Output}]};var Ne=function(e){function t(t,o,n,r){var i=e.call(this,o,n,r)||this;return i.el=t,i.sortableTable=!1,i.cols=[],i.colWidths=[],i.currentTableWidth=0,i.minTableWidth=0,i.minColWidth=32,i.destroyed=new c.Subject,i}return k(t,e),t.prototype.ngOnInit=function(){var e=this;this.initResizableColumns(),this.resizableColumns.changes.pipe(d.takeUntil(this.destroyed)).subscribe((function(){return e.initResizableColumns()}))},t.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.complete()},t.prototype.initResizableColumns=function(){var e=this;if(!1!==this.isResizable){if(this.tableEl=this.el.nativeElement,"TABLE"!==this.tableEl.tagName)throw new Error("The 'ecResizableTable' directive can only be placed on a <table> element.");this.sortableTable&&(this.minColWidth=48);var t=this.tableEl.querySelectorAll("th"),o=this.tableEl.querySelectorAll("col");if(this.cols=[],this.colWidths=[],0===o.length){var n=this.document.createDocumentFragment(),r=this.renderer.createElement("colgroup");t.forEach((function(){var t=e.renderer.createElement("col");e.cols.push(t),e.renderer.appendChild(n,t)})),this.renderer.appendChild(r,n),this.renderer.insertBefore(this.tableEl,r,this.tableEl.firstElementChild)}else o.forEach((function(t){e.cols.push(t)})),t.length!==o.length&&console.warn("There are "+t.length+" <th> elements and "+this.cols.length+" <col> elements in this this table. The number of columns and table headers must match. <th> elements with a 'colspan' attribute are currently not supported.");var i=Array.from(t).reverse().findIndex((function(e){return e.classList.contains("is-resizable")}))+1;this.lastColIndex=this.cols.length-i,t.forEach((function(t){if(t.classList.contains("is-resizable")){var o=t.querySelector(".handle");e.renderer.listen(o,"mousedown",(function(o){e.currentEl=t,e.startDrag(o)}))}})),window.setTimeout((function(){e.setInitialWidths(t)}))}},t.prototype.setWidth=function(e){if(this.currentEl){var t=this.currentEl.cellIndex;e=Math.max(e,this.minColWidth),this.colWidths[t]=e,this.renderer.setStyle(this.cols[t],"width",e+"px");var o=0;this.colWidths.forEach((function(e){o+=e}));var n=this.containerEl.nativeElement.clientWidth;this.minTableWidth!==n&&(this.minTableWidth=n);var r=o-this.minTableWidth;if(r<0){var i=t===this.lastColIndex?this.lastColIndex-1:this.lastColIndex,a=Math.max(this.colWidths[i]+Math.abs(r),this.minColWidth);this.renderer.setStyle(this.cols[i],"width",a+"px"),this.renderer.setStyle(this.tableEl,"width",this.minTableWidth+"px")}else this.renderer.setStyle(this.tableEl,"width",o+"px")}},t.prototype.stopDrag=function(t){if(e.prototype.stopDrag.call(this,t),this.currentEl){var o=this.currentEl.cellIndex,n=this.resizableColumns.find((function(e){return e.el.nativeElement.cellIndex===o}));n&&n.emitWidth(Math.round(this.colWidths[o]))}},t.prototype.setInitialWidths=function(e){var t=this;this.currentTableWidth=this.tableEl.offsetWidth,this.minTableWidth=this.containerEl.nativeElement.clientWidth,e.forEach((function(e){t.colWidths[e.cellIndex]=e.offsetWidth;var o=e.style.width;o&&(t.renderer.setStyle(t.cols[e.cellIndex],"width",o),t.renderer.removeStyle(e,"width"))}));var o=0;this.colWidths.forEach((function(e){o+=e}));var n=o-this.currentTableWidth;if(n>0){var r=e[e.length>1?e.length-2:0];this.colWidths[r.cellIndex]=r.offsetWidth-n,this.renderer.setStyle(this.cols[r.cellIndex],"width",this.colWidths[r.cellIndex]+"px"),o-=n}this.renderer.setStyle(this.tableEl,"width",Math.max(this.currentTableWidth,o)+"px"),this.renderer.setStyle(this.tableEl,"minWidth","100%")},t}(Ae);function Be(e){return!!(e.error&&e.error.hasOwnProperty("status")&&e.error.status.hasOwnProperty("message"))}Ne.decorators=[{type:r.Directive,args:[{selector:"[ecResizableTable]"}]}],Ne.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:v},{type:Document,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]}]},Ne.propDecorators={isResizable:[{type:r.Input,args:["ecResizableTable"]}],containerEl:[{type:r.Input}],sortableTable:[{type:r.Input}],resizableColumns:[{type:r.Input}]};var He=function(){function e(){}return e.prototype.parseApiError=function(e,t){if("string"==typeof e)return e;var o=t||"DefaultUnknownError_SC";if(e&&Be(e))try{o=e.error.status.message}catch(e){this.logConsoleError(e)}else this.logConsoleError(e);return o},e.prototype.logConsoleError=function(e){console&&"function"==typeof console.error&&console.error("unknown error:",e)},e}();He.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new He},token:He,providedIn:"root"}),He.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],He.ctorParameters=function(){return[]};var je=function(){function e(e){this.translateService=e}return e.prototype.transform=function(e,t,o,n){var r=this.translateService.instant(t||"results");return void 0!==o?this.getResultsCount(e,r,o):n?this.getPagedResultsCount(e,r,n):""},e.prototype.getResultsCount=function(e,t,o){return e.totalItems>o?o+" "+this.translateService.instant("of")+" "+e.totalItems:e.totalItems+" "+t},e.prototype.getPagedResultsCount=function(e,t,o){return o.skip+1+(e.totalItems>1?"-"+(o.skip+e.totalItems)+" ":" ")+(this.translateService.instant("of")+" ")+e.totalItemsBeforePaging+" "+t},e}();je.decorators=[{type:r.Pipe,args:[{name:"rowCount"}]}],je.ctorParameters=function(){return[{type:s.TranslateService}]};var We=function(){function e(e){this.el=e,this.pageNumber=1,this.maxTabs=10,this.pageChanged=new r.EventEmitter,this.dropdownItems=[],this.currentTabs=new se}return e.prototype.ngOnChanges=function(){var e=this;if(0===this.totalItems)return this.dropdownItems=[],void(this.currentTabs=new se);this.setDropdownItems();var t=this.dropdownItems.find((function(t){return t.value.firstPage<=e.pageNumber&&t.value.lastPage>=e.pageNumber}));t||(console.error("Page "+this.pageNumber+" does not exist. Setting the starting page number to 1."),t=this.dropdownItems[0],this.pageNumber=1),this.setTabs(t,this.pageNumber)},e.getPagingInfo=function(e,t){return{skip:(e-1)*t,pageSize:t,pageNumber:e}},e.prototype.onItemSelected=function(e){this.setTabs(e),this.onPageChange(parseInt(this.currentTabs.selected.label)),this.el.nativeElement.querySelector(".tab.active").focus()},e.prototype.setTabs=function(e,t){for(var o=this,n=[],r=function(e){n.push({label:""+e,onClick:function(){o.onPageChange(e)}})},i=e.value.firstPage;i<=e.value.lastPage;i++)r(i);var a=t?n.find((function(e){return parseInt(e.label)===t})):n[0];this.currentTabs=new se(n,a)},e.prototype.onPageChange=function(t){this.pageNumber=t,this.pageChanged.emit(e.getPagingInfo(t,this.pageSize))},e.prototype.setDropdownItems=function(){this.dropdownItems=[];for(var e=Math.floor(this.totalItems/this.pageSize),t=0===this.totalItems%this.pageSize?e:e+1,o=1,n=this.maxTabs||10,r=n;r<t;)this.dropdownItems.push({label:o+"-"+r,value:{firstPage:o,lastPage:r}}),o+=n,r+=n;this.dropdownItems.push({label:o===t?""+o:o+"-"+t,value:{firstPage:o,lastPage:t}})},e}();We.decorators=[{type:r.Component,args:[{selector:"ec-table-pagination",template:'<ec-tabs id="{{id}}_pages"\r\n class="my-2 is-condensed"\r\n [tabGroup]="currentTabs"\r\n tabStyle="pills">\r\n</ec-tabs>\r\n<ec-dropdown id="{{id}}_morePages"\r\n *ngIf="dropdownItems.length > 1"\r\n class="my-1 ml-1"\r\n menuTemplateType="label"\r\n icon="icon-more"\r\n menuPosition="left"\r\n [menuMinWidth]="80"\r\n [showArrow]="false"\r\n [popupFixed]="true"\r\n [items]="dropdownItems"\r\n (itemSelected)="onItemSelected($event)">\r\n</ec-dropdown>',host:{class:"d-flex px-2"}}]}],We.ctorParameters=function(){return[{type:r.ElementRef}]},We.propDecorators={id:[{type:r.Input}],totalItems:[{type:r.Input}],pageSize:[{type:r.Input}],pageNumber:[{type:r.Input}],maxTabs:[{type:r.Input}],pageChanged:[{type:r.Output}]};var Ue=function(){function e(e,t,o){this.errorService=e,this.translateService=t,this.rowCountPipe=o,this.id="",this.resizable=!1,this.sortable=!1,this.autofocus=!1,this.tableClasses="",this.sortChange=new r.EventEmitter,this.pageChangeEmitter=new r.EventEmitter,this.searchboxPlaceholder="",this.noDataMessage="SearchableTable_Default_NoData_SC",this.noSearchResultsMessage="SearchableTable_Default_NoMatches_SC",this.status=new ue("hasData"),this.tableLayoutFixed=!1,this.itemsChange=new r.EventEmitter,this.maxItemCount=100,this.hideSearchControl=!1,this.hideHeader=!1,this.objectType="results",this.hideFooter=!1,this.pageable=!1,this.maxTabs=10,this.searchboxReadonly=!1,this.additionalCountText="",this.selectable=!1,this.removeCard=!1,this.overlayClasses="",this.fillParentHeight=!1,this.tableCaption=this.translateService.instant(this.noDataMessage||"SearchableTable_Default_NoData_SC"),this.resultsCount="",this.searchResults={items:[],totalItems:0},this.refreshTrigger=c.EMPTY,this.destroyed=new c.Subject,this.pageChanged=new c.Subject,this.initTable=new c.Subject}return Object.defineProperty(e.prototype,"searchModel",{get:function(){return this.formModel.controls.searchModel},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){e.pageSize&&!e.pageSize.firstChange&&this.pageable&&(this.pageInfo=We.getPagingInfo(1,this.pageSize),this.onPageChange(this.pageInfo))},e.prototype.ngOnInit=function(){var e=this;this.status.setStatus("pending","Loading"),this.setUpRefreshTrigger();var t=c.merge(this.formModel.valueChanges.pipe(d.skipUntil(this.ready),d.debounceTime(300)),this.refreshTrigger,this.initTable).pipe(d.tap((function(){e.pageable&&(e.pageInfo=We.getPagingInfo(1,e.pageSize))})));c.merge(t,this.pageChanged.pipe(d.skipUntil(this.ready))).pipe(d.pluck("searchModel"),d.map((function(e){return(e||"").trim().toLowerCase()})),d.tap((function(){return e.status.setStatus("pending","Loading")})),d.switchMap((function(t){return e.getItems(t,e.pageInfo)})),d.catchError((function(t,o){return e.status.setStatus("error",e.errorService.parseApiError(t)),o})),d.takeUntil(this.destroyed)).subscribe((function(t){e.pageable||(t.items=t.items.slice(0,e.maxItemCount)),e.searchResults=t,e.tableCaption=e.getCaption(t),e.resultsCount=e.pageable?e.rowCountPipe.transform(t,e.objectType,void 0,e.pageInfo):e.rowCountPipe.transform(t,e.objectType,e.maxItemCount),t.items.length||e.searchModel.value?e.searchModel.disabled&&e.searchModel.enable({emitEvent:!1}):e.searchModel.disable({emitEvent:!1}),e.status.setStatus("hasData"),e.itemsChange.emit(t)})),this.ready.subscribe({complete:function(){e.initTable.next(e.formModel.value),e.initTable.complete()}})},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.onSortChange=function(e){this.sortChange.emit(e)},e.prototype.onPageChange=function(e){this.status.setStatus("pending","Loading"),this.pageInfo=e,this.pageChangeEmitter.emit(e),this.pageChanged.next(this.formModel.value)},e.prototype.setUpRefreshTrigger=function(){var e=this;this.refresh&&(this.refreshTrigger=this.refresh.pipe(d.map((function(t){return t&&t.clearSearch?(e.searchModel.reset("",{emitEvent:!1}),Object.assign(Object.assign({},e.formModel),{searchModel:""})):e.formModel.value})),d.takeUntil(this.destroyed)))},e.prototype.getCaption=function(e){return e.items.length?"":this.searchModel.value?this.translateService.instant(this.noSearchResultsMessage||"SearchableTable_Default_NoMatches_SC",{searchText:this.searchModel.value}):this.translateService.instant(this.noDataMessage||"SearchableTable_Default_NoData_SC")},e}();Ue.decorators=[{type:r.Component,args:[{selector:"ec-searchable-table",template:'<header *ngIf="!hideHeader"\r\n class="d-flex flex-shrink align-items-center mb-3">\r\n <ec-textbox id="{{id}}_searchbox"\r\n *ngIf="!hideSearchControl"\r\n class="mb-0 flex-grow mr-2"\r\n [autofocus]="autofocus"\r\n [formModel]="searchModel"\r\n [tabindex]="searchboxTabIndex"\r\n [placeholder]="searchboxPlaceholder"\r\n [readonly]="searchboxReadonly"></ec-textbox>\r\n <div class="flex-grow">\r\n <ng-content select=".searchable-table-controls"></ng-content>\r\n </div>\r\n</header>\r\n<section id="{{id}}_card"\r\n class="d-flex flex-column {{overlayClasses}}"\r\n [ngClass]="{\'is-translucent\': status.status !== \'error\', \'has-mask\': status.status !== \'hasData\', \'card m-0 bg-content\': !customContentTemplate && !removeCard}"\r\n ecOverlay\r\n [status]="status.status"\r\n [message]="status.message"\r\n [displayAsMask]="true">\r\n <ng-content select=".card-header"></ng-content>\r\n <ng-container *ngTemplateOutlet="customContentTemplate || defaultContentTemplate">\r\n </ng-container>\r\n\r\n \x3c!-- the default template is an ec-table with proxied-over searchable table inputs. \r\n If that doesn\'t work for you then you can specify a customContentTemplate to use instead\r\n and still retain all the event handling, header, footer pagination, etc support --\x3e\r\n <ng-template #defaultContentTemplate>\r\n <ec-table id="{{id}}_table"\r\n class="{{tableClasses}}"\r\n [class.is-fixed]="tableLayoutFixed"\r\n [sortable]="sortable"\r\n [sort]="sort"\r\n (sortChange)="onSortChange($event)"\r\n [resizable]="resizable"\r\n [scrollable]="true"\r\n [selectable]="selectable"\r\n [selectionContext]="selectionContext"\r\n [selectionToolbarTemplate]="selectionToolbarTemplate"\r\n [resizableColumns]="resizableColumns">\r\n <ng-content></ng-content>\r\n </ec-table>\r\n </ng-template>\r\n\r\n \x3c!-- pagination footer visible if table is page-able and there are more than one page of results --\x3e\r\n <footer *ngIf="!hideFooter && pageable && searchResults.totalItemsBeforePaging! > pageSize!"\r\n class="pagination-footer"\r\n [class.border-top]="!customContentTemplate">\r\n <ec-table-pagination id="{{id}}_pager"\r\n class="font-color-primary"\r\n [totalItems]="searchResults.totalItemsBeforePaging"\r\n [pageSize]="pageSize"\r\n [maxTabs]="maxTabs"\r\n [pageNumber]="pageInfo?.pageNumber"\r\n (pageChanged)="onPageChange($event)">\r\n </ec-table-pagination>\r\n <div id="resultsCount"\r\n *ngIf="searchResults?.items?.length"\r\n class="ml-auto font-color-hint text-truncate" \r\n title="{{resultsCount}} {{additionalCountText}}">{{resultsCount}} {{additionalCountText}}</div>\r\n </footer>\r\n\r\n \x3c!-- default footer: visible if hideFooter is false and table is not page-able or there are only one page of results (always shows if there is a caption to indicate no results) --\x3e\r\n <footer *ngIf="(!hideFooter && (!pageable || searchResults.totalItemsBeforePaging! <= pageSize!)) || tableCaption"\r\n class="caption-footer"\r\n [ngClass]="{\'has-results\': searchResults?.items?.length, \'border-top\': searchResults?.items?.length && !customContentTemplate}">\r\n <ng-content *ngIf="!tableCaption"\r\n select=".searchable-table-footer"></ng-content>\r\n <div id="tableCaption"\r\n *ngIf="tableCaption"\r\n [innerHTML]="tableCaption"></div>\r\n <div id="resultsCount"\r\n *ngIf="searchResults?.items?.length"\r\n class="ml-auto text-truncate"\r\n title="{{resultsCount}} {{additionalCountText}}">{{resultsCount}} {{additionalCountText}}</div>\r\n </footer>\r\n</section>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{--ec-searchable-table-flex-ec-table:var(--ec-searchable-table-flex-properties,0 1 auto);--ec-searchable-table-flex-overlay-section:var(--ec-searchable-table-flex-properties,0 1 auto);--ec-searchable-table-flex-properties:0 1 auto;display:flex;flex:1 1;flex-direction:column;min-height:0}:host ::ng-deep .card-header+ec-table.is-selectable th{height:2.5rem;padding-bottom:.9375rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle{padding-top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle:before{top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable .selectable-table-toolbar{height:2.5rem;padding-bottom:.5rem}section{flex:var(--ec-searchable-table-flex-overlay-section);min-height:0}ec-table{flex:var(--ec-searchable-table-flex-ec-table);min-height:0}footer{align-items:center;display:flex;flex:none;font-size:var(--ec-font-size-label);line-height:1rem}footer.has-results{color:var(--ec-color-hint-dark);text-align:right}.pagination-footer{padding:0 .5rem 0 0}.caption-footer{height:var(--ec-searchable-table-height-caption-footer);padding:.5rem}.card.has-mask{min-height:15rem}"]}]}],Ue.ctorParameters=function(){return[{type:He},{type:s.TranslateService},{type:je}]},Ue.propDecorators={id:[{type:r.Input}],resizable:[{type:r.Input}],sortable:[{type:r.Input}],sort:[{type:r.Input}],autofocus:[{type:r.Input}],tableClasses:[{type:r.Input}],sortChange:[{type:r.Output}],pageChangeEmitter:[{type:r.Output,args:["pageChange"]}],searchboxPlaceholder:[{type:r.Input}],formModel:[{type:r.Input}],noDataMessage:[{type:r.Input}],noSearchResultsMessage:[{type:r.Input}],ready:[{type:r.Input}],getItems:[{type:r.Input}],refresh:[{type:r.Input}],status:[{type:r.Input}],tableLayoutFixed:[{type:r.Input}],itemsChange:[{type:r.Output}],searchboxTabIndex:[{type:r.Input}],maxItemCount:[{type:r.Input}],hideSearchControl:[{type:r.Input}],hideHeader:[{type:r.Input}],objectType:[{type:r.Input}],hideFooter:[{type:r.Input}],pageable:[{type:r.Input}],pageSize:[{type:r.Input}],maxTabs:[{type:r.Input}],searchboxReadonly:[{type:r.Input}],selectionContext:[{type:r.Input}],selectionToolbarTemplate:[{type:r.Input}],resizableColumns:[{type:r.ContentChildren,args:[_e,{descendants:!0}]}],additionalCountText:[{type:r.Input}],selectable:[{type:r.Input}],customContentTemplate:[{type:r.Input}],removeCard:[{type:r.Input}],overlayClasses:[{type:r.Input}],fillParentHeight:[{type:r.Input}]};var qe=function(){};qe.decorators=[{type:r.Component,args:[{selector:"[ecTableDetailRow]",template:'\n <td></td>\n <td [class.has-max-height]="maxHeight" class="table-detail-content {{contentClass}}" [attr.colspan]="contentColSpan">\n <div [style.max-height]="maxHeight"><ng-content></ng-content></div>\n </td>\n ',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background-color:var(--ec-background-color-detail)}td:first-child{padding:.25rem 0!important;vertical-align:top;width:1.5rem}.table-detail-content{background-color:transparent;border-top:1px solid var(--ec-border-color-legacy);padding:1rem 2rem 1rem 0!important}.table-detail-content.has-max-height{padding:0!important}.table-detail-content.has-max-height>div{overflow-y:auto;padding:1rem 2rem 1rem 0}"]}]}],qe.propDecorators={contentClass:[{type:r.Input}],contentColSpan:[{type:r.Input}],maxHeight:[{type:r.Input}]};var Ge=function(){function e(e){this.el=e,this.borderRight=!1,this.borderLeft=!1}return e.prototype.ngOnInit=function(){if(this.el.nativeElement.classList.contains("is-resizable"))throw new Error("Failed to lock table column because it was also resizable. Resizable table columns cannot currently be locked. Remove the 'is-resizable' class from THs of table columms that have the [ecTableLockedColumn] component.");if(this.el.nativeElement.attributes.getNamedItem("colspan"))throw new Error("Failed to lock table column because it had a 'colspan'. Locked columns do not currently support THs or TDs with a 'colspan'. Remove the 'colspan' attribute from table columns that have the [ecTableLockedColumn] component.");this.updatePositionAndBorder()},e.prototype.ngOnChanges=function(){this.options&&this.updatePositionAndBorder()},e.prototype.updatePositionAndBorder=function(){if("number"==typeof this.options.left&&"number"==typeof this.options.right)throw new Error("Failed to lock table column because it had a value for both left and right. Only left or right can have a value.");"number"==typeof this.options.left?(this.left=this.options.left,this.borderRight=this.options.border||!1):(this.right=this.options.right,this.borderLeft=this.options.border||!1)},e}();Ge.decorators=[{type:r.Component,args:[{selector:"[ecTableLockedColumn]",template:"<ng-content></ng-content>",styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background-color:var(--ec-background-color);position:sticky!important;z-index:2!important}:host(th){z-index:3!important}"]}]}],Ge.ctorParameters=function(){return[{type:r.ElementRef}]},Ge.propDecorators={options:[{type:r.Input,args:["ecTableLockedColumn"]}],left:[{type:r.HostBinding,args:["style.left.px"]}],right:[{type:r.HostBinding,args:["style.right.px"]}],borderRight:[{type:r.HostBinding,args:["class.border-right"]}],borderLeft:[{type:r.HostBinding,args:["class.border-left"]}]};var $e=function(){};$e.decorators=[{type:r.Component,args:[{selector:"[ecTableMasterHeaderRow]",template:"<th></th><ng-content></ng-content>",styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}th{padding:.25rem 0!important;vertical-align:top;width:1.5rem}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}"]}]}];var Ye=function(){function e(e,t){this.renderer=e,this.el=t,this.showDetails=!1,this.showDetailsChanged=new r.EventEmitter}return e.prototype.ngOnInit=function(){this.detailRowColSpan||console.error("A value for [detailRowColSpan] is required to render a detail row correctly. This should be the number of columns TDs placed inside an tr[ecTableMasterRow]."),this.parentNode=this.renderer.parentNode(this.el.nativeElement),this.updateDetailRow()},e.prototype.ngOnChanges=function(e){e.hasDetails&&!e.hasDetails.firstChange&&void 0!==e.hasDetails.currentValue&&this.updateDetailRow(),e.showDetails&&!e.showDetails.firstChange&&void 0!==e.showDetails.currentValue&&this.updateVisibility()},e.prototype.ngOnDestroy=function(){this.removeDetailView()},e.prototype.updateDetailRow=function(){if(this.hasDetails){if(!this.detailTemplate)return void console.error("A value for the [detailTemplate] input is required when 'hasDetails' is true.");this.detailView=this.detailRowTemplate.createEmbeddedView({}),this.updateVisibility()}else this.removeDetailView()},e.prototype.toggleDetails=function(e){this.showDetails=e,this.showDetailsChanged.emit(e),this.updateVisibility()},e.prototype.updateVisibility=function(){this.showDetails?this.show():this.hide()},e.prototype.show=function(){var e=this;this.detailView&&(this.siblingNode=this.renderer.nextSibling(this.el.nativeElement),this.detailView.reattach(),this.detailView.detectChanges(),this.detailView.rootNodes.forEach((function(t){e.renderer.insertBefore(e.parentNode,t,e.siblingNode)})))},e.prototype.hide=function(){this.detailView&&(this.detailView.detach(),this.removeDetailNodes())},e.prototype.removeDetailView=function(){this.detailView&&(this.detailView.destroy(),this.removeDetailNodes())},e.prototype.removeDetailNodes=function(){var e=this;this.detailView&&this.detailView.rootNodes.forEach((function(t){try{e.renderer.removeChild(e.parentNode,t)}catch(e){}}))},e}();Ye.decorators=[{type:r.Component,args:[{selector:"[ecTableMasterRow]",template:'<td>\r\n <ec-collapsible-toggle *ngIf="hasDetails"\r\n id="{{id}}_toggle"\r\n [expanded]="showDetails"\r\n (expandedChange)="toggleDetails($event)"></ec-collapsible-toggle>\r\n</td>\r\n<ng-content></ng-content>\r\n\r\n<ng-template #detailRow>\r\n <tr ecTableDetailRow class="{{detailRowClass}}" [contentClass]="detailRowContentClass" [contentColSpan]="detailRowColSpan" [maxHeight]="detailRowMaxHeight">\r\n <ng-container *ngTemplateOutlet="detailTemplate; context: {$implicit: detailContext}"></ng-container>\r\n </tr>\r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}td{padding:.25rem 0!important;vertical-align:top;width:1.5rem}td ::ng-deep+td{padding-left:0}"]}]}],Ye.ctorParameters=function(){return[{type:r.Renderer2},{type:r.ElementRef}]},Ye.propDecorators={id:[{type:r.Input}],hasDetails:[{type:r.Input}],showDetails:[{type:r.Input}],detailTemplate:[{type:r.Input}],detailContext:[{type:r.Input}],detailRowColSpan:[{type:r.Input}],detailRowClass:[{type:r.Input}],detailRowContentClass:[{type:r.Input}],detailRowMaxHeight:[{type:r.Input}],showDetailsChanged:[{type:r.Output}],detailRowTemplate:[{type:r.ViewChild,args:["detailRow",{read:r.TemplateRef,static:!0}]}]};var Xe=function(){this.selectAllCheckbox=new i.FormControl(!1),this.rowCheckboxes=new i.FormArray([]),this.lastClickedIndex=-1,this.rowAddedOrRemoved=new c.Subject,this.disableAdvancedRowClickBehavior=!1,this.nonDependentCheckboxes=[]},Ke=function(){function e(){this.id="",this._selectionEnabled=!0,this.rowIndex=-1,this.lockedColOptions={border:!1,left:0},this.isSelected=!1,this.isHeader=!1,this.isCheckboxDisabled=!1,this.dependentCheckboxesReference={controls:[]},this.checkboxAttributeID="",this.destroyed=new c.Subject}return Object.defineProperty(e.prototype,"isSelectionEnabled",{get:function(){return this._selectionEnabled},set:function(e){this._selectionEnabled=!1!==e},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e,t,o;if(this.isHeader=this.rowIndex<0,this.context){var n=null===(t=null===(e=this.context)||void 0===e?void 0:e.rowCheckboxes)||void 0===t?void 0:t.at(this.rowIndex);this.isHeader||n||(n=new i.FormControl(this.isSelected),null===(o=this.context)||void 0===o||o.rowCheckboxes.push(n)),this.formControl=this.isHeader?this.context.selectAllCheckbox:n,this.watchForChanges()}else console.error("ecTableSelectableRow requires a defined SelectableTableRowContext to be shared with all instances in one table.")},e.prototype.ngOnChanges=function(e){var t;e.rowIndex&&!this.isHeader&&(this.formControl=this.context.rowCheckboxes.at(this.rowIndex),this.checkboxAttributeID=this.id+"_row"+this.rowIndex+"_ecCheckbox"),e.isSelectionEnabled&&!this.isSelectionEnabled&&!0===(null===(t=this.formControl)||void 0===t?void 0:t.value)&&this.formControl.setValue(!1),e.isSelected&&this.formControl&&this.formControl.setValue(this.isSelected)},e.prototype.ngOnDestroy=function(){var e=this;if(!this.isHeader&&this.formControl){this.context.rowAddedOrRemoved.next();var t=this.context.rowCheckboxes.controls.findIndex((function(t){return t==e.formControl}));t>=0&&this.context.rowCheckboxes.removeAt(t)}},e.prototype.rowClicked=function(e){if(!this.isHeader&&this.isSelectionEnabled&&!this.isCheckboxDisabled){null==e||e.target;this.formControl.setValue(!this.formControl.value),this.context.disableAdvancedRowClickBehavior||this.handleShiftSelect(e)}},e.prototype.watchForChanges=function(){var e,t=this;this.isHeader?this.context.rowAddedOrRemoved.pipe(d.debounceTime(10),d.takeUntil(this.destroyed)).subscribe((function(){t.context.lastClickedIndex=-1;var e=[];t.context.rowCheckboxes.controls.forEach((function(o,n){t.context.nonDependentCheckboxes.includes(n)||e.push(o)})),t.dependentCheckboxesReference={controls:e}})):(this.context.rowAddedOrRemoved.next(),null===(e=this.formControl)||void 0===e||e.valueChanges.pipe(d.takeUntil(this.destroyed)).subscribe((function(e){t.isSelected=e})))},e.prototype.handleShiftSelect=function(e){var t,o=this.context.lastClickedIndex,n=this.rowIndex;if(e.shiftKey&&o>=0){if(this.clearAllRows(),n>o)for(var r=o;r<=n;r++)this.context.rowCheckboxes.at(r).setValue(!0);else if(n<o)for(r=o;r>=n;r--)this.context.rowCheckboxes.at(r).setValue(!0);else n===o&&this.formControl.setValue(!0);null===(t=document.getSelection())||void 0===t||t.removeAllRanges()}else this.context.lastClickedIndex=this.rowIndex},e.prototype.clearAllRows=function(){this.context.rowCheckboxes.controls.forEach((function(e){return e.setValue(!1)}))},e}();Ke.decorators=[{type:r.Component,args:[{selector:"[ecTableSelectableRow]",template:'\x3c!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox --\x3e\r\n<ng-content select=".before-checkbox"></ng-content>\r\n<ng-container *ngIf="isSelectionEnabled">\r\n <th *ngIf="isHeader"\r\n class="checkbox"\r\n [ecTableLockedColumn]="lockedColOptions">\r\n <ec-checkbox id="{{id}}_selectAll"\r\n class="m-0"\r\n *ngIf="context?.selectAllCheckbox"\r\n [formModel]="context?.selectAllCheckbox"\r\n [dependentCheckboxesGroup]="dependentCheckboxesReference"\r\n [ignoreDisabledDependents]="false">\r\n </ec-checkbox>\r\n </th>\r\n <td *ngIf="!isHeader && formControl"\r\n class="checkbox"\r\n [ecTableLockedColumn]="lockedColOptions">\r\n \x3c!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\r\n and allow the value to be visible to other components (for example, when they subscribe\r\n to valueChanges on the FormArray that contains all the checkbox FormControls). --\x3e\r\n <ec-checkbox id="{{id}}_row{{rowIndex}}_checkbox"\r\n [readonly]="isCheckboxDisabled"\r\n [attr.id]="checkboxAttributeID"\r\n class="m-0 row-checkbox"\r\n [formModel]="formControl">\r\n </ec-checkbox>\r\n </td>\r\n</ng-container>\r\n\x3c!-- The rest of the table row --\x3e\r\n<ng-content></ng-content>',styles:[":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:1px;padding-right:1px;width:1.125rem}:host .checkbox:first-child{padding-left:.5rem;width:1.5625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th,middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td,top)}"]}]}],Ke.propDecorators={id:[{type:r.HostBinding,args:["attr.id"]},{type:r.Input}],isSelectionEnabled:[{type:r.HostBinding,args:["class.is-enabled"]},{type:r.Input,args:["ecTableSelectableRow"]}],context:[{type:r.Input,args:["selectionContext"]}],rowIndex:[{type:r.Input}],lockedColOptions:[{type:r.Input}],isSelected:[{type:r.HostBinding,args:["class.is-selected"]},{type:r.Input}],isHeader:[{type:r.HostBinding,args:["class.is-header"]}],isCheckboxDisabled:[{type:r.Input}],rowClicked:[{type:r.HostListener,args:["click",["$event"]]}]};var Ze=function(){function e(e,t){this.renderer=e,this.el=t,this.id="",this.scrollable=!1,this.resizable=!1,this.condensed=!1,this.sortable=!1,this.selectable=!1,this.hasSelection=!1,this.isForm=!1,this.sortChange=new r.EventEmitter,this.hasMasterDetailRows=!1,this.unlisteners=[],this.sortableCols={},this.destroyed=new c.Subject}return e.prototype.ngOnChanges=function(e){if(this.sortable&&e.sort&&e.sort.currentValue&&!e.sort.firstChange){var t=e.sort.currentValue;this.currentSort&&h.isEqual(t,this.currentSort)||this.onSort(t.field,t.direction)}},e.prototype.ngAfterContentInit=function(){var e=this;this.hasMasterDetailRows=!!this.masterRows.length,this.masterRows.changes.pipe(d.takeUntil(this.destroyed)).subscribe((function(){e.hasMasterDetailRows=!!e.masterRows.length})),this.resizableColumns=this.searchableTableResizableColumns||this._resizableColumns},e.prototype.ngAfterViewInit=function(){this.sortable&&this.initSortable(),this.selectable&&this.initSelectable()},e.prototype.ngOnDestroy=function(){this.unlisteners.length&&this.unlisteners.forEach((function(e){return e()})),this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.queryElements=function(e){var t=this.el.nativeElement;return Array.from(t.querySelectorAll(e))},e.prototype.initSortable=function(){var e=this;this.queryElements("th").forEach((function(t){if(t.hasAttribute("data-sortfield")){var o=t.getAttribute("data-sortfield");if(o){e.sortableCols[o]=t;var n=e.renderer.listen(t,"click",(function(n){t.classList.contains("is-resizable")&&n.target&&n.target.classList.contains("handle")||e.onSort(o)}));e.unlisteners.push(n)}else console.error("data-sortfield attribute was not assigned a value.",t)}})),this.sort&&this.onSort(this.sort.field,this.sort.direction)},e.prototype.onSort=function(e,t){var o=this.sortableCols[e];if(o){this.currentSort&&this.currentSort.field!==e&&this.renderer.removeClass(this.sortableCols[this.currentSort.field],"is-sorted-"+this.currentSort.direction),o.classList.contains("is-sorted-desc")?(this.renderer.removeClass(o,"is-sorted-desc"),t||(t="asc")):(o.classList.contains("is-sorted-asc")&&this.renderer.removeClass(o,"is-sorted-asc"),t||(t="desc")),this.renderer.addClass(o,"is-sorted-"+t);var n={field:e,direction:t};this.currentSort=n,this.sortChange.emit(n)}},e.prototype.initSelectable=function(){var e=this;this.selectionContext.rowCheckboxes.valueChanges.pipe(d.takeUntil(this.destroyed)).subscribe((function(t){e.hasSelection=t.some((function(e){return e}))}))},e}();Ze.decorators=[{type:r.Component,args:[{selector:"ec-table",template:'<div class="selectable-table-toolbar"\r\n *ngIf="hasSelection && selectionToolbarTemplate">\r\n <ng-container *ngTemplateOutlet="selectionToolbarTemplate"></ng-container>\r\n</div>\r\n<div id="{{id}}-scroll-container" \r\n class="table-scroll-container">\r\n <table class="main-table"\r\n id="{{id}}"\r\n [ecResizableTable]="resizable"\r\n [containerEl]="el"\r\n [sortableTable]="sortable"\r\n [resizableColumns]="resizableColumns">\r\n <ng-content></ng-content>\r\n </table>\r\n</div>',encapsulation:r.ViewEncapsulation.None,styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}ec-table{display:flex;min-height:0;position:relative}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;font-size:var(--ec-font-size-label);width:100%}ec-table .main-table th{border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;height:2rem;line-height:1rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{border-top:1px solid var(--ec-border-color);height:2rem;line-height:1rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected,ec-table .main-table tbody>tr.is-selected>td{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{border-top:0;color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;padding-bottom:0;text-transform:uppercase;vertical-align:bottom}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table td.actions-col,ec-table .main-table th.actions-col{padding:0}ec-table .main-table td.actions-1,ec-table .main-table th.actions-1{width:2.0625rem}ec-table .main-table td.actions-2,ec-table .main-table th.actions-2{width:4.0625rem}ec-table .main-table td.actions-3,ec-table .main-table th.actions-3{width:6.0625rem}ec-table .main-table td.actions-4,ec-table .main-table th.actions-4{width:8.0625rem}ec-table .main-table td.actions-5,ec-table .main-table th.actions-5{width:10.0625rem}ec-table.is-condensed td,ec-table.is-condensed th{height:1.5rem;padding-bottom:.25rem;padding-top:.25rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;height:3rem;left:calc(var(--selection-toolbar-left, 0rem) + 1.5625rem);padding:0 .5rem;position:absolute;right:0;top:0;z-index:4}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:1}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);bottom:0;position:sticky!important;z-index:1}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td,ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{cursor:pointer;display:flex}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{background-position:50%;background-repeat:no-repeat;content:"";display:none;flex:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z"/></svg>\');display:inline-block}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{background-position:50%;background-repeat:no-repeat;content:"";display:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z"/></svg>\');display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:"";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{background-position:50%;background-repeat:no-repeat;content:"";display:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z"/></svg>\');display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{overflow:visible;position:relative;z-index:1}ec-table.is-resizable th.is-resizable.is-active{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{height:100%;padding:.5rem 0 .5rem 10px;position:absolute;right:-7px;right:0;top:0;width:13px;z-index:var(--ec-z-index-splitter)}ec-table.is-resizable th.is-resizable .handle:after{content:"";display:block;height:100%;position:relative;transition:background-color .3s ease}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{background-color:var(--ec-border-color-legacy);bottom:.5rem;content:"";display:block;position:absolute;right:0;top:.5rem;width:1px}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:3rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-bottom:1rem;padding-top:1rem}ec-table.is-selectable th.is-resizable .handle:before{bottom:1rem;top:1rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{border-top:0;font-size:var(--ec-font-size-body);height:2.5rem;line-height:2rem;padding-bottom:.25rem;padding-top:.25rem}ec-table.is-form-table tr:first-child td{height:2.75rem;padding-top:.5rem}ec-table.is-form-table tr:last-child td{height:2.75rem;padding-bottom:.5rem}ec-table.is-fixed .main-table{table-layout:fixed}']}]}],Ze.ctorParameters=function(){return[{type:r.Renderer2},{type:r.ElementRef}]},Ze.propDecorators={id:[{type:r.HostBinding,args:["attr.id"]},{type:r.Input}],scrollable:[{type:r.HostBinding,args:["class.is-scrollable"]},{type:r.Input}],resizable:[{type:r.HostBinding,args:["class.is-resizable"]},{type:r.Input}],condensed:[{type:r.HostBinding,args:["class.is-condensed"]},{type:r.Input}],sortable:[{type:r.HostBinding,args:["class.is-sortable"]},{type:r.Input}],selectionContext:[{type:r.Input}],selectionToolbarTemplate:[{type:r.Input}],selectable:[{type:r.HostBinding,args:["class.is-selectable"]},{type:r.Input}],isForm:[{type:r.HostBinding,args:["class.is-form-table"]},{type:r.Input}],sort:[{type:r.Input}],sortChange:[{type:r.Output}],hasMasterDetailRows:[{type:r.HostBinding,args:["class.is-master-detail"]}],masterRows:[{type:r.ContentChildren,args:[Ye,{descendants:!0}]}],_resizableColumns:[{type:r.ContentChildren,args:[_e,{descendants:!0}]}],searchableTableResizableColumns:[{type:r.Input,args:["resizableColumns"]}]};var Je=function(){function e(){this.id="",this.wrap=!0,this.isCondensed=!1,this.tagClosed=new r.EventEmitter,this.tagsArray=[]}return e.prototype.ngOnChanges=function(e){e.tags&&(this.tags?Array.isArray(this.tags)?this.tagsArray=this.tags:this.tagsArray=[this.tags]:this.tagsArray=[])},e.prototype.closeTag=function(e){this.tagsArray=this.tagsArray.filter((function(t){return t!==e})),this.tagClosed.emit(e)},e}();Je.decorators=[{type:r.Component,args:[{selector:"ec-tags",template:'<ul class="tags" [class.is-wrapped]="wrap">\r\n <li *ngFor="let tag of tagsArray; index as i"\r\n id="{{id}}_tag_{{i}}"\r\n class="tag is-{{tag.type}} {{tag.classList}} mr-1"\r\n [ngClass]="{\'text-caption-1\': !isCondensed, \'text-caption-2\': isCondensed, \'is-condensed\': isCondensed, \'pr-0\': tag.isDismissable}"\r\n title="{{tag.tooltip | translate}}">\r\n <i *ngIf="tag.icon" class="ec-icon {{tag.icon}} font-color-muted ec-icon-sm"></i>\r\n {{tag.label | translate}}\r\n <button id="{{id}}_tag_{{i}}_dismissButton"\r\n *ngIf="tag.isDismissable"\r\n (click)="closeTag(tag)">\r\n <i class="ec-icon ec-icon-sm icon-cancel"></i>\r\n </button>\r\n </li>\r\n</ul>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{display:flex;list-style:none;margin:0;padding:0}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag{align-items:center;background-color:rgba(172,188,195,.25);border:2px solid #acbcc3;border-radius:calc(var(--ec-border-radius, .25rem)*3);display:inline-flex;height:1.5rem;line-height:1.25rem;overflow:hidden;padding:0 .4375rem;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.tag>.ec-icon:first-child{margin-right:.1875rem}.tag .ec-icon{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;justify-content:center;min-width:1em}.tag .ec-icon,.tag .ec-icon:after,.tag .ec-icon:before{height:auto;width:auto}.tag.is-info{background-color:rgba(172,188,195,.25);border-color:#acbcc3}.tag.is-success{background-color:rgba(193,205,35,.25);border-color:#c1cd23}.tag.is-warning{background-color:rgba(245,212,0,.25);border-color:#f5d400}.tag.is-danger{background-color:rgba(227,52,54,.25);border-color:#e33436}.tag.is-accent{background-color:rgba(144,110,168,.25);border-color:#906ea8}.tag.is-chargeback{background-color:rgba(250,123,46,.25);border-color:#fa7b2e}.tag.is-accrual{background-color:rgba(35,195,205,.25);border-color:#23c3cd}button{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:100%;padding:0 .4375rem 0 .1875rem}button:focus,button:hover{background-color:rgba(26,26,35,.1);outline:none}.is-condensed{border:0;border-radius:var(--ec-border-radius);height:1.125rem;justify-content:center;line-height:1.125rem;min-width:1.125rem;padding:0 .25rem}.is-condensed>.ec-icon:first-child{margin-right:.125rem}.is-condensed button{padding-left:.125rem;padding-right:.25rem}"]}]}],Je.ctorParameters=function(){return[]},Je.propDecorators={id:[{type:r.Input}],tags:[{type:r.Input}],wrap:[{type:r.Input}],isCondensed:[{type:r.Input}],tagClosed:[{type:r.Output}]};var Qe=function(e,t,o){void 0===o&&(o="user"),this.action=e,this.toast=t,this.source=o},et=function(){function e(){this._events=new c.Subject,this.events=this._events.asObservable()}return e.prototype.showToast=function(e,t){var o=new Qe("add",e,t);this._events.next(o)},e.prototype.dismissToast=function(e,t){var o=new Qe("remove",e,t);this._events.next(o)},e}();et.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new et},token:et,providedIn:"root"}),et.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],et.ctorParameters=function(){return[]};var tt=function(){function e(e){this.toastService=e,this.open=!1,this.TOAST_ANIMATION_DURATION=250,this.closed=new r.EventEmitter,this.TIMED_TOAST_DURATION=4e3,this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.toastService.events.pipe(d.takeUntil(this.destroyed)).subscribe((function(t){"remove"==t.action&&t.toast===e.toastItem&&e.close(t)}))},e.prototype.ngOnChanges=function(e){e.toastItem&&this.toastItem&&(this.id=this.toastItem.id,this.open=!0,this.toastItem.dismissible||this.closeAfterTimer())},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.complete()},e.prototype.closeClicked=function(){this.toastItem&&this.toastService.dismissToast(this.toastItem,"user")},e.prototype.close=function(e){var t=this;this.open=!1,c.timer(this.TOAST_ANIMATION_DURATION).subscribe((function(){t.closed.emit(e)}))},e.prototype.closeAfterTimer=function(){var e=this;c.timer(this.TIMED_TOAST_DURATION).pipe(d.takeUntil(c.race(this.closed,this.destroyed))).subscribe((function(){e.toastItem&&e.toastService.dismissToast(e.toastItem,"auto")}))},e}();tt.decorators=[{type:r.Component,args:[{selector:"ec-toast",template:'<ec-banner id="{{toastItem?.id}}_banner"\r\n [type]="toastItem?.type"\r\n bannerStyle="toast"\r\n [customIcon]="toastItem?.icon"\r\n [showCloseBtn]="toastItem?.dismissible"\r\n [autoHideOnClose]="false"\r\n (closed)="closeClicked()">\r\n <div class="d-flex">\r\n <div id="{{toastItem?.id}}_message"\r\n [innerHTML]="toastItem?.message | translate"></div>\r\n <a id="{{toastItem?.id}}_action"\r\n *ngIf="toastItem?.action && toastItem?.actionLabel"\r\n class="text-link ml-2"\r\n (click)="toastItem!.action!()">{{toastItem?.actionLabel | translate}}</a>\r\n </div>\r\n</ec-banner>',styles:[":host{bottom:0;display:block;left:50%;position:fixed;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration,.25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(var(--toast-bottom, 0rem)*-1 - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}"]}]}],tt.ctorParameters=function(){return[{type:et}]},tt.propDecorators={toastItem:[{type:r.Input}],id:[{type:r.HostBinding,args:["attr.id"]}],open:[{type:r.HostBinding,args:["class.is-open"]}],TOAST_ANIMATION_DURATION:[{type:r.HostBinding,args:["style.--toast-animation-duration.ms"]}],closed:[{type:r.Output}]};var ot=function(){function e(e,t){this.toastService=e,this.telemetryService=t,this.dismissibleToastBottom=0,this.pendingToasts=[],this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.toastService.events.pipe(d.takeUntil(this.destroyed)).subscribe((function(t){"add"==t.action?(e.addToast(t.toast),e.updateDismissibleToastBottom(),e.trackEvent(t)):"remove"==t.action&&t.toast!==e.currentDismissibleToast&&t.toast!==e.currentTimedToast&&(e.removePendingToast(t.toast),e.trackEvent(t))}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.complete()},e.prototype.updateVisibleToast=function(e){e.toast.dismissible?this.currentDismissibleToast=this.getNextToast(!0):this.currentTimedToast=this.getNextToast(!1),this.updateDismissibleToastBottom(),this.trackEvent(e)},e.prototype.addToast=function(e){e.dismissible&&this.currentDismissibleToast||!e.dismissible&&this.currentTimedToast?this.addPendingToast(e):e.dismissible?this.currentDismissibleToast=e:this.currentTimedToast=e},e.prototype.getNextToast=function(e){var t=this.pendingToasts.find((function(t){return t.dismissible===e}));return t&&this.removePendingToast(t),t},e.prototype.addPendingToast=function(e){this.pendingToasts.push(e)},e.prototype.removePendingToast=function(e){var t=this.pendingToasts.indexOf(e);t>-1&&this.pendingToasts.splice(t,1)},e.prototype.updateDismissibleToastBottom=function(){this.currentTimedToast&&this.timedToastEl?this.dismissibleToastBottom=(this.timedToastEl.nativeElement.offsetHeight+8)/16:this.dismissibleToastBottom=0},e.prototype.trackEvent=function(e){var t,o,n,r=this.pendingToasts.filter((function(e){return e.dismissible})),i=this.pendingToasts.filter((function(e){return!e.dismissible}));this.telemetryService.trackEvent(e.action+" toast",{action:e.action,source:e.source,hasDismissiblePending:r.length>0?"yes":"no",dismissiblePendingLength:""+r.length,hasTransientPending:i.length>0?"yes":"no",transientPendingLength:""+i.length,toastId:null!==(t=e.toast.id)&&void 0!==t?t:"",toastType:e.toast.type,toastMessage:e.toast.message,toastDismissible:""+e.toast.dismissible,toastIcon:null!==(o=e.toast.icon)&&void 0!==o?o:"",toastAction:null!==(n=e.toast.actionLabel)&&void 0!==n?n:""})},e}();ot.decorators=[{type:r.Component,args:[{selector:"ec-toaster",template:'<ec-toast [toastItem]="currentDismissibleToast"\r\n [style.--toast-bottom.rem]="dismissibleToastBottom"\r\n (closed)="updateVisibleToast($event)">\r\n</ec-toast>\r\n\r\n<ec-toast #timedToast\r\n [toastItem]="currentTimedToast"\r\n (closed)="updateVisibleToast($event)">\r\n</ec-toast>'}]}],ot.ctorParameters=function(){return[{type:et},{type:Te}]},ot.propDecorators={timedToastEl:[{type:r.ViewChild,args:["timedToast",{static:!1,read:r.ElementRef}]}]};var nt=function(){function e(){this.attrId="",this._id="",this.treeTitle="",this.hideTreeHeader=!1,this.treeMenuMaintainSelectedItem=!0,this.status=new ue("hasData"),this.type="hierarchy",this.menuStatus=new ue("hasData"),this.menuTemplateType="checkAndLabel",this.preserveIconSpace=!1,this.treeSelection=new r.EventEmitter,this.getTreeItemChildren=new r.EventEmitter,this.templateType="label"}return Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e,this.attrId=e},enumerable:!1,configurable:!0}),e.prototype.onItemSelected=function(e){this.treeSelection.emit(e)},e.prototype.onHierarchyGetItemChildren=function(e){this.getTreeItemChildren.emit(e)},e.prototype.scrollToSelectedItem=function(){this.menuComponent&&this.menuComponent.scrollToSelectedItem(),this.hierarchyTreeComponent&&this.hierarchyTreeComponent.scrollToSelectedItem()},e}();nt.decorators=[{type:r.Component,args:[{selector:"ec-tree",template:'<header *ngIf="!hideTreeHeader"\r\n class="flex-shrink d-flex align-items-center border-bottom bg-content pl-2 pr-1">\r\n <h2 id="{{id}}_title"\r\n class="flex-grow mr-2 text-heading-1">{{treeTitle | translate}}</h2>\r\n <ec-dropdown *ngIf="menuItems?.length"\r\n id="{{id}}_dropdown"\r\n class="flex-shrink"\r\n icon="icon-menu"\r\n [menuTemplateType]="menuTemplateType"\r\n menuPosition="left"\r\n [status]="menuStatus"\r\n [popupFixed]="true"\r\n [showArrow]="false"\r\n [menuMinWidth]="240"\r\n [items]="menuItems">\r\n </ec-dropdown>\r\n</header>\r\n\r\n<div class="flex-grow d-flex"\r\n ecOverlay\r\n [status]="status?.status"\r\n [displayAsMask]="true">\r\n <ng-container *ngIf="type === \'menu\'">\r\n <ec-menu [id]="id"\r\n [items]="treeItems"\r\n [templateType]="templateType"\r\n [maintainSelectedItem]="treeMenuMaintainSelectedItem"\r\n [truncateItems]="true"\r\n (selectedChanged)="onItemSelected($event)"\r\n [customMenuTemplate]="customTreeMenuTemplate ? customTreeMenuTemplate : undefined"\r\n [preserveIconSpace]="preserveIconSpace"\r\n class="flex-grow">\r\n </ec-menu>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="type === \'hierarchy\'">\r\n <ec-hierarchy-tree [id]="id"\r\n [rootNode]="treeHierarchy"\r\n [hideRootNode]="treeHierarchyHideRootNode"\r\n (getItemChildren)="onHierarchyGetItemChildren($event)"\r\n (itemSelected)="onItemSelected($event)"\r\n class="flex-grow d-flex">\r\n </ec-hierarchy-tree>\r\n </ng-container>\r\n</div>',styles:[":host{display:flex;flex-direction:column}header{height:3rem}ec-dropdown.fill{height:3rem;width:3rem}"]}]}],nt.ctorParameters=function(){return[]},nt.propDecorators={attrId:[{type:r.HostBinding,args:["attr.id"]}],id:[{type:r.Input}],treeTitle:[{type:r.Input}],hideTreeHeader:[{type:r.Input}],treeItems:[{type:r.Input}],treeHierarchyHideRootNode:[{type:r.Input}],treeHierarchy:[{type:r.Input}],treeMenuMaintainSelectedItem:[{type:r.Input}],customTreeMenuTemplate:[{type:r.Input}],status:[{type:r.Input}],type:[{type:r.Input}],menuItems:[{type:r.Input}],menuStatus:[{type:r.Input}],menuTemplateType:[{type:r.Input}],preserveIconSpace:[{type:r.Input}],treeSelection:[{type:r.Output}],getTreeItemChildren:[{type:r.Output}],menuComponent:[{type:r.ViewChild,args:[H]}],hierarchyTreeComponent:[{type:r.ViewChild,args:[Ee]}],templateType:[{type:r.Input}]};var rt=function(){function e(){}return e.prototype.ngOnInit=function(){var e;this.isTargetClickable="function"==typeof(null===(e=this.targetEl)||void 0===e?void 0:e.dispatchEvent)},e.prototype.onClick=function(e){this.isTargetClickable&&(e.preventDefault(),this.targetEl.dispatchEvent(new Event("click")))},e}();rt.decorators=[{type:r.Directive,args:[{selector:"[ecClickAreaFor]"}]}],rt.ctorParameters=function(){return[]},rt.propDecorators={targetEl:[{type:r.HostBinding,args:["class.cursor-pointer"]},{type:r.Input,args:["ecClickAreaFor"]}],onClick:[{type:r.HostListener,args:["click",["$event"]]}]};var it=function(){function e(e,t,o){this.viewContainer=e,this.templateRef=t,this.windowService=o,this.destroyed=new c.Subject,this.isVisible=!1}return e.prototype.ngOnInit=function(){var e=this;void 0!==this.windowService.innerWidth&&(this.width?("number"==typeof this.width?this.minWidth=this.width:void 0!==this.width&&(this.minWidth=this.width.min,this.maxWidth=this.width.max),this.windowService.resized&&this.windowService.resized.pipe(d.debounceTime(100),d.takeUntil(this.destroyed)).subscribe((function(){e.updateVisibility()})),this.updateVisibility()):console.error("A min or max width was not provided. Provide a value for 'min' or 'max' by assigning a single value or object to the directive. E.g. *ecIfViewportWidth=\"800\" (assigned to min) or *ecIfViewportWidth=\"{min: 800, max: 1280}\""))},e.prototype.updateVisibility=function(){var e=this.windowService.innerWidth;void 0!==this.minWidth&&void 0!==this.maxWidth?e>=this.minWidth&&e<=this.maxWidth?this.show():this.hide():void 0!==this.minWidth?e>=this.minWidth?this.show():this.hide():void 0!==this.maxWidth&&(e<=this.maxWidth?this.show():this.hide())},e.prototype.show=function(){this.isVisible||(this.viewContainer.createEmbeddedView(this.templateRef),this.isVisible=!0)},e.prototype.hide=function(){this.isVisible&&(this.viewContainer.clear(),this.isVisible=!1)},e}();it.decorators=[{type:r.Directive,args:[{selector:"[ecIfViewportWidth]"}]}],it.ctorParameters=function(){return[{type:r.ViewContainerRef},{type:r.TemplateRef},{type:B}]},it.propDecorators={width:[{type:r.Input,args:["ecIfViewportWidth"]}]};var at=function(){function e(){}return e.prototype.transform=function(e,t){var o="";if(e&&t){var n=new RegExp(this.escapeRegex(t),"gi");o=e.replace(n,this.strongWrap)}else o=e;return o},e.prototype.strongWrap=function(e){return'<strong class="text-highlight">'+e+"</strong>"},e.prototype.escapeRegex=function(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")},e}();at.decorators=[{type:r.Pipe,args:[{name:"highlightText"}]}];var st=function(){function e(e){this.userPreferenceService=e,this.lastFormatString="HH:mm:ss"}return e.prototype.transform=function(e,t){var o=this,n="";return this.userPreferenceService.getPreferences().subscribe((function(e){e.preference&&(n=e.preference.timeFormat,t||(n=n.replace(":ss","")),o.lastFormatString=n)})),b.default(e).format(this.lastFormatString)},e}();st.decorators=[{type:r.Pipe,args:[{name:"timeDisplay"}]}],st.ctorParameters=function(){return[{type:z}]};var lt=function(){function e(e,t,o){this.dateDisplayPipe=e,this.timeDisplayPipe=t,this.translateService=o}return e.prototype.transform=function(e,t){var o=b.default(e),n=b.default(),r=b.default().subtract(1,"day"),i=(null==t?void 0:t.dateOnly)?"":" "+this.timeDisplayPipe.transform(e);return""+(o.isSame(n,"day")&&!(null==t?void 0:t.showTimeForToday)?this.translateService.instant((null==t?void 0:t.todayLabel)?null==t?void 0:t.todayLabel:"today"):o.isSame(n,"day")&&(null==t?void 0:t.showTimeForToday)&&!i?this.timeDisplayPipe.transform(e):o.isSame(r,"day")?this.translateService.instant((null==t?void 0:t.yesterdayLabel)?null==t?void 0:t.yesterdayLabel:"yesterday"):this.dateDisplayPipe.transform(e))+i},e}();lt.decorators=[{type:r.Pipe,args:[{name:"relativeDate"}]}],lt.ctorParameters=function(){return[{type:P},{type:st},{type:s.TranslateService}]};var ct=function(){};ct.decorators=[{type:r.Component,args:[{selector:"app-page-title",template:'<i *ngIf="titleIcon"\r\n class="flex-shrink mr-1 my-1 ec-icon ec-icon-md {{titleIcon}}"></i>\r\n<div class="text-truncate">\r\n <h1 *ngIf="title"\r\n class="text-title-1 mb-0 py-1 text-truncate"\r\n title="{{title}}">{{title}}</h1>\r\n <p *ngIf="subTitle && !subTitleUrl"\r\n class="text-caption-1 mb-0 mt-n1 text-truncate">{{subTitle}}</p>\r\n <a *ngIf="subTitle && subTitleUrl"\r\n id="subTitle_link"\r\n class="d-block text-truncate mb-0 mt-n1 font-size-small"\r\n routerLink="{{subTitleUrl}}"\r\n target="_self">\r\n {{subTitle}}\r\n </a>\r\n</div>',host:{class:"d-flex"}}]}],ct.propDecorators={title:[{type:r.Input}],titleIcon:[{type:r.Input}],subTitle:[{type:r.Input}],subTitleUrl:[{type:r.Input}]};var dt=function(){function e(){this.isDialog=!1,this.status=new ue("pending"),this.showHeader=!0,this.moreActionsLabel="Actions",this.secondaryActionLabel="Cancel",this.hideSecondaryAction=!1,this.primaryActionLabel="Save",this.hidePrimaryAction=!1,this.stickyFooter=!0,this.fitContent=!1,this.onPrimaryAction=new r.EventEmitter,this.onSecondaryAction=new r.EventEmitter}return e.prototype.primaryAction=function(e){this.onPrimaryAction&&this.onPrimaryAction.emit(e)},e.prototype.secondaryAction=function(e){this.onSecondaryAction&&this.onSecondaryAction.emit(e)},e}();dt.decorators=[{type:r.Component,args:[{selector:"ec-page-view",template:'<div ecOverlay\r\n [status]="status?.status"\r\n [message]="status?.message"\r\n [displayAsMask]="true"\r\n class="bg-body flex-grow d-flex">\r\n <div id="PageViewScrollContainer" \r\n class="d-flex flex-column flex-grow scroll-y" \r\n [class.is-dialog]="isDialog"\r\n [class.fit-content]="fitContent"\r\n [class.sticky-footer]="stickyFooter && !!footerTemplate"\r\n [class.overlay-visible]="status?.status !== \'hasData\'"\r\n [class.footer-visible]="!!footerTemplate">\r\n <section>\r\n <ng-content></ng-content> \r\n </section>\r\n \r\n <footer *ngIf="footerTemplate">\r\n <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf="showHeader">\r\n \r\n <ol id="breadcrumbs"\r\n *ngIf="breadcrumbs?.length && !isDialog">\r\n <li *ngFor="let crumb of breadcrumbs; last as isLast">\r\n <a *ngIf="crumb.url; else label"\r\n [routerLink]="crumb.url">\r\n <ng-container *ngTemplateOutlet="label"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n \r\n <div *ngIf="!customHeaderTemplate; else customHeaderOutlet" class="titlebar">\r\n <app-page-title *ngIf="!customTitleTemplate; else customTitle" \r\n [title]="title"\r\n [subTitle]="subTitle"\r\n [subTitleUrl]="subTitleUrl"\r\n [titleIcon]="titleIcon"\r\n class="title text-truncate">\r\n </app-page-title>\r\n \r\n <ng-template #customTitle>\r\n <div class="title">\r\n <ng-container *ngTemplateOutlet="customTitleTemplate"></ng-container>\r\n </div>\r\n </ng-template>\r\n \r\n <div class="actions">\r\n <ec-button id="primaryAction"\r\n class="ml-2"\r\n *ngIf="!hidePrimaryAction && onPrimaryAction.observers?.length"\r\n [disabled]="status?.status === \'pending\'"\r\n type="primary"\r\n [label]="primaryActionLabel"\r\n (clicked)="primaryAction($event)">\r\n </ec-button>\r\n <ec-button id="secondaryAction"\r\n class="ml-2"\r\n *ngIf="!hideSecondaryAction && onSecondaryAction.observers?.length"\r\n type="secondary"\r\n [label]="secondaryActionLabel"\r\n (clicked)="secondaryAction($event)">\r\n </ec-button>\r\n <ec-dropdown id="moreActions"\r\n *ngIf="moreActions?.length"\r\n [disabled]="status?.status === \'pending\'"\r\n class="ml-2"\r\n buttonType="secondary"\r\n [label]="moreActionsLabel"\r\n [items]="moreActions">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet="customActionsTemplate"></ng-container>\r\n </div>\r\n </div>\r\n \r\n <ng-template #customHeaderOutlet> \r\n <div class="page-header">\r\n <ng-container *ngTemplateOutlet="customHeaderTemplate"></ng-container>\r\n </div>\r\n </ng-template>\r\n \r\n <ec-banner *ngIf="errors"\r\n id="pageViewErrors"\r\n [class.border-bottom-0]="!isDialog">\r\n <div [innerHtml]="errors"></div>\r\n </ec-banner>\r\n </header>\r\n </div>\r\n</div>\r\n\r\n',host:{class:"flex-grow"},styles:[':host{display:flex;flex:1 1;min-height:0}header{background-color:var(--ec-background-color-body);flex:none;order:1;padding:1rem 1.5rem .5rem;position:sticky;top:0;z-index:1}ol{-ms-grid-column:1;-ms-grid-column-span:2;-ms-grid-row:1;-ms-grid-row-span:1;font-size:var(--ec-font-size-label);grid-column:1/3;grid-row:1/2;line-height:1rem;list-style:none;margin:0 0 .25rem;padding:0}ol li{display:inline}ol li:not(:last-child):after{color:var(--ec-color-secondary-dark);content:" / ";display:inline}.titlebar{-ms-grid-columns:auto -webkit-max-content;-ms-grid-columns:auto max-content;-ms-grid-rows:-webkit-max-content -webkit-max-content;-ms-grid-rows:max-content max-content;display:-ms-grid;display:grid;gap:0 1rem;grid-template-columns:auto -webkit-max-content;grid-template-columns:auto max-content;grid-template-rows:-webkit-max-content -webkit-max-content;grid-template-rows:max-content max-content}.title{-ms-grid-column:1;-ms-grid-column-span:1;-ms-grid-row:2;-ms-grid-row-align:center;-ms-grid-row-span:1;align-self:center;grid-column:1/2;grid-row:2/3}.actions{-ms-grid-column:2;-ms-grid-column-span:1;-ms-grid-row:2;-ms-grid-row-span:1;direction:rtl;grid-column:2/3;grid-row:2/3}ec-banner{margin-top:1rem}section{flex:1 0 auto;min-height:0;order:2;padding:var(--ec-page-view-padding-section,.5rem 1.5rem 2rem)}footer{align-items:center;background-color:var(--ec-background-color-body);display:flex;flex:none;height:4.5rem;order:3;padding:0 1.5rem}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section,1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{bottom:0;position:sticky}.fit-content section{display:flex;flex:1 1}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}']}]}],dt.ctorParameters=function(){return[]},dt.propDecorators={isDialog:[{type:r.Input}],status:[{type:r.Input}],showHeader:[{type:r.Input}],errors:[{type:r.Input}],breadcrumbs:[{type:r.Input}],title:[{type:r.Input}],titleIcon:[{type:r.Input}],subTitle:[{type:r.Input}],subTitleUrl:[{type:r.Input}],moreActionsLabel:[{type:r.Input}],moreActions:[{type:r.Input}],secondaryActionLabel:[{type:r.Input}],hideSecondaryAction:[{type:r.Input}],primaryActionLabel:[{type:r.Input}],hidePrimaryAction:[{type:r.Input}],customTitleTemplate:[{type:r.Input}],customActionsTemplate:[{type:r.Input}],customHeaderTemplate:[{type:r.Input}],footerTemplate:[{type:r.Input}],stickyFooter:[{type:r.Input}],fitContent:[{type:r.Input}],onPrimaryAction:[{type:r.Output}],onSecondaryAction:[{type:r.Output}]};var pt=function(){function e(){}return e.createSpy=function(e){var t=Object.getOwnPropertyNames(e.prototype);return jasmine.createSpyObj(t)},e}(),ut=function(){function e(){this.opened=new r.EventEmitter,this.closed=new r.EventEmitter,this.displayAsPanel=!1}return e.prototype.open=function(e,t,o){return C(this,void 0,void 0,(function(){return S(this,(function(e){return this.lastContext=t,this.componentRef={instance:new ht},this.opened.emit(),[2]}))}))},e.prototype.close=function(e){this.closed.emit(e)},e}();ut.decorators=[{type:r.Directive}],ut.propDecorators={size:[{type:r.Input}],opened:[{type:r.Output}],closed:[{type:r.Output}]};var ht=function(){var e=this;this.dialogId="MockID",this.onOpen=function(t){e.openArg=t},this.onDialogSave=new r.EventEmitter,this.onDialogCancel=new r.EventEmitter,this.destroyed=new c.Subject},mt=function(){function e(){}return e.prototype.transform=function(e){return"01/01/2017"},e}();function gt(){var e=pt.createSpy(a.Router);return e.isActive.and.returnValue(!1),e.navigate.and.returnValue(Promise.resolve(!0)),Object.defineProperty(e,"events",{value:new c.Subject,configurable:!0}),Object.defineProperty(e,"url",{value:"/current/route/url",writable:!0}),e}mt.decorators=[{type:r.Pipe,args:[{name:"dateDisplay"}]}];var bt=function(){this.snapshot={paramMap:{get:function(e){return null}},queryParamMap:{get:function(e){return null},getAll:function(e){return[]},has:function(e){return!1}},routeConfig:{}},this.paramMap=new c.Subject,this.queryParamMap=new c.Subject,this.routeConfig={}};bt.decorators=[{type:r.Injectable}];var ft=function(){function e(){this.nextLabel="Next_TC",this.backLabel="Back_TC",this.cancelLabel="Cancel",this.saveLabel="Save",this.cancelId="cancelWizardDialog",this.saveId="saveWizardDialog",this.tabindex=0,this.cancel=new r.EventEmitter,this.save=new r.EventEmitter,this.nextTab=new r.EventEmitter,this.previousTab=new r.EventEmitter}return e.prototype.onCancel=function(){this.cancel.emit()},e.prototype.onSave=function(e){this.save.emit(e)},e.prototype.onPreviousTab=function(){this.previousTab.emit()},e.prototype.onNextTab=function(){this.nextTab.emit()},e}();ft.decorators=[{type:r.Component,args:[{selector:"ec-wizard-buttons",template:'<ec-button id="{{saveId}}"\r\n class="ml-2"\r\n *ngIf="!hideNextSaveButton"\r\n type="primary"\r\n [label]="(!showSave ? nextLabel : saveLabel)"\r\n [tabindex]="!tabindex ? 0 : tabindex"\r\n (clicked)="!showSave ? onNextTab() : onSave($event)"\r\n [disabled]="status?.status === \'pending\' || status?.status === \'error\'">\r\n</ec-button>\r\n<ec-button id="previousTab"\r\n class="ml-2"\r\n *ngIf="showBack"\r\n type="secondary"\r\n [label]="backLabel"\r\n [tabindex]="!tabindex ? 0 : tabindex+1"\r\n (clicked)="onPreviousTab()">\r\n</ec-button>\r\n<ec-button id="{{cancelId}}"\r\n type="secondary"\r\n [label]="cancelLabel"\r\n [tabindex]="!tabindex ? 0 : tabindex+2"\r\n (clicked)="onCancel()">\r\n</ec-button>\r\n',styles:[":host{display:flex;flex-direction:row-reverse}:host-context(ec-page-view .titlebar>.actions){flex-direction:row}"]}]}],ft.ctorParameters=function(){return[]},ft.propDecorators={nextLabel:[{type:r.Input}],backLabel:[{type:r.Input}],cancelLabel:[{type:r.Input}],saveLabel:[{type:r.Input}],cancelId:[{type:r.Input}],saveId:[{type:r.Input}],tabindex:[{type:r.Input}],status:[{type:r.Input}],showBack:[{type:r.Input}],showSave:[{type:r.Input}],hideNextSaveButton:[{type:r.Input}],cancel:[{type:r.Output}],save:[{type:r.Output}],nextTab:[{type:r.Output}],previousTab:[{type:r.Output}]};var vt=function(){};vt.decorators=[{type:r.Component,args:[{selector:"ec-wizard-progress",template:'<div *ngFor="let tab of tabGroup?.items; index as index; first as isFirst; last as isLast"\r\n class="progress-tab"\r\n [class.ml-2]="!isFirst"\r\n [class.is-active]="currentTab?.id === tab.id">\r\n\r\n <i *ngIf="tab.completed"\r\n class="ec-icon icon-check-circle mr-1 font-color-success"></i>\r\n <span *ngIf="!tab.completed">{{index+1}}. </span>\r\n <span>{{tab.label | translate}}</span>\r\n <i *ngIf="!isLast"\r\n class="ec-icon icon-angle-down rotate-270 ml-2"></i>\r\n</div>',styles:[":host{padding:0 1rem}.progress-tab,:host{align-items:center;display:flex}.progress-tab.is-active{font-weight:700}"]}]}],vt.ctorParameters=function(){return[]},vt.propDecorators={tabGroup:[{type:r.Input}],currentTab:[{type:r.Input}]};var yt=function(){function e(e,t){this.validationMessageService=e,this.translateService=t,this.label="",this.labelPosition="top",this.overrideValidationError="",this.hideValidationMessage=!1,this.validationErrors="",this.allControlsTouched=!1,this.componentDestroyed=new c.Subject}return e.prototype.ngOnInit=function(){return C(this,void 0,void 0,(function(){var e=this;return S(this,(function(t){return this.control&&(this.control.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){e.translateValidationMessages(e.getErrors(e.control))})),this.translateValidationMessages(this.getErrors(this.control))),this.id&&(this.attrId=this.id),[2]}))}))},e.prototype.ngOnDestroy=function(){this.componentDestroyed.next(),this.componentDestroyed.unsubscribe()},e.prototype.getErrors=function(e){var t=this;e.markAsUntouched();var o=null,n=!0,r=!1;return G(e,(function(e){o=t.assignErrors(e,o),e.untouched&&(n=!1),r=!0})),e.errors&&(o=Object.assign(o||{},e.errors)),n&&r&&e.markAsTouched(),o},e.prototype.assignErrors=function(e,t){return e.errors&&(t=Object.assign(t||{},e.errors)),t},e.prototype.translateValidationMessages=function(e){return C(this,void 0,void 0,(function(){var t;return S(this,(function(o){switch(o.label){case 0:return e?this.overrideValidationError?(this.validationErrors=this.translateService.instant(this.overrideValidationError),[3,3]):[3,1]:[3,4];case 1:return[4,this.validationMessageService.getErrorMessages(e)];case 2:(t=o.sent())&&(this.validationErrors=t.join("; ")),o.label=3;case 3:return[3,5];case 4:this.validationErrors="",o.label=5;case 5:return[2]}}))}))},e}();yt.decorators=[{type:r.Component,args:[{selector:"ec-form-control-label",template:'<div class="control control-label-{{labelPosition}}" [class.ec-untouched]="control?.untouched">\r\n <label *ngIf="label" ngPreserveWhitespaces>\r\n\r\n <span id="{{id}}_label">{{label | translate}}</span>\r\n\r\n <span *ngIf="!hideValidationMessage && validationErrors && control?.touched && control?.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n</div>',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;border-color:var(--ec-border-color-legacy);padding-left:1.5rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}.control-label-left{display:flex}']}]}],yt.ctorParameters=function(){return[{type:O},{type:s.TranslateService}]},yt.propDecorators={id:[{type:r.Input}],attrId:[{type:r.HostBinding,args:["attr.id"]}],label:[{type:r.Input}],control:[{type:r.Input}],labelPosition:[{type:r.Input}],overrideValidationError:[{type:r.Input}],hideValidationMessage:[{type:r.Input}]};var xt=function(e){function t(){var t=e.apply(this,D(arguments))||this;return t.selectedItemsMap=new Map,t.selectedItemsMapChanged=new c.Subject,t.disableAdvancedRowClickBehavior=!0,t}return k(t,e),t}(Xe),wt=function(){function e(){this.id="",this.availableTitle="",this.selectedTitle="",this.itemName="",this.noDataMessage="",this.availableItems=[],this.selectedItems=[],this.selectedItemsClearable=!1,this.trackByIndex=function(e){return e},this.tableStatus=new ue("pending"),this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){this.setupRowCheckboxesWatcher(),this.setupSelectedItemsChangedWatcher()},e.prototype.ngOnChanges=function(){this.setInternalizedTemplates()},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.onItemsChange=function(e){var t=this,o=[];e.items.forEach((function(e,n){var r,i;e.defaultSelected&&!(null===(r=t.selectionContext)||void 0===r?void 0:r.selectedItemsMap.has(e.id))&&(null===(i=t.selectionContext)||void 0===i||i.selectedItemsMap.set(e.id,e)),e.preventRemove&&o.push(n)})),this.selectionContext.nonDependentCheckboxes=o,this.availableItems=e.items},e.prototype.onClearSelectionClick=function(){var e,t,o=this;try{for(var n=T(this.selectionContext.selectedItemsMap),r=n.next();!r.done;r=n.next()){var i=M(r.value,2),a=i[0];i[1].preventRemove||this.selectionContext.selectedItemsMap.delete(a)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this.selectionContext.rowCheckboxes.controls.forEach((function(e,t){o.availableItems[t].preventRemove||e.setValue(!1)})),this.selectedItems=Array.from(this.selectionContext.selectedItemsMap.values())},e.prototype.removeSelectedItem=function(e){var t=this.availableItems.findIndex((function(t){return t.id===e.id}));t>-1?this.selectionContext.rowCheckboxes.at(t).setValue(!1):(this.selectionContext.selectedItemsMap.delete(e.id),this.selectedItems=Array.from(this.selectionContext.selectedItemsMap.values()))},e.prototype.setupRowCheckboxesWatcher=function(){var e,t=this;null===(e=this.selectionContext)||void 0===e||e.rowCheckboxes.valueChanges.pipe(d.debounceTime(10),d.takeUntil(this.destroyed)).subscribe((function(e){var o;e.forEach((function(e,o){var n,r,i,a,s=t.availableItems[o];!e&&(null===(n=t.selectionContext)||void 0===n?void 0:n.selectedItemsMap.has(s.id))?null===(r=t.selectionContext)||void 0===r||r.selectedItemsMap.delete(s.id):e&&!(null===(i=t.selectionContext)||void 0===i?void 0:i.selectedItemsMap.has(s.id))&&(null===(a=t.selectionContext)||void 0===a||a.selectedItemsMap.set(s.id,s))})),t.selectedItems=Array.from(null===(o=t.selectionContext)||void 0===o?void 0:o.selectedItemsMap.values()),t.selectedItemsClearable=t.selectedItems.length>0&&t.selectedItems.some((function(e){return!e.preventRemove}))}))},e.prototype.setupSelectedItemsChangedWatcher=function(){var e=this;this.selectionContext.selectedItemsMapChanged.pipe(d.takeUntil(this.destroyed)).subscribe((function(){var t;e.selectionContext&&(e.selectedItems=Array.from(null===(t=e.selectionContext)||void 0===t?void 0:t.selectedItemsMap.values()),e.availableItems.forEach((function(t,o){e.selectionContext.selectedItemsMap.has(t.id)&&e.selectionContext.rowCheckboxes.at(o).setValue(!0)})))}))},e.prototype.setInternalizedTemplates=function(){this.customAvailableHeaderTemplate?this.internalizedAvailableHeaderTemplate=this.customAvailableHeaderTemplate:this.internalizedAvailableHeaderTemplate=this.defaultAvailableHeaderTemplate,this.customAvailableItemTemplate?this.internalizedAvailableItemTemplate=this.customAvailableItemTemplate:this.internalizedAvailableItemTemplate=this.defaultAvailableItemTemplate,this.customSelectedItemTemplate?this.internalizedSelectedItemTemplate=this.customSelectedItemTemplate:this.internalizedSelectedItemTemplate=this.defaultSelectedItemTemplate},e}();wt.decorators=[{type:r.Component,args:[{selector:"ec-item-picker",template:'<div ecOverlay\r\n class="d-flex flex-grow card"\r\n [status]="tableStatus?.status"\r\n [message]="tableStatus?.message"\r\n [displayAsMask]="true">\r\n <ec-searchable-table id="{{id}}_searchableTable"\r\n class="flex-grow"\r\n [fillParentHeight]="true"\r\n [hideHeader]="true"\r\n [hideSearchControl]="true"\r\n [removeCard]="true"\r\n [pageable]="true"\r\n [pageSize]="50"\r\n [objectType]="itemName"\r\n [formModel]="formModel"\r\n [ready]="ready"\r\n [getItems]="getItems"\r\n [selectable]="true"\r\n [noDataMessage]="noDataMessage"\r\n [selectionContext]="selectionContext"\r\n [status]="tableStatus"\r\n (itemsChange)="onItemsChange($event)"\r\n [style.--ec-searchable-table-flex-properties]="(availableItems.length || tableStatus.status === \'pending\' || tableStatus.status === \'error\' ) ? \'1 1 auto\' : \'0 1 auto\'"\r\n [style.--ec-searchable-table-height-caption-footer]="\'calc(2.5rem + 1px)\'"\r\n [tableLayoutFixed]="true">\r\n <header *ngIf="customAvailableHeaderTemplate"\r\n class="card-header flex-shrink"\r\n style="height: 3rem;">\r\n <h3 class="card-title">{{availableTitle | translate}}</h3>\r\n </header>\r\n <thead>\r\n <tr ecTableSelectableRow\r\n [selectionContext]="selectionContext"\r\n class="border-bottom-0">\r\n <ng-container *ngTemplateOutlet="internalizedAvailableHeaderTemplate;"></ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor="let item of availableItems; index as rowIndex; trackBy: trackByIndex">\r\n <tr ecTableSelectableRow\r\n [selectionContext]="selectionContext"\r\n [rowIndex]="rowIndex"\r\n [isCheckboxDisabled]="item.preventRemove"\r\n [isSelected]="selectionContext?.selectedItemsMap.has(item.id)"\r\n [style.--ec-table-selectable-row-vertical-align-checkbox-td]="\'middle\'">\r\n <ng-container *ngTemplateOutlet="internalizedAvailableItemTemplate; context: {$implicit: item}">\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </ec-searchable-table>\r\n\r\n <section id="{{id}}_selectedItems" class="selected-items flex-grow d-flex flex-column">\r\n <ec-table [scrollable]="true"\r\n class="flex-grow is-fixed">\r\n <colgroup>\r\n <col>\r\n <col style="width: 2rem;">\r\n </colgroup>\r\n <thead>\r\n <tr style="height: 3rem;">\r\n <th colspan="2"\r\n class="p-2 border-bottom-0">\r\n <div class="d-flex align-items-center">\r\n <span class="text-heading-2 font-color-primary flex-grow text-truncate">{{selectedTitle | translate}}</span>\r\n <a *ngIf="selectedItemsClearable"\r\n id="{{id}}_clearSelection"\r\n class="pl-2 ml-auto font-size-base"\r\n href="javascript:void(0)"\r\n (click)="onClearSelectionClick()"\r\n translate>ClearSelection_TC</a>\r\n </div>\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n <ng-container *ngIf="selectedItems.length">\r\n <tr *ngFor="let item of selectedItems; last as isLast"\r\n id="selected_row_{{item.id}}"\r\n [class.border-bottom]="!isLast">\r\n <td class="p-2">\r\n <ng-container\r\n *ngTemplateOutlet="internalizedSelectedItemTemplate; context: {$implicit: item}">\r\n </ng-container>\r\n </td>\r\n\r\n <td class="actions-col text-right"\r\n style="vertical-align: middle;">\r\n <ec-button id="{{id}}_removeSelected_{{item.id}}"\r\n *ngIf="!item.preventRemove"\r\n type="icon"\r\n icon="ec-icon icon-cancel"\r\n (clicked)="removeSelectedItem(item)">\r\n </ec-button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <tr *ngIf="!selectedItems.length">\r\n <td *ngIf="!noSelectedItemsMessage"\r\n colspan="2"\r\n class="p-2 no-data-message"\r\n translate\r\n [translateParams]="{itemName: itemName | translate}">ItemPickerNoItemsSelected_SC</td>\r\n <td *ngIf="noSelectedItemsMessage"\r\n colspan="2"\r\n class="p-2 no-data-message"\r\n translate>{{noSelectedItemsMessage}}</td>\r\n </tr>\r\n </tbody>\r\n </ec-table>\r\n\r\n <footer id="selectedItemsFooter"\r\n *ngIf="selectedItems.length"\r\n class="d-flex flex-shrink px-2 border-top align-items-center"\r\n style="height: calc(2.5rem + 1px);">\r\n <span class="ml-auto text-caption-1 font-color-hint">\r\n {{selectedItems.length}} {{itemName | translate}}\r\n </span>\r\n </footer>\r\n </section>\r\n</div>\r\n\r\n<ng-template #defaultAvailableHeaderTemplate>\r\n <th class="text-heading-2 font-color-primary border-bottom-0">{{availableTitle | translate}}</th>\r\n</ng-template>\r\n\r\n<ng-template #defaultAvailableItemTemplate\r\n let-item>\r\n <td>{{item.label}}</td>\r\n</ng-template>\r\n\r\n<ng-template #defaultSelectedItemTemplate\r\n let-item>\r\n {{item.label}}\r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:flex}ec-searchable-table{border-right:2px solid var(--ec-border-color)}.selected-items{max-width:var(--ec-item-picker-max-width-selected-items,50%)}.no-data-message{white-space:normal}"]}]}],wt.ctorParameters=function(){return[]},wt.propDecorators={id:[{type:r.Input}],availableTitle:[{type:r.Input}],selectedTitle:[{type:r.Input}],itemName:[{type:r.Input}],formModel:[{type:r.Input}],customAvailableHeaderTemplate:[{type:r.Input}],customAvailableItemTemplate:[{type:r.Input}],customSelectedItemTemplate:[{type:r.Input}],ready:[{type:r.Input}],getItems:[{type:r.Input}],selectionContext:[{type:r.Input}],noDataMessage:[{type:r.Input}],noSelectedItemsMessage:[{type:r.Input}],defaultAvailableHeaderTemplate:[{type:r.ViewChild,args:["defaultAvailableHeaderTemplate",{static:!0}]}],defaultAvailableItemTemplate:[{type:r.ViewChild,args:["defaultAvailableItemTemplate",{static:!0}]}],defaultSelectedItemTemplate:[{type:r.ViewChild,args:["defaultSelectedItemTemplate",{static:!0}]}]};var It=function(){this.id="",this.text="",this.contentPosition="top-left"};It.decorators=[{type:r.Component,args:[{selector:"ec-help-popover",template:'<ec-popover id="{{id}}_popover"\r\n icon="icon-help-circle"\r\n [contentPosition]="contentPosition"\r\n iconHoverClass="font-color-primary-light">\r\n <div id="{{id}}_popoverContent"\r\n class="help-popover-content text-body-1"\r\n [class.is-right]="contentPosition == \'top-right\' || contentPosition == \'bottom-right\'">\r\n <div *ngIf="text"\r\n [innerHTML]="text | translate"></div>\r\n <ng-content></ng-content>\r\n </div>\r\n</ec-popover>',styles:[".help-popover-content{background-color:#162f3b;color:var(--ec-color-primary-light);max-width:15rem;padding:.375rem .5rem .375rem 1.75rem}.help-popover-content.is-right{padding:.375rem 1.75rem .375rem .5rem}"]}]}],It.ctorParameters=function(){return[]},It.propDecorators={id:[{type:r.Input},{type:r.HostBinding,args:["attr.id"]}],text:[{type:r.Input}],contentPosition:[{type:r.Input}]};var kt=function(){};kt.decorators=[{type:r.Component,args:[{selector:"button[ecLinkButton]",template:"<ng-content></ng-content>",host:{class:"text-link"},styles:[":host{background-color:transparent;border:none;display:inline;font-size:inherit;padding:0;text-align:start}"]}]}];var Ct=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[t.tracker]}},e}();Ct.decorators=[{type:r.NgModule,args:[{declarations:[x,le,te,X,Le,he,y,Ne,le,Ze,Ue,N,H,F,j,ge,Ce,P,st,mt,ie,L,ne,pe,de,Fe,it,rt,R,Ye,$e,qe,Ge,Ke,re,We,je,w,We,Je,q,ae,ze,Ke,_e,ke,U,Y,Oe,tt,ot,dt,ct,vt,ft,Ee,nt,lt,Ve,at,yt,wt,It,kt],imports:[n.CommonModule,i.FormsModule,i.ReactiveFormsModule,a.RouterModule,s.TranslateModule,t.A11yModule,o.OverlayModule],providers:[A,Ie,P,st,mt,je,lt,at],exports:[x,le,te,X,Le,he,y,le,Ze,Ue,N,H,F,j,ge,Ce,P,st,ie,L,ne,pe,de,Fe,it,rt,R,Ye,$e,Ge,Ke,re,w,We,Je,q,ae,ze,_e,ke,U,Y,Oe,tt,ot,dt,ct,vt,ft,Ee,nt,lt,Ve,at,yt,wt,It,kt]}]}];var St=function(){},Tt=function(){};function Mt(e,t){var o=h.get(e,t);return e&&"string"==typeof o?o.toLowerCase():e[t]}Tt.ndash="–";var Dt,Et=function(e,t,o,n,r,i){this.label=e,this.type=t||"info",this.icon=n,this.isDismissable=null!=r&&r,this.tooltip=i,o&&(this.classList=o)},zt=function(){};zt.requiredPlural=function(e){return null!==i.Validators.required(e)?{requiredPlural:!0}:null},zt.json=function(e){return e.value&&void 0===Pe.tryParseJSON(e.value)?{json:!0}:null},zt.domain=function(e){return e.value&&!1===Z.test(e.value)?{domain:!0}:null},(Dt=e.PageStatus||(e.PageStatus={})).Loading="loading",Dt.Loaded="loaded",Dt.Saving="saving",Dt.NoData="noData";var Pt=function(){function e(){}return Object.defineProperty(e,"loading",{get:function(){return{status:"pending",message:"Loading"}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"loaded",{get:function(){return{status:"hasData",message:""}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"saving",{get:function(){return{status:"pending",message:"Saving"}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"noData",{get:function(){return{status:"noData",message:"No data is available"}},enumerable:!1,configurable:!0}),e}(),Ot=function(){this.title="",this.subTitle="",this.subTitleUrl=""},At=function(){function t(e){this.classList="d-flex flex-grow",this.title="",this.subTitle="",this.subTitleUrl="",this.status=new ue("pending","Loading"),this.formGroup=new i.FormGroup({}),this.defaultInvalidFormMessage="PleaseCorrectForm_SC",this.defaultUnknownSaveError="PageBaseUnknownSaveError_SC",this.skipHideSplashOnComplete=!1,this.destroyed=new c.Subject,this._afterViewInitComplete=new c.ReplaySubject,this.afterViewInitComplete=this._afterViewInitComplete,this._errors="",this.errorService=e.get(He),this.translateService=e.get(s.TranslateService),this.scrollService=e.get(_),this.router=e.get(a.Router),this.activatedRoute=e.get(a.ActivatedRoute),this.dialogService=e.get(Ie),this.splashService=e.get(Re)}return Object.defineProperty(t.prototype,"errors",{get:function(){return this._errors},enumerable:!1,configurable:!0}),t.prototype.onFirstInit=function(){},t.prototype.ngOnInit=function(){return C(this,void 0,void 0,(function(){var t;return S(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),this.showStatus(e.PageStatus.Loading),this.onFirstInit(),this.initPromise=this.onInit(),[4,this.initPromise];case 1:return o.sent(),[3,3];case 2:return t=o.sent(),this.splashService.hideSplash(),this.onError(t),[3,3];case 3:return[2]}}))}))},t.prototype.onAfterViewInit=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.ngAfterViewInit=function(){return C(this,void 0,void 0,(function(){var t,o;return S(this,(function(n){switch(n.label){case 0:return n.trys.push([0,4,,5]),[4,this.initPromise];case 1:return t=n.sent(),this.parseInitResult(t),[4,this.onAfterViewInit()];case 2:return n.sent(),this._afterViewInitComplete.next(),this._afterViewInitComplete.complete(),[4,this.onFormLoadComplete()];case 3:return n.sent(),"pending"===this.status.status&&this.showStatus(e.PageStatus.Loaded),this.skipHideSplashOnComplete||this.splashService.hideSplash(),this.setUpRouterSubscriptions(),[3,5];case 4:return o=n.sent(),this.splashService.hideSplash(),this.onError(o),[3,5];case 5:return[2]}}))}))},t.prototype.onFormLoadComplete=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.onNavigationEnd=function(){},t.prototype.reload=function(){this._afterViewInitComplete=new c.ReplaySubject,this.showStatus(e.PageStatus.Loading),this.initPromise=this.onInit(),this.ngAfterViewInit()},t.prototype.applyModelUpdates=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.saveToApi=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.onSaveComplete=function(e){},t.prototype.onSave=function(t){return C(this,void 0,void 0,(function(){var t,o,n=this;return S(this,(function(r){switch(r.label){case 0:if(this.formGroup.markAllAsTouched(),!this.formGroup.valid)return[3,6];this.showStatus(e.PageStatus.Saving),r.label=1;case 1:return r.trys.push([1,4,,5]),[4,this.applyModelUpdates()];case 2:return r.sent(),[4,this.saveToApi()];case 3:return t=r.sent()||-1,this._errors="",this.onSaveComplete(t),[3,5];case 4:return o=r.sent(),this.showErrorBanner(o,this.defaultUnknownSaveError),this.splashService.hideSplash(),[3,5];case 5:return[3,7];case 6:""===this.errors&&this.showErrorBanner(this.defaultInvalidFormMessage),this.scrollContainerSelector&&setTimeout((function(){n.scrollService.scrollToItem(n.scrollContainerSelector,".ng-invalid")})),r.label=7;case 7:return[2]}}))}))},t.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},t.prototype.onError=function(e){this.errorService.logConsoleError(e),this.showErrorOverlay(e)},t.prototype.showErrorOverlay=function(e){var t=this;this.getErrorMessage(e).subscribe((function(e){t.status.setStatus("error",e)}))},t.prototype.showErrorBanner=function(t,o){var n=this;this.getErrorMessage(t,o).subscribe((function(t){n._errors=t,n.showStatus(e.PageStatus.Loaded)}))},t.prototype.getErrorMessage=function(e,t){var o=this.errorService.parseApiError(e,t);return this.translateService.get(o)},t.prototype.hideErrorBanner=function(){this._errors=""},t.prototype.showStatus=function(e){var t=Pt[e];t&&this.status.setStatus(t.status,t.message,void 0,t.noDataTemplate,t.overlayClassList)},t.prototype.runBlockingAction=function(t,o){return C(this,void 0,void 0,(function(){var n=this;return S(this,(function(r){return this.hideErrorBanner(),this.status.setStatus("pending",o),[2,t().catch((function(e){throw n.showErrorBanner(e),e})).finally((function(){n.showStatus(e.PageStatus.Loaded)}))]}))}))},t.prototype.parseInitResult=function(e){this.initResult=e,this.title=e.title,this.subTitle=e.subTitle,this.subTitleUrl=e.subTitleUrl,this.breadcrumbs=e.breadcrumbs,this.help=e.help},t.prototype.setUpRouterSubscriptions=function(){var e=this;this.navigationEndSubscription||this.destroyed.closed||(this.navigationEndSubscription=this.router.events.pipe(d.takeUntil(this.destroyed),d.filter((function(e){return e instanceof a.NavigationEnd}))).subscribe((function(t){try{e.onNavigationEnd()}catch(t){e.onError(t)}})))},t}();At.decorators=[{type:r.Directive}],At.ctorParameters=function(){return[{type:r.Injector}]},At.propDecorators={classList:[{type:r.HostBinding,args:["class"]}]};var Vt=new MouseEvent("click");var Lt=function(){function e(e){this.suffix=e,this.currentLang="en_US"}return e.prototype.get=function(e,t){return c.of(e+(this.suffix||""))},e.prototype.stream=function(e,t){return c.of(e+(this.suffix||""))},e.prototype.instant=function(e,t){return e+(this.suffix||"")},e.prototype.setTranslation=function(e,t,o){},e.prototype.setDefaultLang=function(e){},e.prototype.use=function(e){},e}(),Rt=function(){function e(){}return e.prototype.translateObjectArray=function(e,t){return Promise.resolve(e)},e.prototype.translateObjectProperty=function(e,t,o){return c.of(e)},e.prototype.getKendoLocaleId=function(){return"en"},e.prototype.translateCorePopValue=function(e,t){return t},e.prototype.setLanguage=function(){},e}(),Ft=function(){function e(e){this._component=e}return Object.defineProperty(e.prototype,"controls",{get:function(){return this._component.formGroup.controls},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return[4,this._component.ngOnInit()];case 1:return e.sent(),[4,this._component.ngAfterViewInit()];case 2:return e.sent(),[2]}}))}))},e.prototype.clickSave=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return[4,this._component.onSave(Vt)];case 1:return e.sent(),[2]}}))}))},e}(),_t=function(){function e(){}return e.getComponentInjector=function(){return r.Injector.create({providers:D(this.CoreProviders,this.ComponentProviders)})},e.getWizardBaseComponentInjector=function(){return r.Injector.create({providers:D(this.CoreProviders,this.ComponentProviders,this.WizardProviders)})},e}();_t.CoreProviders=[{provide:a.Router,useFactory:gt,deps:[]},{provide:_,useFactory:function(){return pt.createSpy(_)},deps:[]},{provide:a.ActivatedRoute,useFactory:function(){return new bt},deps:[]},{provide:Re,useFactory:function(){return pt.createSpy(Re)},deps:[]}],_t.ComponentProviders=[{provide:s.TranslateService,useFactory:function(){return new Lt("-T")},deps:[]},{provide:He,deps:[]},{provide:Ie,useFactory:function(){return pt.createSpy(Ie)},deps:[]}],_t.WizardProviders=[{provide:Te,useFactory:function(){return pt.createSpy(Te)},deps:[]}];var Nt,Bt=function(e){function t(t){var o=e.call(this,t)||this;return o.isWizardMode=!0,o.showWizardSaveSuccess=!1,o.showSave=!0,o.hideNextSaveButton=!1,o.showBack=!1,o.cancelLabel="Cancel",o.dialogId="",o.telemetryService=t.get(Te),o}return k(t,e),Object.defineProperty(t.prototype,"tabGroup",{get:function(){return this._tabGroup},set:function(e){this._tabGroup=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"currentTab",{get:function(){return this._currentTab},enumerable:!1,configurable:!0}),t.prototype.onFirstInit=function(){this._tabGroup=this.configureTabs(),this.setCurrentTab(this._tabGroup.selected),this.subscribeToTabChanges()},t.prototype.onWizardSaveSuccess=function(){},t.prototype.onAfterViewInit=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return this.updateButtons(),[2]}))}))},t.prototype.applyModelUpdates=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.saveToApi=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.onSaveComplete=function(e){},t.prototype.onSave=function(t){var o=Object.create(null,{onSave:{get:function(){return e.prototype.onSave}}});return C(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return this._currentTab&&this.isCurrentTabValid()&&(this._currentTab.completed=!0),[4,o.onSave.call(this,t)];case 1:return e.sent(),this.showWizardSaveSuccess&&(this.onWizardSaveSuccess(),this.telemetryService.trackEvent(this.dialogId+"_WizardSuccess")),[2]}}))}))},t.prototype.nextTab=function(){var e,t=this,o=this._tabGroup.items.findIndex((function(e){return e===t._currentTab}));if(o>-1&&o<this._tabGroup.items.length-1){var n=this._tabGroup.items[o+1];this.canGoToNextTab(n)?(n.disabled&&(n.disabled=!1),this._tabGroup.selected=n,this.telemetryService.trackEvent(this.dialogId+"_"+h.upperFirst(null===(e=n.id)||void 0===e?void 0:e.toString()))):this.onTabChangeFailed()}},t.prototype.previousTab=function(){var e,t=this,o=this._tabGroup.items.findIndex((function(e){return e===t._currentTab}));if(o>0&&o<this._tabGroup.items.length){var n=this._tabGroup.items[o-1];this.canGoToPreviousTab(n)?(this._tabGroup.selected=n,this.telemetryService.trackEvent(this.dialogId+"_"+h.upperFirst(null===(e=n.id)||void 0===e?void 0:e.toString()))):this.onTabChangeFailed()}},t.prototype.updateButtons=function(){var e=this;if(this.isWizardMode){if(this.currentTab){var t=this._tabGroup.items.findIndex((function(t){return t===e.currentTab}));if(t>0){this.showBack=!0;var o=this._tabGroup.items[t-1].label;this.backLabel=this.translateService.instant("Back_TC")+": "+this.translateService.instant(o)}else this.showBack=!1;if(t<this._tabGroup.items.length-1){this.showSave=!1;var n=this._tabGroup.items[t+1].label;this.nextLabel=this.translateService.instant("Next_TC")+": "+this.translateService.instant(n)}else this.nextLabel=void 0,this.showSave=!0}}else this.showBack=!1,this.showSave=!0},t.prototype.canGoToNextTab=function(e){return this.isCurrentTabValid()},t.prototype.canGoToPreviousTab=function(e){return this.isCurrentTabValid()},t.prototype.canLeaveCurrentTab=function(){return this.isCurrentTabValid()},t.prototype.isCurrentTabValid=function(){if(this._currentTab&&this._currentTab.formModelPath){var e=this.formGroup.get(this._currentTab.formModelPath);if(e)return e.markAllAsTouched(),e.valid}return!0},t.prototype.onTabChangeSuccess=function(){this.updateButtons(),this.hideErrorBanner()},t.prototype.onTabChangeFailed=function(){this.showErrorBanner(this.defaultInvalidFormMessage)},t.prototype.subscribeToTabChanges=function(){var e=this;this._tabGroup.selectedChanges.pipe(d.takeUntil(this.destroyed)).subscribe((function(t){e.goToTab(t)}))},t.prototype.goToTab=function(e){e!==this._currentTab&&(this.canLeaveCurrentTab()?(this._currentTab&&(this._currentTab.completed=!0),this.setCurrentTab(e),this.onTabChangeSuccess()):(this._tabGroup.selected=this._currentTab,this.onTabChangeFailed()))},t.prototype.setCurrentTab=function(e){this._currentTab=e,this.help=e?e.help:void 0,this.title=e?e.title:void 0},t}(At);Bt.decorators=[{type:r.Directive}],Bt.ctorParameters=function(){return[{type:r.Injector}]},(Nt=e.HierarchyMocks||(e.HierarchyMocks={})).mockRoot=function(){return{id:"1",level:0,hasChildren:!0,children:[],label:""}},Nt.bldgWithChildren=function(){return{placeId:3,parentId:0,placeTypeId:2,placeCode:"HASCHILDREN_BLDG",placeInfo:"A Cool Bldg Has Children",hasChildren:!0,placeChildren:[],meterChildren:[],hasActiveChildren:!0}},Nt.bldgWithChildrenHierarchyItem=function(){return{id:Nt.bldgWithChildren().placeId.toString(),icon:"icon-building",label:Nt.bldgWithChildren().placeInfo+" ["+Nt.bldgWithChildren().placeCode+"]",children:[],hasChildren:!0,level:1,selectable:!0,topLevel:!1}},Nt.orgWithChildren=function(){return{placeId:1,parentId:0,placeTypeId:1,placeCode:"HASCHILDREN_ORG",placeInfo:"A Org Has Children",hasChildren:!0,placeChildren:[],meterChildren:[],hasActiveChildren:!0}},Nt.orgWithChildrenHierarchyItem=function(){return{id:Nt.orgWithChildren().placeId.toString(),icon:"icon-organization",label:Nt.orgWithChildren().placeInfo+" ["+Nt.orgWithChildren().placeCode+"]",children:[],hasChildren:!0,level:1,selectable:!0,topLevel:!0}},Nt.orgWithoutChildren=function(){return{placeId:2,parentId:0,placeTypeId:1,placeCode:"NOCHILDREN_ORG",placeInfo:"No Children Org",hasChildren:!1,placeChildren:[],meterChildren:[],hasActiveChildren:!1}},Nt.orgWithoutChildrenHierarchyItem=function(){return{id:Nt.orgWithoutChildren().placeId.toString(),icon:"icon-organization",label:Nt.orgWithoutChildren().placeInfo+" ["+Nt.orgWithoutChildren().placeCode+"]",children:[],hasChildren:!1,level:1,selectable:!0,topLevel:!0}},Nt.bldgWithoutChildren=function(){return{placeId:4,parentId:0,placeTypeId:2,placeCode:"NOCHILDREN_BLDG",placeInfo:"Zzz No Children Bldg",hasChildren:!1,placeChildren:[],meterChildren:[],hasActiveChildren:!1}},Nt.bldgWithoutChildrenHierarchyItem=function(){return{id:Nt.bldgWithoutChildren().placeId.toString(),icon:"icon-building",label:Nt.bldgWithoutChildren().placeInfo+" ["+Nt.bldgWithoutChildren().placeCode+"]",children:[],hasChildren:!1,level:1,selectable:!0,topLevel:!1}},Nt.sortedHierarchyPlaces=function(){return[Nt.bldgWithChildrenHierarchyItem(),Nt.orgWithChildrenHierarchyItem(),Nt.orgWithoutChildrenHierarchyItem(),Nt.bldgWithoutChildrenHierarchyItem()]};var Ht=function(){function e(){}return e.getComponentInjector=function(){return r.Injector.create({providers:[{provide:Te,useFactory:function(){return pt.createSpy(Te)},deps:[]}]})},e}();e.AppBarComponent=de,e.AvatarComponent=pe,e.BannerComponent=y,e.ButtonComponent=x,e.CacheService=v,e.CheckboxComponent=L,e.ClickAreaForDirective=rt,e.CollapsibleToggleComponent=R,e.ComboboxComponent=N,e.ComponentsModule=Ct,e.ConfirmComponent=ge,e.ConfirmDialogContext=me,e.CopyButtonDirective=w,e.CustomValidators=zt,e.DateDisplayPipe=P,e.DateTimeHelper=E,e.DialogCloseDuration=100,e.DialogCloseEvent=ye,e.DialogCloseLatestEvent=xe,e.DialogComponent=Ce,e.DialogEvent=be,e.DialogGroupComponent=ke,e.DialogOpenDuration=125,e.DialogOpenEndEvent=ve,e.DialogOpenStartEvent=fe,e.DialogResult=we,e.DialogService=Ie,e.DropdownComponent=j,e.ErrorService=He,e.FileTypeExtensions=W,e.FileUploadComponent=U,e.FormControlBase=V,e.FormControlComponent=q,e.FormControlLabelComponent=yt,e.FormGroupComponent=Y,e.FormGroupHelper=A,e.HelpPopoverComponent=It,e.HierarchyBase=De,e.HierarchyBaseTestInjectorFactory=Ht,e.HierarchyItem=Me,e.HierarchyTreeComponent=Ee,e.HighlightTextPipe=at,e.IfViewportWidthDirective=it,e.ItemDisplayComponent=ze,e.ItemPickerComponent=wt,e.ItemPickerSelectableContext=xt,e.JsonDisplayComponent=Oe,e.JsonHelper=Pe,e.LinkButtonComponent=kt,e.MenuComponent=H,e.MockActivatedRoute=bt,e.MockDateDisplayPipe=mt,e.MockDialog=ut,e.MockDialogContent=ht,e.MockTranslateService=Lt,e.MockTranslationHelperService=Rt,e.NavGroup=se,e.NavItemActiveDirective=X,e.NumericboxComponent=ne,e.Overlay=ue,e.PageBaseComponent=At,e.PageBaseComponentTestHelper=Ft,e.PageBaseComponentTestInjectorFactory=_t,e.PageInitResult=Ot,e.PageStatuses=Pt,e.PageTitleComponent=ct,e.PageViewComponent=dt,e.PanelCloseDuration=225,e.PanelOpenDuration=250,e.PopoverComponent=re,e.PopupContainerDirective=F,e.RadioButtonComponent=ie,e.RadioButtonOption=St,e.RelativeDatePipe=lt,e.ResizableBase=Ae,e.ResizableColumnComponent=_e,e.ResizableComponent=Ve,e.RowCountPipe=je,e.ScrollService=_,e.SearchableTableComponent=Ue,e.SelectComponent=ae,e.SpinnerComponent=Le,e.SplashComponent=Fe,e.SplashService=Re,e.SpyFactory=pt,e.TableComponent=Ze,e.TableLockedColumnComponent=Ge,e.TableMasterHeaderRowComponent=$e,e.TableMasterRowComponent=Ye,e.TablePaginationComponent=We,e.TableSelectableRowComponent=Ke,e.TableSelectableRowContext=Xe,e.TabsComponent=le,e.Tag=Et,e.TagsComponent=Je,e.TelemetryService=Te,e.TelemetryTrackerService=Se,e.TextboxComponent=te,e.TimeDisplayPipe=st,e.ToastComponent=tt,e.ToastEvent=Qe,e.ToastService=et,e.ToasterComponent=ot,e.TreeComponent=nt,e.UnicodeStrings=Tt,e.UserPreferenceService=z,e.ValidationMessageService=O,e.ViewOverlayComponent=he,e.WindowService=B,e.WizardBaseComponent=Bt,e.WizardButtonsComponent=ft,e.WizardProgressComponent=vt,e.canadianPostalCodeRegex=/^[a-zA-Z][0-9][a-zA-Z] [0-9][a-zA-Z][0-9]$/,e.clickEvent=Vt,e.dateInputFormatRegex=/^[0-9./-]+$/,e.domainPattern=Z,e.findAllSpacesPattern=/ /g,e.forEachFormControl=G,e.getApiError=function(e){return{error:{status:{message:e}}}},e.getControlValue=$,e.getDecimalPattern=J,e.integerPattern=K,e.isApiError=Be,e.menuAnimationSpeed=350,e.mockRouterFactory=gt,e.numericboxValidation=oe,e.orderByIgnoreCase=function(e,t,o){var n;return n=t.map((function(e){return function(t){return Mt(t,e)||""}})),h.orderBy(e,n,o)},e.otherZipCodeRegex=/.*/,e.phoneNumberValidationPattern=Q,e.sortByIgnoreCase=function(e,t){var o;return o=t.map((function(e){return function(t){return Mt(t,e)}})),h.sortBy(e,o)},e.textboxValidation=function(e){return function(t){var o=[];return e.valid=!0,e.required&&o.push(i.Validators.required),void 0!==e.minLength&&o.push(i.Validators.minLength(e.minLength)),void 0!==e.maxLength&&o.push(i.Validators.maxLength(e.maxLength)),void 0!==e.pattern&&o.push(i.Validators.pattern(e.pattern)),o.forEach((function(o){o(t)&&(e.valid=!1)})),e.valid?null:{textbox:e}}},e.unitedStatesZipCodeRegex=/^[0-9-]+$/,e.urlValidationPattern=ee,e.validateFormGroupValuesAreUnique=function(e,t,o){void 0===t&&(t="value");var n={};G(e,(function(e){var r=$(e,t,o);null!==r&&""!==r&&("string"==typeof r&&(r=r.toLowerCase()),n.hasOwnProperty(r)?n[r]=n[r]+1:n[r]=1)})),G(e,(function(e){var r=$(e,t,o);if(null!==r&&""!==r)if("string"==typeof r&&(r=r.toLowerCase()),n[r]>1)e.setErrors(Object.assign({notUnique:!0},e.errors));else{var i=h.cloneDeep(e.errors);i&&i.hasOwnProperty("notUnique")&&delete i.notUnique,i&&0===Object.keys(i).length&&(i=null),e.setErrors(i)}}))},e.ɵa=Ne,e.ɵb=ce,e.ɵc=qe,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
16
|
+
var I=function(e,t){return(I=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])})(e,t)};function k(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=e}I(e,t),e.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}function C(e,t,o,n){return new(o||(o=Promise))((function(r,i){function a(e){try{l(n.next(e))}catch(e){i(e)}}function s(e){try{l(n.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(a,s)}l((n=n.apply(e,t||[])).next())}))}function S(e,t){var o,n,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{o=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}Object.create;function T(e){var t="function"==typeof Symbol&&Symbol.iterator,o=t&&e[t],n=0;if(o)return o.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function M(e,t){var o="function"==typeof Symbol&&e[Symbol.iterator];if(!o)return e;var n,r,i=o.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){r={error:e}}finally{try{n&&!n.done&&(o=i.return)&&o.call(i)}finally{if(r)throw r.error}}return a}function D(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(M(arguments[t]));return e}Object.create;var E=function(){function e(){}return e.isEndOfTime=function(e){var t=this.endOfTime;return this.isSameDay(e,t)},e.isSameDay=function(e,t){return b.default(e).isSame(b.default(t),"day")},e.getParseFormats=function(e){var t={"MM/DD/YYYY":this.monthFirstParseFormats,"MM-DD-YYYY":this.monthFirstParseFormats,"DD/MM/YYYY":this.dateFirstParseFormats,"DD-MM-YYYY":this.dateFirstParseFormats,"YYYY/MM/DD":this.monthFirstParseFormats,"YYYY-MM-DD":this.monthFirstParseFormats};return e?t[e]:this.monthFirstParseFormats},e.getAccountMeterStartDate=function(t,o){var n=t.effectiveFrom||o.startDate;return n?new Date(n):e.defaultAccountMeterEffectiveDate},e.getAccountMeterEndDate=function(t,o){var n=t.effectiveTo||o.endDate;return n&&!e.isEndOfTime(n)?new Date(n):null},e.isDateBetween=function(e,t,o,n,r){var i="()";return n&&r?i="[]":n?i="[)":r&&(i="(]"),t=t||this.beginningOfTime,o=o||this.endOfTime,b.default(e).isBetween(t,o,"day",i)},e.stringToDate=function(e){return null==e?e:b.default(e).toDate()},e}();E.beginningOfTime=new Date(1899,11,31),E.endOfTime=new Date(3e3,0,1),E.defaultAccountMeterEffectiveDate=new Date(2010,0,1),E.defaultAccountServiceEffectiveDate=new Date(2010,0,1),E.minDatePickerDate=new Date(1980,0,1),E.maxDatePickerDate=new Date(3e3,0,1,23,59,59),E.defaultDateFormat="yyyy-MM-dd",E.defaultTimeFormat="HH:mm:ss",E.defaultTimestampFormat=E.defaultDateFormat+" "+E.defaultTimeFormat,E.billImportFormatDateFormats=[{label:"mm/dd/yyyy",value:"mm/dd/yyyy"},{label:"Month dd yyyy",value:"Month dd yyyy"},{label:"dd/mm/yyyy",value:"dd/mm/yyyy"},{label:"dd Month yyyy",value:"dd Month yyyy"},{label:"yyyymmdd",value:"yyyymmdd"}],E.monthFirstParseFormats=["yyyy/MM/dd","MM/dd/yyyy","MMddyyyy","MM/dd/yy","MMddyy","MM/dd","yyyy.MM.dd","MM.dd.yyyy","MM.dd.yy","MM.dd","yyyy-MM-dd","MM-dd-yyyy","MM-dd-yy","MM-dd","yyyyMMdd"],E.dateFirstParseFormats=["yyyy/dd/MM","dd/MM/yyyy","ddMMyyyy","dd/MM/yy","ddMMyy","dd/MM","yyyy.dd.MM","dd.MM.yyyy","dd.MM.yy","dd.MM","yyyy-dd-MM","dd-MM-yyyy","dd-MM-yy","dd-MM","yyyyDDmm"],E.timeFormat="HH:mm:ss";var z=function(){function e(){}return e.prototype.getPreferences=function(){return c.of({preference:{dateFormat:"MM/DD/YYYY",timeFormat:"h:mm:ss a"}})},e}();z.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new z},token:z,providedIn:"root"}),z.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var P=function(){function e(e){this.userPreferenceService=e,this.lastFormatString="MM/DD/YYYY"}return e.prototype.transform=function(e,t,o,n){var r=this,i="",a="";return e&&b.default(e).isValid()&&(t||!E.isEndOfTime(e))&&(this.userPreferenceService.getPreferences().subscribe((function(e){if(e.preference){if(a=e.preference.dateFormat,o){var t=e.preference.timeFormat;n||(t=t.replace(":ss","")),a+=" "+t}r.lastFormatString=a}})),i=b.default(e).format(this.lastFormatString)),i},e}();P.decorators=[{type:r.Pipe,args:[{name:"dateDisplay"}]}],P.ctorParameters=function(){return[{type:z}]};var O=function(){function e(e,t){this.translate=e,this.dateDisplayPipe=t}return e.prototype.getErrorMessages=function(e){var t=new Array;if(null!==e){for(var o in e){var n=e[o];switch(o){case"email":t.push(this.translate.get("InvalidEmailValidationMessage_LC"));break;case"required":t.push(this.translate.get("is required"));break;case"requiredPlural":t.push(this.translate.get("RequiredPluralValidationMessage_LC"));break;case"minlength":t.push(this.translate.get("MinLengthValidationMessage_LC",{minLength:n.requiredLength}));break;case"maxlength":t.push(this.translate.get("MaxLengthValidationMessage",{maxLength:n.requiredLength}));break;case"pattern":t.push(this.translate.get("IncorrectFormat_LC"));break;case"min":t.push(this.translate.get("MinValueValidationMessage_LC",{minValue:n.min}));break;case"max":t.push(this.translate.get("MaxValueValidationMessage_LC",{maxValue:n.max}));break;case"zipCodeInvalidFormat":t.push(this.translate.get("must be 5–9 numbers"));break;case"postalCodeInvalidFormat":t.push(this.translate.get("must be 6 characters, alternating letters and numbers"));break;case"zipCodeNotFound":t.push(this.translate.get("ZipCodeNotFoundValidationMessage_LC"));break;case"numericbox":t.push(this.getNumericBoxValidationMessages(n));break;case"addnew":t.push(this.translate.get("CouldNotBeAddedValidationMessage_LC"));break;case"minError":case"minDate":var r=this.dateDisplayPipe.transform(n.minValue);t.push(this.translate.get("MinValueValidationMessage_LC",{minValue:r}));break;case"maxError":case"maxDate":r=this.dateDisplayPipe.transform(n.maxValue,!0);t.push(this.translate.get("MaxValueValidationMessage_LC",{maxValue:r}));break;case"dateRange":t.push(this.translate.get("DateRangeValidationMessage_LC"));break;case"password":t.push(this.translate.get("PasswordValidationMessage_LC"));break;case"textbox":t.push(this.getTextBoxValidationMessages(n));break;case"notUnique":t.push(this.translate.get("MustBeUnique_LC"));break;case"json":t.push(this.translate.get("JsonValidationMessage_SC"));break;case"passwordInvalid":t.push(this.translate.get("PasswordInvalidValidationMessage_LC"));break;case"domain":t.push(this.translate.get("DomainValidationMessage_SC"))}}if(t.length>0)return c.forkJoin(t).toPromise()}return Promise.resolve(new Array)},e.prototype.getNumericBoxValidationMessages=function(e){var t={},o="Integer";return e.decimals&&(t.precision=e.decimals,o="Decimal"),void 0!==e.min&&void 0!==e.max?(t.minValue=e.min,t.maxValue=e.max,this.translate.get(o+"BetweenValidationMessage_LC",t)):void 0!==e.min?(t.minValue=e.min,this.translate.get(o+"MinValidationMessage_LC",t)):void 0!==e.max?(t.maxValue=e.max,this.translate.get(o+"MaxValidationMessage_LC",t)):e.maxPrecisionDigits?(t.maxPrecisionDigits=e.maxPrecisionDigits,this.translate.get("MaxPrecisionDigitsValidationMessage_LC",t)):e.decimals?this.translate.get("DecimalValidationMessage_LC",t):this.translate.get("IncorrectFormat_LC")},e.prototype.getTextBoxValidationMessages=function(e){return e.unique?this.translate.get("TextboxRequiredAndUnique_LC",{minLength:e.minLength,maxLength:e.maxLength}):this.translate.get("TextboxRequired_LC",{minLength:e.minLength,maxLength:e.maxLength})},e}();O.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new O(r.ɵɵinject(s.TranslateService),r.ɵɵinject(P))},token:O,providedIn:"root"}),O.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],O.ctorParameters=function(){return[{type:s.TranslateService},{type:P}]};var A=function(){function e(){}return e.prototype.patchValueSafely=function(e,t){var o={};Object.keys(t).forEach((function(e){var n=t[e];null!=n&&(o[e]=n)})),e.patchValue(o)},e.prototype.getInputId=function(e){return e+"_input"},e.prototype.setRequiredFn=function(e,t,o){return void 0===t&&(t=[]),void 0===o&&(o=!1),function(n){var r=D(t);(n||!o&&0===n)&&r.push(i.Validators.required),r.length>0?e.setValidators(r):e.clearValidators(),e.updateValueAndValidity({emitEvent:!1})}},e}();A.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new A},token:A,providedIn:"root"}),A.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var V=function(){function e(e,t){this.validationMessageService=e,this.formGroupHelper=t,this.autofocus=!1,this.labelPosition="top",this.id="",this.pending=!1,this.required=!1,this.tabindex=0,this.validationErrors="",this.inputId="",this.componentDestroyed=new c.Subject}return e.prototype.ngOnChanges=function(e){e.readonly&&void 0!==e.readonly.currentValue&&(!0===e.readonly.currentValue?this.formModel.disable():!1===e.readonly.currentValue&&this.formModel.enable()),e.id&&void 0!==e.id.currentValue&&(this.inputId=this.formGroupHelper.getInputId(this.id))},e.prototype.ngOnInit=function(){var e=this;this.inputId=this.formGroupHelper.getInputId(this.id),this.formModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(t){e.translateValidationMessages(t)})),this.translateValidationMessages()},e.prototype.ngOnDestroy=function(){this.componentDestroyed.next(),this.componentDestroyed.unsubscribe()},e.prototype.translateValidationMessages=function(e){return C(this,void 0,void 0,(function(){var e,t;return S(this,(function(o){switch(o.label){case 0:return this.formModel?(e=this.formModel,this.validationErrors="",e.valid?[3,2]:[4,this.validationMessageService.getErrorMessages(e.errors)]):[2];case 1:(t=o.sent())&&(this.validationErrors=t.join("; ")),o.label=2;case 2:return[2]}}))}))},e}();V.decorators=[{type:r.Directive}],V.ctorParameters=function(){return[{type:O},{type:A}]},V.propDecorators={autofocus:[{type:r.Input}],formModel:[{type:r.Input}],label:[{type:r.Input}],labelPosition:[{type:r.Input}],id:[{type:r.Input}],pending:[{type:r.Input}],required:[{type:r.Input}],tabindex:[{type:r.Input}],readonly:[{type:r.Input}],tooltip:[{type:r.Input}]};var L=function(e){function t(t,o){var n=e.call(this,t,o)||this;return n.validationMessageService=t,n.formGroupHelper=o,n.name="",n.ignoreDisabledDependents=!0,n.indeterminate=!1,n.ignoreCall=!1,n.resetDependentSubscriptions=new c.Subject,n}return k(t,e),t.prototype.ngAfterViewInit=function(){this.autofocus&&this.inputElement.nativeElement.focus()},t.prototype.ngOnChanges=function(e){e.dependentCheckboxesGroup&&this.setupDependents()},t.prototype.dispatchEvent=function(e){"click"!==e.type||this.formModel.disabled||this.formModel.patchValue(!this.formModel.value)},t.prototype.setupDependents=function(){var e=this;if(this.dependentCheckboxesGroup){this.resetDependentSubscriptions.next();var t=Object.values(this.dependentCheckboxesGroup.controls);this.updateMasterState(t),this.formModel.valueChanges.pipe(d.distinctUntilChanged(),d.takeUntil(c.merge(this.componentDestroyed,this.resetDependentSubscriptions))).subscribe((function(o){e.ignoreCall||(e.ignoreCall=!0,t.forEach((function(t){t.disabled&&e.ignoreDisabledDependents||t.setValue(o)})),e.indeterminate=!1,e.ignoreCall=!1)})),t.forEach((function(o){o.valueChanges.pipe(d.distinctUntilChanged(),d.takeUntil(c.merge(e.componentDestroyed,e.resetDependentSubscriptions))).subscribe((function(o){!0===o||!1===o?e.ignoreCall||(e.ignoreCall=!0,e.updateMasterState(t),e.ignoreCall=!1):console.error("The value "+o+" is not true or false, which are the only supported values for FormControls in the dependentCheckboxesGroup")}))}))}},t.prototype.updateMasterState=function(e){var t=[],o=function(e){return!0===e.value};(t=this.ignoreDisabledDependents?e.filter((function(e){return e.enabled})):e).every(o)?(this.formModel.setValue(!0),this.indeterminate=!1):t.some(o)?(this.formModel.setValue(!1),this.indeterminate=!0):(this.formModel.setValue(!1),this.indeterminate=!1)},t}(V);L.decorators=[{type:r.Component,args:[{selector:"ec-checkbox",template:'<div class="control">\r\n <label class="checkbox"\r\n [ngClass]="{\'is-disabled\': formModel.disabled, \'no-label\': !label, \'is-readonly\': readonly}">\r\n <input id="{{id}}_input"\r\n #checkboxInput\r\n class=\'input\'\r\n [class.indeterminate]="indeterminate"\r\n [attr.id]="inputId"\r\n [attr.name]="name"\r\n type="checkbox"\r\n tabindex="{{tabindex}}"\r\n [formControl]="formModel"\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n <i class="ec-icon icon-check"></i>\r\n <span id="{{id}}_label"\r\n *ngIf="label"\r\n class="label"\r\n [innerHtml]="label | translate">\r\n </span>\r\n </label>\r\n</div>\r\n',styles:[':root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host(.w-auto){width:auto}.checkbox{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.checkbox.is-disabled{cursor:default}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.ec-icon{color:var(--ec-border-color)}.input:not(:checked)+.ec-icon:before{display:none}.input.indeterminate+.ec-icon,.input:indeterminate+.ec-icon{color:var(--ec-color-interactive)}.input.indeterminate+.ec-icon:before,.input:indeterminate+.ec-icon:before{background-color:currentColor;content:"";display:block;height:3px;width:10px}.input:focus+.ec-icon{box-shadow:0 0 0 .0625rem var(--ec-color-interactive);color:var(--ec-color-interactive)}.input:disabled+.ec-icon{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color)}.input:disabled+.ec-icon,.input:disabled~.label{color:var(--ec-color-secondary-dark);opacity:.65}.ec-icon{align-items:center;background-clip:padding-box;background-color:var(--ec-background-color);border:1px solid;border-radius:.125rem;color:var(--ec-color-interactive);display:inline-flex;flex:none;height:1em;justify-content:center;margin-top:.5rem;pointer-events:none;width:1em}.ec-icon:before{font-size:.6875em}.label{height:2rem;height:auto;line-height:1.25;margin-left:.5rem;min-height:2rem;padding:.375rem 0}.checkbox.is-readonly{pointer-events:none}.checkbox.is-readonly .input{opacity:0}.checkbox.is-readonly .ec-icon{background-color:rgba(26,26,35,.12);border:0}.checkbox.is-readonly .ec-icon,.checkbox.is-readonly .label{color:var(--ec-color-primary-dark);opacity:1}.no-label .icon-check,.no-label .input{margin-top:0}']}]}],L.ctorParameters=function(){return[{type:O},{type:A}]},L.propDecorators={name:[{type:r.Input}],dependentCheckboxesGroup:[{type:r.Input}],ignoreDisabledDependents:[{type:r.Input}],inputElement:[{type:r.ViewChild,args:["checkboxInput",{static:!0}]}]};var R=function(){function e(){this.expanded=!1,this.expandedChange=new r.EventEmitter}return e.prototype.onToggle=function(){this.expanded=!this.expanded,this.expandedChange.emit(this.expanded)},e}();R.decorators=[{type:r.Component,args:[{selector:"ec-collapsible-toggle",template:'<ec-button id="{{id}}_button" type="icon" icon="icon-angle-down {{expanded ? \'\' : \'rotate-270\'}}" tabindex="{{tabindex}}" (clicked)="onToggle()"></ec-button>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{align-items:center;display:inline-flex;height:1.5rem;justify-content:center;width:1.5rem}ec-button::ng-deep .ec-button-icon{height:1.25rem;width:1.25rem}"]}]}],R.propDecorators={id:[{type:r.Input}],expanded:[{type:r.Input}],tabindex:[{type:r.Input}],expandedChange:[{type:r.Output}]};var F=function(){function e(e,t,o,n){this.templateRef=e,this.viewContainer=t,this.document=o,this.renderer=n,this.popperStatusChange=new r.EventEmitter}return e.prototype.ngOnInit=function(){this.templateViewRef=this.viewContainer.createEmbeddedView(this.templateRef)},e.prototype.ngOnDestroy=function(){this.hide()},e.prototype.show=function(){var t=this;if(e.GlobalPopupRef&&e.GlobalPopupRef!=this&&(e.GlobalPopupRef.hide(),e.GlobalPopupRef=void 0),this.globalCloseSubscription||(this.globalCloseSubscription=c.fromEvent(this.document.body,"click").subscribe((function(e){t.hide()}))),!this.popperRef){this.popupViewRef=this.viewContainer.createEmbeddedView(this.popup);var o=this.popupViewRef.rootNodes.find((function(e){return"#text"!==e.nodeName}));this.popperRef=new f.default(this.templateViewRef.rootNodes[0],o,this.popperOptions),e.GlobalPopupRef=this,this.popperStatusChange.emit("visible")}},e.prototype.hide=function(){this.globalCloseSubscription&&(this.globalCloseSubscription.unsubscribe(),this.globalCloseSubscription=void 0),this.popperRef&&this.popupViewRef&&(this.popupViewRef.destroy(),this.popperRef.destroy(),this.popperRef=void 0,this.popperStatusChange.emit("hidden"))},e.prototype.update=function(){this.popperRef&&this.popperRef.update()},e.prototype.fixPosition=function(e,t){if(void 0===t&&(t=!1),this.popperRef&&this.popperRef.reference&&this.popperRef.popper){var o=this.popperRef.popper;if(this.renderer.removeStyle(o,"width"),this.renderer.setStyle(o,"position","fixed"),t){var n=this.document.querySelector("body");this.renderer.parentNode(o)!==n&&this.renderer.appendChild(n,o)}var r=this.popperRef.reference,i=o.offsetWidth,a=o.getBoundingClientRect(),s=a.left,l=r.getBoundingClientRect(),c=l.bottom;this.popperOptions&&this.popperOptions.placement&&(s="bottom-start"===this.popperOptions.placement||"top-start"===this.popperOptions.placement?l.left:l.right-(e||i>l.width?i:l.width)),a.height+c+10>window.innerHeight&&(c=l.top-a.height),this.renderer.setStyle(o,"transform","none"),this.renderer.setStyle(o,"left",s+"px"),this.renderer.setStyle(o,"top",c+"px"),this.renderer.setStyle(o,"width",i+"px"),e||this.renderer.setStyle(o,"min-width",l.width+"px")}},e}();F.GlobalPopupRef=void 0,F.decorators=[{type:r.Directive,args:[{selector:"[ecPopup]"}]}],F.ctorParameters=function(){return[{type:r.TemplateRef},{type:r.ViewContainerRef},{type:void 0,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]},{type:r.Renderer2}]},F.propDecorators={popup:[{type:r.Input,args:["ecPopup"]}],popperOptions:[{type:r.Input,args:["options"]}]};var _=function(){function e(){}return e.prototype.scrollToItem=function(e,t,o){void 0===o&&(o=32);var n=document.querySelector(e);if(n){var r=n.querySelector(t);if(r){var i=r.getBoundingClientRect(),a=n.getBoundingClientRect();(i.bottom>a.bottom||i.top<a.top)&&(n.scrollTop=i.top-a.top+n.scrollTop-o)}}},e.prototype.getCurrentScrollPosition=function(e){var t=document.querySelector(e);return t?t.scrollTop:(console.error("Scroll container '"+e+"' does not exist."),0)},e.prototype.scrollToPosition=function(e,t){var o=document.querySelector(e);o?o.scrollTop=t:console.error("Scroll container '"+e+"' does not exist.")},e.prototype.scrollItemCentered=function(e,t){try{var o=document.querySelector(e);if(o){var n=o.getBoundingClientRect().height;this.scrollToItem(e,t,.5*n)}}catch(o){console.error("Error scrolling target into view. Container selector: "+e+". Target selector: "+t,o)}},e}();_.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new _},token:_,providedIn:"root"}),_.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],_.ctorParameters=function(){return[]};var N=function(e){function t(t,o,n,a){var s=e.call(this,t,o)||this;return s.validationMessageService=t,s.formGroupHelper=o,s.translate=n,s.scrollService=a,s.menuPosition="bottom_right",s.options=[],s.templateType="label",s.popupFixed=!0,s.upperCase=!1,s.placeholder="",s.hideToggleButton=!1,s.alwaysOpen=!1,s.menuElementClasses=[],s.textboxElementClasses=[],s.hideNoMatches=!1,s.noMatchesText="NoMatches_SC",s.addNewClick=new r.EventEmitter,s.search=new r.EventEmitter,s.filteredOptions=[],s.menuStatus="hidden",s.effectivePlaceholder="",s.selectedItem=null,s.textboxFormModel=new i.FormControl(""),s.addNewSelected=!1,s.foundMatch=!1,s.selectedItemIndex=-1,s.chooseOrAddPlaceholder="",s.choosePlaceholder="",s.hasDataBeenLoadedOnOpen=!1,s}return k(t,e),t.prototype.onResize=function(){this.popup&&this.popup.hide()},t.prototype.ngOnChanges=function(t){e.prototype.ngOnChanges.call(this,t),t.options&&(this.resetOptions(),this.popup&&this.popup.update()),(t.required||t.minlength||t.maxlength)&&this.setTextboxFormModelValidators(),(t.addNew&&!t.addNew.isFirstChange()||t.placeholder)&&this.updatePlaceholderText()},t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.alwaysOpen&&(this.hideToggleButton=!0,this.menuStatus="visible"),this.chooseOrAddPlaceholder=this.translate.instant("Choose or add")+"...",this.choosePlaceholder=""+this.translate.instant("Choose"),this.formModelChanged(this.formModel.value),this.setTextboxFormModelValidators(),this.formModel.valueChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(e){return t.formModelChanged(e)})),this.textboxFormModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(e){return t.setFormModelValidationErrors(e)})),this.updatePlaceholderText()},t.prototype.ngAfterViewInit=function(){var e=this;if(this.popup){var t={modifiers:{preventOverflow:{boundariesElement:"viewport"}}};switch(this.menuPosition){case"top_left":t.placement="top-start";break;case"top_right":t.placement="top-end";break;case"bottom_left":t.placement="bottom-start";break;case"bottom_right":t.placement="bottom-end";break;default:throw new Error("Invalid menuPosition for ComboboxComponent.")}t.onCreate=function(){e.scrollMenu(),e.popupFixed&&e.popup.fixPosition()},this.popupFixed&&(t.onUpdate=function(){e.popup.fixPosition()}),this.popup.popperOptions=t,this.popup.popperStatusChange.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(t){e.menuStatus=t,"hidden"===t&&(e.syncModelValues(),e.resetOptions())}))}},t.prototype.setErrors=function(e){this.textboxFormModel.setErrors(e),this.formModel.markAsTouched()},t.prototype.resetOptions=function(e){this.filteredOptions=e||this.options,""!==this.textboxFormModel.value?(this.selectedItemIndex=this.findDefaultSelectionIndex(this.filteredOptions,this.textboxFormModel.value),this.selectedItem=this.filteredOptions[this.selectedItemIndex]||null,this.scrollMenu(this.selectedItemIndex)):this.clearSelectedItem()},t.prototype.selectedChanged=function(e){this.setFormModelValue(e),this.toggleMenu()},t.prototype.toggleMenu=function(e){var t=this;this.popup&&(e&&e.stopPropagation(),this.formModel.disabled||("visible"===this.menuStatus?this.popup.hide():this.loadOnOpenObservable&&!this.hasDataBeenLoadedOnOpen?(this.pending=!0,this.loadOnOpenObservable.pipe(d.take(1)).subscribe((function(e){t.hasDataBeenLoadedOnOpen=!0,t.pending=!1,t.options=e,t.resetOptions(),t.popup.show()}))):this.popup.show()))},t.prototype.onBlur=function(){this.formModel.markAsTouched()},t.prototype.keyNavigate=function(e){switch(e.key){case"ArrowDown":case"Down":case"ArrowUp":case"Up":e.stopPropagation(),e.preventDefault(),this.onArrowDownUp(e);break;case"Backspace":case"Delete":case"Del":"hidden"===this.menuStatus&&this.toggleMenu();break;case"Tab":"visible"===this.menuStatus&&(this.addNewSelected&&e.preventDefault(),this.commitSelection(e));break;case"Enter":e.preventDefault(),"visible"===this.menuStatus&&this.commitSelection(e);break;case"Escape":case"Esc":"visible"===this.menuStatus&&(e.preventDefault(),this.toggleMenu());break;case" ":case"Spacebar":"hidden"===this.menuStatus&&(e.preventDefault(),this.toggleMenu());break;default:"hidden"===this.menuStatus&&"Shift"!==e.key&&this.toggleMenu()}},t.prototype.addNewItem=function(e){return C(this,void 0,void 0,(function(){return S(this,(function(t){switch(t.label){case 0:this.pending=!0,t.label=1;case 1:return t.trys.push([1,3,,4]),[4,e()];case 2:return t.sent(),[3,4];case 3:return t.sent(),this.setErrors({addnew:!0}),[3,4];case 4:return this.pending=!1,this.toggleMenu(),[2]}}))}))},t.prototype.commitSelection=function(e){this.addNewSelected?(e.stopPropagation(),this.onAddNew(e)):(this.setFormModelValue(this.selectedItem),this.toggleMenu())},t.prototype.onAddNew=function(e){e.stopPropagation(),this.addNewSelected=!1,this.addNewClick.emit(this.textboxFormModel.value)},t.prototype.onArrowDownUp=function(e){switch(e.key){case"ArrowDown":case"Down":-1!==this.selectedItemIndex||!this.addNewButton||this.addNewButton.nativeElement.hidden||this.addNewSelected?this.selectedItemIndex<this.filteredOptions.length-1&&(this.addNewSelected&&(this.addNewSelected=!1),this.selectedItemIndex==this.filteredOptions.length-2&&"heading"===this.filteredOptions[this.selectedItemIndex+1].display||(this.selectedItemIndex++,this.selectedItemIndex<this.filteredOptions.length-1&&"heading"===this.filteredOptions[this.selectedItemIndex].display&&this.selectedItemIndex++)):this.addNewSelected=!0;break;case"ArrowUp":case"Up":-1===this.selectedItemIndex&&this.addNewButton&&!this.addNewButton.nativeElement.hidden&&this.addNewSelected?this.addNewSelected=!1:this.selectedItemIndex>-1&&(0===this.selectedItemIndex&&this.addNewButton&&!this.addNewButton.nativeElement.hidden&&(this.addNewSelected=!0),this.selectedItemIndex--,this.selectedItemIndex>-1&&"heading"===this.filteredOptions[this.selectedItemIndex].display&&(this.selectedItemIndex--,-1==this.selectedItemIndex&&(this.addNewButton&&!this.addNewButton.nativeElement.hidden?this.addNewSelected=!0:this.selectedItemIndex=1)));break;default:return}this.selectedItem=this.filteredOptions[this.selectedItemIndex],"hidden"===this.menuStatus?this.setFormModelValue(this.selectedItem):this.scrollMenu()},t.prototype.filterOptionsArray=function(e){var t=e.toLowerCase();return e&&""!==e?this.options.filter((function(e){return e.label.toLowerCase().indexOf(t)>=0})):this.options},t.prototype.findSelectedItemIndex=function(e){var t=e||this.selectedItem;return t?this.filteredOptions.findIndex((function(e){return e.id&&t.id?e.label===t.label&&e.id===t.id:e.label===t.label})):-1},t.prototype.formModelChanged=function(e){this.synchronizeDisabledAttributes(),e?(this.textboxFormModel.setValue(e.label),this.selectedItemIndex=this.findSelectedItemIndex(e),this.selectedItemIndex>=0&&(this.selectedItem=this.filteredOptions[this.selectedItemIndex])):(this.textboxFormModel.reset(),this.clearSelectedItem())},t.prototype.scrollMenu=function(e){var t=this;if(this.filteredOptions.length>0)if(this.selectedItemIndex=void 0===e?this.findSelectedItemIndex():e,this.selectedItemIndex>-1&&this.selectedItem){var o=this.selectedItem.id?"#"+this.selectedItem.id:"#"+this.id+"_menu_item"+this.selectedItemIndex;setTimeout((function(){t.scrollService.scrollItemCentered("#"+t.id+"_menu_list",o)}),0)}else this.selectedItem=null},t.prototype.searchAndFilter=function(e){this.search.emit(e),0===this.search.observers.length&&void 0!==e&&(this.resetOptions(this.filterOptionsArray(e)),this.addNewSelected&&!this.addNewButton&&(this.addNewSelected=!1))},t.prototype.setFormModelValidationErrors=function(e){this.textboxFormModel.invalid?this.formModel.setErrors(this.textboxFormModel.errors):this.formModel.setErrors(null)},t.prototype.setFormModelValue=function(e){this.textboxFormModel.setValue(e?e.label:""),this.formModel.setValue(e)},t.prototype.setTextboxFormModelValidators=function(){var e=[];this.required&&e.push(i.Validators.required),this.minlength&&e.push(i.Validators.minLength(this.minlength)),this.maxlength&&e.push(i.Validators.maxLength(this.maxlength)),this.textboxFormModel.setValidators(e),this.textboxFormModel.updateValueAndValidity()},t.prototype.synchronizeDisabledAttributes=function(){this.formModel.disabled!==this.textboxFormModel.disabled&&(this.formModel.disabled?this.textboxFormModel.disable():this.textboxFormModel.enable())},t.prototype.syncModelValues=function(){this.formModel.value&&this.formModel.value.label!==this.textboxFormModel.value?this.textboxFormModel.setValue(this.formModel.value.label):this.formModel.value||this.textboxFormModel.setValue("")},t.prototype.textboxValueChanged=function(e){var t=this;if(this.searchAndFilter(this.textboxFormModel.value),""===this.textboxFormModel.value&&this.clearSelectedItem(),this.addNew){var o=this.filteredOptions.find((function(e){return e.label.toLowerCase()===t.textboxFormModel.value.toLowerCase()}));this.foundMatch=!!o}this.popup&&this.popup.update()},t.prototype.clearSelectedItem=function(){this.selectedItem=null,this.selectedItemIndex=-1},t.prototype.updatePlaceholderText=function(){this.placeholder?this.effectivePlaceholder=this.translate.instant(this.placeholder):this.addNew?this.effectivePlaceholder=this.chooseOrAddPlaceholder:this.effectivePlaceholder=this.choosePlaceholder},t.prototype.findDefaultSelectionIndex=function(e,t){var o=-1;if(e&&e.length&&(o=e.findIndex((function(e){return null!=e&&"heading"!==e.display})),t)){t=t.toLowerCase().trim();var n=e.findIndex((function(e){return e.label.toLowerCase()==t&&"heading"!==e.display}));n>=0&&(o=n)}return o},t}(V);N.decorators=[{type:r.Component,args:[{selector:"ec-combobox",template:'<div class="control control-label-{{labelPosition}}"\r\n [ngClass]="{\'open\': menuStatus === \'visible\',\r\n \'invalid\': formModel.touched && formModel.invalid,\r\n \'has-icon\': (templateType === \'iconAndLabel\' && formModel.value && formModel.value.icon && formModel.value.label === textboxFormModel.value),\r\n \'is-readonly\': readonly,\r\n \'is-disabled\': formModel.disabled,\r\n \'is-always-open\': alwaysOpen}">\r\n\r\n <label *ngIf="label" ngPreserveWhitespaces>\r\n <span>{{label | translate}}</span>\r\n <span *ngIf="validationErrors.length > 0 && formModel.touched && formModel.invalid">{{validationErrors}}</span>\r\n </label>\r\n\r\n <ng-container *ngIf="alwaysOpen; else popupTarget">\r\n <div class="textbox-group control-input" [ngClass]="textboxElementClasses">\r\n <ng-container *ngTemplateOutlet="textbox"></ng-container>\r\n </div>\r\n\r\n <ng-container *ngIf="filteredOptions.length > 0 || textboxFormModel.value">\r\n <ng-container *ngTemplateOutlet="dropdownmenu"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #popupTarget>\r\n <div class="textbox-group control-input" [ngClass]="textboxElementClasses" *ecPopup="dropdownmenu">\r\n <ng-container *ngTemplateOutlet="textbox"></ng-container>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #textbox>\r\n <i class="ec-icon {{formModel.value?.icon}}"></i>\r\n\r\n <ec-textbox class="textbox-group-input mb-0"\r\n #textbox\r\n [id]="id"\r\n [autofocus]="autofocus"\r\n [formModel]="textboxFormModel"\r\n [maxlength]="maxlength"\r\n [minlength]="minlength"\r\n [placeholder]="effectivePlaceholder"\r\n [required]="required"\r\n [tabindex]="tabindex"\r\n [readonly]="readonly"\r\n (input)="textboxValueChanged($event)"\r\n (keydown)="keyNavigate($event)"\r\n (focusout)="onBlur()"\r\n [upperCase]="upperCase"\r\n [pending]="pending && alwaysOpen"\r\n [autocomplete]="\'off\'"></ec-textbox>\r\n\r\n <ec-button class="textbox-group-btn-right"\r\n *ngIf="!hideToggleButton"\r\n [id]="id + \'_button\'"\r\n [disabled]="formModel.disabled"\r\n icon="icon-caret-down"\r\n [tabindex]="-1"\r\n type="secondary"\r\n (click)="toggleMenu($event)"\r\n (keydown)="keyNavigate($event)"></ec-button>\r\n</ng-template>\r\n\r\n<ng-template #dropdownmenu>\r\n <div class="popup"\r\n ecOverlay\r\n [status]="pending && !alwaysOpen ? \'pending\' : \'hasData\'">\r\n\r\n <button class="add-new"\r\n id="{{id}}_addNew"\r\n #addNewButton\r\n [class.is-selected]="addNewSelected"\r\n *ngIf="addNew"\r\n [hidden]="foundMatch || (addNew === \'dynamic\' && (!textboxFormModel.value || (formModel.value && textboxFormModel.value === formModel.value.label)))"\r\n\r\n (click)="onAddNew($event)">\r\n <span class="add-new-label ec-util-truncate">\r\n <span *ngIf="addNew === \'static\' || addNew === true" translate>Add new...</span>\r\n <span *ngIf="addNew === \'dynamic\'">{{\'Add\' | translate}} <strong class="ec-util-truncate" [ngClass]="{\'text-uppercase\': upperCase}">{{textboxFormModel.value}}</strong></span>\r\n </span>\r\n <i class="ec-icon icon-add"></i>\r\n </button>\r\n\r\n <ec-menu id="{{id}}_menu"\r\n [class.border-top-0]="!filteredOptions.length && hideNoMatches"\r\n [ngClass]="menuElementClasses"\r\n [templateType]="templateType"\r\n [customMenuTemplate]="customMenuTemplate"\r\n [showNoItems]="!hideNoMatches"\r\n [noDataText]="noMatchesText"\r\n [items]="filteredOptions"\r\n [selected]="selectedItem"\r\n (selectedChanged)="selectedChanged($event)"></ec-menu>\r\n\r\n <footer *ngIf="totalRecords && totalRecords > filteredOptions.length && filteredOptions.length > 0">\r\n <span>{{filteredOptions.length}} {{\'of\' | translate}} {{totalRecords}}</span>\r\n </footer>\r\n </div>\r\n</ng-template>\r\n',styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid,:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host(.invalid) .control .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host(.invalid) .control:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}.control{position:relative}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control ec-textbox ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;border-color:var(--ec-border-color-legacy);padding-left:1.5rem}.control ec-textbox ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}.control .textbox-group .ec-icon{display:none;left:.5rem;position:absolute;top:.5rem;z-index:2}.control.has-icon:not(.invalid) .ec-icon{display:inline-flex}.control.has-icon:not(.invalid) ec-textbox ::ng-deep input{padding-left:1.75rem}.control.is-disabled .ec-icon{filter:grayscale(100%);opacity:.65}.control.is-readonly ec-textbox ::ng-deep input{border-bottom-right-radius:var(--ec-border-radius);border-right-width:.0625rem;border-top-right-radius:var(--ec-border-radius)}.control.is-readonly ec-button{display:none}.control.is-always-open{height:100%}.control.is-always-open .textbox-group,.control.is-always-open label{margin-left:1rem;margin-right:1rem}.control.is-always-open .textbox-group{margin-bottom:1rem}.control.is-always-open .popup{background-color:transparent;border:0;box-shadow:none;flex:1 1;margin:0;min-height:0;z-index:0}.control.is-always-open ec-menu{border-top:1px solid var(--ec-border-color)}.control.is-always-open ec-menu ::ng-deep ul{max-height:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.popup{background-color:var(--ec-background-color);border-radius:var(--ec-border-radius-card);box-shadow:var(--ec-box-shadow-overlay);margin-top:.25rem;overflow:hidden;z-index:var(--ec-z-index-popup)}ec-menu{display:block}ec-menu:not(:first-child){border-top:1px solid var(--ec-border-color)}ec-menu ::ng-deep ul{max-height:30vh}ec-menu ::ng-deep ul li{white-space:nowrap}.add-new{align-items:center;background-color:var(--ec-background-color);border:0;cursor:pointer;display:flex;height:2rem;line-height:1.25;padding:.25rem .5rem;width:100%}.add-new.is-highlighted,.add-new.is-selected{background-color:#d9edf2}.add-new:focus{background-color:var(--ec-color-disabled-dark);outline:none;position:relative;z-index:1}.add-new:active{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}.add-new.is-disabled,.add-new:disabled{color:var(--ec-color-secondary-dark);cursor:default;opacity:.65}.add-new .label{align-items:center;display:flex;flex:auto}.add-new .ec-icon+.label{margin:0 .375rem}.add-new.is-selected,.add-new:hover:not(:active){background-color:#bfe0e9}.add-new:active .ec-icon{color:inherit}.add-new-label{flex:1 1;margin-right:.5rem;text-align:left}.add-new .ec-icon{flex:0 0 auto}footer{border-top:1px solid var(--ec-border-color);color:var(--ec-color-hint-dark);font-size:var(--ec-font-size-label);line-height:1;padding:.5rem;text-align:right}ec-button ::ng-deep button .ec-icon{background-position:50%;background-size:1em}.open:not(.is-always-open) .textbox-group ec-textbox ::ng-deep input{border-color:var(--ec-border-color-legacy);box-shadow:none}.open:not(.is-always-open) .textbox-group ec-button ::ng-deep button{background-color:var(--ec-background-color-hover);box-shadow:none}']}]}],N.ctorParameters=function(){return[{type:O},{type:A},{type:s.TranslateService},{type:_}]},N.propDecorators={onResize:[{type:r.HostListener,args:["window:resize"]}],addNew:[{type:r.Input}],maxlength:[{type:r.Input}],menuPosition:[{type:r.Input}],minlength:[{type:r.Input}],options:[{type:r.Input}],templateType:[{type:r.Input}],customMenuTemplate:[{type:r.Input}],popupFixed:[{type:r.Input}],totalRecords:[{type:r.Input}],upperCase:[{type:r.Input}],placeholder:[{type:r.Input}],loadOnOpenObservable:[{type:r.Input}],hideToggleButton:[{type:r.Input}],alwaysOpen:[{type:r.Input}],menuElementClasses:[{type:r.Input}],textboxElementClasses:[{type:r.Input}],hideNoMatches:[{type:r.Input}],noMatchesText:[{type:r.Input}],addNewClick:[{type:r.Output}],search:[{type:r.Output}],textbox:[{type:r.ViewChild,args:["textbox"]}],popup:[{type:r.ViewChild,args:[F]}],addNewButton:[{type:r.ViewChild,args:["addNewButton"]}]};var B=function(){function e(e,t){this.router=e,this.activatedRoute=t,this._hasUnsavedChanges=!1,this.beforeUnloadFunction=function(e){e.preventDefault(),e.returnValue=""},window&&(this.resized=c.fromEvent(window,"resize"))}return Object.defineProperty(e.prototype,"hasUnsavedChanges",{get:function(){return this._hasUnsavedChanges},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"innerWidth",{get:function(){return window?window.innerWidth:void 0},enumerable:!1,configurable:!0}),e.prototype.goBack=function(){window.history.back()},e.prototype.getHistoryLength=function(){var e;return(null===(e=null===window||void 0===window?void 0:window.history)||void 0===e?void 0:e.length)||0},e.prototype.navigateToUrl=function(e){return C(this,void 0,void 0,(function(){return S(this,(function(t){switch(t.label){case 0:return t.trys.push([0,5,,6]),0!==e.indexOf("/app/")?[3,2]:[4,this.router.navigateByUrl(e.substring(5))];case 1:return t.sent(),[3,4];case 2:return[4,this.router.navigateByUrl(e)];case 3:t.sent(),t.label=4;case 4:return[3,6];case 5:return t.sent(),window.location.href=e,[3,6];case 6:return[2]}}))}))},e.prototype.addNavigateAwayPrompt=function(){this._hasUnsavedChanges=!0,window.addEventListener("beforeunload",this.beforeUnloadFunction)},e.prototype.removeNavigateAwayPrompt=function(){this._hasUnsavedChanges=!1,window.removeEventListener("beforeunload",this.beforeUnloadFunction)},e.prototype.postMessage=function(e,t,o){e.postMessage(t,o)},e.prototype.openNew=function(e){window.open(e,"_blank")},e.prototype.modifyHistoryQueryParamsSubset=function(e){return C(this,void 0,void 0,(function(){return S(this,(function(t){return[2,this.router.navigate([],{relativeTo:this.activatedRoute,replaceUrl:!0,queryParams:e,queryParamsHandling:"merge"})]}))}))},e.prototype.confirm=function(e){return Promise.resolve(confirm(e))},e.prototype.closeWindow=function(e){e?e.close():window.close()},e.prototype.getLocation=function(){return window.location.pathname+window.location.hash},e.prototype.getFullUrl=function(){return window.location.href},e.prototype.reloadWindow=function(){window.location.reload()},e}();B.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new B(r.ɵɵinject(a.Router),r.ɵɵinject(a.ActivatedRoute))},token:B,providedIn:"root"}),B.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],B.ctorParameters=function(){return[{type:a.Router},{type:a.ActivatedRoute}]};var H=function(){function e(e,t,o,n){this.el=e,this.renderer=t,this.windowService=o,this.scrollService=n,this.items=[],this.selected=null,this.templateType="label",this.showNoItems=!1,this.noDataText="NoItems_TC",this.enableKeyNav=!1,this.highlightedItem=null,this.maintainSelectedItem=!0,this.truncateItems=!1,this.preserveIconSpace=!1,this.selectedChanged=new r.EventEmitter,this.menuClosed=new r.EventEmitter,this.highlightedItemIndex=-1,this.lastSelected=null}return e.prototype.ngAfterContentInit=function(){var e=this;switch(this.templateType){case"label":case"iconAndLabel":this.internalizedTemplate=this.iconAndLabelTemplate;break;case"checkAndLabel":this.internalizedTemplate=this.checkAndLabelTemplate;break;default:throw new Error("Invalid templateType for MenuComponent. Please use either: 'label', 'iconAndLabel' or 'checkAndLabel'")}this.customMenuTemplate&&(this.internalizedTemplate=this.customMenuTemplate),this.id&&(this.attrId=this.id),this.setItemIds(),this.highlightedItem&&this.items.length&&(this.highlightedItemIndex=this.items.findIndex((function(t){return e.highlightedItem===t}))),this.addKeydownListener()},e.prototype.ngOnDestroy=function(){this.removeKeydownListener&&this.removeKeydownListener()},e.prototype.selectItem=function(e,t,o){var n;e.stopPropagation(),t.disabled||t.readonly||this.lastSelected===t||(t.url?o||"LI"===(null===(n=e.target)||void 0===n?void 0:n.tagName)?(t.target?window.open(t.url,t.target):this.windowService.navigateToUrl(t.url),this.onSelection(t)):this.onSelection(t):(t.onClick&&t.onClick(t,!1),t.items?this.toggleChildMenu(!0):this.onSelection(t)),this.maintainSelectedItem?(this.selected=t,this.lastSelected=t):(this.selected=null,this.lastSelected=null))},e.prototype.back=function(e){e.stopPropagation(),this.parent&&this.parent.onClick&&this.parent.onClick(null,!0),this.menuClosed.emit()},e.prototype.onSelection=function(e){"heading"!==e.display&&this.selectedChanged.emit(e)},e.prototype.toggleChildMenu=function(e){var t=this,o=this.el.nativeElement.querySelector("nav");if(e){this.removeKeydownListener&&this.removeKeydownListener();var n=o.offsetHeight,r=o.offsetWidth;this.renderer.setStyle(o,"height",n+"px"),this.renderer.setStyle(o,"width",r+"px"),this.renderer.addClass(this.el.nativeElement,"open"),setTimeout((function(){t.renderer.addClass(t.el.nativeElement,"open-active")}))}else this.addKeydownListener(),this.renderer.removeClass(this.el.nativeElement,"open-active"),setTimeout((function(){t.renderer.removeClass(t.el.nativeElement,"open"),t.renderer.setStyle(o,"height","100%"),t.selected=null}),350)},e.prototype.keyNavigate=function(e){if(this.enableKeyNav)switch(e.key){case"ArrowUp":case"Up":case"ArrowDown":case"Down":e.stopPropagation(),e.preventDefault(),this.moveHighlightedUpOrDown(e);break;case"ArrowRight":case"Right":e.stopPropagation(),e.preventDefault(),this.highlightedItem&&this.highlightedItem.items&&this.selectItem(e,this.highlightedItem,!0);break;case"ArrowLeft":case"Left":e.stopPropagation(),e.preventDefault(),this.parent&&this.back(e);break;case" ":case"Spacebar":case"Enter":e.preventDefault(),this.highlightedItemIndex>-1&&this.highlightedItem?this.selectItem(e,this.highlightedItem,!0):-1===this.highlightedItemIndex&&this.parent&&this.back(e);break;default:return}},e.prototype.scrollToSelectedItem=function(){var e=this;window.setTimeout((function(){e.scrollService.scrollToItem("#"+e.id+"_list","li.is-selected")}))},e.prototype.moveHighlightedUpOrDown=function(e){switch(e.key){case"ArrowUp":case"Up":this.highlightedItemIndex>-1&&(this.highlightedItemIndex--,this.highlightedItemIndex>-1&&"heading"===this.items[this.highlightedItemIndex].display&&this.highlightedItemIndex--);break;case"ArrowDown":case"Down":this.highlightedItemIndex<this.items.length-1&&(this.highlightedItemIndex++,this.highlightedItemIndex<this.items.length-1&&"heading"===this.items[this.highlightedItemIndex].display&&this.highlightedItemIndex++);break;default:return}this.highlightedItemIndex>-1?this.highlightedItem=this.items[this.highlightedItemIndex]:this.highlightedItem=null,this.scrollToHighlightedItem()},e.prototype.scrollMenu=function(e){if(this.items.length>0){e=e||this.items[0];var t=this.findItemIndex(e);if(this.id){var o=e.id?"#"+e.id:"#"+this.id+"_item"+t;this.scrollService.scrollItemCentered("#"+this.id+"_list",o)}}},e.prototype.scrollToHighlightedItem=function(){this.scrollMenu(this.highlightedItem)},e.prototype.findItemIndex=function(e){return e?this.items.findIndex((function(t){return t.label===e.label})):-1},e.prototype.addKeydownListener=function(){var e=this;this.enableKeyNav&&(this.removeKeydownListener=this.renderer.listen("document","keydown",(function(t){return e.keyNavigate(t)})))},e.prototype.setItemIds=function(){var e=this;this.items&&this.items.forEach((function(t,o){t.id=t.id?t.id:e.id+"_item"+o}))},e}();H.decorators=[{type:r.Component,args:[{selector:"ec-menu",template:'<nav>\r\n <div class="parent"\r\n [class.no-data]="showNoItems && (!items || items.length === 0)">\r\n <header id="{{id}}_header"\r\n class="text-heading-3 p-1"\r\n [class.is-selected]="highlightedItemIndex === -1"\r\n *ngIf="parent"\r\n (click)="back($event)">\r\n <div class="item-wrapper">\r\n <i class="ec-icon icon-angle-down rotate-90 flex-shrink"></i>\r\n <span class="label text-truncate flex-grow">{{parent?.label}}</span>\r\n </div>\r\n </header>\r\n\r\n <ul id="{{id}}_list" class="py-1">\r\n <li *ngFor="let item of items; index as i"\r\n id="{{item.id || id + \'_item\' + i}}"\r\n class="{{item.display || \'item\'}} {{item.classList}}"\r\n [attr.disabled]="item.disabled"\r\n [hidden]="item.hidden"\r\n ecNavItemActive="is-selected"\r\n [ecNavItemActiveQueryParams]="item.queryParams"\r\n [ecNavItemActiveUrl]="item.url"\r\n [ecNavItemActiveExactMatch]=\'item.isActiveExactMatch\'\r\n (routerLinkActivated)="selectItem($event, item)"\r\n [ngClass]="{\'is-highlighted\':(selected === item && item?.display !== \'heading\') || highlightedItem === item, \'is-link\': item.url, \'is-disabled\': item.disabled, \'is-readonly\': item.readonly, \'is-checked\': item.checked, \'text-heading-3\': item?.display === \'heading\'}"\r\n (click)="selectItem($event, item)">\r\n\r\n <a *ngIf="item.url && !item.externalLink"\r\n id="{{item.id}}_link"\r\n title="{{truncateItems ? item.label : \'\'}}"\r\n class="item-wrapper"\r\n [routerLink]="item.url"\r\n [queryParams]="item.queryParams || null"\r\n target="{{item.target || \'_self\'}}">\r\n\r\n <ng-container *ngTemplateOutlet="internalizedTemplate; context: {$implicit: item}"></ng-container>\r\n </a>\r\n\r\n <a *ngIf="item.url && item.externalLink"\r\n id="{{item.id}}_link"\r\n title="{{truncateItems ? item.label : \'\'}}"\r\n class="item-wrapper"\r\n href="{{item.url}}"\r\n target="{{item.target || \'_self\'}}">\r\n\r\n <ng-container *ngTemplateOutlet="internalizedTemplate; context: {$implicit: item}"></ng-container>\r\n </a>\r\n\r\n <div *ngIf="!item.url"\r\n title="{{truncateItems ? item.label : \'\'}}"\r\n class="item-wrapper">\r\n <ng-container *ngTemplateOutlet="internalizedTemplate; context: {$implicit: item}"></ng-container>\r\n </div>\r\n </li>\r\n </ul>\r\n\r\n <p class="no-data-message">{{noDataText | translate}}</p>\r\n </div>\r\n\r\n \x3c!-- Child menu (Rendered to the right) --\x3e\r\n <ec-menu *ngIf="selected?.items"\r\n id="{{id}}_child"\r\n class="child"\r\n [parent]="selected"\r\n [items]="selected?.items"\r\n [showNoItems]="true"\r\n [templateType]="templateType"\r\n [enableKeyNav]="true"\r\n [truncateItems]="truncateItems"\r\n (selectedChanged)="onSelection($event)"\r\n (menuClosed)="toggleChildMenu(false)">\r\n </ec-menu>\r\n</nav>\r\n\r\n\x3c!-- \'label\' Item Template --\x3e\r\n<ng-template #label\r\n let-item>\r\n <span id="{{item.id}}_label"\r\n class="label"\r\n [class.text-truncate]="truncateItems">{{item.label}}</span>\r\n\r\n <i class="ec-icon icon-angle-down rotate-270" *ngIf="item?.items"></i>\r\n</ng-template>\r\n\r\n\x3c!-- \'checkAndLabel\' Item Template --\x3e\r\n<ng-template #checkAndLabel\r\n let-item>\r\n\r\n <i class="ec-icon icon-check ec-icon-sm" *ngIf="item.display !== \'heading\'"></i>\r\n\r\n <i class="ec-icon {{item.icon}} ml-2" *ngIf="item.icon"></i>\r\n\r\n <span id="{{item.id}}_label"\r\n class="label"\r\n [class.text-truncate]="truncateItems">{{item.label}}</span>\r\n\r\n <i class="ec-icon icon-angle-down rotate-270" *ngIf="item?.items"></i>\r\n</ng-template>\r\n\r\n\x3c!-- \'iconAndLabel\' Item Template --\x3e\r\n<ng-template #iconAndLabel\r\n let-item>\r\n \x3c!-- If menuItem.icon exists and is not blank, show the icon in the menu --\x3e\r\n <i class="ec-icon {{item.icon}}" *ngIf="(item.icon && item.icon !== \'\') || preserveIconSpace"></i>\r\n\r\n <span id="{{item.id}}_label"\r\n class="label"\r\n [class.text-truncate]="truncateItems">{{item.label}}</span>\r\n\r\n <i class="ec-icon icon-angle-down rotate-270" *ngIf="item?.items"></i>\r\n</ng-template>',styles:["@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background-color:var(--ec-background-color);display:block;font-size:var(--ec-font-size-action);font-weight:400}:host.open>nav>.child,:host.open>nav>.parent{height:100%;left:0;position:absolute;right:0;top:0;transition:transform .25s ease}:host.open>nav>.parent{transform:translateX(0)}:host.open>nav>.child{transform:translateX(100%)}:host.open-active>nav>.parent{transform:translateX(-100%)}:host.open-active>nav>.child{transform:translateX(0)}:host(.bg-transparent){background-color:transparent}:host-context(.is-always-open){height:100%}:host-context(.is-always-open) .item-wrapper{padding-left:1rem;padding-right:1rem}nav{height:100%;overflow:hidden}.parent,nav{display:flex;position:relative}.parent{flex:auto;flex-direction:column;max-width:100%}.parent>header{cursor:pointer}.parent>header.is-highlighted .item-wrapper,.parent>header.is-selected .item-wrapper{background-color:#d9edf2}.parent>header:hover .item-wrapper{background-color:#bfe0e9}.parent.no-data ul{display:none}.parent.no-data .no-data-message{display:block}ul{flex:auto;height:100%;list-style:none;margin:0;overflow-y:auto;padding:0}ul li{cursor:pointer;padding:0 .25rem}ul li a{border-bottom:0;color:inherit;text-decoration:none}ul li.is-highlighted .item-wrapper,ul li.is-selected .item-wrapper{background-color:#d9edf2}ul li:hover .item-wrapper{background-color:#bfe0e9}ul li:focus .item-wrapper{background-color:var(--ec-color-disabled-dark);outline:none;position:relative;z-index:1}ul li.is-disabled .item-wrapper{color:var(--ec-color-secondary-dark);opacity:.65}ul li.is-disabled,ul li.is-readonly{cursor:default}ul li.is-disabled .item-wrapper,ul li.is-readonly .item-wrapper{background-color:transparent;color:inherit}ul li.is-checked .icon-check{opacity:1}ul li.heading{cursor:default}ul li.heading .item-wrapper{background-color:transparent}ul li.heading:not(:first-child){margin-top:.5rem}ul li.divider{border-bottom:1px solid var(--ec-border-color);margin-bottom:.25rem;padding-bottom:.25rem}ul li.indent-1 .item-wrapper{padding-left:1.5rem}ul li.indent-2 .item-wrapper{padding-left:2.5rem}ul li.indent-3 .item-wrapper{padding-left:3.5rem}.item-wrapper{border-radius:var(--ec-border-radius);color:inherit;cursor:inherit;display:flex;line-height:1.25rem;min-height:1.75rem;padding:.25rem .5rem}.item-wrapper .label{margin-right:auto}.item-wrapper .label+.ec-icon{margin-left:.5rem}.item-wrapper .ec-icon{flex:none;margin-top:calc(.625rem - var(--ec-font-size-icon)/2)}.item-wrapper .ec-icon+.label{margin-left:.5rem}.item-wrapper .ec-icon-sm{margin-top:calc(.625rem - var(--ec-font-size-icon)*0.75/2)}.item-wrapper .icon-check{opacity:0}.no-data-message{color:var(--ec-color-hint-dark);display:none;font-size:var(--ec-font-size-body);margin-bottom:0;padding:1rem;text-align:center}:host-context(ec-tree) ul{overflow-x:hidden}:host-context(ec-tree) li.is-highlighted,:host-context(ec-tree) li.is-selected{font-weight:700}:host-context(ec-tree) li.is-highlighted:not(:hover),:host-context(ec-tree) li.is-selected:not(:hover){background-color:transparent}"]}]}],H.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:B},{type:_}]},H.propDecorators={id:[{type:r.Input}],attrId:[{type:r.HostBinding,args:["attr.id"]}],items:[{type:r.Input}],selected:[{type:r.Input}],parent:[{type:r.Input}],templateType:[{type:r.Input}],customMenuTemplate:[{type:r.Input}],title:[{type:r.Input}],showNoItems:[{type:r.Input}],noDataText:[{type:r.Input}],enableKeyNav:[{type:r.Input}],highlightedItem:[{type:r.Input}],maintainSelectedItem:[{type:r.Input}],truncateItems:[{type:r.Input}],preserveIconSpace:[{type:r.Input}],selectedChanged:[{type:r.Output}],menuClosed:[{type:r.Output}],labelTemplate:[{type:r.ViewChild,args:["label",{static:!0}]}],iconAndLabelTemplate:[{type:r.ViewChild,args:["iconAndLabel",{static:!0}]}],checkAndLabelTemplate:[{type:r.ViewChild,args:["checkAndLabel",{static:!0}]}]};var j=function(){function e(){this.autofocus=!1,this.status={status:"hasData",message:""},this.disabled=!1,this.buttonType="icon",this.buttonTitle="",this.showArrow=!0,this.items=[],this.menuTemplateType="label",this.popupFixed=!1,this.pending=!1,this.itemSelected=new r.EventEmitter,this.popupOpened=new r.EventEmitter,this.menuStatus="hidden",this.highlightedItem=null,this.isKeyboardEvent=!1,this.componentDestroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.popup.popperStatusChange.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(t){e.menuStatus=t,"visible"===e.menuStatus&&e.popupOpened.emit()}))},e.prototype.ngAfterViewInit=function(){var e=this,t={modifiers:{preventOverflow:{boundariesElement:"viewport"}},placement:"bottom-end"};"left"===this.menuPosition&&(t.placement="bottom-start"),this.popupFixed&&(t.onCreate=function(){e.popup.fixPosition()},t.onUpdate=function(){e.popup.hide()}),this.popup.popperOptions=t},e.prototype.ngOnDestroy=function(){this.componentDestroyed.next(),this.componentDestroyed.unsubscribe()},e.prototype.toggleMenu=function(e){e&&e.stopPropagation(),this.disabled||("hidden"===this.menuStatus?(this.isKeyboardEvent&&this.items.length&&(this.highlightedItem=this.items.find((function(e){return"heading"!==e.display}))||null),this.popup.show()):(this.popup.hide(),this.highlightedItem=null,this.isKeyboardEvent=!1))},e.prototype.selectedChanged=function(e){this.itemSelected.emit(e),this.toggleMenu()},e.prototype.keyNavigate=function(e){switch(e.key){case"Enter":this.isKeyboardEvent=!0;break;case"Escape":case"Tab":"visible"===this.menuStatus&&this.toggleMenu(e);break;default:return}},e}();j.decorators=[{type:r.Component,args:[{selector:"ec-dropdown",template:'<div class="control">\r\n <ec-button [disabled]="disabled"\r\n id="{{id}}_toggle"\r\n [ngClass]="{\'has-arrow\':showArrow, \'active\': menuStatus === \'visible\', \'text-left\': buttonAlignment === \'left\', \'text-right\': buttonAlignment === \'right\'}"\r\n *ecPopup="dropdownMenu"\r\n [label]="label"\r\n [icon]="icon"\r\n [tabindex]="tabindex"\r\n [type]="buttonType"\r\n [customTemplate]="buttonCustomTemplate"\r\n [pending]="pending"\r\n title="{{buttonTitle}}"\r\n (click)="toggleMenu($event)"\r\n (keydown)="keyNavigate($event)"\r\n [autofocus]="autofocus">\r\n </ec-button>\r\n <span class="arrow is-{{buttonType}}"\r\n *ngIf="showArrow"\r\n [class.is-disabled]="disabled">\r\n <i class="ec-icon icon-caret-down" [class.flip-y]="menuStatus === \'visible\'"></i>\r\n </span>\r\n</div>\r\n\r\n<ng-template #dropdownMenu>\r\n <div id="{{id}}_popup"\r\n class="popup"\r\n ecOverlay\r\n [status]="status?.status"\r\n [message]="status?.message"\r\n [displayAsMask]="true">\r\n \x3c!-- Dropdown Menu Title --\x3e\r\n <header id="{{id}}_title"\r\n class="text-heading-2 px-2 my-2"\r\n *ngIf="menuTitle">{{menuTitle}}\r\n </header>\r\n \x3c!-- Dropdown Menu --\x3e\r\n <ec-menu id="{{id}}_menu"\r\n [class.wrap-items]="menuWidth"\r\n [templateType]="menuTemplateType"\r\n [style.width]="menuWidth ? menuWidth + \'px\' : \'auto\'"\r\n [style.min-width]="menuMinWidth ? menuMinWidth + \'px\' : \'auto\'"\r\n [style.height]="menuHeight ? menuHeight + \'px\' : \'auto\'"\r\n [items]="items"\r\n [showNoItems]="true"\r\n [enableKeyNav]="true"\r\n [highlightedItem]="highlightedItem"\r\n (selectedChanged)="selectedChanged($event)">\r\n </ec-menu>\r\n <footer *ngIf="menuFooter">{{menuFooter}}</footer>\r\n </div>\r\n</ng-template>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{box-sizing:border-box;display:inline-block;vertical-align:top}:host(.font-size-inherit) ec-button,:host(.font-size-inherit) ec-button ::ng-deep button{font-size:inherit}:host(.fill),:host(.fill) .control,:host(.fill) .control ec-button{display:block;height:100%;width:100%}:host(.fill) .control ec-button ::ng-deep button{display:block;display:flex;height:100%;width:100%}:host(.fill) ec-menu{min-width:100%}:host(.td-fill){left:0;position:absolute;top:0}:host(.td-fill) ec-button ::ng-deep button{font-size:.75rem;padding-left:.375rem;padding-right:.375rem}:host(.is-action) .arrow,:host(.is-action) ec-button{color:var(--ec-color-interactive)}:host(.is-condensed) ec-button ::ng-deep button{height:1.5rem}:host(.is-condensed) ec-button.has-arrow ::ng-deep button{padding:0 1.125rem 0 .25rem}:host(.is-condensed) ec-button.has-arrow~.arrow{right:.375rem}:host(.d-block) ec-button{display:block}:host(.d-block) ec-button ::ng-deep button{width:100%}:host-context(th){color:var(--ec-color-primary-dark)}.control{position:relative}ec-button{display:block}ec-button.has-arrow~.arrow{align-items:center;display:flex;height:100%;pointer-events:none;position:absolute;right:.5rem;top:0;width:.625rem;z-index:1}ec-button.has-arrow~.arrow .ec-icon{color:var(--ec-color-icon);transition:color .3s ease;width:auto}ec-button.has-arrow~.arrow.is-common .ec-icon{color:var(--ec-color-primary-light)}ec-button.has-arrow~.arrow.is-link .ec-icon{color:var(--ec-color-interactive)}ec-button.has-arrow~.arrow.is-disabled .ec-icon{color:var(--ec-color-icon);opacity:.5}ec-button.has-arrow ::ng-deep button{padding-right:1.25rem;width:auto}ec-button.has-arrow ::ng-deep button:not(.ec-button-custom){padding-left:.5rem}.popup{background-color:var(--ec-background-color);border-radius:var(--ec-border-radius-card);box-shadow:var(--ec-box-shadow-overlay);margin-top:.25rem;overflow:hidden;text-align:start;z-index:var(--ec-z-index-popup)}.popup>header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.popup footer{border-top:.0625rem solid var(--ec-border-color-legacy);color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);line-height:1.2;padding:.1875rem .5rem}ec-menu ::ng-deep ul{max-height:50vh}ec-menu ::ng-deep li{white-space:nowrap}ec-menu.wrap-items ::ng-deep li{white-space:normal}"]}]}],j.ctorParameters=function(){return[]},j.propDecorators={id:[{type:r.Input}],autofocus:[{type:r.Input}],status:[{type:r.Input}],disabled:[{type:r.Input}],label:[{type:r.Input}],icon:[{type:r.Input}],buttonType:[{type:r.Input}],buttonAlignment:[{type:r.Input}],buttonTitle:[{type:r.Input}],tabindex:[{type:r.Input}],showArrow:[{type:r.Input}],items:[{type:r.Input}],menuTemplateType:[{type:r.Input}],menuTitle:[{type:r.Input}],menuHeight:[{type:r.Input}],menuWidth:[{type:r.Input}],menuMinWidth:[{type:r.Input}],menuPosition:[{type:r.Input}],menuFooter:[{type:r.Input}],popupFixed:[{type:r.Input}],buttonCustomTemplate:[{type:r.Input}],pending:[{type:r.Input}],itemSelected:[{type:r.Output}],popupOpened:[{type:r.Output}],menuEl:[{type:r.ViewChild,args:[H,{read:r.ElementRef}]}],popup:[{type:r.ViewChild,args:[F,{static:!0}]}]};var W={zip:[".zip"],excel:[".xls",".xlsx"]},U=function(e){function t(t,o){var n=e.call(this,t,o)||this;return n.validationMessageService=t,n.formGroupHelper=o,n.placeholder="Choose file...",n.fileOutput="base64",n}return k(t,e),t.getFormModel=function(e,t){void 0===t&&(t=!1);var o=new i.FormGroup({file:new i.FormControl({value:null,disabled:t},e),name:new i.FormControl({value:null,disabled:t},e),base64FileString:new i.FormControl(null),uploadResult:new i.FormControl(null)});return t&&o.disable(),o},t.prototype.ngOnChanges=function(t){e.prototype.ngOnChanges.call(this,t),this.updateFileTypeAccept()},t.prototype.ngOnInit=function(){var t,o,n=this;e.prototype.ngOnInit.call(this),null===(o=null===(t=this.formModel)||void 0===t?void 0:t.get("name"))||void 0===o||o.valueChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(e){e||n.formModel.patchValue({file:null,base64FileString:null,uploadResult:null})}))},t.prototype.fileChange=function(e){return C(this,void 0,void 0,(function(){var t,o,n=this;return S(this,(function(r){switch(r.label){case 0:return(t=e.item(0))?((o=new FileReader).onloadend=function(e){return C(n,void 0,void 0,(function(){var e,n;return S(this,(function(r){return n=null===(e=null==o?void 0:o.result)||void 0===e?void 0:e.toString().split(",")[1],this.processFile(t,n),[2]}))}))},this.isBase64FileOutput()?(o.readAsDataURL(t),[3,3]):[3,1]):[3,4];case 1:return[4,this.processFile(t)];case 2:r.sent(),r.label=3;case 3:this.fileInput&&(this.fileInput.nativeElement.value=""),r.label=4;case 4:return[2]}}))}))},t.prototype.updateFileTypeAccept=function(){this.fileType&&("custom"!==this.fileType?this.fileTypeAccept=W[this.fileType].join(","):this.customExtensions&&(this.fileTypeAccept=this.customExtensions.join(",")))},t.prototype.processFile=function(e,t){return C(this,void 0,void 0,(function(){var o;return S(this,(function(n){switch(n.label){case 0:if(!this.onFileSelected)return[3,5];n.label=1;case 1:return n.trys.push([1,3,,4]),[4,this.onFileSelected(e)];case 2:return o=n.sent(),this.patchFileResult(e,t,o),[3,4];case 3:return n.sent(),[3,4];case 4:return[3,6];case 5:this.patchFileResult(e,t),n.label=6;case 6:return[2]}}))}))},t.prototype.isBase64FileOutput=function(){return"base64"===this.fileOutput},t.prototype.patchFileResult=function(e,t,o){var n;null===(n=this.formModel)||void 0===n||n.patchValue({file:e,name:null==e?void 0:e.name,base64FileString:null!=t?t:null}),o?this.formModel.patchValue({uploadResult:o}):this.formModel.patchValue({uploadResult:null})},t}(V);U.decorators=[{type:r.Component,args:[{selector:"ec-file-upload",template:'<ec-form-group [label]="label"\r\n [formGroup]="formModel"\r\n class="mb-0">\r\n <div class="d-flex control-group">\r\n <div class="d-flex flex-grow position-relative">\r\n <input #fileInput\r\n id="{{inputId}}_input"\r\n type="file"\r\n tabindex="-1"\r\n [attr.accept]="fileTypeAccept"\r\n (click)="browseBtn.focus()"\r\n (change)="fileChange($event.target.files)"\r\n [class.has-value]="formModel?.get(\'name\')?.value">\r\n <ec-form-control id="{{inputId}}_formControl"\r\n class="text-truncate"\r\n [required]="required"\r\n [pending]="pending">\r\n <input id="{{inputId}}_name"\r\n [formControl]="formModel?.get(\'name\')"\r\n type="text"\r\n [placeholder]="placeholder"\r\n [tabindex]="-1">\r\n </ec-form-control>\r\n </div>\r\n <ec-button #browseBtn\r\n id="{{inputId}}_browseBtn"\r\n (clicked)="fileInput.click()"\r\n type="secondary"\r\n [tabindex]="tabindex"\r\n [disabled]="formModel?.get(\'name\')?.disabled"\r\n label="Browse"\r\n [autofocus]="autofocus">\r\n </ec-button>\r\n </div>\r\n</ec-form-group>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;margin-bottom:1rem}ec-form-control{margin-bottom:0}ec-form-control ::ng-deep>.ec-focus-ring{display:none!important}input[type=file]{cursor:pointer;display:block;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:1}input[type=file].has-value{width:calc(100% - 1.5rem)}"]}]}],U.ctorParameters=function(){return[{type:O},{type:A}]},U.propDecorators={placeholder:[{type:r.Input}],fileType:[{type:r.Input}],fileOutput:[{type:r.Input}],customExtensions:[{type:r.Input}],onFileSelected:[{type:r.Input}],fileInput:[{type:r.ViewChild,args:["fileInput",{read:r.ElementRef,static:!0}]}]};var q=function(){function e(e){this.el=e,this.id="",this.showClear=!0,this.pending=!1,this.required=!1,this.readonly=!1,this.actionClicked=new r.EventEmitter}return Object.defineProperty(e.prototype,"empty",{get:function(){var e,t;return!(null===(e=this.formModel)||void 0===e?void 0:e.value)&&0!==(null===(t=this.formModel)||void 0===t?void 0:t.value)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"invalid",{get:function(){var e;return 1==(null===(e=this.formModel)||void 0===e?void 0:e.touched)&&1==this.formModel.invalid},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){var e;return 1==(null===(e=this.formModel)||void 0===e?void 0:e.disabled)},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){this.formModel||console.error("Missing [formControl] directive on ec-form-control content.")},e.prototype.onClick=function(){this.focus()},e.prototype.focus=function(){var e=this.el.nativeElement.querySelectorAll("input, textarea, select");e.length&&e.item(0).focus()},e.prototype.clear=function(){var e;null===(e=this.formModel)||void 0===e||e.reset()},e}();q.decorators=[{type:r.Component,args:[{selector:"ec-form-control",template:'<ng-content></ng-content>\r\n<i id="{{id + \'_icon\'}}" class="ec-form-control-icon ec-icon {{icon}}"></i>\r\n<i id="{{id + \'_loading\'}}" class="ec-form-control-icon ec-icon icon-loading"></i>\r\n<i id="{{id + \'_required\'}}" class="ec-form-control-icon ec-icon icon-required"></i>\r\n<i id="{{id + \'_invalid\'}}" class="ec-form-control-icon ec-icon icon-invalid"></i>\r\n<i id="{{id + \'_clear\'}}" *ngIf="showClear" class="ec-form-control-clear ec-icon icon-cancel" (click)="clear()"></i>\r\n<i id="{{id + \'_action\'}}" *ngIf="actionIcon" class="ec-form-control-action ec-icon {{actionIcon}}" (click)="actionClicked.emit()"></i>\r\n<div class="ec-focus-ring"></div>',encapsulation:r.ViewEncapsulation.None,styles:["ec-form-control{background-clip:padding-box;background-color:var(--ec-background-color);border:1px solid var(--ec-border-color);border-radius:var(--ec-border-radius);color:var(--ec-color-primary-dark);display:flex;font-size:var(--ec-font-size-body);min-height:2rem;padding:0 .5rem;position:relative;width:100%}ec-form-control>input,ec-form-control>select,ec-form-control>textarea{background-color:transparent;border:0;color:inherit;flex:1 1;min-width:0;order:2}ec-form-control>input::-moz-selection,ec-form-control>select::-moz-selection,ec-form-control>textarea::-moz-selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}ec-form-control>input::selection,ec-form-control>select::selection,ec-form-control>textarea::selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}ec-form-control>input::-webkit-input-placeholder,ec-form-control>select::-webkit-input-placeholder,ec-form-control>textarea::-webkit-input-placeholder{color:var(--ec-color-hint-dark)}ec-form-control>input::-moz-placeholder,ec-form-control>select::-moz-placeholder,ec-form-control>textarea::-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}ec-form-control>input:-ms-input-placeholder,ec-form-control>select:-ms-input-placeholder,ec-form-control>textarea:-ms-input-placeholder{color:var(--ec-color-hint-dark)}ec-form-control>input:-moz-placeholder,ec-form-control>select:-moz-placeholder,ec-form-control>textarea:-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}ec-form-control>input:focus,ec-form-control>select:focus,ec-form-control>textarea:focus{outline:none}ec-form-control>input:focus~.ec-focus-ring,ec-form-control>select:focus~.ec-focus-ring,ec-form-control>textarea:focus~.ec-focus-ring{display:block}ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix,ec-form-control>input,ec-form-control>select,ec-form-control>textarea{font-size:inherit;line-height:1.25;padding:calc(.9375rem - var(--ec-font-size-body)*1.25/2) 0}ec-form-control>textarea{padding:.3125rem 0;resize:none}ec-form-control .ec-form-control-icon{margin-right:.25rem;margin-top:.4375rem;order:1}ec-form-control .ec-form-control-icon:not([class*=icon-]){display:none}ec-form-control .icon-required{color:var(--ec-color-caution)}ec-form-control .ec-form-control-action,ec-form-control .ec-form-control-clear{cursor:pointer;flex:none;height:1.875rem;order:3;width:2rem}ec-form-control .ec-form-control-action:last-of-type,ec-form-control .ec-form-control-clear:last-of-type{margin-right:-.5rem}ec-form-control .ec-form-control-action:hover,ec-form-control .ec-form-control-clear:hover{background-color:var(--ec-background-color-hover)}ec-form-control .ec-form-control-clear{width:1.5rem}ec-form-control .ec-form-control-prefix,ec-form-control .ec-form-control-suffix{color:var(--ec-color-secondary-dark);cursor:default;flex:none}ec-form-control .ec-form-control-prefix{margin-right:.125rem;order:2}ec-form-control .ec-form-control-suffix{margin-left:.125rem;order:3}ec-form-control .ec-focus-ring{border:.125rem solid var(--ec-border-color-focus);border-radius:var(--ec-border-radius);bottom:-1px;display:none;left:-1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:1}ec-form-control.is-pending .icon-invalid,ec-form-control.is-pending .icon-required{display:none}ec-form-control.is-invalid{background-color:var(--ec-background-color-caution);border-color:var(--ec-color-caution)}ec-form-control.is-empty .ec-form-control-clear,ec-form-control.is-invalid .icon-required,ec-form-control.is-required.is-empty .ec-form-control-icon:first-of-type,ec-form-control:not(.is-empty) .icon-required,ec-form-control:not(.is-invalid) .icon-invalid,ec-form-control:not(.is-pending) .icon-loading,ec-form-control:not(.is-required) .icon-required{display:none}ec-form-control.is-disabled,ec-form-control.is-readonly{background-color:var(--ec-background-color-disabled)}ec-form-control.is-disabled .ec-form-control-clear,ec-form-control.is-disabled .icon-invalid,ec-form-control.is-disabled .icon-loading,ec-form-control.is-disabled .icon-required,ec-form-control.is-readonly .ec-form-control-clear,ec-form-control.is-readonly .icon-invalid,ec-form-control.is-readonly .icon-loading,ec-form-control.is-readonly .icon-required{display:none}ec-form-control.is-readonly{border-color:transparent;color:var(--ec-color-primary-dark)}ec-form-control.is-readonly .ec-form-control-action{display:none}ec-form-control.is-disabled:not(.is-readonly){color:var(--ec-color-disabled-dark);opacity:.6}ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-prefix,ec-form-control.is-disabled:not(.is-readonly) .ec-form-control-suffix{color:inherit}"]}]}],q.ctorParameters=function(){return[{type:r.ElementRef}]},q.propDecorators={formModel:[{type:r.ContentChild,args:[i.FormControlDirective]}],id:[{type:r.Input}],icon:[{type:r.Input}],actionIcon:[{type:r.Input}],showClear:[{type:r.Input}],pending:[{type:r.Input},{type:r.HostBinding,args:["class.is-pending"]}],required:[{type:r.Input},{type:r.HostBinding,args:["class.is-required"]}],readonly:[{type:r.Input},{type:r.HostBinding,args:["class.is-readonly"]}],empty:[{type:r.HostBinding,args:["class.is-empty"]}],invalid:[{type:r.HostBinding,args:["class.is-invalid"]}],disabled:[{type:r.HostBinding,args:["class.is-disabled"]}],actionClicked:[{type:r.Output}],onClick:[{type:r.HostListener,args:["click"]}]};var G=function(e,t){var o=[];if(e instanceof i.FormControl)o.push(e);else if(e instanceof i.FormGroup)for(var n in e.controls)o.push(e.controls[n]);else e instanceof i.FormArray&&(o=e.controls);o.forEach((function(e){e instanceof i.FormArray?e.controls.forEach((function(e){e instanceof i.FormGroup||e instanceof i.FormArray?G(e,t):t(e)})):e instanceof i.FormGroup?G(e,t):t(e)}))},$=function(e,t,o){return void 0===t&&(t="value"),e.enabled&&null!==e.value&&void 0!==e.value?null===t?e.value:o?e.value[t][o]:e.value[t]:null},Y=function(){function e(e,t){this.validationMessageService=e,this.translateService=t,this.label="",this.labelPosition="top",this.overrideValidationError="",this.hideValidationMessage=!1,this.validationErrors="",this.allControlsTouched=!1,this.componentDestroyed=new c.Subject}return e.prototype.ngOnInit=function(){return C(this,void 0,void 0,(function(){var e=this;return S(this,(function(t){return this.formGroup&&(this.formGroup.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){e.translateValidationMessages(e.getErrors(e.formGroup))})),this.translateValidationMessages(this.getErrors(this.formGroup))),this.id&&(this.attrId=this.id),[2]}))}))},e.prototype.ngOnDestroy=function(){this.componentDestroyed.next(),this.componentDestroyed.unsubscribe()},e.prototype.getErrors=function(e){var t=this;e.markAsUntouched();var o=null,n=!0,r=!1;return G(e,(function(e){o=t.assignErrors(e,o),e.untouched&&(n=!1),r=!0})),e.errors&&(o=Object.assign(o||{},e.errors)),n&&r&&e.markAsTouched(),o},e.prototype.assignErrors=function(e,t){return e.errors&&(t=Object.assign(t||{},e.errors)),t},e.prototype.translateValidationMessages=function(e){return C(this,void 0,void 0,(function(){var t;return S(this,(function(o){switch(o.label){case 0:return e?this.overrideValidationError?(this.validationErrors=this.translateService.instant(this.overrideValidationError),[3,3]):[3,1]:[3,4];case 1:return[4,this.validationMessageService.getErrorMessages(e)];case 2:(t=o.sent())&&(this.validationErrors=t.join("; ")),o.label=3;case 3:return[3,5];case 4:this.validationErrors="",o.label=5;case 5:return[2]}}))}))},e}();Y.decorators=[{type:r.Component,args:[{selector:"ec-form-group",template:'<div class="control control-label-{{labelPosition}}" [class.ec-untouched]="formGroup?.untouched">\r\n <label *ngIf="label" ngPreserveWhitespaces>\r\n\r\n <span id="{{id}}_label">{{label | translate}}</span>\r\n\r\n <span *ngIf="!hideValidationMessage && validationErrors && formGroup?.touched && formGroup?.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n <ng-content></ng-content>\r\n</div>',styles:[':root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;border-color:var(--ec-border-color-legacy);padding-left:1.5rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}.control-label-left{display:flex}']}]}],Y.ctorParameters=function(){return[{type:O},{type:s.TranslateService}]},Y.propDecorators={id:[{type:r.Input}],attrId:[{type:r.HostBinding,args:["attr.id"]}],label:[{type:r.Input}],formGroup:[{type:r.Input}],labelPosition:[{type:r.Input}],overrideValidationError:[{type:r.Input}],hideValidationMessage:[{type:r.Input}]};var X=function(){function e(e,t,o,n){this.router=e,this.el=t,this.renderer=o,this.route=n,this._exact=!0,this.routerLinkActivated=new r.EventEmitter,this.destroyed=new c.Subject}return Object.defineProperty(e.prototype,"exact",{set:function(e){this._exact=void 0===e||e,this.update()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url",{set:function(e){null!=e&&(this._url=this.router.createUrlTree([e],{relativeTo:this.route,queryParams:this.queryParams}),this.update())},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e=this;this.router.events.pipe(d.takeUntil(this.destroyed),d.filter((function(e){return e instanceof a.NavigationEnd}))).subscribe((function(){e.update()}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.update=function(){this._url&&this.classValue&&(this.router.isActive(this._url,this._exact)?(this.renderer.addClass(this.el.nativeElement,this.classValue),this.routerLinkActivated.emit(new Event("routerLinkActivated"))):this.renderer.removeClass(this.el.nativeElement,this.classValue))},e}();X.decorators=[{type:r.Directive,args:[{selector:"[ecNavItemActive]"}]}],X.ctorParameters=function(){return[{type:a.Router},{type:r.ElementRef},{type:r.Renderer2},{type:a.ActivatedRoute}]},X.propDecorators={classValue:[{type:r.Input,args:["ecNavItemActive"]}],exact:[{type:r.Input,args:["ecNavItemActiveExactMatch"]}],queryParams:[{type:r.Input,args:["ecNavItemActiveQueryParams"]}],url:[{type:r.Input,args:["ecNavItemActiveUrl"]}],routerLinkActivated:[{type:r.Output}]};var K=new RegExp("^(-)?([\\d]+)?$"),Z=/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$/i,J=function(e){var t="{0,"+e.toString()+"}";return new RegExp("^((((-)?\\d+\\.?\\d"+t+"?)|((-)?\\.?\\d"+t+")))?$")},Q="^\\s*(?:\\+?(\\d{1,3}))?[-. (]*(\\d{3})[-. )]*(\\d{3})[-. ]*(\\d{4})(?: *x(\\d+))?\\s*$",ee="([A-Za-z])+(://)+[^\\s]*",te=function(e){function t(t,o,n){var r=e.call(this,t,o)||this;return r.validationMessageService=t,r.formGroupHelper=o,r.translate=n,r.autocomplete="off",r.type="text",r.rows=3,r.selectOnAutofocus=!1,r.upperCase=!1,r.validationPattern="",r}return k(t,e),t.prototype.ngOnChanges=function(t){e.prototype.ngOnChanges.call(this,t)},t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.validationPattern="","tel"===this.type?this.validationPattern=Q:"url"===this.type&&(this.validationPattern=ee),this.placeholder&&this.translate.get(this.placeholder).subscribe((function(e){t.placeholder=e}))},t.prototype.ngAfterViewInit=function(){this.autofocus&&this.setFocus(this.selectOnAutofocus)},t.prototype.setFocus=function(e){this.inputElement.nativeElement.focus(),e&&this.inputElement.nativeElement.select()},t.prototype.focusOutEvent=function(){this.upperCase&&this.formModel.value&&this.formModel.setValue(this.formModel.value.toUpperCase().trim())},t}(V);te.decorators=[{type:r.Component,args:[{selector:"ec-textbox",template:'<div class="control control-label-{{labelPosition}}"\r\n [ngClass]="{\'is-readonly\': readonly}">\r\n <label *ngIf="label" ngPreserveWhitespaces>\r\n\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf="validationErrors.length > 0 && formModel.touched && formModel.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n <div class="input-wrapper control-input">\r\n <input *ngIf="type !== \'multi_line\'"\r\n #textboxInput\r\n email="{{type === \'email\' ? true : false}}"\r\n pattern="{{validationPattern}}"\r\n type="{{type}}"\r\n tabindex="{{tabindex}}"\r\n title="{{tooltip}}"\r\n [attr.id]="inputId"\r\n [attr.autocomplete]="autocomplete"\r\n [attr.placeholder]="placeholder"\r\n [attr.maxlength]="maxlength"\r\n [attr.minlength]="minlength"\r\n [attr.required]="required ? required : null"\r\n [formControl]="formModel"\r\n [ngClass]="{\'is-empty\': !formModel?.value, \'is-pending\': pending, \'is-uppercase\': upperCase}"\r\n (focusout)="focusOutEvent()"\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n\r\n <textarea *ngIf="type === \'multi_line\'"\r\n [attr.rows]="rows"\r\n #textboxInput\r\n tabindex="{{tabindex}}"\r\n [attr.id]="inputId"\r\n [attr.placeholder]="placeholder"\r\n [attr.maxlength]="maxlength"\r\n [attr.minlength]="minlength"\r\n [attr.required]="required ? required : null"\r\n [formControl]="formModel"\r\n [ngClass]="{\'is-empty\': formModel?.value === \'\', \'is-pending\': pending}"\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n </textarea>\r\n </div>\r\n</div>',styles:[':root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}:host input{background-clip:padding-box;background-color:var(--ec-background-color);background-image:none;border:.0625rem solid var(--ec-border-color-legacy);border-radius:var(--ec-border-radius);height:2rem;line-height:1.25;padding:.3125rem .5rem;width:100%}:host input::-moz-selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host input::selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host input::-webkit-input-placeholder{color:var(--ec-color-hint-dark)}:host input::-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host input:-ms-input-placeholder{color:var(--ec-color-hint-dark)}:host input:-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host input:required.is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');border-color:var(--ec-border-color-legacy)}:host input.ng-invalid.ng-touched,:host input:required.is-empty{background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host input.ng-invalid.ng-touched{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\')}:host input.ng-invalid.ng-touched:not(:focus){border-color:var(--ec-color-caution)}:host input.is-pending.ng-invalid,:host input.is-pending.ng-pending,:host input.is-pending.ng-valid{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 50 50"><path fill="%230084a9" d="M43.935 25.145c0-10.318-8.364-18.683-18.683-18.683-10.318 0-18.683 8.365-18.683 18.683h4.068c0-8.071 6.543-14.615 14.615-14.615s14.615 6.543 14.615 14.615h4.068z"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.8s" repeatCount="indefinite"/></path></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host input:focus,:host input:focus.is-empty{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}:host input:disabled{color:var(--ec-color-secondary-dark);opacity:.65}:host input:disabled,:host input:disabled:required,:host input:disabled:required.is-empty{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color-legacy)}:host input:disabled:required,:host input:disabled:required.is-empty{background-image:none;padding-left:.5rem}:host input.is-uppercase:not(.is-empty){text-transform:uppercase}:host textarea{background-clip:padding-box;background-color:var(--ec-background-color);background-image:none;border:.0625rem solid var(--ec-border-color-legacy);border-radius:var(--ec-border-radius);display:block;height:auto;line-height:1.25;padding:.3125rem .5rem;resize:none;width:100%}:host textarea::-moz-selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host textarea::selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host textarea::-webkit-input-placeholder{color:var(--ec-color-hint-dark)}:host textarea::-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host textarea:-ms-input-placeholder{color:var(--ec-color-hint-dark)}:host textarea:-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host textarea:required.is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');border-color:var(--ec-border-color-legacy)}:host textarea.ng-invalid.ng-touched,:host textarea:required.is-empty{background-position:.25rem .5rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host textarea.ng-invalid.ng-touched{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\')}:host textarea.ng-invalid.ng-touched:not(:focus){border-color:var(--ec-color-caution)}:host textarea.is-pending.ng-invalid,:host textarea.is-pending.ng-pending,:host textarea.is-pending.ng-valid{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 50 50"><path fill="%230084a9" d="M43.935 25.145c0-10.318-8.364-18.683-18.683-18.683-10.318 0-18.683 8.365-18.683 18.683h4.068c0-8.071 6.543-14.615 14.615-14.615s14.615 6.543 14.615 14.615h4.068z"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.8s" repeatCount="indefinite"/></path></svg>\');background-position:.25rem .5rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host textarea:focus,:host textarea:focus.is-empty{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}:host textarea:disabled{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color-legacy);color:var(--ec-color-secondary-dark);opacity:.65}:host textarea:disabled:required,:host textarea:disabled:required.is-empty{background-color:var(--ec-background-color-disabled);background-image:none;border-color:var(--ec-border-color-legacy);padding-left:.5rem}:host textarea.is-uppercase:not(.is-empty){text-transform:uppercase}:host(.textbox-group-input:not(:last-child)){flex:1 1 0%;width:1px}:host(.textbox-group-input:not(:last-child)) .control{margin-bottom:0}:host(.textbox-group-input:not(:last-child)) .control.is-readonly input{border-right-width:.0625rem}:host(.textbox-group-input:not(:last-child)) input{border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}:host(.textbox-group-input:not(:last-child)) input:focus{border-right-width:.0625rem;position:relative;z-index:1}:host(.text-truncate) input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.is-monospace) input,:host(.is-monospace) textarea,:host-context(.is-monospace) input,:host-context(.is-monospace) textarea{font-family:var(--ec-font-family-monospace)}']}]}],te.ctorParameters=function(){return[{type:O},{type:A},{type:s.TranslateService}]},te.propDecorators={autocomplete:[{type:r.Input}],type:[{type:r.Input}],placeholder:[{type:r.Input}],maxlength:[{type:r.Input}],minlength:[{type:r.Input}],rows:[{type:r.Input}],selectOnAutofocus:[{type:r.Input}],upperCase:[{type:r.Input}],inputElement:[{type:r.ViewChild,args:["textboxInput"]}]};var oe=function(e,t,o,n){return function(r){var i=!1;if(r.value&&""!==r.value){if((o&&o>0?J(o):n?J(n):K).test(r.value)){if(n){i=Number(r.value).toString().replace(/^-?/,"").replace(/(^0\.)|(\.)/,"").length>n}}else i=!0;void 0!==e&&Number(r.value)<e&&(i=!0),void 0!==t&&Number(r.value)>t&&(i=!0)}return i?{numericbox:{valid:!1,min:e,max:t,decimals:o,maxPrecisionDigits:n}}:null}},ne=function(e){function t(t,o,n){var r=e.call(this,t,o)||this;return r.validationMessageService=t,r.formGroupHelper=o,r.renderer=n,r.showPrecision=!1,r.autoUpdateFormModel=!1,r.unitsWidthCalculated=!1,r.autoUpdatingFormModel=!1,r}return k(t,e),t.prototype.ngAfterViewInit=function(){var e=this;this.autoUpdateFormModel&&this.textboxFormModel.valueChanges.pipe(d.debounceTime(300),d.distinctUntilChanged(),d.takeUntil(this.componentDestroyed)).subscribe((function(){e.updateFormModelValue()}))},t.prototype.ngOnChanges=function(t){(t.rightUnits||t.leftUnits)&&(this.unitsWidthCalculated=!1),e.prototype.ngOnChanges.call(this,t)},t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.textboxFormModel=new i.FormControl({value:this.formModel.value,disabled:this.formModel.disabled}),this.textboxFormModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){t.formModel.enabled&&t.formModel.setErrors(t.textboxFormModel.errors)})),this.formModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){t.formModel.disabled?t.textboxFormModel.disable():t.textboxFormModel.disabled&&t.textboxFormModel.enable()})),this.textboxFormModel.setValidators(this.getValidators()),this.textboxFormModel.setValue(this.formatDisplayNumber(this.formModel.value)),this.formModel.valueChanges.pipe(d.filter((function(){return!t.autoUpdatingFormModel})),d.takeUntil(this.componentDestroyed)).subscribe((function(e){t.textboxFormModel.setValue(t.formatDisplayNumber(e))})),this.leftUnits&&this.textboxFormModel.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){t.positionLeftUnits()}))},t.prototype.ngAfterViewChecked=function(){!this.leftUnits&&!this.rightUnits||this.unitsWidthCalculated||this.showUnits()},t.prototype.getValidators=function(){var e=[];return this.required&&e.push(i.Validators.required),e.push(oe(this.min,this.max,this.decimals,this.maxPrecisionDigits)),e},t.prototype.onFocusOut=function(){this.updateFormModelValue(!0)},t.prototype.setFocus=function(e){this.textboxInput.setFocus(e)},t.prototype.updateFormModelValue=function(e){this.autoUpdateFormModel&&(this.autoUpdatingFormModel=!0);try{if(this.textboxFormModel.valid||""===this.textboxFormModel.value){var t=null;this.textboxFormModel.value&&!isNaN(this.textboxFormModel.value)?(t=Number(this.textboxFormModel.value),this.formModel.value!==t&&this.formModel.setValue(t)):null!==this.formModel.value&&this.formModel.setValue(null),e&&this.textboxFormModel.setValue(this.formatDisplayNumber(t))}this.formModel.markAsTouched()}catch(e){}finally{this.autoUpdatingFormModel=!1}},t.prototype.formatDisplayNumber=function(e){return e||0===e?this.showPrecision&&this.decimals&&!isNaN(e)?e.toFixed(this.decimals):e.toString():null},t.prototype.positionRightUnits=function(){var e=this.textboxEl.nativeElement.querySelector(".units-right"),t=this.textboxEl.nativeElement.querySelector("input");if(e&&t){var o=e.offsetWidth;o>0&&(this.unitsWidthCalculated=!0);var n=o;this.renderer.setStyle(t,"padding-right",n+"px")}},t.prototype.positionLeftUnits=function(){var e=this.textboxEl.nativeElement.querySelector(".units-left"),t=this.textboxEl.nativeElement.querySelector("input");if(e&&t){var o=e.offsetWidth;o>0&&(this.unitsWidthCalculated=!0);var n=o,r=getComputedStyle(e).left;r&&(n+=parseInt(r.replace("px",""),0)),this.renderer.setStyle(t,"padding-left",n+"px")}},t.prototype.showUnits=function(){var e=this.textboxEl.nativeElement.querySelector(".input-wrapper");if(e){var t;if(this.leftUnits)(t=this.textboxEl.nativeElement.querySelector(".units-left"))?this.renderer.setProperty(t,"innerHTML",this.leftUnits):this.renderer.appendChild(e,this.makeUnitElement("left",this.leftUnits)),this.positionLeftUnits();if(this.rightUnits)(t=this.textboxEl.nativeElement.querySelector(".units-right"))?this.renderer.setProperty(t,"innerHTML",this.rightUnits):this.renderer.appendChild(e,this.makeUnitElement("right",this.rightUnits)),this.positionRightUnits()}},t.prototype.makeUnitElement=function(e,t){var o=this.renderer.createElement("span");return this.renderer.setAttribute(o,"class","units units-"+e),this.renderer.setAttribute(o,"id",this.id+"_units"),this.renderer.setAttribute(o,"style","pointer-events: none"),this.renderer.setProperty(o,"innerHTML",t),o},t}(V);ne.decorators=[{type:r.Component,args:[{selector:"ec-numericbox",template:'<div class="control control-label-{{labelPosition}}"\r\n [class.invalid]="formModel?.invalid && (formModel?.touched)">\r\n <label *ngIf="label"\r\n ngPreserveWhitespaces>\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf="validationErrors.length && formModel?.touched && formModel?.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n \x3c!-- Setting the maxlength to 13 to combat the user from entering too large of a number\r\n for javascript to support. If the user enters all 13 characters as numbers and we have showPrecision set, adding the\r\n decimal and the empty zero characters will get them in a situation where to edit it they must remove characters\r\n as we would push them past the limit --\x3e\r\n <ec-textbox [id]="id"\r\n #textbox\r\n class="control-input mb-0"\r\n [placeholder]="placeholder"\r\n [maxlength]="maxPrecisionDigits ? maxPrecisionDigits + 3 : 13"\r\n [autofocus]="autofocus"\r\n [formModel]="textboxFormModel"\r\n [required]="required"\r\n [tabindex]="tabindex"\r\n [readonly]="readonly"\r\n [tooltip]="tooltip"\r\n (focusout)="onFocusOut()">\r\n </ec-textbox>\r\n</div>\r\n',styles:[':root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}ec-textbox ::ng-deep .input-wrapper{position:relative}ec-textbox ::ng-deep input{text-align:right}ec-textbox ::ng-deep input.ng-invalid.ng-touched~.units-left,ec-textbox ::ng-deep input:required.is-empty:not(:disabled)~.units-left{left:1.25rem}ec-textbox ::ng-deep .control:not(.is-readonly) input:disabled~.units{color:var(--ec-color-secondary-dark);opacity:.65}ec-textbox ::ng-deep .units{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);height:2rem;line-height:1.25;padding:.375rem .25rem;position:absolute;top:1px;z-index:2}ec-textbox ::ng-deep .units.units-right{padding-right:.5rem;right:0}ec-textbox ::ng-deep .units.units-left{left:0;padding-left:.5rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid,.control.invalid ec-textbox ::ng-deep input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}.control.invalid ec-textbox ::ng-deep input.ng-invalid:not(:focus),.control.invalid ec-textbox ::ng-deep input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}.control.invalid ec-textbox ::ng-deep input.ng-invalid~.units-left,.control.invalid ec-textbox ::ng-deep input.ng-valid~.units-left{left:1.25rem}']}]}],ne.ctorParameters=function(){return[{type:O},{type:A},{type:r.Renderer2}]},ne.propDecorators={placeholder:[{type:r.Input}],decimals:[{type:r.Input}],showPrecision:[{type:r.Input}],maxPrecisionDigits:[{type:r.Input}],max:[{type:r.Input}],min:[{type:r.Input}],leftUnits:[{type:r.Input}],rightUnits:[{type:r.Input}],autoUpdateFormModel:[{type:r.Input}],textboxEl:[{type:r.ViewChild,args:[te,{read:r.ElementRef,static:!0}]}],textboxInput:[{type:r.ViewChild,args:["textbox",{static:!0}]}]};var re=function(){function e(e,t,o){this.overlay=e,this.viewContainerRef=t,this.elementRef=o,this.icon="",this.contentPosition="top-left",this.iconHoverClass="",this.isVisible=!1}return e.prototype.ngOnDestroy=function(){this.hide()},e.prototype.show=function(){if(!this.isVisible){var e=this.getOverlayConfig();this.overlayRef=this.overlay.create(e);var t=new m.TemplatePortal(this.content,this.viewContainerRef);this.contentViewRef=this.overlayRef.attach(t),this.isVisible=!0}},e.prototype.onMouseMove=function(e){var t;this.contentRect||(this.contentRect=null===(t=this.contentViewRef)||void 0===t?void 0:t.rootNodes[0].getBoundingClientRect()),this.contentRect&&(e.clientX>this.contentRect.right||e.clientX<this.contentRect.left||e.clientY>this.contentRect.bottom||e.clientY<this.contentRect.top)&&this.hide()},e.prototype.hide=function(){var e;this.contentRect=void 0,null===(e=this.overlayRef)||void 0===e||e.dispose(),this.isVisible=!1},e.prototype.getOverlayConfig=function(){var e=this.getPosition(),t=this.overlay.position().flexibleConnectedTo(this.elementRef).withPositions([e]);return new o.OverlayConfig({positionStrategy:t})},e.prototype.getPosition=function(){var e=this.contentPosition.split("-"),t="left"==e[1]?"start":"end",o=e[0];return{originX:t,originY:o,overlayX:t,overlayY:o}},e}();re.decorators=[{type:r.Component,args:[{selector:"ec-popover",template:'<div class="p-2">\r\n <i class="ec-icon {{icon}} ec-icon-sm"></i>\r\n</div>\r\n\r\n<ng-template #content>\r\n <article class="popover-content"\r\n (document:mousemove)="onMouseMove($event)">\r\n <ng-content></ng-content>\r\n </article>\r\n <div class="p-2 {{contentPosition}}">\r\n <i class="ec-icon {{icon}} ec-icon-sm {{iconHoverClass}}"></i>\r\n </div>\r\n</ng-template>\r\n',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:inline-block;line-height:1}.popover-content{border-radius:var(--ec-border-radius);box-shadow:0 3px 6px 0 rgba(26,26,35,.12);overflow:hidden;position:relative}.popover-content+div{line-height:1;position:absolute}.popover-content+div.top-left{left:0;top:0}.popover-content+div.top-right{right:0;top:0}.popover-content+div.bottom-right{bottom:0;right:0}.popover-content+div.bottom-left{bottom:0;left:0}"]}]}],re.ctorParameters=function(){return[{type:o.Overlay},{type:r.ViewContainerRef},{type:r.ElementRef}]},re.propDecorators={icon:[{type:r.Input}],contentPosition:[{type:r.Input}],iconHoverClass:[{type:r.Input}],content:[{type:r.ViewChild,args:["content"]}],show:[{type:r.HostListener,args:["mouseover"]}]};var ie=function(e){function t(t,o){var n=e.call(this,t,o)||this;return n.validationMessageService=t,n.formGroupHelper=o,n.type="radio",n.options=[],n.direction="row",n.name="",n}return k(t,e),t.prototype.ngOnInit=function(){var t=this;e.prototype.ngOnInit.call(this),this.currentClasses=[],"toggle"===this.type?this.currentClasses.push("radio-group-toggle"):"column"===this.direction&&this.currentClasses.push("radio-group-column"),this.formModel.valueChanges.subscribe((function(){void 0!==t.formModel.value&&null!==t.formModel.value||t.formModel.setValue(t.options[0].value)}))},t.prototype.ngAfterViewInit=function(){this.autofocus&&this.inputElement.nativeElement.focus(),this.options.length>5&&"toggle"===this.type&&console.warn("Radio button components with a type of toggle cannot have more than 5 options")},t}(V);ie.decorators=[{type:r.Component,args:[{selector:"ec-radiobutton",template:'<div class="control"\r\n [class.control-label-bottom]="labelPosition === \'bottom\'">\r\n <label *ngIf="label"\r\n ngPreserveWhitespaces>\r\n <span>{{label | translate}}</span>\r\n\r\n <span *ngIf="validationErrors.length > 0 && formModel.touched && formModel.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n\r\n\r\n <div class="radio-group {{\'toggle-options-\' + options.length}}"\r\n [ngClass]="currentClasses"\r\n [class.is-disabled]="formModel.disabled"\r\n [class.is-readonly]="readonly">\r\n\r\n \x3c!-- RadioButton type="toggle"--\x3e\r\n \x3c!-- There are two ng-templates here due to the fact you can\'t have ngIf and ngFor on the same element --\x3e\r\n <ng-container *ngIf="type === \'toggle\'">\r\n <ng-container *ngFor="let option of options; index as i; first as isFirst">\r\n \x3c!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\r\n the tabbing did not work, and with the other the controls were all linked together. They both need set\r\n for the best of both worlds --\x3e\r\n <input [attr.id]="inputId + i.toString()"\r\n [formControl]="formModel"\r\n type="radio"\r\n tabindex="{{tabindex}}"\r\n [value]="option.value"\r\n #radioInput\r\n name="{{name}}"\r\n attr.name="{{name}}"\r\n [attr.cdkFocusInitial]="(autofocus && isFirst) || null">\r\n <label [attr.for]="inputId + i.toString()"\r\n title="{{ option.tooltip | translate}}">\r\n <i class="ec-icon {{option.icon}}" *ngIf="option.icon"></i>\r\n <span id="{{inputId}}_label{{i.toString()}}" *ngIf="option.label">{{option.label | translate}}</span>\r\n </label>\r\n </ng-container>\r\n <a>\r\n <div class="toggle-handle"></div>\r\n </a>\r\n <div class="toggle-focused"></div>\r\n </ng-container>\r\n\r\n \x3c!-- RadioButton type="radio"--\x3e\r\n \x3c!-- There are two ng-templates here due to the fact you can\'t have ngIf and ngFor on the same element --\x3e\r\n <ng-container *ngIf="type === \'radio\'">\r\n <ng-container *ngFor="let option of options; index as i; first as isFirst">\r\n <label class=\'radio-button\'\r\n title="{{ option.tooltip | translate}}">\r\n \x3c!-- The input has two name attributes set, one is for the form model and one is for the broswer. With one set\r\n the tabbing did not work, and with the other the controls were all linked together. They both need set\r\n for the best of both worlds --\x3e\r\n <input [attr.id]="inputId + i.toString()"\r\n class="input"\r\n [formControl]="formModel"\r\n type="radio"\r\n value="{{option.value}}"\r\n #radioInput\r\n tabindex="{{tabindex}}"\r\n name="{{name}}"\r\n attr.name="{{name}}"\r\n [attr.cdkFocusInitial]="(autofocus && isFirst) || null">\r\n <span class="indicator"></span>\r\n <span id="{{inputId}}_label{{i.toString()}}"\r\n class="label"\r\n *ngIf="option.label"\r\n [innerHtml]="option.label | translate"></span>\r\n </label>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n</div>\r\n',styles:[':root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host(.w-auto){width:auto}.control>label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.radio-group{display:flex;flex-wrap:wrap}.radio-group-column{flex-direction:column}.radio-group-column .radio-button{margin-right:auto}.radio-group.is-disabled .radio-button{cursor:default}.radio-group.is-readonly .radio-button{pointer-events:none}.radio-group.is-readonly .radio-button .input{opacity:0}.radio-group.is-readonly .radio-button .indicator{background-color:rgba(26,26,35,.12);border:0}.radio-group.is-readonly .radio-button .indicator,.radio-group.is-readonly .radio-button .label,.radio-group.is-readonly.radio-group-toggle{color:var(--ec-color-primary-dark);opacity:1}.radio-group.is-readonly.radio-group-toggle{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}.radio-group.is-readonly.radio-group-toggle a,.radio-group.is-readonly.radio-group-toggle input:not(:checked),.radio-group.is-readonly.radio-group-toggle input:not(:checked)+label{display:none}.radio-group.is-readonly.radio-group-toggle input:checked+label{color:inherit;justify-content:flex-start}.radio-button{cursor:pointer;display:inline-flex;margin-bottom:0;position:relative}.radio-button:not(:last-child){margin-right:1rem}.input{margin-top:.5rem;opacity:0;position:absolute;z-index:-1}.input:not(:checked)+.indicator{color:var(--ec-border-color)}.input:not(:checked)+.indicator:before{display:none}.input:focus+.indicator{box-shadow:0 0 0 .0625rem var(--ec-color-interactive);color:var(--ec-color-interactive)}.input:disabled+.indicator{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color)}.input:disabled+.indicator,.input:disabled~.label{color:var(--ec-color-secondary-dark);opacity:.65}.indicator{align-items:center;background-clip:padding-box;background-color:var(--ec-background-color);border:1px solid;border-radius:50%;color:var(--ec-color-interactive);display:inline-flex;flex:none;height:1em;justify-content:center;margin-top:.5rem;pointer-events:none;width:1em}.indicator:before{background-color:currentColor;border-radius:50%;content:"";display:block;height:.5em;width:.5em}.label{height:2rem;height:auto;line-height:1.25;margin-left:.5rem;min-height:2rem;padding:.375rem 0}.radio-group-toggle{background-color:var(--ec-border-color-legacy);border:.0625rem solid var(--ec-border-color-legacy);border-radius:var(--ec-border-radius);color:var(--ec-color-hint-dark);display:flex;font-size:var(--ec-font-size-body);min-height:2em;position:relative}.radio-group-toggle input{opacity:0;position:absolute;z-index:-1}.radio-group-toggle input:checked+label{color:#0084a9}.radio-group-toggle input:checked:last-of-type~a{transform:translateX(100%)}.radio-group-toggle input:focus~.toggle-focused{display:block}.radio-group-toggle .toggle-focused{border-radius:var(--ec-border-radius);bottom:0;box-shadow:0 0 0 .125rem var(--ec-color-interactive);display:none;left:0;position:absolute;right:0;top:0}.radio-group-toggle label{align-items:center;cursor:pointer;display:flex;flex:1 1 0%;justify-content:center;line-height:1.1em;margin-bottom:0;padding:.375rem .5rem;position:relative;text-align:center;transition:color .3s ease;z-index:2}.radio-group-toggle label .ec-icon{color:inherit}.radio-group-toggle a{border:.1875rem solid transparent;border-radius:calc(var(--ec-border-radius)*0.75);display:block;height:100%;left:0;position:absolute;top:0;transition:transform .25s ease;width:50%;z-index:1}.radio-group-toggle a .toggle-handle{background-color:var(--ec-background-color);border-radius:calc(var(--ec-border-radius)*0.75);height:100%}.radio-group-toggle.is-disabled{background-color:var(--ec-background-color-disabled);color:var(--ec-color-secondary-dark);opacity:.65}.radio-group-toggle.is-disabled label{color:inherit!important;cursor:default}.radio-group-toggle.is-disabled a.toggle-handle{background-color:var(--ec-color-hint-light)}.toggle-options-3 a{width:33.3333333333%}.toggle-options-3 input:checked:last-of-type~a{transform:translateX(200%)}.toggle-options-3 input:checked:nth-of-type(2)~a{transform:translateX(100%)}.toggle-options-4 a{width:25%}.toggle-options-4 input:checked:last-of-type~a{transform:translateX(300%)}.toggle-options-4 input:checked:nth-of-type(3)~a{transform:translateX(200%)}.toggle-options-4 input:checked:nth-of-type(2)~a{transform:translateX(100%)}.toggle-options-5 a{width:20%}.toggle-options-5 input:checked:last-of-type~a{transform:translateX(400%)}.toggle-options-5 input:checked:nth-of-type(4)~a{transform:translateX(300%)}.toggle-options-5 input:checked:nth-of-type(3)~a{transform:translateX(200%)}.toggle-options-5 input:checked:nth-of-type(2)~a{transform:translateX(100%)}']}]}],ie.ctorParameters=function(){return[{type:O},{type:A}]},ie.propDecorators={type:[{type:r.Input}],options:[{type:r.Input}],direction:[{type:r.Input}],name:[{type:r.Input}],inputElement:[{type:r.ViewChild,args:["radioInput"]}]};var ae=function(e){function t(t,o,n){var r=e.call(this,t,o)||this;return r.validationMessageService=t,r.formGroupHelper=o,r.el=n,r.placeholder="",r.options=[],r.autoDefault=!0,r}return k(t,e),t.prototype.ngOnChanges=function(t){t.options&&this.autoDefault&&this.onOptionsChange(t.options.firstChange),e.prototype.ngOnChanges.call(this,t)},t.prototype.ngAfterViewInit=function(){this.autofocus&&this.focus(),this.autoDefault||console.warn("SelectComponent#"+this.id+" has 'autoDefault' set to false and will not select the default option.")},t.prototype.focus=function(){var e=this.el.nativeElement.querySelector("select");e&&e.focus()},t.prototype.onOptionsChange=function(e){var t,o,n=this;if(null!==this.formModel.value&&void 0!==this.formModel.value&&""!==this.formModel.value){if(this.options.every((function(e){return e.value!==n.formModel.value}))){var r=this.required?null===(t=this.options[0])||void 0===t?void 0:t.value:null;this.formModel.setValue(r,{emitEvent:!e})}}else this.required&&this.formModel.setValue(null===(o=this.options[0])||void 0===o?void 0:o.value,{emitEvent:!e})},t}(V);ae.decorators=[{type:r.Component,args:[{selector:"ec-select",template:'<div class="control"\r\n [ngClass]="{\'is-readonly\': readonly, \'is-disabled\': formModel.disabled}">\r\n <label for="{{id}}_select"\r\n *ngIf="label"\r\n ngPreserveWhitespaces>{{label|translate}}</label>\r\n <select [attr.id]="inputId"\r\n tabindex="{{tabindex}}"\r\n [formControl]="formModel"\r\n [attr.required]="required"\r\n [attr.cdkFocusInitial]="autofocus || null">\r\n <option *ngIf="!required"\r\n [ngValue]="null">{{placeholder}}</option>\r\n <option *ngFor="let option of options"\r\n [ngValue]="option.value">{{option.label}}</option>\r\n </select>\r\n</div>',styles:[':root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}:host label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}:host select{-moz-appearance:none;-webkit-appearance:none;appearance:none;background-clip:padding-box;background-color:var(--ec-background-color);background-image:none;background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M32 8L16 24 0 8z"/></svg>\');background-position:right .5rem center;background-repeat:no-repeat;background-size:.75rem,.75rem;border:.0625rem solid var(--ec-border-color-legacy);border-radius:var(--ec-border-radius);height:2rem;line-height:1.25;padding:.3125rem 1.5rem .3125rem .5rem;width:100%}:host select::-moz-selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host select::selection{background-color:var(--ec-color-interactive);color:var(--ec-color-primary-light)}:host select::-webkit-input-placeholder{color:var(--ec-color-hint-dark)}:host select::-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host select:-ms-input-placeholder{color:var(--ec-color-hint-dark)}:host select:-moz-placeholder{color:var(--ec-color-hint-dark);opacity:1}:host select:required.is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');border-color:var(--ec-border-color-legacy)}:host select.ng-invalid.ng-touched,:host select:required.is-empty{background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host select.ng-invalid.ng-touched{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\')}:host select.ng-invalid.ng-touched:not(:focus){border-color:var(--ec-color-caution)}:host select.is-pending.ng-invalid,:host select.is-pending.ng-pending,:host select.is-pending.ng-valid{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 50 50"><path fill="%230084a9" d="M43.935 25.145c0-10.318-8.364-18.683-18.683-18.683-10.318 0-18.683 8.365-18.683 18.683h4.068c0-8.071 6.543-14.615 14.615-14.615s14.615 6.543 14.615 14.615h4.068z"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.8s" repeatCount="indefinite"/></path></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host select:focus,:host select:focus.is-empty{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}:host select:disabled{color:var(--ec-color-secondary-dark);opacity:.65}:host select:disabled,:host select:disabled:required,:host select:disabled:required.is-empty{background-color:var(--ec-background-color-disabled);border-color:var(--ec-border-color-legacy)}:host select:disabled:required,:host select:disabled:required.is-empty{background-image:none;padding-left:.5rem}:host select.is-uppercase:not(.is-empty){text-transform:uppercase}:host select:focus{position:static}']}]}],ae.ctorParameters=function(){return[{type:O},{type:A},{type:r.ElementRef}]},ae.propDecorators={placeholder:[{type:r.Input}],options:[{type:r.Input}],autoDefault:[{type:r.Input}]};var se=function(){function e(e,t){this.items=[],this.selectedChanges=new c.Subject,e&&(this.items=e,this.items.length&&t&&(this._selected=t))}return Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e,e&&this.selectItem(e)},enumerable:!1,configurable:!0}),e.prototype.selectItem=function(e){e.url||(e.onClick&&e.onClick(e),this.selectedChanges.next(e))},e}(),le=function(){function e(){this.id="",this.tabindex=0,this.tabStyle="tabs",this.tabs=new se}return e.prototype.selectTab=function(e,t){t.disabled||"click"!==e.type&&("keypress"!==e.type||"Enter"!==e.key)||(this.tabs.selected=t)},e}();le.decorators=[{type:r.Component,args:[{selector:"ec-tabs",template:'<ul *ngIf="tabs?.items?.length" class="{{tabStyle}}">\r\n\r\n <li class="{{tab.classlist}}" [ngClass]="{\'icon-only\': tab.icon && !tab.label}" *ngFor="let tab of tabs?.items; index as i;">\r\n\r\n <a *ngIf="tab.url && !tab.disabled"\r\n tabindex="{{tabs?.selected === tab ? -1 : tabindex}}"\r\n class="tab"\r\n id="{{tab.id ? tab.id : id + \'_item\' + i}}"\r\n routerLinkActive="active"\r\n [routerLink]="tab.url"\r\n [queryParams]="tab.queryParams || null"\r\n [queryParamsHandling]="tab.queryParamsHandling || \'\'"\r\n (keypress)="selectTab($event, tab)"\r\n (click)="selectTab($event, tab)">\r\n <i class="ec-icon {{tab.icon}}" *ngIf="tab.icon" [class.mr-1]="tab.label"></i>\r\n <span class="text-truncate">{{tab.label | translate}}</span>\r\n <span *ngIf="tab?.indicator" class="indicator ml-1" [style.background-color]="tab?.indicator === true ? \'\' : tab?.indicator"></span>\r\n </a>\r\n\r\n <span *ngIf="!tab.url || tab.disabled"\r\n tabindex="{{tabs?.selected === tab || tab.disabled ? -1 : tabindex}}"\r\n id="{{tab.id ? tab.id : id + \'_item\' + i}}"\r\n class="tab"\r\n [ngClass]="{\'active\': tabs?.selected === tab, \'is-disabled\': tab.disabled}"\r\n (keypress)="selectTab($event, tab)"\r\n (click)="selectTab($event, tab)">\r\n <i class="ec-icon {{tab.icon}}" *ngIf="tab.icon" [class.mr-1]="tab.label"></i>\r\n <span class="text-truncate">{{tab.label | translate}}</span>\r\n <span *ngIf="tab?.indicator" class="indicator ml-1" [style.background-color]="tab?.indicator === true ? \'\' : tab?.indicator"></span>\r\n </span>\r\n </li>\r\n</ul> ',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}ul{list-style:none;margin:0;padding:0}a{text-decoration:none}.tabs{border-bottom:1px solid var(--ec-border-color-legacy);display:flex;padding-left:1rem;padding-right:1rem}.tabs li{display:block;min-width:0}.tabs li:not(:last-child){margin-right:.25rem}.tabs .tab{align-items:center;border:1px solid transparent;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--ec-border-radius);border-top-right-radius:var(--ec-border-radius);color:var(--ec-color-secondary-dark);cursor:pointer;display:flex;font-size:var(--ec-font-size-label);height:2rem;justify-content:center;margin-bottom:-1px;min-width:2rem;padding-left:.5rem;padding-right:.5rem}.tabs .tab:hover{color:#354751}.tabs .tab.active{background-color:var(--ec-background-color-body);border-left-color:var(--ec-border-color-legacy);border-right-color:var(--ec-border-color-legacy);border-top-color:var(--ec-border-color-legacy);color:#354751}.tabs .tab:focus{outline:none}.tabs .tab:focus:not(.active):not(.is-disabled){border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);box-shadow:none;position:relative;z-index:1}.tabs .tab.is-disabled{color:var(--ec-color-hint-dark);cursor:default}.pills{display:flex}.pills li{display:block;min-width:0}.pills li:not(:last-child){margin-right:.25rem}.pills .tab{align-items:center;border:1px solid transparent;border-radius:var(--ec-border-radius);color:var(--ec-color-secondary-dark);cursor:pointer;display:flex;font-size:var(--ec-font-size-label);height:1.5rem;justify-content:center;min-width:1.5rem;padding-left:.5rem;padding-right:.5rem}.pills .tab:hover{color:#354751}.pills .tab.active{background-color:#d2d7d9;color:#354751}.pills .tab:focus{outline:none}.pills .tab:focus:not(.active):not(.is-disabled){border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);box-shadow:none;position:relative;z-index:1}.pills .tab.is-disabled{color:var(--ec-color-hint-dark);cursor:default}.icon-only .tab{justify-content:center;padding:0}.indicator{background-color:rgba(111,28,138,.25);border:2px solid #6f1c8a;border-radius:50%;display:block;height:.625rem;width:.625rem}:host(.is-condensed) .pills li,:host(.is-condensed) .tabs li{margin-right:0}:host(.is-condensed) .tab{padding-left:.25rem;padding-right:.25rem}"]}]}],le.ctorParameters=function(){return[]},le.propDecorators={id:[{type:r.Input}],tabindex:[{type:r.Input}],tabStyle:[{type:r.Input}],tabs:[{type:r.Input,args:["tabGroup"]}]};var ce=function(){function e(){}return e.prototype.getAvatarLabels=function(e){var t=void 0,o="HI",n=this.trimUser(e);return n.firstName||n.lastName?n.firstName?(o=n.firstName.slice(0,1),t=n.firstName,n.lastName&&(t+=" "+n.lastName)):(o=n.lastName.slice(0,1),t=n.lastName):n.email?(o=n.email.slice(0,1),t=n.email):n.username&&(o=n.username.slice(0,1),t=n.username),{abbreviation:o,full:t}},e.prototype.trimUser=function(e){return{email:(e.email||"").trim(),firstName:(e.firstName||"").trim(),lastName:(e.lastName||"").trim(),username:(e.username||"").trim()}},e}();ce.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new ce},token:ce,providedIn:"root"}),ce.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var de=function(){function e(e){this.avatarService=e,this.userMenuItems=[],this.userMenuWidth=0,this.userMenuMinWidth=160,this.userMenuTabindex=0,this.iconPath="/assets/images/icon.svg",this.menuItems=[],this.userItem=[]}return e.prototype.ngOnChanges=function(){this.user?this.userItem[0]={label:this.avatarService.getAvatarLabels(this.user).full||"",display:"heading"}:this.userItem=[],this.menuItems=D(this.userItem,this.userMenuItems)},e}();de.decorators=[{type:r.Component,args:[{selector:"ec-app-bar",template:'<section class="logo-container">\r\n <img src="{{iconPath}}"\r\n alt="EnergyCAP Platform">\r\n</section>\r\n\r\n<section class="title-container">\r\n <ng-content select=".app-bar-title"></ng-content>\r\n</section>\r\n\r\n<section class="actions-container">\r\n <ng-content select=".app-bar-actions"></ng-content>\r\n <ec-dropdown id="AppBarUserMenu"\r\n *ngIf="userMenuItems.length; else avatar"\r\n [items]="menuItems"\r\n [buttonCustomTemplate]="avatar"\r\n [showArrow]="false"\r\n [menuWidth]="userMenuWidth"\r\n [menuMinWidth]="userMenuMinWidth"\r\n [tabindex]="userMenuTabindex"></ec-dropdown>\r\n</section>\r\n\r\n<ng-template #avatar>\r\n <div class="p-1">\r\n <ec-avatar [user]="user"></ec-avatar>\r\n </div>\r\n</ng-template>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{align-items:center;background-color:var(--ec-background-color);display:flex;height:3rem;padding:0 .75rem 0 1rem;position:relative;width:100%;z-index:var(--ec-z-index-navbar)}:host ::ng-deep .app-bar-actions{align-items:center;display:flex;justify-content:flex-end;margin-right:.25rem}section{flex:1 1}.logo-container img{height:2rem;width:2rem}.title-container{text-align:center}.actions-container{display:flex;justify-content:flex-end}"]}]}],de.ctorParameters=function(){return[{type:ce}]},de.propDecorators={user:[{type:r.Input}],userMenuItems:[{type:r.Input}],userMenuWidth:[{type:r.Input}],userMenuMinWidth:[{type:r.Input}],userMenuTabindex:[{type:r.Input}],iconPath:[{type:r.Input}]};var pe=function(){function e(e,t,o){this.el=e,this.renderer=t,this.avatarService=o,this.colors={abcde01:"red",fghij23:"orange",klmn15:"yellow",opqr67:"green",stuv8:"blue",wxyz9:"purple"},this.label="HI",this.currentCSSClass=""}return e.prototype.ngOnChanges=function(e){e.user.firstChange||this.user||console.error("AvatarComponent expected a value for the [user] input but got "+this.user+" instead."),this.updateLabel(),this.updateColor()},e.prototype.updateLabel=function(){this.user&&(this.label=this.avatarService.getAvatarLabels(this.user).abbreviation)},e.prototype.updateColor=function(){this.currentCSSClass&&this.renderer.removeClass(this.el.nativeElement,this.currentCSSClass);var e="gray";if("HI"!==this.label&&this.label)for(var t in this.colors)t.includes(this.label[0].toLowerCase())&&(e=this.colors[t]);this.currentCSSClass="avatar-"+e,this.renderer.addClass(this.el.nativeElement,this.currentCSSClass)},e}();pe.decorators=[{type:r.Component,args:[{selector:"ec-avatar",template:"{{label}}",styles:[":host{align-items:center;border-radius:50%;color:var(--ec-color-primary-light);display:flex;font-size:1rem;height:2.25rem;justify-content:center;line-height:1.25rem;text-transform:uppercase;width:2.25rem}:host.avatar-red{background-color:#eb6669}:host.avatar-orange{background-color:#fa9f69}:host.avatar-yellow{background-color:#ffec74}:host.avatar-green{background-color:#dbe280}:host.avatar-blue{background-color:#58afc7}:host.avatar-purple{background-color:#9e82b4}:host.avatar-gray{background-color:#acbcc3}:host.avatar-green,:host.avatar-orange,:host.avatar-yellow{color:var(--ec-color-secondary-dark)}"]}]}],pe.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:ce}]},pe.propDecorators={user:[{type:r.Input}]};var ue=function(){function e(e,t){this.status="hasData",this.message="",this.setStatus(e,t)}return e.prototype.setStatus=function(e,t,o,n,r){this.status=e,this.message=t||"",this.action=o||void 0,this.noDataTemplate=n||void 0,this.overlayClassList=r||""},e}(),he=function(){function e(){this.status="hasData"}return e.prototype.setStatus=function(e,t,o,n){this.status=e,this.message=t||"",this.action=o||void 0,this.noDataTemplate=n||void 0},e.prototype.actionClicked=function(e){this.action&&this.action.onClick&&this.action.onClick(e)},e}();he.decorators=[{type:r.Component,args:[{selector:"[ecOverlay]",template:'\x3c!-- Transcluded Content --\x3e\r\n<ng-content *ngIf="displayAsMask || (!displayAsMask && status === \'hasData\')"></ng-content>\r\n\x3c!--Used by GI tests to know the overlay status whether we use ngIf or mask version. No visual impact--\x3e\r\n<span [hidden]="true"\r\n\t class="overlay-status-{{status}}"></span>\r\n\x3c!-- Overlay goes last so it is rendered on top of preceding content due to source order --\x3e\r\n<div *ngIf="status !== \'hasData\'"\r\n\t class="overlay flex-grow {{overlayClassList}}"\r\n\t [ngClass]="{\'not-mask\': !displayAsMask,\r\n\t\t\t\t\'overlay-error\': status === \'error\',\r\n\t\t\t\t\'overlay-nodata\': status === \'noData\',\r\n\t\t\t\t\'overlay-pending\': status === \'pending\'}">\r\n\r\n\t\x3c!--Pending Spinner--\x3e\r\n\t<ec-spinner [hidden]="status !== \'pending\'"></ec-spinner>\r\n\r\n\t<ng-template [ngIf]="status === \'noData\' && noDataTemplate">\r\n\t\t<ng-container *ngTemplateOutlet="noDataTemplate"></ng-container>\r\n\t</ng-template>\r\n\r\n\t<ng-container *ngIf="(status === \'noData\' && !noDataTemplate) || status !== \'noData\'">\r\n\t\t\x3c!--Status Message--\x3e\r\n\t\t<div id="statusMessage"\r\n\t\t\t class="message"\r\n\t\t\t *ngIf="message"\r\n\t\t\t [ngClass]="{\'error\': status === \'error\', \'mt-1\': status === \'pending\'}"\r\n\t\t\t [innerHtml]="message | translate">\r\n\t\t</div>\r\n\r\n\t\t\x3c!-- Action --\x3e\r\n\t\t<ec-button type="common"\r\n\t\t\t\t class="mt-3"\r\n\t\t\t\t *ngIf="action?.onClick"\r\n\t\t\t\t [icon]="action?.icon"\r\n\t\t\t\t (clicked)="actionClicked($event)"\r\n\t\t\t\t [label]="action?.label"\r\n\t\t\t\t [hidden]="status === \'pending\'">\r\n\t\t</ec-button>\r\n\t</ng-container>\r\n\r\n</div>',styles:[":host{position:relative}:host(.bg-body)>.overlay{background-color:var(--ec-background-color-body)}:host(.bg-body).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}:host(.bg-content)>.overlay{background-color:var(--ec-background-color)}:host(.bg-content).is-translucent>.overlay{background-color:var(--ec-background-color-overlay)}.overlay{align-items:center;background-color:var(--ec-background-color);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;padding:3rem 4rem;position:absolute;right:0;top:0;z-index:var(--ec-z-index-overlay)}.overlay.not-mask{min-height:100%;position:relative}.message{color:var(--ec-color-secondary-dark)}.message,.message.error{font-size:var(--ec-font-size-title)}.message.error{color:var(--ec-color-danger)}"]}]}],he.propDecorators={status:[{type:r.Input}],message:[{type:r.Input}],action:[{type:r.Input}],noDataTemplate:[{type:r.Input}],displayAsMask:[{type:r.Input}],overlayClassList:[{type:r.Input}]};var me=function(){this.id="",this.textboxRequired=!1,this.textboxUppercase=!1,this.textareaRows=3,this.saveLabel="Save",this.saveButtonType="primary",this.cancelLabel="Cancel",this.saveOnEnter=!1,this.alternateSaveLabel=void 0,this.alternateSaveButtonType=void 0,this.saveSource="primary",this.inlineConfirmPendingMessage=""},ge=function(){function e(){this.dialogId="Confirm",this.formGroup=new i.FormGroup({}),this.status=new ue("hasData"),this.onDialogSave=new r.EventEmitter,this.onDialogCancel=new r.EventEmitter}return e.prototype.onOpen=function(e){this.context=e,this.dialogId=e.id,this.context.alternateSaveLabel&&(this.context.saveOnEnter=!1)},e.prototype.ngOnInit=function(){this.addFormControls()},e.prototype.onSave=function(e){if(this.formGroup.markAllAsTouched(),this.formGroup.valid){var t=this.formGroup.getRawValue();t.textbox&&(this.context.textboxValue=t.textbox),this.context.saveSource=e,this.context.inlineConfirmAction?this.doInlineConfirmAction():this.onDialogSave.emit(this.context)}else this.context.validationErrorMessage&&(this.error=this.context.validationErrorMessage)},e.prototype.onCancel=function(){this.onDialogCancel.emit()},e.prototype.addFormControls=function(){if(this.context.textboxType){var e=[];this.context.textboxRequired&&e.push(i.Validators.required),this.context.textboxValidators&&e.push.apply(e,D(this.context.textboxValidators)),this.formGroup.addControl("textbox",new i.FormControl("",e))}},e.prototype.doInlineConfirmAction=function(){return C(this,void 0,void 0,(function(){var e,t=this;return S(this,(function(o){switch(o.label){case 0:return this.status.setStatus("pending",this.context.inlineConfirmPendingMessage),[4,this.context.inlineConfirmAction()];case 1:return e=o.sent(),this.status.setStatus("noData",e.message,{id:"inlineConfirmClose",label:"Close",icon:e.isSuccess?"icon-check-circle":"icon-error",classlist:e.isSuccess?"font-color-success":"font-color-error",onClick:function(){e.isSuccess?t.onDialogSave.emit(t.context):t.onDialogCancel.emit()}}),[2]}}))}))},e}();ge.decorators=[{type:r.Component,args:[{selector:"ec-confirm",template:'<section ecOverlay\r\n [status]="status?.status"\r\n [message]="status?.message"\r\n [action]="status?.action"\r\n [noDataTemplate]="inlineConfirmResult"\r\n overlayClassList="p-0"\r\n class="bg-body flex-grow d-flex">\r\n <form [formGroup]="formGroup" class="flex-grow flex-column confirm-content text-body-1">\r\n <section class="flex-grow">\r\n <h2 class="font-weight-bold mb-3" *ngIf="context?.title">{{context?.title}}</h2>\r\n <ec-banner *ngIf="error" [text]="error | translate" bannerStyle="normal" class="mb-3"></ec-banner>\r\n <div *ngIf="context?.message" [innerHtml]="context?.message | translate" class="mb-3"></div>\r\n <ec-textbox id="confirmTextbox"\r\n *ngIf="context?.textboxType"\r\n [autofocus]="true"\r\n [formModel]="formGroup.get(\'textbox\')"\r\n [required]="context?.textboxRequired"\r\n [label]="context?.textboxLabel"\r\n [type]="context?.textboxType"\r\n [rows]="context?.textareaRows"\r\n [placeholder]="context?.textboxPlaceholder"\r\n [upperCase]="context?.textboxUppercase">\r\n </ec-textbox>\r\n </section>\r\n <footer class="mt-auto flex-shrink d-flex py-2 flex-row-reverse">\r\n <ec-button id="saveConfirmButton"\r\n class="ml-2"\r\n [type]="context?.saveButtonType ? context?.saveButtonType : \'primary\'"\r\n [label]="context?.saveLabel ? context?.saveLabel : \'Save\'"\r\n [autofocus]="!context?.textboxType"\r\n [isSubmit]="context?.saveOnEnter"\r\n (clicked)="onSave(\'primary\')">\r\n </ec-button>\r\n <ec-button id="alternateSaveConfirmButton"\r\n *ngIf="context?.alternateSaveLabel"\r\n class="ml-2"\r\n [type]="context?.alternateSaveButtonType ? context?.alternateSaveButtonType : \'primary\'"\r\n [label]="context?.alternateSaveLabel"\r\n (clicked)="onSave(\'alternate\')">\r\n </ec-button>\r\n <ec-button id="cancelConfirmButton"\r\n class="ml-auto"\r\n type="secondary"\r\n [label]="context?.cancelLabel ? context?.cancelLabel : \'Cancel\'"\r\n (clicked)="onCancel()">\r\n </ec-button>\r\n </footer>\r\n </form>\r\n</section>\r\n\r\n<ng-template #inlineConfirmResult>\r\n <section class="flex-grow align-self-stretch confirm-content text-body-1">\r\n <div class="d-flex">\r\n <i class="ec-icon {{status?.action?.icon}} {{status?.action?.classlist}} inline-confirm-result-icon"></i>\r\n <div [innerHTML]="status?.message | translate"></div>\r\n </div>\r\n <div class="d-flex pt-2 mt-auto">\r\n <ec-button id="inlineConfirmClose"\r\n label="Close"\r\n type="secondary"\r\n class="ml-auto"\r\n (clicked)="status?.action?.onClick!()"\r\n [autofocus]="true">\r\n </ec-button>\r\n </div>\r\n </section>\r\n</ng-template>',styles:[":host{display:flex;width:100%}.confirm-content{display:flex;flex-direction:column;padding:1.5rem}.inline-confirm-result-icon{margin:.0625rem .25rem .0625rem 0}"]}]}],ge.ctorParameters=function(){return[]},ge.propDecorators={context:[{type:r.Input}],onDialogSave:[{type:r.Output}],onDialogCancel:[{type:r.Output}]};var be=function(e,t,o){void 0===t&&(t=""),void 0===o&&(o="openStart"),this.eventId=e,this.dialogId=t,this.dialogAction=o},fe=function(e){function t(t,o,n){var r=e.call(this,h.uniqueId())||this;return r.content=t,r.context=o,r.options=n,r}return k(t,e),t}(be),ve=function(e){function t(t,o){return e.call(this,t,o,"open")||this}return k(t,e),t}(be),ye=function(e){function t(t,o,n,r){void 0===n&&(n=!1);var i=e.call(this,t,o,"close")||this;return i.dialogResult=new we(n,r),i}return k(t,e),t}(be),xe=function(e){function t(t){var o=e.call(this,"latest","latest","closeLatest")||this;return o.dialogResult=t,o}return k(t,e),t}(be),we=function(e,t){this.save=e,this.context=t},Ie=function(){function e(){this.events=new c.Subject}return e.prototype.openDialog=function(e,t,o,n){(n=n||{}).size=t;var r=new fe(e,o,n),i=this.events.pipe(d.skipWhile((function(e){return!(e instanceof ye)||e.eventId!==r.eventId})),d.map((function(e){return e.dialogResult})),d.take(1));return this.triggerEvent(r),i},e.prototype.closeLatestDialog=function(e){this.triggerEvent(new xe(e))},e.prototype.confirm=function(e){return this.openDialog(ge,"small",e)},e.prototype.triggerEvent=function(e){this.events.next(e)},e}();Ie.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new Ie},token:Ie,providedIn:"root"}),Ie.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var ke=function(){function e(e){this.dialogService=e,this.activeDialogEvents=[],this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.dialogService.events.pipe(d.filter((function(e){return e instanceof fe||e instanceof xe})),d.takeUntil(this.destroyed)).subscribe((function(t){var o,n;if(t instanceof fe)e.activeDialogEvents.push(t);else if(t instanceof xe&&e.activeDialogEvents.length>0){var r=e.activeDialogEvents[e.activeDialogEvents.length-1];e.dialogService.triggerEvent(new ye(r.eventId,r.dialogId,null===(o=t.dialogResult)||void 0===o?void 0:o.save,null===(n=t.dialogResult)||void 0===n?void 0:n.context)),e.dialogClosed(r)}}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.dialogOpened=function(e,t){e.dialogId=t},e.prototype.dialogClosed=function(e){var t=this.activeDialogEvents.findIndex((function(t){return t===e}));t>=0&&this.activeDialogEvents.splice(t,1)},e}();ke.decorators=[{type:r.Component,args:[{selector:"ec-dialog-group",template:'<ec-dialog *ngFor="let dialog of activeDialogEvents"\r\n [dialogOpenStartEventId]="dialog.eventId"\r\n [size]="dialog.options?.size"\r\n [content]="dialog.content"\r\n [context]="dialog.context"\r\n [options]="dialog.options"\r\n (opened)="dialogOpened(dialog, $event)"\r\n (closed)="dialogClosed(dialog)">\r\n</ec-dialog>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}ec-dialog:not(:only-child){--ec-dialog-background-color:transparent}ec-dialog:not(:only-child):last-child,ec-dialog:not(:only-child):nth-last-child(2){--ec-dialog-background-color:var(--ec-background-color-dialog-stacked)}"]}]}],ke.ctorParameters=function(){return[{type:Ie}]};var Ce=function(){function e(e,t,o,n){this.componentFactoryResolver=e,this.windowService=t,this.dialogService=o,this.documentRef=n,this.isOpen=!1,this.fadeIn=!1,this.fadeOut=!1,this.displayAsPanel=!1,this.alignToTop=!1,this.transparentMask=!1,this.size="small",this.opened=new r.EventEmitter,this.closed=new r.EventEmitter,this.previouslyFocusedElement=null}return e.prototype.onOverlayClick=function(e){"EC-DIALOG"===e.target.tagName&&this.displayAsPanel&&this.close(new we(!1))},e.prototype.ngOnInit=function(){this.content&&this.open(this.content,this.context,this.options)},e.prototype.ngOnDestroy=function(){this.previouslyFocusedElement&&this.previouslyFocusedElement.focus()},e.prototype.open=function(e,t,o){var n,i;return C(this,void 0,void 0,(function(){var a,s,l=this;return S(this,(function(p){switch(p.label){case 0:return this.isOpen?[3,4]:(a=null===(n=this.documentRef)||void 0===n?void 0:n.activeElement,this.previouslyFocusedElement=(null===(i=null==a?void 0:a.shadowRoot)||void 0===i?void 0:i.activeElement)||a,o?(o.alignToTop&&(this.alignToTop=!0),o.displayAsPanel&&(this.displayAsPanel=!0,this.transparentMask=!0),void 0!==o.transparentMask&&(this.transparentMask=o.transparentMask),void 0===o.canOpenDialog?[3,2]:[4,o.canOpenDialog()]):[3,2]);case 1:if(!p.sent())return this.close(new we(!1)),[2];p.label=2;case 2:return"number"==typeof this.size?this.width=this.size:this.width=void 0,this.minWidth=null==o?void 0:o.minWidth,this.fadeIn=!0,e instanceof r.TemplateRef?this.contentContainer.createEmbeddedView(e):(s=this.componentFactoryResolver.resolveComponentFactory(e),this.componentRef=this.contentContainer.createComponent(s)),this.isOpen=!0,this.openDialogComponent(t),[4,c.timer(this.displayAsPanel?250:125).pipe(d.take(1),d.tap((function(){var e=l.getDialogId();l.fadeIn=!1,l.opened.emit(e),l.dialogService.triggerEvent(new ve(l.dialogOpenStartEventId,e))}))).toPromise()];case 3:p.sent(),this.handleCloseOnResize(),p.label=4;case 4:return[2]}}))}))},e.prototype.close=function(e){var t=this;this.fadeOut=!0;var o=this.getDialogId();setTimeout((function(){var n;t.isOpen=!1,t.fadeOut=!1,null===(n=t.contentContainer)||void 0===n||n.clear(),t.componentRef=void 0,t.closed.emit(e),t.dialogService.triggerEvent(new ye(t.dialogOpenStartEventId,o,null==e?void 0:e.save,null==e?void 0:e.context)),t.resetOptions()}),this.displayAsPanel?225:100)},e.prototype.openDialogComponent=function(e){var t=this;if(this.componentRef&&this.componentRef.instance){var o=this.componentRef.instance;o.onOpen&&o.onOpen(e),o.onDialogCancel.pipe(d.takeUntil(this.closed)).subscribe((function(){t.close(new we(!1))})),o.onDialogSave.pipe(d.takeUntil(this.closed)).subscribe((function(e){t.close(new we(!0,e))}))}},e.prototype.resetOptions=function(){this.alignToTop=!1,this.displayAsPanel=!1},e.prototype.handleCloseOnResize=function(){var e=this;this.options&&this.options.closeOnResize&&this.windowService.resized.pipe(d.takeUntil(this.closed),d.take(1)).subscribe((function(){e.close(new we(!1))}))},e.prototype.getDialogId=function(){var e;return(null===(e=this.componentRef)||void 0===e?void 0:e.instance.dialogId)||""},e}();Ce.decorators=[{type:r.Component,args:[{selector:"ec-dialog",template:'<article [style.width.px]="width" [style.min-width]="minWidth" class="dialog-{{size}}" cdkTrapFocus cdkTrapFocusAutoCapture><ng-template #content></ng-template></article>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes panelMaskFadeIn{0%{background-color:transparent}to{background-color:var(--ec-dialog-background-color)}}@keyframes panelMaskFadeIn{0%{background-color:transparent}to{background-color:var(--ec-dialog-background-color)}}:host{--ec-dialog-background-color:var(--ec-background-color-dialog);align-items:center;background-color:var(--ec-dialog-background-color);bottom:0;display:none;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--ec-z-index-dialog)}:host.is-open{display:flex}:host.fade-in{-webkit-animation-duration:125ms;-webkit-animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in-out;animation-duration:125ms;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.fade-in,:host.fade-out{-webkit-animation-name:fadeIn;animation-name:fadeIn}:host.fade-out{-webkit-animation-duration:.1s;-webkit-animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in-out;animation-direction:reverse;animation-duration:.1s;animation-fill-mode:forwards;animation-timing-function:ease-in-out}:host.is-panel article{border-bottom:0;border-radius:0;border-right:0;border-top:0;bottom:0;box-shadow:0 0 .5rem var(--ec-color-shadow);max-height:none;position:absolute;right:0;top:0}:host.is-panel.fade-in{-webkit-animation-fill-mode:forwards;-webkit-animation-name:panelMaskFadeIn;animation-fill-mode:forwards;animation-name:panelMaskFadeIn}:host.is-panel.fade-in,:host.is-panel.fade-in article{-webkit-animation-duration:.25s;animation-duration:.25s}:host.is-panel.fade-in article{-webkit-animation-fill-mode:forwards;-webkit-animation-name:slideIn;-webkit-animation-timing-function:ease-out;animation-fill-mode:forwards;animation-name:slideIn;animation-timing-function:ease-out}:host.is-panel.fade-out{-webkit-animation-fill-mode:forwards;-webkit-animation-name:panelMaskFadeIn;animation-direction:reverse;animation-fill-mode:forwards;animation-name:panelMaskFadeIn}:host.is-panel.fade-out article{-webkit-animation-duration:225ms;-webkit-animation-fill-mode:forwards;-webkit-animation-name:slideIn;-webkit-animation-timing-function:ease-in;animation-direction:reverse;animation-duration:225ms;animation-fill-mode:forwards;animation-name:slideIn;animation-timing-function:ease-in}:host.is-top-aligned{align-items:flex-start}:host.is-top-aligned article{margin-top:20vh;min-height:auto}:host.is-transparent{--ec-dialog-background-color:transparent}article{background-clip:padding-box;background-color:var(--ec-background-color-body);border-radius:var(--ec-border-radius-dialog);box-shadow:0 0 .625rem rgba(26,26,35,.2);display:flex;flex:none;max-height:90vh;max-width:90vw;min-height:9rem;overflow:hidden}.dialog-xsmall{width:20rem}.dialog-small{width:30rem}.dialog-medium{width:40rem}.dialog-large{width:50rem}.dialog-xlarge{width:60rem}.dialog-full{width:90vw}"]}]}],Ce.ctorParameters=function(){return[{type:r.ComponentFactoryResolver},{type:B},{type:Ie},{type:Document,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]}]},Ce.propDecorators={isOpen:[{type:r.HostBinding,args:["class.is-open"]}],fadeIn:[{type:r.HostBinding,args:["class.fade-in"]}],fadeOut:[{type:r.HostBinding,args:["class.fade-out"]}],displayAsPanel:[{type:r.HostBinding,args:["class.is-panel"]}],alignToTop:[{type:r.HostBinding,args:["class.is-top-aligned"]}],transparentMask:[{type:r.HostBinding,args:["class.is-transparent"]}],onOverlayClick:[{type:r.HostListener,args:["click",["$event"]]}],size:[{type:r.Input}],content:[{type:r.Input}],context:[{type:r.Input}],options:[{type:r.Input}],dialogOpenStartEventId:[{type:r.Input}],opened:[{type:r.Output}],closed:[{type:r.Output}],contentContainer:[{type:r.ViewChild,args:["content",{read:r.ViewContainerRef,static:!0}]}]};var Se=function(){function e(){}return e.prototype.trackPageView=function(e,t,o){},e.prototype.trackEvent=function(e,t,o){},e}();Se.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new Se},token:Se,providedIn:"root"}),Se.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}];var Te=function(){function e(e){this.telemetryTrackerService=e}return e.prototype.trackPageView=function(e,t,o){this.telemetryTrackerService.trackPageView(e,t,o)},e.prototype.trackEvent=function(e,t,o){this.telemetryTrackerService.trackEvent(e,t,o)},e}();Te.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new Te(r.ɵɵinject(Se))},token:Te,providedIn:"root"}),Te.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],Te.ctorParameters=function(){return[{type:Se}]};var Me=function(){this.id="",this.label="",this.level=0,this.display="default",this.hideToggle=!1,this.hasChildren=!1,this.children=[],this.expanded=!1,this.selected=!1,this.selectable=!1,this.readonly=!1,this.status="hasData",this.topLevel=!1,this.isActiveExactMatch=!0},De=function(){function e(e){this.getItemChildren=new r.EventEmitter,this._destroyed=new c.Subject,this.telemetryService=e.get(Te)}return Object.defineProperty(e.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){e&&e.rootNode&&e.rootNode.currentValue&&this.rootNode.hasChildren&&0===this.rootNode.children.length&&this.getItemChildren.emit(this.rootNode)},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.toggleItemClicked=function(e,t){e.expanded=t,this.telemetryService.trackEvent("toggle-tree-node",{newExpandState:e.expanded?"expanded":"collapsed",itemDepth:""+e.level}),e.expanded&&e.hasChildren&&0===e.children.length&&(e.status="pending",this.getItemChildren.emit(e))},e.prototype.setItemChildren=function(e,t){e.children=t,e.status="hasData"},e.prototype.setItemError=function(e){e.status="error"},e}();De.decorators=[{type:r.Directive}],De.ctorParameters=function(){return[{type:r.Injector}]},De.propDecorators={rootNode:[{type:r.Input}],getItemChildren:[{type:r.Output}]};var Ee=function(e){function t(t,o){var n=e.call(this,o)||this;return n.scrollService=t,n.id="HierarchyTree",n.itemSelected=new c.Subject,n.indent=16,n.scrollContainerId="",n}return k(t,e),t.prototype.ngOnInit=function(){this.scrollContainerId=this.id+"_root"},t.prototype.scrollToSelectedItem=function(){var e=this;window.setTimeout((function(){e.scrollService.scrollToItem("#"+e.scrollContainerId,".item-wrapper.is-selected")}))},t.prototype.selectItem=function(e){this.itemSelected.next(e),"heading"!==e.display||e.hideToggle||this.toggleItemClicked(e,!e.expanded)},t}(De);Ee.decorators=[{type:r.Component,args:[{selector:"ec-hierarchy-tree",template:'<ul id="{{scrollContainerId}}"\r\n class="flex-grow scroll-y py-1">\r\n\r\n <li *ngIf="!hideRootNode">\r\n <div class="item-wrapper"\r\n title="{{rootNode?.label}}"\r\n [ngClass]="{\'is-heading\': rootNode?.display === \'heading\'}"\r\n ecNavItemActive="is-selected"\r\n [ecNavItemActiveUrl]="rootNode?.url"\r\n [ecNavItemActiveExactMatch]=\'rootNode?.isActiveExactMatch\'>\r\n <a id="rootNode_{{rootNode?.id}}_link"\r\n class="item flex-grow d-flex align-items-center"\r\n routerLink="{{rootNode?.url}}"\r\n [queryParams]="rootNode?.queryParams">\r\n <i class="ec-icon {{rootNode.icon}} mx-1 flex-shrink"\r\n *ngIf="rootNode?.icon"></i>\r\n <span class="mx-1 text-truncate">{{rootNode?.label}}</span>\r\n </a>\r\n </div>\r\n </li>\r\n\r\n <ng-template #hierarchyView\r\n let-items>\r\n <li *ngFor="let item of items; index as index; first as isFirst"\r\n id="treeItem_{{item.id}}">\r\n <div class="item-wrapper"\r\n title="{{item.label}}"\r\n [ngClass]="{\'is-heading\': item.display === \'heading\'}"\r\n ecNavItemActive="is-selected"\r\n [ecNavItemActiveUrl]="item.url"\r\n [ecNavItemActiveExactMatch]="item.isActiveExactMatch"\r\n [ecNavItemActiveQueryParams]="item.queryParams">\r\n\r\n \x3c!-- This element provides the indentation for each level --\x3e\r\n <span id="indent_{{item.id}}"\r\n class="d-block h-100"\r\n [style.width.px]="(indent) * (item.level - 1) + (item.level * 4) + (item.hasChildren ? 0 : indent)">\r\n </span>\r\n\r\n \x3c!-- Toggle the button icon to be a spinner when item.status is pending --\x3e\r\n <ec-collapsible-toggle id="toggle_{{item.id}}"\r\n class="flex-shrink"\r\n [style.width.px]="indent"\r\n *ngIf="item.hasChildren && !item.hideToggle"\r\n [hidden]="item.status === \'pending\'"\r\n [expanded]="item.expanded"\r\n (expandedChange)="toggleItemClicked(item, $event)">\r\n </ec-collapsible-toggle>\r\n\r\n <i class="ec-icon icon-loading my-1"\r\n [hidden]="item.status !== \'pending\'"></i>\r\n\r\n <a id="treeItem_{{item.id}}_link"\r\n class="item"\r\n *ngIf="item.url"\r\n (click)="selectItem(item)"\r\n [routerLink]="item.url"\r\n [queryParams]="item.queryParams"\r\n [queryParamsHandling]="item.queryParamsHandling || \'\'">\r\n <i class="ec-icon {{item.icon}} mx-1 flex-shrink"\r\n *ngIf="item.icon"></i>\r\n <span class="mx-1 text-truncate">{{item.label}}</span>\r\n </a>\r\n <div id="treeItem_{{item.id}}_heading"\r\n class="item"\r\n *ngIf="!item.url"\r\n (click)="selectItem(item)">\r\n <i class="ec-icon {{item.icon}} mx-1 flex-shrink"\r\n *ngIf="item.icon"></i>\r\n <span class="mx-1 text-truncate">{{item.label}}</span>\r\n </div>\r\n </div>\r\n\r\n\r\n <ul *ngIf="item.children.length > 0 && item.expanded">\r\n <ng-container *ngTemplateOutlet="hierarchyView; context:{ $implicit: item.children }"></ng-container>\r\n </ul>\r\n </li>\r\n </ng-template>\r\n\r\n <ng-container *ngTemplateOutlet="hierarchyView; context:{ $implicit: rootNode?.children }"></ng-container>\r\n</ul>\r\n',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block;font-size:var(--ec-font-size-action)}ul{list-style:none;margin:0;overflow-x:hidden}ul,ul li{padding:0}ul li{white-space:nowrap}ul .item-wrapper{align-items:center;border-radius:var(--ec-border-radius);display:flex;height:1.75rem;margin:0 .25rem;padding:0 .25rem}ul .item-wrapper.is-heading{color:var(--ec-color-hint-dark);cursor:pointer;font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);text-transform:uppercase}ul .item-wrapper:hover{background-color:#bfe0e9}ul .item-wrapper.is-selected{font-weight:700}ul .item-wrapper a{text-decoration:none}ul .item{align-items:center;color:inherit;display:flex;flex:1 1;min-height:0;min-width:0}"]}]}],Ee.ctorParameters=function(){return[{type:_},{type:r.Injector}]},Ee.propDecorators={id:[{type:r.Input}],hideRootNode:[{type:r.Input}],itemSelected:[{type:r.Output}]};var ze=function(){function e(){this.id="",this.internalValue={value:""},this.externalLink=!1,this.condensed=!1,this.target="_self"}return Object.defineProperty(e.prototype,"value",{set:function(e){this.internalValue="string"==typeof e?{value:e}:e||{value:""}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"url",{get:function(){return this._url},set:function(e){this.externalLink=!!(null==e?void 0:e.startsWith("http")),this._url=e},enumerable:!1,configurable:!0}),e}();ze.decorators=[{type:r.Component,args:[{selector:"ec-item-display",template:'<div id="{{id}}_label_0"\r\n class="text-caption-1">{{label | translate}}</div>\r\n\r\n<div id="{{id}}_value_0" class="{{condensed ? \'text-body-2\' : \'text-display-1\'}} {{internalValue.classnames}}"\r\n [class.font-color-hint]="!internalValue.value && internalValue.noValueText"\r\n title="{{internalValue.tooltip}}">\r\n\r\n <ng-container *ngIf="url else content">\r\n <a *ngIf="!externalLink"\r\n id="{{id}}_link"\r\n routerLink="{{url}}"\r\n target="{{target}}">\r\n <ng-container *ngTemplateOutlet="content"></ng-container>\r\n </a>\r\n <a *ngIf="externalLink"\r\n id="{{id}}_link"\r\n href="{{url}}"\r\n target="{{target}}">\r\n <ng-container *ngTemplateOutlet="content"></ng-container>\r\n </a>\r\n </ng-container>\r\n</div>\r\n \r\n \r\n<ng-template #content> \r\n <i *ngIf="internalValue?.icon" class="ec-icon {{internalValue?.icon}}"></i>\r\n <span>{{(internalValue?.value || internalValue?.noValueText) | translate}}</span>\r\n <ng-content></ng-content> \r\n</ng-template>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:inline-block;margin-bottom:1rem;vertical-align:top}.ec-icon{font-size:1em;margin-right:.25em;position:relative;top:.125em}"]}]}],ze.propDecorators={id:[{type:r.HostBinding,args:["attr.id"]},{type:r.Input}],label:[{type:r.Input}],value:[{type:r.Input}],url:[{type:r.Input}],condensed:[{type:r.Input}],target:[{type:r.Input}]};var Pe=function(){function e(){}return e.tryParseJSON=function(e){if(e)try{return JSON.parse(e)}catch(e){return}},e}(),Oe=function(){function e(e){this.translate=e,this.maxLength=1e4,this.jsonDisplay=new i.FormControl("")}return e.prototype.ngOnChanges=function(){if(this.id&&(this.attrId=this.id),this.jsonString){var e=this.jsonString,t=Pe.tryParseJSON(this.jsonString);t&&(e=JSON.stringify(t,null,2)),e.length>this.maxLength&&(e=e.substr(0,this.maxLength)+"\r\n"+this.translate.instant("MessageTooLong_Truncated_SC")),this.jsonDisplay.patchValue(e)}},e}();Oe.decorators=[{type:r.Component,args:[{selector:"ec-json-display",template:'<ec-button id="{{id}}_copy"\r\n class="copy-button"\r\n *ngIf="jsonDisplay.value"\r\n type="icon"\r\n icon="icon-copy"\r\n [ecCopyButton]="jsonDisplay">\r\n</ec-button>\r\n<pre><code>{{jsonDisplay.value}}</code></pre>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background:#354751;border-radius:var(--ec-border-radius-card);color:var(--ec-color-secondary-light);display:block;font-size:var(--ec-font-size-label);max-height:15rem;min-height:2.125rem;overflow-x:auto;overflow-y:auto;position:relative;text-align:right}pre{margin-bottom:0;margin-top:-2rem;text-align:left}pre code{display:block;padding:.5rem}.copy-button{position:sticky;top:0}.copy-button ::ng-deep .ec-icon{color:var(--ec-color-secondary-light)!important}.copy-button ::ng-deep button:hover{background-color:transparent!important}.copy-button ::ng-deep button:hover .ec-icon{color:var(--ec-color-primary-light)!important}"]}]}],Oe.ctorParameters=function(){return[{type:s.TranslateService}]},Oe.propDecorators={id:[{type:r.Input}],attrId:[{type:r.HostBinding,args:["attr.id"]}],jsonString:[{type:r.Input}],maxLength:[{type:r.Input}]};var Ae=function(){function e(e,t,o){this.renderer=e,this.cacheService=t,this.document=o,this.rememberWidth=!1,this.id="",this.currentEl=null,this.startScreenX=0,this.startElWidth=0}return e.prototype.ngAfterViewInit=function(){if(this.rememberWidth&&this.id){var e=this.cacheService.getItem("resizable-"+this.id);e&&e.widths&&e.widths.length>0&&this.restoreWidths(e.widths)}},e.prototype.startDrag=function(e){if(!this.currentEl)throw new Error("currentEl is "+this.currentEl+". currentEl must be assigned before startDrag() is called.");this.startElWidth=this.currentEl.offsetWidth,this.startScreenX=e.screenX,this.renderer.addClass(this.currentEl,"is-active"),this.renderer.setStyle(this.document.body,"cursor","col-resize"),this.mouseupListener&&(this.mouseupListener(),this.mouseupListener=void 0),this.mousemoveListener&&(this.mousemoveListener(),this.mousemoveListener=void 0),this.mouseupListener=this.renderer.listen(this.document,"mouseup",this.stopDrag.bind(this)),this.mousemoveListener=this.renderer.listen(this.document,"mousemove",this.drag.bind(this))},e.prototype.drag=function(e){this.setWidth(this.startElWidth+(e.screenX-this.startScreenX))},e.prototype.stopDrag=function(e){this.mousemoveListener&&(this.mousemoveListener(),this.mousemoveListener=void 0),this.mouseupListener&&(this.mouseupListener(),this.mouseupListener=void 0),this.currentEl&&this.renderer.removeClass(this.currentEl,"is-active"),this.renderer.removeStyle(this.document.body,"cursor")},e.prototype.restoreWidths=function(e){},e.prototype.saveWidths=function(e){this.rememberWidth&&this.id?this.cacheService.setItem("resizable-"+this.id,{widths:e}):this.rememberWidth&&console.error("rememberWidth is set but will not take effect unless ID is also set")},e}();Ae.decorators=[{type:r.Directive}],Ae.ctorParameters=function(){return[{type:r.Renderer2},{type:v},{type:Document,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]}]},Ae.propDecorators={rememberWidth:[{type:r.Input}],id:[{type:r.Input}]};var Ve=function(e){function t(t,o,n,r){var i=e.call(this,o,n,r)||this;return i.el=t,i.rememberWidth=!0,i}return k(t,e),t.prototype.ngOnInit=function(){this.currentEl=this.el.nativeElement},t.prototype.setWidth=function(e){this.renderer.setStyle(this.currentEl,"width",e+"px"),this.saveWidths([e])},t.prototype.restoreWidths=function(e){this.setWidth(e[0])},t}(Ae);Ve.decorators=[{type:r.Component,args:[{selector:"ec-resizable",template:'<div class="content">\n <ng-content></ng-content>\n </div>\n <div class="handle" (mousedown)="startDrag($event)"></div>',styles:[':root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{border-right:1px solid var(--ec-border-color-legacy);display:flex;max-width:480px;min-width:100px;position:relative;width:240px}:host.is-active{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}:host.is-active .handle:after{background-color:var(--ec-color-interactive)}.handle{height:100%;padding:0 5px;position:absolute;right:-7px;top:0;width:13px;z-index:var(--ec-z-index-splitter)}.handle:after{content:"";display:block;height:100%;position:relative;transition:background-color .3s ease}.handle:hover{cursor:col-resize}.handle:hover:after{background-color:var(--ec-color-interactive)}.content{display:flex;overflow:hidden}.content,.content ::ng-deep>*{flex:1 1;min-height:0;min-width:0}']}]}],Ve.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:v},{type:Document,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]}]};var Le=function(){};Le.decorators=[{type:r.Component,args:[{selector:"ec-spinner",template:'<div class="spinner">\r\n <span class="spinner-dot"></span>\r\n <span class="spinner-dot"></span>\r\n <span class="spinner-dot"></span>\r\n <span class="spinner-dot"></span>\r\n</div>',styles:["@-webkit-keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes sk-bouncedelay{0%,80%,to{opacity:0}40%{opacity:1}}.spinner{display:flex}.spinner-dot{-webkit-animation:sk-bouncedelay 1.7s ease-in-out infinite both;animation:sk-bouncedelay 1.7s ease-in-out infinite both;background-color:var(--ec-color-interactive);height:.75rem;margin-right:.25rem;width:.75rem}.spinner-dot:first-child{-webkit-animation-delay:-.6s;animation-delay:-.6s}.spinner-dot:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}.spinner-dot:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}:host(.spinner-small) .spinner-dot{-webkit-animation:sk-bouncedelay 1.7s ease-in-out infinite both;animation:sk-bouncedelay 1.7s ease-in-out infinite both;background-color:var(--ec-color-interactive);height:.5rem;margin-right:.1666666667rem;width:.5rem}:host(.spinner-small) .spinner-dot:first-child{-webkit-animation-delay:-.6s;animation-delay:-.6s}:host(.spinner-small) .spinner-dot:nth-child(2){-webkit-animation-delay:-.4s;animation-delay:-.4s}:host(.spinner-small) .spinner-dot:nth-child(3){-webkit-animation-delay:-.2s;animation-delay:-.2s}"]}]}];var Re=function(){function e(){this._splashVisibility=new c.Subject,this.splashVisibility=this._splashVisibility}return e.prototype.showSplash=function(){this._splashVisibility.next(!0)},e.prototype.hideSplash=function(){this._splashVisibility.next(!1)},e}();Re.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new Re},token:Re,providedIn:"root"}),Re.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],Re.ctorParameters=function(){return[]};var Fe=function(){function e(e){this.splashService=e,this.isVisible=!0,this.stopAnimation=!1,this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.splashService.splashVisibility.pipe(d.takeUntil(this.destroyed),d.tap((function(t){return C(e,void 0,void 0,(function(){var e=this;return S(this,(function(o){return t?this.stopAnimation=!1:c.timer(1e3).pipe(d.takeUntil(this.splashService.splashVisibility)).subscribe((function(){e.stopAnimation=!0})),[2]}))}))}))).subscribe((function(t){e.isVisible=t}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e}();Fe.decorators=[{type:r.Component,args:[{selector:"ec-splash",template:'<div class="app-splash"\r\n [class.app-loaded]="!isVisible">\r\n\r\n \x3c!-- This is the raw icon.svg file so we can animate it --\x3e\r\n <svg [class.d-none]="stopAnimation" \r\n xmlns="http://www.w3.org/2000/svg"\r\n width="50"\r\n height="50"\r\n viewBox="0 0 50 50">\r\n <g>\r\n <g>\r\n <path fill="#A0AD39"\r\n fill-rule="nonzero"\r\n d="M34.93,32.25 L34.93,37.25 L15.21,37.25 L15.21,32.25 L34.93,32.25 Z M28.45,22.48 L28.45,27.48 L15.21,27.48 L15.21,22.48 L28.45,22.48 Z M34.93,12.71 L34.93,17.71 L15.21,17.71 L15.21,12.71 L34.93,12.71 Z" />\r\n <path fill="#A0AD39"\r\n d="M24.99,5 C31.1,5 36.56,7.75 40.23,12.07 L44.33,9.16 C39.75,3.57 32.78,0 24.99,0 C17.2,0 10.23,3.57 5.65,9.16 L9.75,12.07 C13.42,7.75 18.88,5 24.99,5 Z" />\r\n </g>\r\n <path fill="#17303B"\r\n d="M40.24,37.93 C36.57,42.25 31.11,45 25,45 C18.89,45 13.43,42.25 9.76,37.93 L9.78,37.92 C6.82,34.43 5,29.94 5,25 C5,21.86 5.74,18.91 7.03,16.26 L2.89,13.33 C1.05,16.81 0,20.78 0,25 C0,31.01 2.13,36.52 5.66,40.83 L5.66,40.83 C10.24,46.42 17.21,49.99 25,49.99 C32.79,49.99 39.76,46.42 44.34,40.83 L40.24,37.93 Z" />\r\n </g>\r\n\r\n </svg>\r\n</div>'}]}],Fe.ctorParameters=function(){return[{type:Re}]};var _e=function(){function e(e){this.el=e,this.onResize=new r.EventEmitter}return e.prototype.emitWidth=function(e){this.onResize.emit(e)},e}();_e.decorators=[{type:r.Component,args:[{selector:"th.is-resizable",template:'<div class="content-wrapper">\r\n <div class="content">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n<div class="handle"></div>\r\n'}]}],_e.ctorParameters=function(){return[{type:r.ElementRef}]},_e.propDecorators={onResize:[{type:r.Output}]};var Ne=function(e){function t(t,o,n,r){var i=e.call(this,o,n,r)||this;return i.el=t,i.sortableTable=!1,i.cols=[],i.colWidths=[],i.currentTableWidth=0,i.minTableWidth=0,i.minColWidth=32,i.destroyed=new c.Subject,i}return k(t,e),t.prototype.ngOnInit=function(){var e=this;this.initResizableColumns(),this.resizableColumns.changes.pipe(d.takeUntil(this.destroyed)).subscribe((function(){return e.initResizableColumns()}))},t.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.complete()},t.prototype.initResizableColumns=function(){var e=this;if(!1!==this.isResizable){if(this.tableEl=this.el.nativeElement,"TABLE"!==this.tableEl.tagName)throw new Error("The 'ecResizableTable' directive can only be placed on a <table> element.");this.sortableTable&&(this.minColWidth=48);var t=this.tableEl.querySelectorAll("th"),o=this.tableEl.querySelectorAll("col");if(this.cols=[],this.colWidths=[],0===o.length){var n=this.document.createDocumentFragment(),r=this.renderer.createElement("colgroup");t.forEach((function(){var t=e.renderer.createElement("col");e.cols.push(t),e.renderer.appendChild(n,t)})),this.renderer.appendChild(r,n),this.renderer.insertBefore(this.tableEl,r,this.tableEl.firstElementChild)}else o.forEach((function(t){e.cols.push(t)})),t.length!==o.length&&console.warn("There are "+t.length+" <th> elements and "+this.cols.length+" <col> elements in this this table. The number of columns and table headers must match. <th> elements with a 'colspan' attribute are currently not supported.");var i=Array.from(t).reverse().findIndex((function(e){return e.classList.contains("is-resizable")}))+1;this.lastColIndex=this.cols.length-i,t.forEach((function(t){if(t.classList.contains("is-resizable")){var o=t.querySelector(".handle");e.renderer.listen(o,"mousedown",(function(o){e.currentEl=t,e.startDrag(o)}))}})),window.setTimeout((function(){e.setInitialWidths(t)}))}},t.prototype.setWidth=function(e){if(this.currentEl){var t=this.currentEl.cellIndex;e=Math.max(e,this.minColWidth),this.colWidths[t]=e,this.renderer.setStyle(this.cols[t],"width",e+"px");var o=0;this.colWidths.forEach((function(e){o+=e}));var n=this.containerEl.nativeElement.clientWidth;this.minTableWidth!==n&&(this.minTableWidth=n);var r=o-this.minTableWidth;if(r<0){var i=t===this.lastColIndex?this.lastColIndex-1:this.lastColIndex,a=Math.max(this.colWidths[i]+Math.abs(r),this.minColWidth);this.renderer.setStyle(this.cols[i],"width",a+"px"),this.renderer.setStyle(this.tableEl,"width",this.minTableWidth+"px")}else this.renderer.setStyle(this.tableEl,"width",o+"px")}},t.prototype.stopDrag=function(t){if(e.prototype.stopDrag.call(this,t),this.currentEl){var o=this.currentEl.cellIndex,n=this.resizableColumns.find((function(e){return e.el.nativeElement.cellIndex===o}));n&&n.emitWidth(Math.round(this.colWidths[o]))}},t.prototype.setInitialWidths=function(e){var t=this;this.currentTableWidth=this.tableEl.offsetWidth,this.minTableWidth=this.containerEl.nativeElement.clientWidth,e.forEach((function(e){t.colWidths[e.cellIndex]=e.offsetWidth;var o=e.style.width;o&&(t.renderer.setStyle(t.cols[e.cellIndex],"width",o),t.renderer.removeStyle(e,"width"))}));var o=0;this.colWidths.forEach((function(e){o+=e}));var n=o-this.currentTableWidth;if(n>0){var r=e[e.length>1?e.length-2:0];this.colWidths[r.cellIndex]=r.offsetWidth-n,this.renderer.setStyle(this.cols[r.cellIndex],"width",this.colWidths[r.cellIndex]+"px"),o-=n}this.renderer.setStyle(this.tableEl,"width",Math.max(this.currentTableWidth,o)+"px"),this.renderer.setStyle(this.tableEl,"minWidth","100%")},t}(Ae);function Be(e){return!!(e.error&&e.error.hasOwnProperty("status")&&e.error.status.hasOwnProperty("message"))}Ne.decorators=[{type:r.Directive,args:[{selector:"[ecResizableTable]"}]}],Ne.ctorParameters=function(){return[{type:r.ElementRef},{type:r.Renderer2},{type:v},{type:Document,decorators:[{type:r.Inject,args:[n.DOCUMENT]}]}]},Ne.propDecorators={isResizable:[{type:r.Input,args:["ecResizableTable"]}],containerEl:[{type:r.Input}],sortableTable:[{type:r.Input}],resizableColumns:[{type:r.Input}]};var He=function(){function e(){}return e.prototype.parseApiError=function(e,t){if("string"==typeof e)return e;var o=t||"DefaultUnknownError_SC";if(e&&Be(e))try{o=e.error.status.message}catch(e){this.logConsoleError(e)}else this.logConsoleError(e);return o},e.prototype.logConsoleError=function(e){console&&"function"==typeof console.error&&console.error("unknown error:",e)},e}();He.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new He},token:He,providedIn:"root"}),He.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],He.ctorParameters=function(){return[]};var je=function(){function e(e){this.translateService=e}return e.prototype.transform=function(e,t,o,n){var r=this.translateService.instant(t||"results");return void 0!==o?this.getResultsCount(e,r,o):n?this.getPagedResultsCount(e,r,n):""},e.prototype.getResultsCount=function(e,t,o){return e.totalItems>o?o+" "+this.translateService.instant("of")+" "+e.totalItems:e.totalItems+" "+t},e.prototype.getPagedResultsCount=function(e,t,o){return o.skip+1+(e.totalItems>1?"-"+(o.skip+e.totalItems)+" ":" ")+(this.translateService.instant("of")+" ")+e.totalItemsBeforePaging+" "+t},e}();je.decorators=[{type:r.Pipe,args:[{name:"rowCount"}]}],je.ctorParameters=function(){return[{type:s.TranslateService}]};var We=function(){function e(e){this.el=e,this.pageNumber=1,this.maxTabs=10,this.pageChanged=new r.EventEmitter,this.dropdownItems=[],this.currentTabs=new se}return e.prototype.ngOnChanges=function(){var e=this;if(0===this.totalItems)return this.dropdownItems=[],void(this.currentTabs=new se);this.setDropdownItems();var t=this.dropdownItems.find((function(t){return t.value.firstPage<=e.pageNumber&&t.value.lastPage>=e.pageNumber}));t||(console.error("Page "+this.pageNumber+" does not exist. Setting the starting page number to 1."),t=this.dropdownItems[0],this.pageNumber=1),this.setTabs(t,this.pageNumber)},e.getPagingInfo=function(e,t){return{skip:(e-1)*t,pageSize:t,pageNumber:e}},e.prototype.onItemSelected=function(e){this.setTabs(e),this.onPageChange(parseInt(this.currentTabs.selected.label)),this.el.nativeElement.querySelector(".tab.active").focus()},e.prototype.setTabs=function(e,t){for(var o=this,n=[],r=function(e){n.push({label:""+e,onClick:function(){o.onPageChange(e)}})},i=e.value.firstPage;i<=e.value.lastPage;i++)r(i);var a=t?n.find((function(e){return parseInt(e.label)===t})):n[0];this.currentTabs=new se(n,a)},e.prototype.onPageChange=function(t){this.pageNumber=t,this.pageChanged.emit(e.getPagingInfo(t,this.pageSize))},e.prototype.setDropdownItems=function(){this.dropdownItems=[];for(var e=Math.floor(this.totalItems/this.pageSize),t=0===this.totalItems%this.pageSize?e:e+1,o=1,n=this.maxTabs||10,r=n;r<t;)this.dropdownItems.push({label:o+"-"+r,value:{firstPage:o,lastPage:r}}),o+=n,r+=n;this.dropdownItems.push({label:o===t?""+o:o+"-"+t,value:{firstPage:o,lastPage:t}})},e}();We.decorators=[{type:r.Component,args:[{selector:"ec-table-pagination",template:'<ec-tabs id="{{id}}_pages"\r\n class="my-2 is-condensed"\r\n [tabGroup]="currentTabs"\r\n tabStyle="pills">\r\n</ec-tabs>\r\n<ec-dropdown id="{{id}}_morePages"\r\n *ngIf="dropdownItems.length > 1"\r\n class="my-1 ml-1"\r\n menuTemplateType="label"\r\n icon="icon-more"\r\n menuPosition="left"\r\n [menuMinWidth]="80"\r\n [showArrow]="false"\r\n [popupFixed]="true"\r\n [items]="dropdownItems"\r\n (itemSelected)="onItemSelected($event)">\r\n</ec-dropdown>',host:{class:"d-flex px-2"}}]}],We.ctorParameters=function(){return[{type:r.ElementRef}]},We.propDecorators={id:[{type:r.Input}],totalItems:[{type:r.Input}],pageSize:[{type:r.Input}],pageNumber:[{type:r.Input}],maxTabs:[{type:r.Input}],pageChanged:[{type:r.Output}]};var Ue=function(){function e(e,t,o){this.errorService=e,this.translateService=t,this.rowCountPipe=o,this.id="",this.resizable=!1,this.sortable=!1,this.autofocus=!1,this.tableClasses="",this.sortChange=new r.EventEmitter,this.pageChangeEmitter=new r.EventEmitter,this.searchboxPlaceholder="",this.noDataMessage="SearchableTable_Default_NoData_SC",this.noSearchResultsMessage="SearchableTable_Default_NoMatches_SC",this.status=new ue("hasData"),this.tableLayoutFixed=!1,this.itemsChange=new r.EventEmitter,this.maxItemCount=100,this.hideSearchControl=!1,this.hideHeader=!1,this.objectType="results",this.hideFooter=!1,this.pageable=!1,this.maxTabs=10,this.searchboxReadonly=!1,this.additionalCountText="",this.selectable=!1,this.removeCard=!1,this.overlayClasses="",this.fillParentHeight=!1,this.tableCaption=this.translateService.instant(this.noDataMessage||"SearchableTable_Default_NoData_SC"),this.resultsCount="",this.searchResults={items:[],totalItems:0},this.refreshTrigger=c.EMPTY,this.destroyed=new c.Subject,this.pageChanged=new c.Subject,this.initTable=new c.Subject}return Object.defineProperty(e.prototype,"searchModel",{get:function(){return this.formModel.controls.searchModel},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){e.pageSize&&!e.pageSize.firstChange&&this.pageable&&(this.pageInfo=We.getPagingInfo(1,this.pageSize),this.onPageChange(this.pageInfo))},e.prototype.ngOnInit=function(){var e=this;this.status.setStatus("pending","Loading"),this.setUpRefreshTrigger();var t=c.merge(this.formModel.valueChanges.pipe(d.skipUntil(this.ready),d.debounceTime(300)),this.refreshTrigger,this.initTable).pipe(d.tap((function(){e.pageable&&(e.pageInfo=We.getPagingInfo(1,e.pageSize))})));c.merge(t,this.pageChanged.pipe(d.skipUntil(this.ready))).pipe(d.pluck("searchModel"),d.map((function(e){return(e||"").trim().toLowerCase()})),d.tap((function(){return e.status.setStatus("pending","Loading")})),d.switchMap((function(t){return e.getItems(t,e.pageInfo)})),d.catchError((function(t,o){return e.status.setStatus("error",e.errorService.parseApiError(t)),o})),d.takeUntil(this.destroyed)).subscribe((function(t){e.pageable||(t.items=t.items.slice(0,e.maxItemCount)),e.searchResults=t,e.tableCaption=e.getCaption(t),e.resultsCount=e.pageable?e.rowCountPipe.transform(t,e.objectType,void 0,e.pageInfo):e.rowCountPipe.transform(t,e.objectType,e.maxItemCount),t.items.length||e.searchModel.value?e.searchModel.disabled&&e.searchModel.enable({emitEvent:!1}):e.searchModel.disable({emitEvent:!1}),e.status.setStatus("hasData"),e.itemsChange.emit(t)})),this.ready.subscribe({complete:function(){e.initTable.next(e.formModel.value),e.initTable.complete()}})},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.onSortChange=function(e){this.sortChange.emit(e)},e.prototype.onPageChange=function(e){this.status.setStatus("pending","Loading"),this.pageInfo=e,this.pageChangeEmitter.emit(e),this.pageChanged.next(this.formModel.value)},e.prototype.setUpRefreshTrigger=function(){var e=this;this.refresh&&(this.refreshTrigger=this.refresh.pipe(d.map((function(t){return t&&t.clearSearch?(e.searchModel.reset("",{emitEvent:!1}),Object.assign(Object.assign({},e.formModel),{searchModel:""})):e.formModel.value})),d.takeUntil(this.destroyed)))},e.prototype.getCaption=function(e){return e.items.length?"":this.searchModel.value?this.translateService.instant(this.noSearchResultsMessage||"SearchableTable_Default_NoMatches_SC",{searchText:this.searchModel.value}):this.translateService.instant(this.noDataMessage||"SearchableTable_Default_NoData_SC")},e}();Ue.decorators=[{type:r.Component,args:[{selector:"ec-searchable-table",template:'<header *ngIf="!hideHeader"\r\n class="d-flex flex-shrink align-items-center mb-3">\r\n <ec-textbox id="{{id}}_searchbox"\r\n *ngIf="!hideSearchControl"\r\n class="mb-0 flex-grow mr-2"\r\n [autofocus]="autofocus"\r\n [formModel]="searchModel"\r\n [tabindex]="searchboxTabIndex"\r\n [placeholder]="searchboxPlaceholder"\r\n [readonly]="searchboxReadonly"></ec-textbox>\r\n <div class="flex-grow">\r\n <ng-content select=".searchable-table-controls"></ng-content>\r\n </div>\r\n</header>\r\n<section id="{{id}}_card"\r\n class="d-flex flex-column {{overlayClasses}}"\r\n [ngClass]="{\'is-translucent\': status.status !== \'error\', \'has-mask\': status.status !== \'hasData\', \'card m-0 bg-content\': !customContentTemplate && !removeCard}"\r\n ecOverlay\r\n [status]="status.status"\r\n [message]="status.message"\r\n [displayAsMask]="true">\r\n <ng-content select=".card-header"></ng-content>\r\n <ng-container *ngTemplateOutlet="customContentTemplate || defaultContentTemplate">\r\n </ng-container>\r\n\r\n \x3c!-- the default template is an ec-table with proxied-over searchable table inputs. \r\n If that doesn\'t work for you then you can specify a customContentTemplate to use instead\r\n and still retain all the event handling, header, footer pagination, etc support --\x3e\r\n <ng-template #defaultContentTemplate>\r\n <ec-table id="{{id}}_table"\r\n class="{{tableClasses}}"\r\n [class.is-fixed]="tableLayoutFixed"\r\n [sortable]="sortable"\r\n [sort]="sort"\r\n (sortChange)="onSortChange($event)"\r\n [resizable]="resizable"\r\n [scrollable]="true"\r\n [selectable]="selectable"\r\n [selectionContext]="selectionContext"\r\n [selectionToolbarTemplate]="selectionToolbarTemplate"\r\n [resizableColumns]="resizableColumns">\r\n <ng-content></ng-content>\r\n </ec-table>\r\n </ng-template>\r\n\r\n \x3c!-- pagination footer visible if table is page-able and there are more than one page of results --\x3e\r\n <footer *ngIf="!hideFooter && pageable && searchResults.totalItemsBeforePaging! > pageSize!"\r\n class="pagination-footer"\r\n [class.border-top]="!customContentTemplate">\r\n <ec-table-pagination id="{{id}}_pager"\r\n class="font-color-primary"\r\n [totalItems]="searchResults.totalItemsBeforePaging"\r\n [pageSize]="pageSize"\r\n [maxTabs]="maxTabs"\r\n [pageNumber]="pageInfo?.pageNumber"\r\n (pageChanged)="onPageChange($event)">\r\n </ec-table-pagination>\r\n <div id="resultsCount"\r\n *ngIf="searchResults?.items?.length"\r\n class="ml-auto font-color-hint text-truncate" \r\n title="{{resultsCount}} {{additionalCountText}}">{{resultsCount}} {{additionalCountText}}</div>\r\n </footer>\r\n\r\n \x3c!-- default footer: visible if hideFooter is false and table is not page-able or there are only one page of results (always shows if there is a caption to indicate no results) --\x3e\r\n <footer *ngIf="(!hideFooter && (!pageable || searchResults.totalItemsBeforePaging! <= pageSize!)) || tableCaption"\r\n class="caption-footer"\r\n [ngClass]="{\'has-results\': searchResults?.items?.length, \'border-top\': searchResults?.items?.length && !customContentTemplate}">\r\n <ng-content *ngIf="!tableCaption"\r\n select=".searchable-table-footer"></ng-content>\r\n <div id="tableCaption"\r\n *ngIf="tableCaption"\r\n [innerHTML]="tableCaption"></div>\r\n <div id="resultsCount"\r\n *ngIf="searchResults?.items?.length"\r\n class="ml-auto text-truncate"\r\n title="{{resultsCount}} {{additionalCountText}}">{{resultsCount}} {{additionalCountText}}</div>\r\n </footer>\r\n</section>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{--ec-searchable-table-flex-ec-table:var(--ec-searchable-table-flex-properties,0 1 auto);--ec-searchable-table-flex-overlay-section:var(--ec-searchable-table-flex-properties,0 1 auto);--ec-searchable-table-flex-properties:0 1 auto;display:flex;flex:1 1;flex-direction:column;min-height:0}:host ::ng-deep .card-header+ec-table.is-selectable th{height:2.5rem;padding-bottom:.9375rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle{padding-top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable th.is-resizable .handle:before{top:.5rem}:host ::ng-deep .card-header+ec-table.is-selectable .selectable-table-toolbar{height:2.5rem;padding-bottom:.5rem}section{flex:var(--ec-searchable-table-flex-overlay-section);min-height:0}ec-table{flex:var(--ec-searchable-table-flex-ec-table);min-height:0}footer{align-items:center;display:flex;flex:none;font-size:var(--ec-font-size-label);line-height:1rem}footer.has-results{color:var(--ec-color-hint-dark);text-align:right}.pagination-footer{padding:0 .5rem 0 0}.caption-footer{height:var(--ec-searchable-table-height-caption-footer);padding:.5rem}.card.has-mask{min-height:15rem}"]}]}],Ue.ctorParameters=function(){return[{type:He},{type:s.TranslateService},{type:je}]},Ue.propDecorators={id:[{type:r.Input}],resizable:[{type:r.Input}],sortable:[{type:r.Input}],sort:[{type:r.Input}],autofocus:[{type:r.Input}],tableClasses:[{type:r.Input}],sortChange:[{type:r.Output}],pageChangeEmitter:[{type:r.Output,args:["pageChange"]}],searchboxPlaceholder:[{type:r.Input}],formModel:[{type:r.Input}],noDataMessage:[{type:r.Input}],noSearchResultsMessage:[{type:r.Input}],ready:[{type:r.Input}],getItems:[{type:r.Input}],refresh:[{type:r.Input}],status:[{type:r.Input}],tableLayoutFixed:[{type:r.Input}],itemsChange:[{type:r.Output}],searchboxTabIndex:[{type:r.Input}],maxItemCount:[{type:r.Input}],hideSearchControl:[{type:r.Input}],hideHeader:[{type:r.Input}],objectType:[{type:r.Input}],hideFooter:[{type:r.Input}],pageable:[{type:r.Input}],pageSize:[{type:r.Input}],maxTabs:[{type:r.Input}],searchboxReadonly:[{type:r.Input}],selectionContext:[{type:r.Input}],selectionToolbarTemplate:[{type:r.Input}],resizableColumns:[{type:r.ContentChildren,args:[_e,{descendants:!0}]}],additionalCountText:[{type:r.Input}],selectable:[{type:r.Input}],customContentTemplate:[{type:r.Input}],removeCard:[{type:r.Input}],overlayClasses:[{type:r.Input}],fillParentHeight:[{type:r.Input}]};var qe=function(){};qe.decorators=[{type:r.Component,args:[{selector:"[ecTableDetailRow]",template:'\n <td></td>\n <td [class.has-max-height]="maxHeight" class="table-detail-content {{contentClass}}" [attr.colspan]="contentColSpan">\n <div [style.max-height]="maxHeight"><ng-content></ng-content></div>\n </td>\n ',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background-color:var(--ec-background-color-detail)}td:first-child{padding:.25rem 0!important;vertical-align:top;width:1.5rem}.table-detail-content{background-color:transparent;border-top:1px solid var(--ec-border-color-legacy);padding:1rem 2rem 1rem 0!important}.table-detail-content.has-max-height{padding:0!important}.table-detail-content.has-max-height>div{overflow-y:auto;padding:1rem 2rem 1rem 0}"]}]}],qe.propDecorators={contentClass:[{type:r.Input}],contentColSpan:[{type:r.Input}],maxHeight:[{type:r.Input}]};var Ge=function(){function e(e){this.el=e,this.borderRight=!1,this.borderLeft=!1}return e.prototype.ngOnInit=function(){if(this.el.nativeElement.classList.contains("is-resizable"))throw new Error("Failed to lock table column because it was also resizable. Resizable table columns cannot currently be locked. Remove the 'is-resizable' class from THs of table columms that have the [ecTableLockedColumn] component.");if(this.el.nativeElement.attributes.getNamedItem("colspan"))throw new Error("Failed to lock table column because it had a 'colspan'. Locked columns do not currently support THs or TDs with a 'colspan'. Remove the 'colspan' attribute from table columns that have the [ecTableLockedColumn] component.");this.updatePositionAndBorder()},e.prototype.ngOnChanges=function(){this.options&&this.updatePositionAndBorder()},e.prototype.updatePositionAndBorder=function(){if("number"==typeof this.options.left&&"number"==typeof this.options.right)throw new Error("Failed to lock table column because it had a value for both left and right. Only left or right can have a value.");"number"==typeof this.options.left?(this.left=this.options.left,this.borderRight=this.options.border||!1):(this.right=this.options.right,this.borderLeft=this.options.border||!1)},e}();Ge.decorators=[{type:r.Component,args:[{selector:"[ecTableLockedColumn]",template:"<ng-content></ng-content>",styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{background-color:var(--ec-background-color);position:sticky!important;z-index:2!important}:host(th){z-index:3!important}"]}]}],Ge.ctorParameters=function(){return[{type:r.ElementRef}]},Ge.propDecorators={options:[{type:r.Input,args:["ecTableLockedColumn"]}],left:[{type:r.HostBinding,args:["style.left.px"]}],right:[{type:r.HostBinding,args:["style.right.px"]}],borderRight:[{type:r.HostBinding,args:["class.border-right"]}],borderLeft:[{type:r.HostBinding,args:["class.border-left"]}]};var $e=function(){};$e.decorators=[{type:r.Component,args:[{selector:"[ecTableMasterHeaderRow]",template:"<th></th><ng-content></ng-content>",styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}th{padding:.25rem 0!important;vertical-align:top;width:1.5rem}th ::ng-deep+th,th ::ng-deep+th.is-resizable{padding-left:0}"]}]}];var Ye=function(){function e(e,t){this.renderer=e,this.el=t,this.showDetails=!1,this.showDetailsChanged=new r.EventEmitter}return e.prototype.ngOnInit=function(){this.detailRowColSpan||console.error("A value for [detailRowColSpan] is required to render a detail row correctly. This should be the number of columns TDs placed inside an tr[ecTableMasterRow]."),this.parentNode=this.renderer.parentNode(this.el.nativeElement),this.updateDetailRow()},e.prototype.ngOnChanges=function(e){e.hasDetails&&!e.hasDetails.firstChange&&void 0!==e.hasDetails.currentValue&&this.updateDetailRow(),e.showDetails&&!e.showDetails.firstChange&&void 0!==e.showDetails.currentValue&&this.updateVisibility()},e.prototype.ngOnDestroy=function(){this.removeDetailView()},e.prototype.updateDetailRow=function(){if(this.hasDetails){if(!this.detailTemplate)return void console.error("A value for the [detailTemplate] input is required when 'hasDetails' is true.");this.detailView=this.detailRowTemplate.createEmbeddedView({}),this.updateVisibility()}else this.removeDetailView()},e.prototype.toggleDetails=function(e){this.showDetails=e,this.showDetailsChanged.emit(e),this.updateVisibility()},e.prototype.updateVisibility=function(){this.showDetails?this.show():this.hide()},e.prototype.show=function(){var e=this;this.detailView&&(this.siblingNode=this.renderer.nextSibling(this.el.nativeElement),this.detailView.reattach(),this.detailView.detectChanges(),this.detailView.rootNodes.forEach((function(t){e.renderer.insertBefore(e.parentNode,t,e.siblingNode)})))},e.prototype.hide=function(){this.detailView&&(this.detailView.detach(),this.removeDetailNodes())},e.prototype.removeDetailView=function(){this.detailView&&(this.detailView.destroy(),this.removeDetailNodes())},e.prototype.removeDetailNodes=function(){var e=this;this.detailView&&this.detailView.rootNodes.forEach((function(t){try{e.renderer.removeChild(e.parentNode,t)}catch(e){}}))},e}();Ye.decorators=[{type:r.Component,args:[{selector:"[ecTableMasterRow]",template:'<td>\r\n <ec-collapsible-toggle *ngIf="hasDetails"\r\n id="{{id}}_toggle"\r\n [expanded]="showDetails"\r\n (expandedChange)="toggleDetails($event)"></ec-collapsible-toggle>\r\n</td>\r\n<ng-content></ng-content>\r\n\r\n<ng-template #detailRow>\r\n <tr ecTableDetailRow class="{{detailRowClass}}" [contentClass]="detailRowContentClass" [contentColSpan]="detailRowColSpan" [maxHeight]="detailRowMaxHeight">\r\n <ng-container *ngTemplateOutlet="detailTemplate; context: {$implicit: detailContext}"></ng-container>\r\n </tr>\r\n</ng-template>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}td{padding:.25rem 0!important;vertical-align:top;width:1.5rem}td ::ng-deep+td{padding-left:0}"]}]}],Ye.ctorParameters=function(){return[{type:r.Renderer2},{type:r.ElementRef}]},Ye.propDecorators={id:[{type:r.Input}],hasDetails:[{type:r.Input}],showDetails:[{type:r.Input}],detailTemplate:[{type:r.Input}],detailContext:[{type:r.Input}],detailRowColSpan:[{type:r.Input}],detailRowClass:[{type:r.Input}],detailRowContentClass:[{type:r.Input}],detailRowMaxHeight:[{type:r.Input}],showDetailsChanged:[{type:r.Output}],detailRowTemplate:[{type:r.ViewChild,args:["detailRow",{read:r.TemplateRef,static:!0}]}]};var Xe=function(){this.selectAllCheckbox=new i.FormControl(!1),this.rowCheckboxes=new i.FormArray([]),this.lastClickedIndex=-1,this.rowAddedOrRemoved=new c.Subject,this.disableAdvancedRowClickBehavior=!1,this.nonDependentCheckboxes=[]},Ke=function(){function e(){this.id="",this._selectionEnabled=!0,this.rowIndex=-1,this.lockedColOptions={border:!1,left:0},this.isSelected=!1,this.isHeader=!1,this.isCheckboxDisabled=!1,this.dependentCheckboxesReference={controls:[]},this.checkboxAttributeID="",this.destroyed=new c.Subject}return Object.defineProperty(e.prototype,"isSelectionEnabled",{get:function(){return this._selectionEnabled},set:function(e){this._selectionEnabled=!1!==e},enumerable:!1,configurable:!0}),e.prototype.ngOnInit=function(){var e,t,o;if(this.isHeader=this.rowIndex<0,this.context){var n=null===(t=null===(e=this.context)||void 0===e?void 0:e.rowCheckboxes)||void 0===t?void 0:t.at(this.rowIndex);this.isHeader||n||(n=new i.FormControl(this.isSelected),null===(o=this.context)||void 0===o||o.rowCheckboxes.push(n)),this.formControl=this.isHeader?this.context.selectAllCheckbox:n,this.watchForChanges()}else console.error("ecTableSelectableRow requires a defined SelectableTableRowContext to be shared with all instances in one table.")},e.prototype.ngOnChanges=function(e){var t;e.rowIndex&&!this.isHeader&&(this.formControl=this.context.rowCheckboxes.at(this.rowIndex),this.checkboxAttributeID=this.id+"_row"+this.rowIndex+"_ecCheckbox"),e.isSelectionEnabled&&!this.isSelectionEnabled&&!0===(null===(t=this.formControl)||void 0===t?void 0:t.value)&&this.formControl.setValue(!1),e.isSelected&&this.formControl&&this.formControl.setValue(this.isSelected)},e.prototype.ngOnDestroy=function(){var e=this;if(!this.isHeader&&this.formControl){this.context.rowAddedOrRemoved.next();var t=this.context.rowCheckboxes.controls.findIndex((function(t){return t==e.formControl}));t>=0&&this.context.rowCheckboxes.removeAt(t)}},e.prototype.rowClicked=function(e){if(!this.isHeader&&this.isSelectionEnabled&&!this.isCheckboxDisabled){null==e||e.target;this.formControl.setValue(!this.formControl.value),this.context.disableAdvancedRowClickBehavior||this.handleShiftSelect(e)}},e.prototype.watchForChanges=function(){var e,t=this;this.isHeader?this.context.rowAddedOrRemoved.pipe(d.debounceTime(10),d.takeUntil(this.destroyed)).subscribe((function(){t.context.lastClickedIndex=-1;var e=[];t.context.rowCheckboxes.controls.forEach((function(o,n){t.context.nonDependentCheckboxes.includes(n)||e.push(o)})),t.dependentCheckboxesReference={controls:e}})):(this.context.rowAddedOrRemoved.next(),null===(e=this.formControl)||void 0===e||e.valueChanges.pipe(d.takeUntil(this.destroyed)).subscribe((function(e){t.isSelected=e})))},e.prototype.handleShiftSelect=function(e){var t,o=this.context.lastClickedIndex,n=this.rowIndex;if(e.shiftKey&&o>=0){if(this.clearAllRows(),n>o)for(var r=o;r<=n;r++)this.context.rowCheckboxes.at(r).setValue(!0);else if(n<o)for(r=o;r>=n;r--)this.context.rowCheckboxes.at(r).setValue(!0);else n===o&&this.formControl.setValue(!0);null===(t=document.getSelection())||void 0===t||t.removeAllRanges()}else this.context.lastClickedIndex=this.rowIndex},e.prototype.clearAllRows=function(){this.context.rowCheckboxes.controls.forEach((function(e){return e.setValue(!1)}))},e}();Ke.decorators=[{type:r.Component,args:[{selector:"[ecTableSelectableRow]",template:'\x3c!-- any elements of the existing table row that must go before the row selection checkbox can be marked with a class of before-checkbox --\x3e\r\n<ng-content select=".before-checkbox"></ng-content>\r\n<ng-container *ngIf="isSelectionEnabled">\r\n <th *ngIf="isHeader"\r\n class="checkbox"\r\n [ecTableLockedColumn]="lockedColOptions">\r\n <ec-checkbox id="{{id}}_selectAll"\r\n class="m-0"\r\n *ngIf="context?.selectAllCheckbox"\r\n [formModel]="context?.selectAllCheckbox"\r\n [dependentCheckboxesGroup]="dependentCheckboxesReference"\r\n [ignoreDisabledDependents]="false">\r\n </ec-checkbox>\r\n </th>\r\n <td *ngIf="!isHeader && formControl"\r\n class="checkbox"\r\n [ecTableLockedColumn]="lockedColOptions">\r\n \x3c!-- Use [readonly] and not [disabled] for isCheckboxDisabled to prevent user interaction\r\n and allow the value to be visible to other components (for example, when they subscribe\r\n to valueChanges on the FormArray that contains all the checkbox FormControls). --\x3e\r\n <ec-checkbox id="{{id}}_row{{rowIndex}}_checkbox"\r\n [readonly]="isCheckboxDisabled"\r\n [attr.id]="checkboxAttributeID"\r\n class="m-0 row-checkbox"\r\n [formModel]="formControl">\r\n </ec-checkbox>\r\n </td>\r\n</ng-container>\r\n\x3c!-- The rest of the table row --\x3e\r\n<ng-content></ng-content>',styles:[":host.is-enabled:not(.is-header){cursor:pointer}:host .checkbox{padding-left:1px;padding-right:1px;width:1.125rem}:host .checkbox:first-child{padding-left:.5rem;width:1.5625rem}:host.border-bottom-0 .checkbox{border-bottom:0}td.checkbox ec-checkbox ::ng-deep *{pointer-events:none}th.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-th,middle)}td.checkbox{vertical-align:var(--ec-table-selectable-row-vertical-align-checkbox-td,top)}"]}]}],Ke.propDecorators={id:[{type:r.HostBinding,args:["attr.id"]},{type:r.Input}],isSelectionEnabled:[{type:r.HostBinding,args:["class.is-enabled"]},{type:r.Input,args:["ecTableSelectableRow"]}],context:[{type:r.Input,args:["selectionContext"]}],rowIndex:[{type:r.Input}],lockedColOptions:[{type:r.Input}],isSelected:[{type:r.HostBinding,args:["class.is-selected"]},{type:r.Input}],isHeader:[{type:r.HostBinding,args:["class.is-header"]}],isCheckboxDisabled:[{type:r.Input}],rowClicked:[{type:r.HostListener,args:["click",["$event"]]}]};var Ze=function(){function e(e,t){this.renderer=e,this.el=t,this.id="",this.scrollable=!1,this.resizable=!1,this.condensed=!1,this.sortable=!1,this.selectable=!1,this.hasSelection=!1,this.isForm=!1,this.sortChange=new r.EventEmitter,this.hasMasterDetailRows=!1,this.unlisteners=[],this.sortableCols={},this.destroyed=new c.Subject}return e.prototype.ngOnChanges=function(e){if(this.sortable&&e.sort&&e.sort.currentValue&&!e.sort.firstChange){var t=e.sort.currentValue;this.currentSort&&h.isEqual(t,this.currentSort)||this.onSort(t.field,t.direction)}},e.prototype.ngAfterContentInit=function(){var e=this;this.hasMasterDetailRows=!!this.masterRows.length,this.masterRows.changes.pipe(d.takeUntil(this.destroyed)).subscribe((function(){e.hasMasterDetailRows=!!e.masterRows.length})),this.resizableColumns=this.searchableTableResizableColumns||this._resizableColumns},e.prototype.ngAfterViewInit=function(){this.sortable&&this.initSortable(),this.selectable&&this.initSelectable()},e.prototype.ngOnDestroy=function(){this.unlisteners.length&&this.unlisteners.forEach((function(e){return e()})),this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.queryElements=function(e){var t=this.el.nativeElement;return Array.from(t.querySelectorAll(e))},e.prototype.initSortable=function(){var e=this;this.queryElements("th").forEach((function(t){if(t.hasAttribute("data-sortfield")){var o=t.getAttribute("data-sortfield");if(o){e.sortableCols[o]=t;var n=e.renderer.listen(t,"click",(function(n){t.classList.contains("is-resizable")&&n.target&&n.target.classList.contains("handle")||e.onSort(o)}));e.unlisteners.push(n)}else console.error("data-sortfield attribute was not assigned a value.",t)}})),this.sort&&this.onSort(this.sort.field,this.sort.direction)},e.prototype.onSort=function(e,t){var o=this.sortableCols[e];if(o){this.currentSort&&this.currentSort.field!==e&&this.renderer.removeClass(this.sortableCols[this.currentSort.field],"is-sorted-"+this.currentSort.direction),o.classList.contains("is-sorted-desc")?(this.renderer.removeClass(o,"is-sorted-desc"),t||(t="asc")):(o.classList.contains("is-sorted-asc")&&this.renderer.removeClass(o,"is-sorted-asc"),t||(t="desc")),this.renderer.addClass(o,"is-sorted-"+t);var n={field:e,direction:t};this.currentSort=n,this.sortChange.emit(n)}},e.prototype.initSelectable=function(){var e=this;this.selectionContext.rowCheckboxes.valueChanges.pipe(d.takeUntil(this.destroyed)).subscribe((function(t){e.hasSelection=t.some((function(e){return e}))}))},e}();Ze.decorators=[{type:r.Component,args:[{selector:"ec-table",template:'<div class="selectable-table-toolbar"\r\n *ngIf="hasSelection && selectionToolbarTemplate">\r\n <ng-container *ngTemplateOutlet="selectionToolbarTemplate"></ng-container>\r\n</div>\r\n<div id="{{id}}-scroll-container" \r\n class="table-scroll-container">\r\n <table class="main-table"\r\n id="{{id}}"\r\n [ecResizableTable]="resizable"\r\n [containerEl]="el"\r\n [sortableTable]="sortable"\r\n [resizableColumns]="resizableColumns">\r\n <ng-content></ng-content>\r\n </table>\r\n</div>',encapsulation:r.ViewEncapsulation.None,styles:['@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}ec-table{display:flex;min-height:0;position:relative}ec-table .table-scroll-container{flex:1 1;min-height:0;overflow-y:auto}ec-table .main-table{border-collapse:separate;border-spacing:0;font-size:var(--ec-font-size-label);width:100%}ec-table .main-table th{border-bottom:1px solid var(--ec-border-color-dark);color:var(--ec-color-secondary-dark);font-weight:400;height:2rem;line-height:1rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}ec-table .main-table th:first-child{padding-left:1rem}ec-table .main-table th:last-child{padding-right:1rem}ec-table .main-table td{border-top:1px solid var(--ec-border-color);height:2rem;line-height:1rem;overflow:hidden;padding:.5rem;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}ec-table .main-table td:first-child{padding-left:1rem}ec-table .main-table td:last-child{padding-right:1rem}ec-table .main-table tbody>tr:first-child td{border-top:0}ec-table .main-table tbody>tr.is-error td{background-color:var(--ec-background-color-danger)}ec-table .main-table tbody>tr.is-success td{background-color:var(--ec-background-color-success)}ec-table .main-table tfoot td{font-weight:700}ec-table .main-table tbody>tr.is-selected,ec-table .main-table tbody>tr.is-selected>td{background-color:var(--ec-background-color-selected)}ec-table .main-table tr.is-heading td{border-top:0;color:var(--ec-color-secondary-dark);font-size:var(--ec-font-size-label);font-weight:var(--ec-font-weight-bold);line-height:1.333333333;padding-bottom:0;text-transform:uppercase;vertical-align:bottom}ec-table .main-table tr.is-heading+tr td{border-top:0}ec-table .main-table td.actions-col,ec-table .main-table th.actions-col{padding:0}ec-table .main-table td.actions-1,ec-table .main-table th.actions-1{width:2.0625rem}ec-table .main-table td.actions-2,ec-table .main-table th.actions-2{width:4.0625rem}ec-table .main-table td.actions-3,ec-table .main-table th.actions-3{width:6.0625rem}ec-table .main-table td.actions-4,ec-table .main-table th.actions-4{width:8.0625rem}ec-table .main-table td.actions-5,ec-table .main-table th.actions-5{width:10.0625rem}ec-table.is-condensed td,ec-table.is-condensed th{height:1.5rem;padding-bottom:.25rem;padding-top:.25rem}ec-table.is-condensed:not(.has-borders)>table td{border-bottom-width:0;border-top-width:0}ec-table .selectable-table-toolbar{align-items:center;background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color-dark);display:flex;height:3rem;left:calc(var(--selection-toolbar-left, 0rem) + 1.5625rem);padding:0 .5rem;position:absolute;right:0;top:0;z-index:4}ec-table.is-scrollable>.table-scroll-container>table{position:relative}ec-table.is-scrollable>.table-scroll-container>table>thead th{background-color:var(--ec-background-color);position:sticky!important;top:0;z-index:1}ec-table.is-scrollable>.table-scroll-container>table>tfoot td{background-color:var(--ec-background-color);bottom:0;position:sticky!important;z-index:1}ec-table.is-scrollable.bg-body>.table-scroll-container>table>tfoot td,ec-table.is-scrollable.bg-body>.table-scroll-container>table>thead th{background-color:var(--ec-background-color-body)}ec-table.is-sortable th[data-sortfield]{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper{cursor:pointer;display:flex}ec-table.is-sortable th[data-sortfield].is-resizable .content{flex:0 1 auto}ec-table.is-sortable th[data-sortfield].is-resizable .content-wrapper:after{background-position:50%;background-repeat:no-repeat;content:"";display:none;flex:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-asc .content-wrapper:after,ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z"/></svg>\');display:inline-block}ec-table.is-sortable th[data-sortfield].is-resizable.is-sorted-desc .content-wrapper:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield].is-resizable.text-right .content-wrapper{flex-direction:row-reverse}ec-table.is-sortable th[data-sortfield]:not(.is-resizable){cursor:pointer}ec-table.is-sortable th[data-sortfield]:not(.is-resizable):after{background-position:50%;background-repeat:no-repeat;content:"";display:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-asc:after,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z"/></svg>\');display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).is-sorted-desc:after{transform:scaleY(-1)}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:after{content:"";display:none!important}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right:before{background-position:50%;background-repeat:no-repeat;content:"";display:none;height:.875rem;margin:0 .25rem;vertical-align:top;width:.875rem}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-asc:before,ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M14 8.828V27a2 2 0 1 0 4 0V8.828l4.586 4.586a2 2 0 0 0 2.828-2.828l-8-8a2 2 0 0 0-2.828 0l-8 8a2 2 0 0 0 2.828 2.828L14 8.828z"/></svg>\');display:inline-block}ec-table.is-sortable th[data-sortfield]:not(.is-resizable).text-right.is-sorted-desc:before{transform:scaleY(-1)}ec-table.is-resizable .main-table{table-layout:fixed;width:100%}ec-table.is-resizable th.is-resizable{overflow:visible;position:relative;z-index:1}ec-table.is-resizable th.is-resizable.is-active{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;user-select:none}ec-table.is-resizable th.is-resizable.is-active .handle:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle{height:100%;padding:.5rem 0 .5rem 10px;position:absolute;right:-7px;right:0;top:0;width:13px;z-index:var(--ec-z-index-splitter)}ec-table.is-resizable th.is-resizable .handle:after{content:"";display:block;height:100%;position:relative;transition:background-color .3s ease}ec-table.is-resizable th.is-resizable .handle:hover{cursor:col-resize}ec-table.is-resizable th.is-resizable .handle:hover:after{background-color:var(--ec-color-interactive)}ec-table.is-resizable th.is-resizable .handle:before{background-color:var(--ec-border-color-legacy);bottom:.5rem;content:"";display:block;position:absolute;right:0;top:.5rem;width:1px}ec-table.is-resizable th.is-resizable .content{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-resizable th.is-resizable:last-child .handle:before{display:none}ec-table.is-resizable td,ec-table.is-resizable th{overflow:hidden;text-overflow:clip;white-space:nowrap}ec-table.is-selectable .main-table thead th{height:3rem}ec-table.is-selectable .main-table tbody>tr:hover>td{background-color:var(--ec-background-color-hover);border-color:transparent;cursor:pointer}ec-table.is-selectable .main-table tbody>tr:hover.is-selected{background-color:var(--ec-background-color-selected)}ec-table.is-selectable .main-table tbody>tr:hover+tr>td{border-color:var(--ec-background-color-hover)}ec-table.is-selectable th.is-resizable .handle{padding-bottom:1rem;padding-top:1rem}ec-table.is-selectable th.is-resizable .handle:before{bottom:1rem;top:1rem}ec-table.is-master-detail>table{table-layout:fixed}ec-table.is-form-table td{border-top:0;font-size:var(--ec-font-size-body);height:2.5rem;line-height:2rem;padding-bottom:.25rem;padding-top:.25rem}ec-table.is-form-table tr:first-child td{height:2.75rem;padding-top:.5rem}ec-table.is-form-table tr:last-child td{height:2.75rem;padding-bottom:.5rem}ec-table.is-fixed .main-table{table-layout:fixed}']}]}],Ze.ctorParameters=function(){return[{type:r.Renderer2},{type:r.ElementRef}]},Ze.propDecorators={id:[{type:r.HostBinding,args:["attr.id"]},{type:r.Input}],scrollable:[{type:r.HostBinding,args:["class.is-scrollable"]},{type:r.Input}],resizable:[{type:r.HostBinding,args:["class.is-resizable"]},{type:r.Input}],condensed:[{type:r.HostBinding,args:["class.is-condensed"]},{type:r.Input}],sortable:[{type:r.HostBinding,args:["class.is-sortable"]},{type:r.Input}],selectionContext:[{type:r.Input}],selectionToolbarTemplate:[{type:r.Input}],selectable:[{type:r.HostBinding,args:["class.is-selectable"]},{type:r.Input}],isForm:[{type:r.HostBinding,args:["class.is-form-table"]},{type:r.Input}],sort:[{type:r.Input}],sortChange:[{type:r.Output}],hasMasterDetailRows:[{type:r.HostBinding,args:["class.is-master-detail"]}],masterRows:[{type:r.ContentChildren,args:[Ye,{descendants:!0}]}],_resizableColumns:[{type:r.ContentChildren,args:[_e,{descendants:!0}]}],searchableTableResizableColumns:[{type:r.Input,args:["resizableColumns"]}]};var Je=function(){function e(){this.id="",this.wrap=!0,this.isCondensed=!1,this.tagClosed=new r.EventEmitter,this.tagsArray=[]}return e.prototype.ngOnChanges=function(e){e.tags&&(this.tags?Array.isArray(this.tags)?this.tagsArray=this.tags:this.tagsArray=[this.tags]:this.tagsArray=[])},e.prototype.closeTag=function(e){this.tagsArray=this.tagsArray.filter((function(t){return t!==e})),this.tagClosed.emit(e)},e}();Je.decorators=[{type:r.Component,args:[{selector:"ec-tags",template:'<ul class="tags" [class.is-wrapped]="wrap">\r\n <li *ngFor="let tag of tagsArray; index as i"\r\n id="{{id}}_tag_{{i}}"\r\n class="tag is-{{tag.type}} {{tag.classList}} mr-1"\r\n [ngClass]="{\'text-caption-1\': !isCondensed, \'text-caption-2\': isCondensed, \'is-condensed\': isCondensed, \'pr-0\': tag.isDismissable}"\r\n title="{{tag.tooltip | translate}}">\r\n <i *ngIf="tag.icon" class="ec-icon {{tag.icon}} font-color-muted ec-icon-sm"></i>\r\n {{tag.label | translate}}\r\n <button id="{{id}}_tag_{{i}}_dismissButton"\r\n *ngIf="tag.isDismissable"\r\n (click)="closeTag(tag)">\r\n <i class="ec-icon ec-icon-sm icon-cancel"></i>\r\n </button>\r\n </li>\r\n</ul>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{display:flex;list-style:none;margin:0;padding:0}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag{align-items:center;background-color:rgba(172,188,195,.25);border:2px solid #acbcc3;border-radius:calc(var(--ec-border-radius, .25rem)*3);display:inline-flex;height:1.5rem;line-height:1.25rem;overflow:hidden;padding:0 .4375rem;text-overflow:ellipsis;vertical-align:top;white-space:nowrap}.tag>.ec-icon:first-child{margin-right:.1875rem}.tag .ec-icon{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;justify-content:center;min-width:1em}.tag .ec-icon,.tag .ec-icon:after,.tag .ec-icon:before{height:auto;width:auto}.tag.is-info{background-color:rgba(172,188,195,.25);border-color:#acbcc3}.tag.is-success{background-color:rgba(193,205,35,.25);border-color:#c1cd23}.tag.is-warning{background-color:rgba(245,212,0,.25);border-color:#f5d400}.tag.is-danger{background-color:rgba(227,52,54,.25);border-color:#e33436}.tag.is-accent{background-color:rgba(144,110,168,.25);border-color:#906ea8}.tag.is-chargeback{background-color:rgba(250,123,46,.25);border-color:#fa7b2e}.tag.is-accrual{background-color:rgba(35,195,205,.25);border-color:#23c3cd}button{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:100%;padding:0 .4375rem 0 .1875rem}button:focus,button:hover{background-color:rgba(26,26,35,.1);outline:none}.is-condensed{border:0;border-radius:var(--ec-border-radius);height:1.125rem;justify-content:center;line-height:1.125rem;min-width:1.125rem;padding:0 .25rem}.is-condensed>.ec-icon:first-child{margin-right:.125rem}.is-condensed button{padding-left:.125rem;padding-right:.25rem}"]}]}],Je.ctorParameters=function(){return[]},Je.propDecorators={id:[{type:r.Input}],tags:[{type:r.Input}],wrap:[{type:r.Input}],isCondensed:[{type:r.Input}],tagClosed:[{type:r.Output}]};var Qe=function(e,t,o){void 0===o&&(o="user"),this.action=e,this.toast=t,this.source=o},et=function(){function e(){this._events=new c.Subject,this.events=this._events.asObservable()}return e.prototype.showToast=function(e,t){var o=new Qe("add",e,t);this._events.next(o)},e.prototype.dismissToast=function(e,t){var o=new Qe("remove",e,t);this._events.next(o)},e}();et.ɵprov=r.ɵɵdefineInjectable({factory:function(){return new et},token:et,providedIn:"root"}),et.decorators=[{type:r.Injectable,args:[{providedIn:"root"}]}],et.ctorParameters=function(){return[]};var tt=function(){function e(e){this.toastService=e,this.open=!1,this.TOAST_ANIMATION_DURATION=250,this.closed=new r.EventEmitter,this.TIMED_TOAST_DURATION=4e3,this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.toastService.events.pipe(d.takeUntil(this.destroyed)).subscribe((function(t){"remove"==t.action&&t.toast===e.toastItem&&e.close(t)}))},e.prototype.ngOnChanges=function(e){e.toastItem&&this.toastItem&&(this.id=this.toastItem.id,this.open=!0,this.toastItem.dismissible||this.closeAfterTimer())},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.complete()},e.prototype.closeClicked=function(){this.toastItem&&this.toastService.dismissToast(this.toastItem,"user")},e.prototype.close=function(e){var t=this;this.open=!1,c.timer(this.TOAST_ANIMATION_DURATION).subscribe((function(){t.closed.emit(e)}))},e.prototype.closeAfterTimer=function(){var e=this;c.timer(this.TIMED_TOAST_DURATION).pipe(d.takeUntil(c.race(this.closed,this.destroyed))).subscribe((function(){e.toastItem&&e.toastService.dismissToast(e.toastItem,"auto")}))},e}();tt.decorators=[{type:r.Component,args:[{selector:"ec-toast",template:'<ec-banner id="{{toastItem?.id}}_banner"\r\n [type]="toastItem?.type"\r\n bannerStyle="toast"\r\n [customIcon]="toastItem?.icon"\r\n [showCloseBtn]="toastItem?.dismissible"\r\n [autoHideOnClose]="false"\r\n (closed)="closeClicked()">\r\n <div class="d-flex">\r\n <div id="{{toastItem?.id}}_message"\r\n [innerHTML]="toastItem?.message | translate"></div>\r\n <button id="{{toastItem?.id}}_action"\r\n ecLinkButton\r\n *ngIf="toastItem?.action && toastItem?.actionLabel"\r\n class="font-weight-bold ml-2"\r\n (click)="toastItem!.action!()">{{toastItem?.actionLabel | translate}}</button>\r\n </div>\r\n</ec-banner>',styles:[":host{bottom:0;display:block;left:50%;position:fixed;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration,.25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(var(--toast-bottom, 0rem)*-1 - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}"]}]}],tt.ctorParameters=function(){return[{type:et}]},tt.propDecorators={toastItem:[{type:r.Input}],id:[{type:r.HostBinding,args:["attr.id"]}],open:[{type:r.HostBinding,args:["class.is-open"]}],TOAST_ANIMATION_DURATION:[{type:r.HostBinding,args:["style.--toast-animation-duration.ms"]}],closed:[{type:r.Output}]};var ot=function(){function e(e,t){this.toastService=e,this.telemetryService=t,this.dismissibleToastBottom=0,this.pendingToasts=[],this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){var e=this;this.toastService.events.pipe(d.takeUntil(this.destroyed)).subscribe((function(t){"add"==t.action?(e.addToast(t.toast),e.updateDismissibleToastBottom(),e.trackEvent(t)):"remove"==t.action&&t.toast!==e.currentDismissibleToast&&t.toast!==e.currentTimedToast&&(e.removePendingToast(t.toast),e.trackEvent(t))}))},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.complete()},e.prototype.updateVisibleToast=function(e){e.toast.dismissible?this.currentDismissibleToast=this.getNextToast(!0):this.currentTimedToast=this.getNextToast(!1),this.updateDismissibleToastBottom(),this.trackEvent(e)},e.prototype.addToast=function(e){e.dismissible&&this.currentDismissibleToast||!e.dismissible&&this.currentTimedToast?this.addPendingToast(e):e.dismissible?this.currentDismissibleToast=e:this.currentTimedToast=e},e.prototype.getNextToast=function(e){var t=this.pendingToasts.find((function(t){return t.dismissible===e}));return t&&this.removePendingToast(t),t},e.prototype.addPendingToast=function(e){this.pendingToasts.push(e)},e.prototype.removePendingToast=function(e){var t=this.pendingToasts.indexOf(e);t>-1&&this.pendingToasts.splice(t,1)},e.prototype.updateDismissibleToastBottom=function(){this.currentTimedToast&&this.timedToastEl?this.dismissibleToastBottom=(this.timedToastEl.nativeElement.offsetHeight+8)/16:this.dismissibleToastBottom=0},e.prototype.trackEvent=function(e){var t,o,n,r=this.pendingToasts.filter((function(e){return e.dismissible})),i=this.pendingToasts.filter((function(e){return!e.dismissible}));this.telemetryService.trackEvent(e.action+" toast",{action:e.action,source:e.source,hasDismissiblePending:r.length>0?"yes":"no",dismissiblePendingLength:""+r.length,hasTransientPending:i.length>0?"yes":"no",transientPendingLength:""+i.length,toastId:null!==(t=e.toast.id)&&void 0!==t?t:"",toastType:e.toast.type,toastMessage:e.toast.message,toastDismissible:""+e.toast.dismissible,toastIcon:null!==(o=e.toast.icon)&&void 0!==o?o:"",toastAction:null!==(n=e.toast.actionLabel)&&void 0!==n?n:""})},e}();ot.decorators=[{type:r.Component,args:[{selector:"ec-toaster",template:'<ec-toast [toastItem]="currentDismissibleToast"\r\n [style.--toast-bottom.rem]="dismissibleToastBottom"\r\n (closed)="updateVisibleToast($event)">\r\n</ec-toast>\r\n\r\n<ec-toast #timedToast\r\n [toastItem]="currentTimedToast"\r\n (closed)="updateVisibleToast($event)">\r\n</ec-toast>'}]}],ot.ctorParameters=function(){return[{type:et},{type:Te}]},ot.propDecorators={timedToastEl:[{type:r.ViewChild,args:["timedToast",{static:!1,read:r.ElementRef}]}]};var nt=function(){function e(){this.attrId="",this._id="",this.treeTitle="",this.hideTreeHeader=!1,this.treeMenuMaintainSelectedItem=!0,this.status=new ue("hasData"),this.type="hierarchy",this.menuStatus=new ue("hasData"),this.menuTemplateType="checkAndLabel",this.preserveIconSpace=!1,this.treeSelection=new r.EventEmitter,this.getTreeItemChildren=new r.EventEmitter,this.templateType="label"}return Object.defineProperty(e.prototype,"id",{get:function(){return this._id},set:function(e){this._id=e,this.attrId=e},enumerable:!1,configurable:!0}),e.prototype.onItemSelected=function(e){this.treeSelection.emit(e)},e.prototype.onHierarchyGetItemChildren=function(e){this.getTreeItemChildren.emit(e)},e.prototype.scrollToSelectedItem=function(){this.menuComponent&&this.menuComponent.scrollToSelectedItem(),this.hierarchyTreeComponent&&this.hierarchyTreeComponent.scrollToSelectedItem()},e}();nt.decorators=[{type:r.Component,args:[{selector:"ec-tree",template:'<header *ngIf="!hideTreeHeader"\r\n class="flex-shrink d-flex align-items-center border-bottom bg-content pl-2 pr-1">\r\n <h2 id="{{id}}_title"\r\n class="flex-grow mr-2 text-heading-1">{{treeTitle | translate}}</h2>\r\n <ec-dropdown *ngIf="menuItems?.length"\r\n id="{{id}}_dropdown"\r\n class="flex-shrink"\r\n icon="icon-menu"\r\n [menuTemplateType]="menuTemplateType"\r\n menuPosition="left"\r\n [status]="menuStatus"\r\n [popupFixed]="true"\r\n [showArrow]="false"\r\n [menuMinWidth]="240"\r\n [items]="menuItems">\r\n </ec-dropdown>\r\n</header>\r\n\r\n<div class="flex-grow d-flex"\r\n ecOverlay\r\n [status]="status?.status"\r\n [displayAsMask]="true">\r\n <ng-container *ngIf="type === \'menu\'">\r\n <ec-menu [id]="id"\r\n [items]="treeItems"\r\n [templateType]="templateType"\r\n [maintainSelectedItem]="treeMenuMaintainSelectedItem"\r\n [truncateItems]="true"\r\n (selectedChanged)="onItemSelected($event)"\r\n [customMenuTemplate]="customTreeMenuTemplate ? customTreeMenuTemplate : undefined"\r\n [preserveIconSpace]="preserveIconSpace"\r\n class="flex-grow">\r\n </ec-menu>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="type === \'hierarchy\'">\r\n <ec-hierarchy-tree [id]="id"\r\n [rootNode]="treeHierarchy"\r\n [hideRootNode]="treeHierarchyHideRootNode"\r\n (getItemChildren)="onHierarchyGetItemChildren($event)"\r\n (itemSelected)="onItemSelected($event)"\r\n class="flex-grow d-flex">\r\n </ec-hierarchy-tree>\r\n </ng-container>\r\n</div>',styles:[":host{display:flex;flex-direction:column}header{height:3rem}ec-dropdown.fill{height:3rem;width:3rem}"]}]}],nt.ctorParameters=function(){return[]},nt.propDecorators={attrId:[{type:r.HostBinding,args:["attr.id"]}],id:[{type:r.Input}],treeTitle:[{type:r.Input}],hideTreeHeader:[{type:r.Input}],treeItems:[{type:r.Input}],treeHierarchyHideRootNode:[{type:r.Input}],treeHierarchy:[{type:r.Input}],treeMenuMaintainSelectedItem:[{type:r.Input}],customTreeMenuTemplate:[{type:r.Input}],status:[{type:r.Input}],type:[{type:r.Input}],menuItems:[{type:r.Input}],menuStatus:[{type:r.Input}],menuTemplateType:[{type:r.Input}],preserveIconSpace:[{type:r.Input}],treeSelection:[{type:r.Output}],getTreeItemChildren:[{type:r.Output}],menuComponent:[{type:r.ViewChild,args:[H]}],hierarchyTreeComponent:[{type:r.ViewChild,args:[Ee]}],templateType:[{type:r.Input}]};var rt=function(){function e(){}return e.prototype.ngOnInit=function(){var e;this.isTargetClickable="function"==typeof(null===(e=this.targetEl)||void 0===e?void 0:e.dispatchEvent)},e.prototype.onClick=function(e){this.isTargetClickable&&(e.preventDefault(),this.targetEl.dispatchEvent(new Event("click")))},e}();rt.decorators=[{type:r.Directive,args:[{selector:"[ecClickAreaFor]"}]}],rt.ctorParameters=function(){return[]},rt.propDecorators={targetEl:[{type:r.HostBinding,args:["class.cursor-pointer"]},{type:r.Input,args:["ecClickAreaFor"]}],onClick:[{type:r.HostListener,args:["click",["$event"]]}]};var it=function(){function e(e,t,o){this.viewContainer=e,this.templateRef=t,this.windowService=o,this.destroyed=new c.Subject,this.isVisible=!1}return e.prototype.ngOnInit=function(){var e=this;void 0!==this.windowService.innerWidth&&(this.width?("number"==typeof this.width?this.minWidth=this.width:void 0!==this.width&&(this.minWidth=this.width.min,this.maxWidth=this.width.max),this.windowService.resized&&this.windowService.resized.pipe(d.debounceTime(100),d.takeUntil(this.destroyed)).subscribe((function(){e.updateVisibility()})),this.updateVisibility()):console.error("A min or max width was not provided. Provide a value for 'min' or 'max' by assigning a single value or object to the directive. E.g. *ecIfViewportWidth=\"800\" (assigned to min) or *ecIfViewportWidth=\"{min: 800, max: 1280}\""))},e.prototype.updateVisibility=function(){var e=this.windowService.innerWidth;void 0!==this.minWidth&&void 0!==this.maxWidth?e>=this.minWidth&&e<=this.maxWidth?this.show():this.hide():void 0!==this.minWidth?e>=this.minWidth?this.show():this.hide():void 0!==this.maxWidth&&(e<=this.maxWidth?this.show():this.hide())},e.prototype.show=function(){this.isVisible||(this.viewContainer.createEmbeddedView(this.templateRef),this.isVisible=!0)},e.prototype.hide=function(){this.isVisible&&(this.viewContainer.clear(),this.isVisible=!1)},e}();it.decorators=[{type:r.Directive,args:[{selector:"[ecIfViewportWidth]"}]}],it.ctorParameters=function(){return[{type:r.ViewContainerRef},{type:r.TemplateRef},{type:B}]},it.propDecorators={width:[{type:r.Input,args:["ecIfViewportWidth"]}]};var at=function(){function e(){}return e.prototype.transform=function(e,t){var o="";if(e&&t){var n=new RegExp(this.escapeRegex(t),"gi");o=e.replace(n,this.strongWrap)}else o=e;return o},e.prototype.strongWrap=function(e){return'<strong class="text-highlight">'+e+"</strong>"},e.prototype.escapeRegex=function(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")},e}();at.decorators=[{type:r.Pipe,args:[{name:"highlightText"}]}];var st=function(){function e(e){this.userPreferenceService=e,this.lastFormatString="HH:mm:ss"}return e.prototype.transform=function(e,t){var o=this,n="";return this.userPreferenceService.getPreferences().subscribe((function(e){e.preference&&(n=e.preference.timeFormat,t||(n=n.replace(":ss","")),o.lastFormatString=n)})),b.default(e).format(this.lastFormatString)},e}();st.decorators=[{type:r.Pipe,args:[{name:"timeDisplay"}]}],st.ctorParameters=function(){return[{type:z}]};var lt=function(){function e(e,t,o){this.dateDisplayPipe=e,this.timeDisplayPipe=t,this.translateService=o}return e.prototype.transform=function(e,t){var o=b.default(e),n=b.default(),r=b.default().subtract(1,"day"),i=(null==t?void 0:t.dateOnly)?"":" "+this.timeDisplayPipe.transform(e);return""+(o.isSame(n,"day")&&!(null==t?void 0:t.showTimeForToday)?this.translateService.instant((null==t?void 0:t.todayLabel)?null==t?void 0:t.todayLabel:"today"):o.isSame(n,"day")&&(null==t?void 0:t.showTimeForToday)&&!i?this.timeDisplayPipe.transform(e):o.isSame(r,"day")?this.translateService.instant((null==t?void 0:t.yesterdayLabel)?null==t?void 0:t.yesterdayLabel:"yesterday"):this.dateDisplayPipe.transform(e))+i},e}();lt.decorators=[{type:r.Pipe,args:[{name:"relativeDate"}]}],lt.ctorParameters=function(){return[{type:P},{type:st},{type:s.TranslateService}]};var ct=function(){};ct.decorators=[{type:r.Component,args:[{selector:"app-page-title",template:'<i *ngIf="titleIcon"\r\n class="flex-shrink mr-1 my-1 ec-icon ec-icon-md {{titleIcon}}"></i>\r\n<div class="text-truncate">\r\n <h1 *ngIf="title"\r\n class="text-title-1 mb-0 py-1 text-truncate"\r\n title="{{title}}">{{title}}</h1>\r\n <p *ngIf="subTitle && !subTitleUrl"\r\n class="text-caption-1 mb-0 mt-n1 text-truncate">{{subTitle}}</p>\r\n <a *ngIf="subTitle && subTitleUrl"\r\n id="subTitle_link"\r\n class="d-block text-truncate mb-0 mt-n1 font-size-small"\r\n routerLink="{{subTitleUrl}}"\r\n target="_self">\r\n {{subTitle}}\r\n </a>\r\n</div>',host:{class:"d-flex"}}]}],ct.propDecorators={title:[{type:r.Input}],titleIcon:[{type:r.Input}],subTitle:[{type:r.Input}],subTitleUrl:[{type:r.Input}]};var dt=function(){function e(){this.isDialog=!1,this.status=new ue("pending"),this.showHeader=!0,this.moreActionsLabel="Actions",this.secondaryActionLabel="Cancel",this.hideSecondaryAction=!1,this.primaryActionLabel="Save",this.hidePrimaryAction=!1,this.stickyFooter=!0,this.fitContent=!1,this.onPrimaryAction=new r.EventEmitter,this.onSecondaryAction=new r.EventEmitter}return e.prototype.primaryAction=function(e){this.onPrimaryAction&&this.onPrimaryAction.emit(e)},e.prototype.secondaryAction=function(e){this.onSecondaryAction&&this.onSecondaryAction.emit(e)},e}();dt.decorators=[{type:r.Component,args:[{selector:"ec-page-view",template:'<div ecOverlay\r\n [status]="status?.status"\r\n [message]="status?.message"\r\n [displayAsMask]="true"\r\n class="bg-body flex-grow d-flex">\r\n <div id="PageViewScrollContainer" \r\n class="d-flex flex-column flex-grow scroll-y" \r\n [class.is-dialog]="isDialog"\r\n [class.fit-content]="fitContent"\r\n [class.sticky-footer]="stickyFooter && !!footerTemplate"\r\n [class.overlay-visible]="status?.status !== \'hasData\'"\r\n [class.footer-visible]="!!footerTemplate">\r\n <section>\r\n <ng-content></ng-content> \r\n </section>\r\n \r\n <footer *ngIf="footerTemplate">\r\n <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>\r\n </footer>\r\n\r\n <header *ngIf="showHeader">\r\n \r\n <ol id="breadcrumbs"\r\n *ngIf="breadcrumbs?.length && !isDialog">\r\n <li *ngFor="let crumb of breadcrumbs; last as isLast">\r\n <a *ngIf="crumb.url; else label"\r\n [routerLink]="crumb.url">\r\n <ng-container *ngTemplateOutlet="label"></ng-container>\r\n </a>\r\n <ng-template #label>{{crumb.label}}</ng-template>\r\n </li>\r\n </ol>\r\n \r\n <div *ngIf="!customHeaderTemplate; else customHeaderOutlet" class="titlebar">\r\n <app-page-title *ngIf="!customTitleTemplate; else customTitle" \r\n [title]="title"\r\n [subTitle]="subTitle"\r\n [subTitleUrl]="subTitleUrl"\r\n [titleIcon]="titleIcon"\r\n class="title text-truncate">\r\n </app-page-title>\r\n \r\n <ng-template #customTitle>\r\n <div class="title">\r\n <ng-container *ngTemplateOutlet="customTitleTemplate"></ng-container>\r\n </div>\r\n </ng-template>\r\n \r\n <div class="actions">\r\n <ec-button id="primaryAction"\r\n class="ml-2"\r\n *ngIf="!hidePrimaryAction && onPrimaryAction.observers?.length"\r\n [disabled]="status?.status === \'pending\'"\r\n type="primary"\r\n [label]="primaryActionLabel"\r\n (clicked)="primaryAction($event)">\r\n </ec-button>\r\n <ec-button id="secondaryAction"\r\n class="ml-2"\r\n *ngIf="!hideSecondaryAction && onSecondaryAction.observers?.length"\r\n type="secondary"\r\n [label]="secondaryActionLabel"\r\n (clicked)="secondaryAction($event)">\r\n </ec-button>\r\n <ec-dropdown id="moreActions"\r\n *ngIf="moreActions?.length"\r\n [disabled]="status?.status === \'pending\'"\r\n class="ml-2"\r\n buttonType="secondary"\r\n [label]="moreActionsLabel"\r\n [items]="moreActions">\r\n </ec-dropdown>\r\n <ng-container *ngTemplateOutlet="customActionsTemplate"></ng-container>\r\n </div>\r\n </div>\r\n \r\n <ng-template #customHeaderOutlet> \r\n <div class="page-header">\r\n <ng-container *ngTemplateOutlet="customHeaderTemplate"></ng-container>\r\n </div>\r\n </ng-template>\r\n \r\n <ec-banner *ngIf="errors"\r\n id="pageViewErrors"\r\n [class.border-bottom-0]="!isDialog">\r\n <div [innerHtml]="errors"></div>\r\n </ec-banner>\r\n </header>\r\n </div>\r\n</div>\r\n\r\n',host:{class:"flex-grow"},styles:[':host{display:flex;flex:1 1;min-height:0}header{background-color:var(--ec-background-color-body);flex:none;order:1;padding:1rem 1.5rem .5rem;position:sticky;top:0;z-index:1}ol{-ms-grid-column:1;-ms-grid-column-span:2;-ms-grid-row:1;-ms-grid-row-span:1;font-size:var(--ec-font-size-label);grid-column:1/3;grid-row:1/2;line-height:1rem;list-style:none;margin:0 0 .25rem;padding:0}ol li{display:inline}ol li:not(:last-child):after{color:var(--ec-color-secondary-dark);content:" / ";display:inline}.titlebar{-ms-grid-columns:auto -webkit-max-content;-ms-grid-columns:auto max-content;-ms-grid-rows:-webkit-max-content -webkit-max-content;-ms-grid-rows:max-content max-content;display:-ms-grid;display:grid;gap:0 1rem;grid-template-columns:auto -webkit-max-content;grid-template-columns:auto max-content;grid-template-rows:-webkit-max-content -webkit-max-content;grid-template-rows:max-content max-content}.title{-ms-grid-column:1;-ms-grid-column-span:1;-ms-grid-row:2;-ms-grid-row-align:center;-ms-grid-row-span:1;align-self:center;grid-column:1/2;grid-row:2/3}.actions{-ms-grid-column:2;-ms-grid-column-span:1;-ms-grid-row:2;-ms-grid-row-span:1;direction:rtl;grid-column:2/3;grid-row:2/3}ec-banner{margin-top:1rem}section{flex:1 0 auto;min-height:0;order:2;padding:var(--ec-page-view-padding-section,.5rem 1.5rem 2rem)}footer{align-items:center;background-color:var(--ec-background-color-body);display:flex;flex:none;height:4.5rem;order:3;padding:0 1.5rem}.is-dialog header{padding:0}.is-dialog .titlebar{background-color:var(--ec-background-color);border-bottom:1px solid var(--ec-border-color);padding:1rem}.is-dialog ec-banner{margin:0}.is-dialog section{padding:var(--ec-page-view-padding-section,1rem 1rem 1.5rem)}.sticky-footer section{padding-bottom:4.5rem}.sticky-footer footer{bottom:0;position:sticky}.fit-content section{display:flex;flex:1 1}.footer-visible section{padding-bottom:0}.overlay-visible header{z-index:var(--ec-z-index-overlay)1}.overlay-visible ec-banner{display:none}']}]}],dt.ctorParameters=function(){return[]},dt.propDecorators={isDialog:[{type:r.Input}],status:[{type:r.Input}],showHeader:[{type:r.Input}],errors:[{type:r.Input}],breadcrumbs:[{type:r.Input}],title:[{type:r.Input}],titleIcon:[{type:r.Input}],subTitle:[{type:r.Input}],subTitleUrl:[{type:r.Input}],moreActionsLabel:[{type:r.Input}],moreActions:[{type:r.Input}],secondaryActionLabel:[{type:r.Input}],hideSecondaryAction:[{type:r.Input}],primaryActionLabel:[{type:r.Input}],hidePrimaryAction:[{type:r.Input}],customTitleTemplate:[{type:r.Input}],customActionsTemplate:[{type:r.Input}],customHeaderTemplate:[{type:r.Input}],footerTemplate:[{type:r.Input}],stickyFooter:[{type:r.Input}],fitContent:[{type:r.Input}],onPrimaryAction:[{type:r.Output}],onSecondaryAction:[{type:r.Output}]};var pt=function(){function e(){}return e.createSpy=function(e){var t=Object.getOwnPropertyNames(e.prototype);return jasmine.createSpyObj(t)},e}(),ut=function(){function e(){this.opened=new r.EventEmitter,this.closed=new r.EventEmitter,this.displayAsPanel=!1}return e.prototype.open=function(e,t,o){return C(this,void 0,void 0,(function(){return S(this,(function(e){return this.lastContext=t,this.componentRef={instance:new ht},this.opened.emit(),[2]}))}))},e.prototype.close=function(e){this.closed.emit(e)},e}();ut.decorators=[{type:r.Directive}],ut.propDecorators={size:[{type:r.Input}],opened:[{type:r.Output}],closed:[{type:r.Output}]};var ht=function(){var e=this;this.dialogId="MockID",this.onOpen=function(t){e.openArg=t},this.onDialogSave=new r.EventEmitter,this.onDialogCancel=new r.EventEmitter,this.destroyed=new c.Subject},mt=function(){function e(){}return e.prototype.transform=function(e){return"01/01/2017"},e}();function gt(){var e=pt.createSpy(a.Router);return e.isActive.and.returnValue(!1),e.navigate.and.returnValue(Promise.resolve(!0)),Object.defineProperty(e,"events",{value:new c.Subject,configurable:!0}),Object.defineProperty(e,"url",{value:"/current/route/url",writable:!0}),e}mt.decorators=[{type:r.Pipe,args:[{name:"dateDisplay"}]}];var bt=function(){this.snapshot={paramMap:{get:function(e){return null}},queryParamMap:{get:function(e){return null},getAll:function(e){return[]},has:function(e){return!1}},routeConfig:{}},this.paramMap=new c.Subject,this.queryParamMap=new c.Subject,this.routeConfig={}};bt.decorators=[{type:r.Injectable}];var ft=function(){function e(){this.nextLabel="Next_TC",this.backLabel="Back_TC",this.cancelLabel="Cancel",this.saveLabel="Save",this.cancelId="cancelWizardDialog",this.saveId="saveWizardDialog",this.tabindex=0,this.cancel=new r.EventEmitter,this.save=new r.EventEmitter,this.nextTab=new r.EventEmitter,this.previousTab=new r.EventEmitter}return e.prototype.onCancel=function(){this.cancel.emit()},e.prototype.onSave=function(e){this.save.emit(e)},e.prototype.onPreviousTab=function(){this.previousTab.emit()},e.prototype.onNextTab=function(){this.nextTab.emit()},e}();ft.decorators=[{type:r.Component,args:[{selector:"ec-wizard-buttons",template:'<ec-button id="{{saveId}}"\r\n class="ml-2"\r\n *ngIf="!hideNextSaveButton"\r\n type="primary"\r\n [label]="(!showSave ? nextLabel : saveLabel)"\r\n [tabindex]="!tabindex ? 0 : tabindex"\r\n (clicked)="!showSave ? onNextTab() : onSave($event)"\r\n [disabled]="status?.status === \'pending\' || status?.status === \'error\'">\r\n</ec-button>\r\n<ec-button id="previousTab"\r\n class="ml-2"\r\n *ngIf="showBack"\r\n type="secondary"\r\n [label]="backLabel"\r\n [tabindex]="!tabindex ? 0 : tabindex+1"\r\n (clicked)="onPreviousTab()">\r\n</ec-button>\r\n<ec-button id="{{cancelId}}"\r\n type="secondary"\r\n [label]="cancelLabel"\r\n [tabindex]="!tabindex ? 0 : tabindex+2"\r\n (clicked)="onCancel()">\r\n</ec-button>\r\n',styles:[":host{display:flex;flex-direction:row-reverse}:host-context(ec-page-view .titlebar>.actions){flex-direction:row}"]}]}],ft.ctorParameters=function(){return[]},ft.propDecorators={nextLabel:[{type:r.Input}],backLabel:[{type:r.Input}],cancelLabel:[{type:r.Input}],saveLabel:[{type:r.Input}],cancelId:[{type:r.Input}],saveId:[{type:r.Input}],tabindex:[{type:r.Input}],status:[{type:r.Input}],showBack:[{type:r.Input}],showSave:[{type:r.Input}],hideNextSaveButton:[{type:r.Input}],cancel:[{type:r.Output}],save:[{type:r.Output}],nextTab:[{type:r.Output}],previousTab:[{type:r.Output}]};var vt=function(){};vt.decorators=[{type:r.Component,args:[{selector:"ec-wizard-progress",template:'<div *ngFor="let tab of tabGroup?.items; index as index; first as isFirst; last as isLast"\r\n class="progress-tab"\r\n [class.ml-2]="!isFirst"\r\n [class.is-active]="currentTab?.id === tab.id">\r\n\r\n <i *ngIf="tab.completed"\r\n class="ec-icon icon-check-circle mr-1 font-color-success"></i>\r\n <span *ngIf="!tab.completed">{{index+1}}. </span>\r\n <span>{{tab.label | translate}}</span>\r\n <i *ngIf="!isLast"\r\n class="ec-icon icon-angle-down rotate-270 ml-2"></i>\r\n</div>',styles:[":host{padding:0 1rem}.progress-tab,:host{align-items:center;display:flex}.progress-tab.is-active{font-weight:700}"]}]}],vt.ctorParameters=function(){return[]},vt.propDecorators={tabGroup:[{type:r.Input}],currentTab:[{type:r.Input}]};var yt=function(){function e(e,t){this.validationMessageService=e,this.translateService=t,this.label="",this.labelPosition="top",this.overrideValidationError="",this.hideValidationMessage=!1,this.validationErrors="",this.allControlsTouched=!1,this.componentDestroyed=new c.Subject}return e.prototype.ngOnInit=function(){return C(this,void 0,void 0,(function(){var e=this;return S(this,(function(t){return this.control&&(this.control.statusChanges.pipe(d.takeUntil(this.componentDestroyed)).subscribe((function(){e.translateValidationMessages(e.getErrors(e.control))})),this.translateValidationMessages(this.getErrors(this.control))),this.id&&(this.attrId=this.id),[2]}))}))},e.prototype.ngOnDestroy=function(){this.componentDestroyed.next(),this.componentDestroyed.unsubscribe()},e.prototype.getErrors=function(e){var t=this;e.markAsUntouched();var o=null,n=!0,r=!1;return G(e,(function(e){o=t.assignErrors(e,o),e.untouched&&(n=!1),r=!0})),e.errors&&(o=Object.assign(o||{},e.errors)),n&&r&&e.markAsTouched(),o},e.prototype.assignErrors=function(e,t){return e.errors&&(t=Object.assign(t||{},e.errors)),t},e.prototype.translateValidationMessages=function(e){return C(this,void 0,void 0,(function(){var t;return S(this,(function(o){switch(o.label){case 0:return e?this.overrideValidationError?(this.validationErrors=this.translateService.instant(this.overrideValidationError),[3,3]):[3,1]:[3,4];case 1:return[4,this.validationMessageService.getErrorMessages(e)];case 2:(t=o.sent())&&(this.validationErrors=t.join("; ")),o.label=3;case 3:return[3,5];case 4:this.validationErrors="",o.label=5;case 5:return[2]}}))}))},e}();yt.decorators=[{type:r.Component,args:[{selector:"ec-form-control-label",template:'<div class="control control-label-{{labelPosition}}" [class.ec-untouched]="control?.untouched">\r\n <label *ngIf="label" ngPreserveWhitespaces>\r\n\r\n <span id="{{id}}_label">{{label | translate}}</span>\r\n\r\n <span *ngIf="!hideValidationMessage && validationErrors && control?.touched && control?.invalid">{{validationErrors | translate}}</span>\r\n </label>\r\n</div>',styles:[':root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{color:var(--ec-color-primary-dark);display:block;font-family:var(--ec-font-family);font-size:var(--ec-font-size-body);margin-bottom:1rem;width:100%}:host :host-context(.form-condensed){margin-bottom:.5rem}:host .control{display:flex;flex-direction:column;width:100%}:host .control.control-label-bottom{flex-direction:column-reverse}:host .control.control-label-left{flex-direction:row}:host .control.control-label-left label{margin-right:.25rem}:host .control.control-label-right{flex-direction:row-reverse}:host .control.control-label-right label{margin-left:.25rem}:host .control.control-label-left,:host .control.control-label-right{align-items:center}:host .control.control-label-left label,:host .control.control-label-right label{flex:1 1;margin-bottom:0;margin-top:0}:host .control.control-label-left .control-input,:host .control.control-label-right .control-input{flex:2 2}:host .control.is-readonly input,:host .control.is-readonly select{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;background-clip:border-box;background-color:rgba(26,26,35,.12);background-image:none;border-color:transparent;color:var(--ec-color-primary-dark);opacity:1;overflow:hidden;pointer-events:none;user-select:none;white-space:nowrap}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid,:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid{background-color:var(--ec-background-color-caution);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="rgba(26, 26, 35, 0.66)" d="M20.21 20.21h-8.42L10.95 0h10.1l-.84 20.21zm-8.42 3.37h8.42V32h-8.42z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;padding-left:1.5rem}:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-invalid:not(:focus),:host .control.invalid .textbox-group-input ::ng-deep .control input.ng-valid:not(:focus){border-color:var(--ec-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button{background-color:var(--ec-background-color-caution)}:host .control.invalid:not(.open) .textbox-group-btn-right ::ng-deep button:not(:focus){border-color:var(--ec-color-caution)}:host .textbox-group{display:flex;position:relative}:host input:focus,:host select:focus,:host textarea:focus{outline:none}label{color:var(--ec-color-secondary-dark);display:block;font-size:var(--ec-font-size-label);line-height:1;margin:calc(var(--ec-font-size-label)/2) 0}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched{background-image:none;padding-left:.5rem}.control.ec-untouched ::ng-deep input.ng-invalid.ng-touched:not(.is-empty)~.units-left{left:0}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty{background-color:var(--ec-background-color);background-image:url(\'data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23ffe433" d="M31.32 21.69l-.09.18-2.48 4.35c-.36.54-.77.62-1.25.27-.12 0-.2 0-.2-.09L19.53 22v9.37a1.26 1.26 0 0 1-.72.67h-5.26c-.59 0-.83-.3-.83-.89 0-.12.15-.21.15-.27V22l-8 4.71h-.12c-.42.66-.8.21-1.16-.27L1 21.82a.82.82 0 0 1 .35-1.26l.18-.1L9 16 .87 11.47v-.09c0-.36-.39-.74-.09-1.16l2.75-4.35v-.09c0-.42.82-.54 1.29-.36l8 4.62V.89c0-.59.18-.89.77-.89h5c.65 0 .91.3.91.89V10l7.94-4.53c.48-.29.72-.21 1.08.27l2.32 4.35v.09c.66.48.45.89-.08 1.25L23 16l7.91 4.53v.09c-.04.18.53.54.41 1.07z"/></svg>\');background-position:.25rem;background-repeat:no-repeat;background-size:1rem,1rem;border-color:var(--ec-border-color-legacy);padding-left:1.5rem}.control.ec-untouched ::ng-deep input:required:not(:disabled).is-empty:focus{border-color:var(--ec-color-interactive);box-shadow:0 0 0 .0625rem var(--ec-color-interactive);position:relative;z-index:1}.control-label-left{display:flex}']}]}],yt.ctorParameters=function(){return[{type:O},{type:s.TranslateService}]},yt.propDecorators={id:[{type:r.Input}],attrId:[{type:r.HostBinding,args:["attr.id"]}],label:[{type:r.Input}],control:[{type:r.Input}],labelPosition:[{type:r.Input}],overrideValidationError:[{type:r.Input}],hideValidationMessage:[{type:r.Input}]};var xt=function(e){function t(){var t=e.apply(this,D(arguments))||this;return t.selectedItemsMap=new Map,t.selectedItemsMapChanged=new c.Subject,t.disableAdvancedRowClickBehavior=!0,t}return k(t,e),t}(Xe),wt=function(){function e(){this.id="",this.availableTitle="",this.selectedTitle="",this.itemName="",this.noDataMessage="",this.availableItems=[],this.selectedItems=[],this.selectedItemsClearable=!1,this.trackByIndex=function(e){return e},this.tableStatus=new ue("pending"),this.destroyed=new c.Subject}return e.prototype.ngOnInit=function(){this.setupRowCheckboxesWatcher(),this.setupSelectedItemsChangedWatcher()},e.prototype.ngOnChanges=function(){this.setInternalizedTemplates()},e.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},e.prototype.onItemsChange=function(e){var t=this,o=[];e.items.forEach((function(e,n){var r,i;e.defaultSelected&&!(null===(r=t.selectionContext)||void 0===r?void 0:r.selectedItemsMap.has(e.id))&&(null===(i=t.selectionContext)||void 0===i||i.selectedItemsMap.set(e.id,e)),e.preventRemove&&o.push(n)})),this.selectionContext.nonDependentCheckboxes=o,this.availableItems=e.items},e.prototype.onClearSelectionClick=function(){var e,t,o=this;try{for(var n=T(this.selectionContext.selectedItemsMap),r=n.next();!r.done;r=n.next()){var i=M(r.value,2),a=i[0];i[1].preventRemove||this.selectionContext.selectedItemsMap.delete(a)}}catch(t){e={error:t}}finally{try{r&&!r.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}this.selectionContext.rowCheckboxes.controls.forEach((function(e,t){o.availableItems[t].preventRemove||e.setValue(!1)})),this.selectedItems=Array.from(this.selectionContext.selectedItemsMap.values())},e.prototype.removeSelectedItem=function(e){var t=this.availableItems.findIndex((function(t){return t.id===e.id}));t>-1?this.selectionContext.rowCheckboxes.at(t).setValue(!1):(this.selectionContext.selectedItemsMap.delete(e.id),this.selectedItems=Array.from(this.selectionContext.selectedItemsMap.values()))},e.prototype.setupRowCheckboxesWatcher=function(){var e,t=this;null===(e=this.selectionContext)||void 0===e||e.rowCheckboxes.valueChanges.pipe(d.debounceTime(10),d.takeUntil(this.destroyed)).subscribe((function(e){var o;e.forEach((function(e,o){var n,r,i,a,s=t.availableItems[o];!e&&(null===(n=t.selectionContext)||void 0===n?void 0:n.selectedItemsMap.has(s.id))?null===(r=t.selectionContext)||void 0===r||r.selectedItemsMap.delete(s.id):e&&!(null===(i=t.selectionContext)||void 0===i?void 0:i.selectedItemsMap.has(s.id))&&(null===(a=t.selectionContext)||void 0===a||a.selectedItemsMap.set(s.id,s))})),t.selectedItems=Array.from(null===(o=t.selectionContext)||void 0===o?void 0:o.selectedItemsMap.values()),t.selectedItemsClearable=t.selectedItems.length>0&&t.selectedItems.some((function(e){return!e.preventRemove}))}))},e.prototype.setupSelectedItemsChangedWatcher=function(){var e=this;this.selectionContext.selectedItemsMapChanged.pipe(d.takeUntil(this.destroyed)).subscribe((function(){var t;e.selectionContext&&(e.selectedItems=Array.from(null===(t=e.selectionContext)||void 0===t?void 0:t.selectedItemsMap.values()),e.availableItems.forEach((function(t,o){e.selectionContext.selectedItemsMap.has(t.id)&&e.selectionContext.rowCheckboxes.at(o).setValue(!0)})))}))},e.prototype.setInternalizedTemplates=function(){this.customAvailableHeaderTemplate?this.internalizedAvailableHeaderTemplate=this.customAvailableHeaderTemplate:this.internalizedAvailableHeaderTemplate=this.defaultAvailableHeaderTemplate,this.customAvailableItemTemplate?this.internalizedAvailableItemTemplate=this.customAvailableItemTemplate:this.internalizedAvailableItemTemplate=this.defaultAvailableItemTemplate,this.customSelectedItemTemplate?this.internalizedSelectedItemTemplate=this.customSelectedItemTemplate:this.internalizedSelectedItemTemplate=this.defaultSelectedItemTemplate},e}();wt.decorators=[{type:r.Component,args:[{selector:"ec-item-picker",template:'<div ecOverlay\r\n class="d-flex flex-grow card"\r\n [status]="tableStatus?.status"\r\n [message]="tableStatus?.message"\r\n [displayAsMask]="true">\r\n <ec-searchable-table id="{{id}}_searchableTable"\r\n class="flex-grow"\r\n [fillParentHeight]="true"\r\n [hideHeader]="true"\r\n [hideSearchControl]="true"\r\n [removeCard]="true"\r\n [pageable]="true"\r\n [pageSize]="50"\r\n [objectType]="itemName"\r\n [formModel]="formModel"\r\n [ready]="ready"\r\n [getItems]="getItems"\r\n [selectable]="true"\r\n [noDataMessage]="noDataMessage"\r\n [selectionContext]="selectionContext"\r\n [status]="tableStatus"\r\n (itemsChange)="onItemsChange($event)"\r\n [style.--ec-searchable-table-flex-properties]="(availableItems.length || tableStatus.status === \'pending\' || tableStatus.status === \'error\' ) ? \'1 1 auto\' : \'0 1 auto\'"\r\n [style.--ec-searchable-table-height-caption-footer]="\'calc(2.5rem + 1px)\'"\r\n [tableLayoutFixed]="true">\r\n <header *ngIf="customAvailableHeaderTemplate"\r\n class="card-header flex-shrink"\r\n style="height: 3rem;">\r\n <h3 class="card-title">{{availableTitle | translate}}</h3>\r\n </header>\r\n <thead>\r\n <tr ecTableSelectableRow\r\n [selectionContext]="selectionContext"\r\n class="border-bottom-0">\r\n <ng-container *ngTemplateOutlet="internalizedAvailableHeaderTemplate;"></ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <ng-container *ngFor="let item of availableItems; index as rowIndex; trackBy: trackByIndex">\r\n <tr ecTableSelectableRow\r\n [selectionContext]="selectionContext"\r\n [rowIndex]="rowIndex"\r\n [isCheckboxDisabled]="item.preventRemove"\r\n [isSelected]="selectionContext?.selectedItemsMap.has(item.id)"\r\n [style.--ec-table-selectable-row-vertical-align-checkbox-td]="\'middle\'">\r\n <ng-container *ngTemplateOutlet="internalizedAvailableItemTemplate; context: {$implicit: item}">\r\n </ng-container>\r\n </tr>\r\n </ng-container>\r\n </tbody>\r\n </ec-searchable-table>\r\n\r\n <section id="{{id}}_selectedItems" class="selected-items flex-grow d-flex flex-column">\r\n <ec-table [scrollable]="true"\r\n class="flex-grow is-fixed">\r\n <colgroup>\r\n <col>\r\n <col style="width: 2rem;">\r\n </colgroup>\r\n <thead>\r\n <tr style="height: 3rem;">\r\n <th colspan="2"\r\n class="p-2 border-bottom-0">\r\n <div class="d-flex align-items-center">\r\n <span class="text-heading-2 font-color-primary flex-grow text-truncate">{{selectedTitle | translate}}</span>\r\n <a *ngIf="selectedItemsClearable"\r\n id="{{id}}_clearSelection"\r\n class="pl-2 ml-auto font-size-base"\r\n href="javascript:void(0)"\r\n (click)="onClearSelectionClick()"\r\n translate>ClearSelection_TC</a>\r\n </div>\r\n </th>\r\n </tr>\r\n </thead>\r\n\r\n <tbody>\r\n <ng-container *ngIf="selectedItems.length">\r\n <tr *ngFor="let item of selectedItems; last as isLast"\r\n id="selected_row_{{item.id}}"\r\n [class.border-bottom]="!isLast">\r\n <td class="p-2">\r\n <ng-container\r\n *ngTemplateOutlet="internalizedSelectedItemTemplate; context: {$implicit: item}">\r\n </ng-container>\r\n </td>\r\n\r\n <td class="actions-col text-right"\r\n style="vertical-align: middle;">\r\n <ec-button id="{{id}}_removeSelected_{{item.id}}"\r\n *ngIf="!item.preventRemove"\r\n type="icon"\r\n icon="ec-icon icon-cancel"\r\n (clicked)="removeSelectedItem(item)">\r\n </ec-button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n <tr *ngIf="!selectedItems.length">\r\n <td *ngIf="!noSelectedItemsMessage"\r\n colspan="2"\r\n class="p-2 no-data-message"\r\n translate\r\n [translateParams]="{itemName: itemName | translate}">ItemPickerNoItemsSelected_SC</td>\r\n <td *ngIf="noSelectedItemsMessage"\r\n colspan="2"\r\n class="p-2 no-data-message"\r\n translate>{{noSelectedItemsMessage}}</td>\r\n </tr>\r\n </tbody>\r\n </ec-table>\r\n\r\n <footer id="selectedItemsFooter"\r\n *ngIf="selectedItems.length"\r\n class="d-flex flex-shrink px-2 border-top align-items-center"\r\n style="height: calc(2.5rem + 1px);">\r\n <span class="ml-auto text-caption-1 font-color-hint">\r\n {{selectedItems.length}} {{itemName | translate}}\r\n </span>\r\n </footer>\r\n </section>\r\n</div>\r\n\r\n<ng-template #defaultAvailableHeaderTemplate>\r\n <th class="text-heading-2 font-color-primary border-bottom-0">{{availableTitle | translate}}</th>\r\n</ng-template>\r\n\r\n<ng-template #defaultAvailableItemTemplate\r\n let-item>\r\n <td>{{item.label}}</td>\r\n</ng-template>\r\n\r\n<ng-template #defaultSelectedItemTemplate\r\n let-item>\r\n {{item.label}}\r\n</ng-template>',styles:[":root{--ec-color-icon:rgba(26,26,35,0.66);--ec-font-size-icon:1rem}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:flex}ec-searchable-table{border-right:2px solid var(--ec-border-color)}.selected-items{max-width:var(--ec-item-picker-max-width-selected-items,50%)}.no-data-message{white-space:normal}"]}]}],wt.ctorParameters=function(){return[]},wt.propDecorators={id:[{type:r.Input}],availableTitle:[{type:r.Input}],selectedTitle:[{type:r.Input}],itemName:[{type:r.Input}],formModel:[{type:r.Input}],customAvailableHeaderTemplate:[{type:r.Input}],customAvailableItemTemplate:[{type:r.Input}],customSelectedItemTemplate:[{type:r.Input}],ready:[{type:r.Input}],getItems:[{type:r.Input}],selectionContext:[{type:r.Input}],noDataMessage:[{type:r.Input}],noSelectedItemsMessage:[{type:r.Input}],defaultAvailableHeaderTemplate:[{type:r.ViewChild,args:["defaultAvailableHeaderTemplate",{static:!0}]}],defaultAvailableItemTemplate:[{type:r.ViewChild,args:["defaultAvailableItemTemplate",{static:!0}]}],defaultSelectedItemTemplate:[{type:r.ViewChild,args:["defaultSelectedItemTemplate",{static:!0}]}]};var It=function(){this.id="",this.text="",this.contentPosition="top-left"};It.decorators=[{type:r.Component,args:[{selector:"ec-help-popover",template:'<ec-popover id="{{id}}_popover"\r\n icon="icon-help-circle"\r\n [contentPosition]="contentPosition"\r\n iconHoverClass="font-color-primary-light">\r\n <div id="{{id}}_popoverContent"\r\n class="help-popover-content text-body-1"\r\n [class.is-right]="contentPosition == \'top-right\' || contentPosition == \'bottom-right\'">\r\n <div *ngIf="text"\r\n [innerHTML]="text | translate"></div>\r\n <ng-content></ng-content>\r\n </div>\r\n</ec-popover>',styles:[".help-popover-content{background-color:#162f3b;color:var(--ec-color-primary-light);max-width:15rem;padding:.375rem .5rem .375rem 1.75rem}.help-popover-content.is-right{padding:.375rem 1.75rem .375rem .5rem}"]}]}],It.ctorParameters=function(){return[]},It.propDecorators={id:[{type:r.Input},{type:r.HostBinding,args:["attr.id"]}],text:[{type:r.Input}],contentPosition:[{type:r.Input}]};var kt=function(){};kt.decorators=[{type:r.Component,args:[{selector:"button[ecLinkButton]",template:"<ng-content></ng-content>",host:{class:"text-link"},styles:[":host{background-color:transparent;border:none;display:inline;font-size:inherit;padding:0;text-align:start}"]}]}];var Ct=function(){function e(){}return e.forRoot=function(t){return{ngModule:e,providers:[t.tracker]}},e}();Ct.decorators=[{type:r.NgModule,args:[{declarations:[x,le,te,X,Le,he,y,Ne,le,Ze,Ue,N,H,F,j,ge,Ce,P,st,mt,ie,L,ne,pe,de,Fe,it,rt,R,Ye,$e,qe,Ge,Ke,re,We,je,w,We,Je,q,ae,ze,Ke,_e,ke,U,Y,Oe,tt,ot,dt,ct,vt,ft,Ee,nt,lt,Ve,at,yt,wt,It,kt],imports:[n.CommonModule,i.FormsModule,i.ReactiveFormsModule,a.RouterModule,s.TranslateModule,t.A11yModule,o.OverlayModule],providers:[A,Ie,P,st,mt,je,lt,at],exports:[x,le,te,X,Le,he,y,le,Ze,Ue,N,H,F,j,ge,Ce,P,st,ie,L,ne,pe,de,Fe,it,rt,R,Ye,$e,Ge,Ke,re,w,We,Je,q,ae,ze,_e,ke,U,Y,Oe,tt,ot,dt,ct,vt,ft,Ee,nt,lt,Ve,at,yt,wt,It,kt]}]}];var St=function(){},Tt=function(){};function Mt(e,t){var o=h.get(e,t);return e&&"string"==typeof o?o.toLowerCase():e[t]}Tt.ndash="–";var Dt,Et=function(e,t,o,n,r,i){this.label=e,this.type=t||"info",this.icon=n,this.isDismissable=null!=r&&r,this.tooltip=i,o&&(this.classList=o)},zt=function(){};zt.requiredPlural=function(e){return null!==i.Validators.required(e)?{requiredPlural:!0}:null},zt.json=function(e){return e.value&&void 0===Pe.tryParseJSON(e.value)?{json:!0}:null},zt.domain=function(e){return e.value&&!1===Z.test(e.value)?{domain:!0}:null},(Dt=e.PageStatus||(e.PageStatus={})).Loading="loading",Dt.Loaded="loaded",Dt.Saving="saving",Dt.NoData="noData";var Pt=function(){function e(){}return Object.defineProperty(e,"loading",{get:function(){return{status:"pending",message:"Loading"}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"loaded",{get:function(){return{status:"hasData",message:""}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"saving",{get:function(){return{status:"pending",message:"Saving"}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"noData",{get:function(){return{status:"noData",message:"No data is available"}},enumerable:!1,configurable:!0}),e}(),Ot=function(){this.title="",this.subTitle="",this.subTitleUrl=""},At=function(){function t(e){this.classList="d-flex flex-grow",this.title="",this.subTitle="",this.subTitleUrl="",this.status=new ue("pending","Loading"),this.formGroup=new i.FormGroup({}),this.defaultInvalidFormMessage="PleaseCorrectForm_SC",this.defaultUnknownSaveError="PageBaseUnknownSaveError_SC",this.skipHideSplashOnComplete=!1,this.destroyed=new c.Subject,this._afterViewInitComplete=new c.ReplaySubject,this.afterViewInitComplete=this._afterViewInitComplete,this._errors="",this.errorService=e.get(He),this.translateService=e.get(s.TranslateService),this.scrollService=e.get(_),this.router=e.get(a.Router),this.activatedRoute=e.get(a.ActivatedRoute),this.dialogService=e.get(Ie),this.splashService=e.get(Re)}return Object.defineProperty(t.prototype,"errors",{get:function(){return this._errors},enumerable:!1,configurable:!0}),t.prototype.onFirstInit=function(){},t.prototype.ngOnInit=function(){return C(this,void 0,void 0,(function(){var t;return S(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),this.showStatus(e.PageStatus.Loading),this.onFirstInit(),this.initPromise=this.onInit(),[4,this.initPromise];case 1:return o.sent(),[3,3];case 2:return t=o.sent(),this.splashService.hideSplash(),this.onError(t),[3,3];case 3:return[2]}}))}))},t.prototype.onAfterViewInit=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.ngAfterViewInit=function(){return C(this,void 0,void 0,(function(){var t,o;return S(this,(function(n){switch(n.label){case 0:return n.trys.push([0,4,,5]),[4,this.initPromise];case 1:return t=n.sent(),this.parseInitResult(t),[4,this.onAfterViewInit()];case 2:return n.sent(),this._afterViewInitComplete.next(),this._afterViewInitComplete.complete(),[4,this.onFormLoadComplete()];case 3:return n.sent(),"pending"===this.status.status&&this.showStatus(e.PageStatus.Loaded),this.skipHideSplashOnComplete||this.splashService.hideSplash(),this.setUpRouterSubscriptions(),[3,5];case 4:return o=n.sent(),this.splashService.hideSplash(),this.onError(o),[3,5];case 5:return[2]}}))}))},t.prototype.onFormLoadComplete=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.onNavigationEnd=function(){},t.prototype.reload=function(){this._afterViewInitComplete=new c.ReplaySubject,this.showStatus(e.PageStatus.Loading),this.initPromise=this.onInit(),this.ngAfterViewInit()},t.prototype.applyModelUpdates=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.saveToApi=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.onSaveComplete=function(e){},t.prototype.onSave=function(t){return C(this,void 0,void 0,(function(){var t,o,n=this;return S(this,(function(r){switch(r.label){case 0:if(this.formGroup.markAllAsTouched(),!this.formGroup.valid)return[3,6];this.showStatus(e.PageStatus.Saving),r.label=1;case 1:return r.trys.push([1,4,,5]),[4,this.applyModelUpdates()];case 2:return r.sent(),[4,this.saveToApi()];case 3:return t=r.sent()||-1,this._errors="",this.onSaveComplete(t),[3,5];case 4:return o=r.sent(),this.showErrorBanner(o,this.defaultUnknownSaveError),this.splashService.hideSplash(),[3,5];case 5:return[3,7];case 6:""===this.errors&&this.showErrorBanner(this.defaultInvalidFormMessage),this.scrollContainerSelector&&setTimeout((function(){n.scrollService.scrollToItem(n.scrollContainerSelector,".ng-invalid")})),r.label=7;case 7:return[2]}}))}))},t.prototype.ngOnDestroy=function(){this.destroyed.next(),this.destroyed.unsubscribe()},t.prototype.onError=function(e){this.errorService.logConsoleError(e),this.showErrorOverlay(e)},t.prototype.showErrorOverlay=function(e){var t=this;this.getErrorMessage(e).subscribe((function(e){t.status.setStatus("error",e)}))},t.prototype.showErrorBanner=function(t,o){var n=this;this.getErrorMessage(t,o).subscribe((function(t){n._errors=t,n.showStatus(e.PageStatus.Loaded)}))},t.prototype.getErrorMessage=function(e,t){var o=this.errorService.parseApiError(e,t);return this.translateService.get(o)},t.prototype.hideErrorBanner=function(){this._errors=""},t.prototype.showStatus=function(e){var t=Pt[e];t&&this.status.setStatus(t.status,t.message,void 0,t.noDataTemplate,t.overlayClassList)},t.prototype.runBlockingAction=function(t,o){return C(this,void 0,void 0,(function(){var n=this;return S(this,(function(r){return this.hideErrorBanner(),this.status.setStatus("pending",o),[2,t().catch((function(e){throw n.showErrorBanner(e),e})).finally((function(){n.showStatus(e.PageStatus.Loaded)}))]}))}))},t.prototype.parseInitResult=function(e){this.initResult=e,this.title=e.title,this.subTitle=e.subTitle,this.subTitleUrl=e.subTitleUrl,this.breadcrumbs=e.breadcrumbs,this.help=e.help},t.prototype.setUpRouterSubscriptions=function(){var e=this;this.navigationEndSubscription||this.destroyed.closed||(this.navigationEndSubscription=this.router.events.pipe(d.takeUntil(this.destroyed),d.filter((function(e){return e instanceof a.NavigationEnd}))).subscribe((function(t){try{e.onNavigationEnd()}catch(t){e.onError(t)}})))},t}();At.decorators=[{type:r.Directive}],At.ctorParameters=function(){return[{type:r.Injector}]},At.propDecorators={classList:[{type:r.HostBinding,args:["class"]}]};var Vt=new MouseEvent("click");var Lt=function(){function e(e){this.suffix=e,this.currentLang="en_US"}return e.prototype.get=function(e,t){return c.of(e+(this.suffix||""))},e.prototype.stream=function(e,t){return c.of(e+(this.suffix||""))},e.prototype.instant=function(e,t){return e+(this.suffix||"")},e.prototype.setTranslation=function(e,t,o){},e.prototype.setDefaultLang=function(e){},e.prototype.use=function(e){},e}(),Rt=function(){function e(){}return e.prototype.translateObjectArray=function(e,t){return Promise.resolve(e)},e.prototype.translateObjectProperty=function(e,t,o){return c.of(e)},e.prototype.getKendoLocaleId=function(){return"en"},e.prototype.translateCorePopValue=function(e,t){return t},e.prototype.setLanguage=function(){},e}(),Ft=function(){function e(e){this._component=e}return Object.defineProperty(e.prototype,"controls",{get:function(){return this._component.formGroup.controls},enumerable:!1,configurable:!0}),e.prototype.initialize=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return[4,this._component.ngOnInit()];case 1:return e.sent(),[4,this._component.ngAfterViewInit()];case 2:return e.sent(),[2]}}))}))},e.prototype.clickSave=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return[4,this._component.onSave(Vt)];case 1:return e.sent(),[2]}}))}))},e}(),_t=function(){function e(){}return e.getComponentInjector=function(){return r.Injector.create({providers:D(this.CoreProviders,this.ComponentProviders)})},e.getWizardBaseComponentInjector=function(){return r.Injector.create({providers:D(this.CoreProviders,this.ComponentProviders,this.WizardProviders)})},e}();_t.CoreProviders=[{provide:a.Router,useFactory:gt,deps:[]},{provide:_,useFactory:function(){return pt.createSpy(_)},deps:[]},{provide:a.ActivatedRoute,useFactory:function(){return new bt},deps:[]},{provide:Re,useFactory:function(){return pt.createSpy(Re)},deps:[]}],_t.ComponentProviders=[{provide:s.TranslateService,useFactory:function(){return new Lt("-T")},deps:[]},{provide:He,deps:[]},{provide:Ie,useFactory:function(){return pt.createSpy(Ie)},deps:[]}],_t.WizardProviders=[{provide:Te,useFactory:function(){return pt.createSpy(Te)},deps:[]}];var Nt,Bt=function(e){function t(t){var o=e.call(this,t)||this;return o.isWizardMode=!0,o.showWizardSaveSuccess=!1,o.showSave=!0,o.hideNextSaveButton=!1,o.showBack=!1,o.cancelLabel="Cancel",o.dialogId="",o.telemetryService=t.get(Te),o}return k(t,e),Object.defineProperty(t.prototype,"tabGroup",{get:function(){return this._tabGroup},set:function(e){this._tabGroup=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"currentTab",{get:function(){return this._currentTab},enumerable:!1,configurable:!0}),t.prototype.onFirstInit=function(){this._tabGroup=this.configureTabs(),this.setCurrentTab(this._tabGroup.selected),this.subscribeToTabChanges()},t.prototype.onWizardSaveSuccess=function(){},t.prototype.onAfterViewInit=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return this.updateButtons(),[2]}))}))},t.prototype.applyModelUpdates=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.saveToApi=function(){return C(this,void 0,void 0,(function(){return S(this,(function(e){return[2]}))}))},t.prototype.onSaveComplete=function(e){},t.prototype.onSave=function(t){var o=Object.create(null,{onSave:{get:function(){return e.prototype.onSave}}});return C(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:return this._currentTab&&this.isCurrentTabValid()&&(this._currentTab.completed=!0),[4,o.onSave.call(this,t)];case 1:return e.sent(),this.showWizardSaveSuccess&&(this.onWizardSaveSuccess(),this.telemetryService.trackEvent(this.dialogId+"_WizardSuccess")),[2]}}))}))},t.prototype.nextTab=function(){var e,t=this,o=this._tabGroup.items.findIndex((function(e){return e===t._currentTab}));if(o>-1&&o<this._tabGroup.items.length-1){var n=this._tabGroup.items[o+1];this.canGoToNextTab(n)?(n.disabled&&(n.disabled=!1),this._tabGroup.selected=n,this.telemetryService.trackEvent(this.dialogId+"_"+h.upperFirst(null===(e=n.id)||void 0===e?void 0:e.toString()))):this.onTabChangeFailed()}},t.prototype.previousTab=function(){var e,t=this,o=this._tabGroup.items.findIndex((function(e){return e===t._currentTab}));if(o>0&&o<this._tabGroup.items.length){var n=this._tabGroup.items[o-1];this.canGoToPreviousTab(n)?(this._tabGroup.selected=n,this.telemetryService.trackEvent(this.dialogId+"_"+h.upperFirst(null===(e=n.id)||void 0===e?void 0:e.toString()))):this.onTabChangeFailed()}},t.prototype.updateButtons=function(){var e=this;if(this.isWizardMode){if(this.currentTab){var t=this._tabGroup.items.findIndex((function(t){return t===e.currentTab}));if(t>0){this.showBack=!0;var o=this._tabGroup.items[t-1].label;this.backLabel=this.translateService.instant("Back_TC")+": "+this.translateService.instant(o)}else this.showBack=!1;if(t<this._tabGroup.items.length-1){this.showSave=!1;var n=this._tabGroup.items[t+1].label;this.nextLabel=this.translateService.instant("Next_TC")+": "+this.translateService.instant(n)}else this.nextLabel=void 0,this.showSave=!0}}else this.showBack=!1,this.showSave=!0},t.prototype.canGoToNextTab=function(e){return this.isCurrentTabValid()},t.prototype.canGoToPreviousTab=function(e){return this.isCurrentTabValid()},t.prototype.canLeaveCurrentTab=function(){return this.isCurrentTabValid()},t.prototype.isCurrentTabValid=function(){if(this._currentTab&&this._currentTab.formModelPath){var e=this.formGroup.get(this._currentTab.formModelPath);if(e)return e.markAllAsTouched(),e.valid}return!0},t.prototype.onTabChangeSuccess=function(){this.updateButtons(),this.hideErrorBanner()},t.prototype.onTabChangeFailed=function(){this.showErrorBanner(this.defaultInvalidFormMessage)},t.prototype.subscribeToTabChanges=function(){var e=this;this._tabGroup.selectedChanges.pipe(d.takeUntil(this.destroyed)).subscribe((function(t){e.goToTab(t)}))},t.prototype.goToTab=function(e){e!==this._currentTab&&(this.canLeaveCurrentTab()?(this._currentTab&&(this._currentTab.completed=!0),this.setCurrentTab(e),this.onTabChangeSuccess()):(this._tabGroup.selected=this._currentTab,this.onTabChangeFailed()))},t.prototype.setCurrentTab=function(e){this._currentTab=e,this.help=e?e.help:void 0,this.title=e?e.title:void 0},t}(At);Bt.decorators=[{type:r.Directive}],Bt.ctorParameters=function(){return[{type:r.Injector}]},(Nt=e.HierarchyMocks||(e.HierarchyMocks={})).mockRoot=function(){return{id:"1",level:0,hasChildren:!0,children:[],label:""}},Nt.bldgWithChildren=function(){return{placeId:3,parentId:0,placeTypeId:2,placeCode:"HASCHILDREN_BLDG",placeInfo:"A Cool Bldg Has Children",hasChildren:!0,placeChildren:[],meterChildren:[],hasActiveChildren:!0}},Nt.bldgWithChildrenHierarchyItem=function(){return{id:Nt.bldgWithChildren().placeId.toString(),icon:"icon-building",label:Nt.bldgWithChildren().placeInfo+" ["+Nt.bldgWithChildren().placeCode+"]",children:[],hasChildren:!0,level:1,selectable:!0,topLevel:!1}},Nt.orgWithChildren=function(){return{placeId:1,parentId:0,placeTypeId:1,placeCode:"HASCHILDREN_ORG",placeInfo:"A Org Has Children",hasChildren:!0,placeChildren:[],meterChildren:[],hasActiveChildren:!0}},Nt.orgWithChildrenHierarchyItem=function(){return{id:Nt.orgWithChildren().placeId.toString(),icon:"icon-organization",label:Nt.orgWithChildren().placeInfo+" ["+Nt.orgWithChildren().placeCode+"]",children:[],hasChildren:!0,level:1,selectable:!0,topLevel:!0}},Nt.orgWithoutChildren=function(){return{placeId:2,parentId:0,placeTypeId:1,placeCode:"NOCHILDREN_ORG",placeInfo:"No Children Org",hasChildren:!1,placeChildren:[],meterChildren:[],hasActiveChildren:!1}},Nt.orgWithoutChildrenHierarchyItem=function(){return{id:Nt.orgWithoutChildren().placeId.toString(),icon:"icon-organization",label:Nt.orgWithoutChildren().placeInfo+" ["+Nt.orgWithoutChildren().placeCode+"]",children:[],hasChildren:!1,level:1,selectable:!0,topLevel:!0}},Nt.bldgWithoutChildren=function(){return{placeId:4,parentId:0,placeTypeId:2,placeCode:"NOCHILDREN_BLDG",placeInfo:"Zzz No Children Bldg",hasChildren:!1,placeChildren:[],meterChildren:[],hasActiveChildren:!1}},Nt.bldgWithoutChildrenHierarchyItem=function(){return{id:Nt.bldgWithoutChildren().placeId.toString(),icon:"icon-building",label:Nt.bldgWithoutChildren().placeInfo+" ["+Nt.bldgWithoutChildren().placeCode+"]",children:[],hasChildren:!1,level:1,selectable:!0,topLevel:!1}},Nt.sortedHierarchyPlaces=function(){return[Nt.bldgWithChildrenHierarchyItem(),Nt.orgWithChildrenHierarchyItem(),Nt.orgWithoutChildrenHierarchyItem(),Nt.bldgWithoutChildrenHierarchyItem()]};var Ht=function(){function e(){}return e.getComponentInjector=function(){return r.Injector.create({providers:[{provide:Te,useFactory:function(){return pt.createSpy(Te)},deps:[]}]})},e}();e.AppBarComponent=de,e.AvatarComponent=pe,e.BannerComponent=y,e.ButtonComponent=x,e.CacheService=v,e.CheckboxComponent=L,e.ClickAreaForDirective=rt,e.CollapsibleToggleComponent=R,e.ComboboxComponent=N,e.ComponentsModule=Ct,e.ConfirmComponent=ge,e.ConfirmDialogContext=me,e.CopyButtonDirective=w,e.CustomValidators=zt,e.DateDisplayPipe=P,e.DateTimeHelper=E,e.DialogCloseDuration=100,e.DialogCloseEvent=ye,e.DialogCloseLatestEvent=xe,e.DialogComponent=Ce,e.DialogEvent=be,e.DialogGroupComponent=ke,e.DialogOpenDuration=125,e.DialogOpenEndEvent=ve,e.DialogOpenStartEvent=fe,e.DialogResult=we,e.DialogService=Ie,e.DropdownComponent=j,e.ErrorService=He,e.FileTypeExtensions=W,e.FileUploadComponent=U,e.FormControlBase=V,e.FormControlComponent=q,e.FormControlLabelComponent=yt,e.FormGroupComponent=Y,e.FormGroupHelper=A,e.HelpPopoverComponent=It,e.HierarchyBase=De,e.HierarchyBaseTestInjectorFactory=Ht,e.HierarchyItem=Me,e.HierarchyTreeComponent=Ee,e.HighlightTextPipe=at,e.IfViewportWidthDirective=it,e.ItemDisplayComponent=ze,e.ItemPickerComponent=wt,e.ItemPickerSelectableContext=xt,e.JsonDisplayComponent=Oe,e.JsonHelper=Pe,e.LinkButtonComponent=kt,e.MenuComponent=H,e.MockActivatedRoute=bt,e.MockDateDisplayPipe=mt,e.MockDialog=ut,e.MockDialogContent=ht,e.MockTranslateService=Lt,e.MockTranslationHelperService=Rt,e.NavGroup=se,e.NavItemActiveDirective=X,e.NumericboxComponent=ne,e.Overlay=ue,e.PageBaseComponent=At,e.PageBaseComponentTestHelper=Ft,e.PageBaseComponentTestInjectorFactory=_t,e.PageInitResult=Ot,e.PageStatuses=Pt,e.PageTitleComponent=ct,e.PageViewComponent=dt,e.PanelCloseDuration=225,e.PanelOpenDuration=250,e.PopoverComponent=re,e.PopupContainerDirective=F,e.RadioButtonComponent=ie,e.RadioButtonOption=St,e.RelativeDatePipe=lt,e.ResizableBase=Ae,e.ResizableColumnComponent=_e,e.ResizableComponent=Ve,e.RowCountPipe=je,e.ScrollService=_,e.SearchableTableComponent=Ue,e.SelectComponent=ae,e.SpinnerComponent=Le,e.SplashComponent=Fe,e.SplashService=Re,e.SpyFactory=pt,e.TableComponent=Ze,e.TableLockedColumnComponent=Ge,e.TableMasterHeaderRowComponent=$e,e.TableMasterRowComponent=Ye,e.TablePaginationComponent=We,e.TableSelectableRowComponent=Ke,e.TableSelectableRowContext=Xe,e.TabsComponent=le,e.Tag=Et,e.TagsComponent=Je,e.TelemetryService=Te,e.TelemetryTrackerService=Se,e.TextboxComponent=te,e.TimeDisplayPipe=st,e.ToastComponent=tt,e.ToastEvent=Qe,e.ToastService=et,e.ToasterComponent=ot,e.TreeComponent=nt,e.UnicodeStrings=Tt,e.UserPreferenceService=z,e.ValidationMessageService=O,e.ViewOverlayComponent=he,e.WindowService=B,e.WizardBaseComponent=Bt,e.WizardButtonsComponent=ft,e.WizardProgressComponent=vt,e.canadianPostalCodeRegex=/^[a-zA-Z][0-9][a-zA-Z] [0-9][a-zA-Z][0-9]$/,e.clickEvent=Vt,e.dateInputFormatRegex=/^[0-9./-]+$/,e.domainPattern=Z,e.findAllSpacesPattern=/ /g,e.forEachFormControl=G,e.getApiError=function(e){return{error:{status:{message:e}}}},e.getControlValue=$,e.getDecimalPattern=J,e.integerPattern=K,e.isApiError=Be,e.menuAnimationSpeed=350,e.mockRouterFactory=gt,e.numericboxValidation=oe,e.orderByIgnoreCase=function(e,t,o){var n;return n=t.map((function(e){return function(t){return Mt(t,e)||""}})),h.orderBy(e,n,o)},e.otherZipCodeRegex=/.*/,e.phoneNumberValidationPattern=Q,e.sortByIgnoreCase=function(e,t){var o;return o=t.map((function(e){return function(t){return Mt(t,e)}})),h.sortBy(e,o)},e.textboxValidation=function(e){return function(t){var o=[];return e.valid=!0,e.required&&o.push(i.Validators.required),void 0!==e.minLength&&o.push(i.Validators.minLength(e.minLength)),void 0!==e.maxLength&&o.push(i.Validators.maxLength(e.maxLength)),void 0!==e.pattern&&o.push(i.Validators.pattern(e.pattern)),o.forEach((function(o){o(t)&&(e.valid=!1)})),e.valid?null:{textbox:e}}},e.unitedStatesZipCodeRegex=/^[0-9-]+$/,e.urlValidationPattern=ee,e.validateFormGroupValuesAreUnique=function(e,t,o){void 0===t&&(t="value");var n={};G(e,(function(e){var r=$(e,t,o);null!==r&&""!==r&&("string"==typeof r&&(r=r.toLowerCase()),n.hasOwnProperty(r)?n[r]=n[r]+1:n[r]=1)})),G(e,(function(e){var r=$(e,t,o);if(null!==r&&""!==r)if("string"==typeof r&&(r=r.toLowerCase()),n[r]>1)e.setErrors(Object.assign({notUnique:!0},e.errors));else{var i=h.cloneDeep(e.errors);i&&i.hasOwnProperty("notUnique")&&delete i.notUnique,i&&0===Object.keys(i).length&&(i=null),e.setErrors(i)}}))},e.ɵa=Ne,e.ɵb=ce,e.ɵc=qe,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
17
17
|
//# sourceMappingURL=energycap-components.umd.min.js.map
|