coer-elements 0.0.130 → 0.0.131
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/components/lib/coer-accordion/coer-accordion.component.d.ts +2 -2
 - package/components/lib/coer-button/coer-button.component.d.ts +3 -2
 - package/components/lib/coer-checkbox/coer-checkbox.component.d.ts +2 -2
 - package/components/lib/coer-datebox/coer-datebox.component.d.ts +8 -7
 - package/components/lib/coer-modal/coer-modal.component.d.ts +1 -1
 - package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +1 -1
 - package/components/lib/coer-textarea/coer-textarea.component.d.ts +1 -1
 - package/components/lib/coer-textbox/coer-textbox.component.d.ts +1 -1
 - package/fesm2022/coer-elements-components.mjs +24 -22
 - package/fesm2022/coer-elements-components.mjs.map +1 -1
 - package/fesm2022/coer-elements-pages.mjs +2 -2
 - package/fesm2022/coer-elements-pages.mjs.map +1 -1
 - package/fesm2022/coer-elements-tools.mjs.map +1 -1
 - package/interfaces/lib/coer-menu/menu.interface.d.ts +3 -1
 - package/package.json +1 -1
 
| 
         @@ -66,7 +66,7 @@ class CoerAccordion { 
     | 
|
| 
       66 
66 
     | 
    
         
             
                        ? !this._expansionPanel().expanded
         
     | 
| 
       67 
67 
     | 
    
         
             
                        : true;
         
     | 
| 
       68 
68 
     | 
    
         
             
                }
         
     | 
| 
       69 
     | 
    
         
            -
                /** */
         
     | 
| 
      
 69 
     | 
    
         
            +
                /** Open the accordion */
         
     | 
| 
       70 
70 
     | 
    
         
             
                Open() {
         
     | 
| 
       71 
71 
     | 
    
         
             
                    if (Tools.IsNotNull(this._expansionPanel())) {
         
     | 
| 
       72 
72 
     | 
    
         
             
                        if (this.isCollapsed) {
         
     | 
| 
         @@ -74,7 +74,7 @@ class CoerAccordion { 
     | 
|
| 
       74 
74 
     | 
    
         
             
                        }
         
     | 
| 
       75 
75 
     | 
    
         
             
                    }
         
     | 
| 
       76 
76 
     | 
    
         
             
                }
         
     | 
| 
       77 
     | 
    
         
            -
                /** */
         
     | 
| 
      
 77 
     | 
    
         
            +
                /** Close the accordion*/
         
     | 
| 
       78 
78 
     | 
    
         
             
                Close() {
         
     | 
| 
       79 
79 
     | 
    
         
             
                    if (Tools.IsNotNull(this._expansionPanel())) {
         
     | 
| 
       80 
80 
     | 
    
         
             
                        if (this.isExpanded) {
         
     | 
| 
         @@ -103,9 +103,11 @@ class CoerButton { 
     | 
|
| 
       103 
103 
     | 
    
         
             
                    this.type = input('filled');
         
     | 
| 
       104 
104 
     | 
    
         
             
                    this.icon = input('');
         
     | 
| 
       105 
105 
     | 
    
         
             
                    this.iconPosition = input('left');
         
     | 
| 
      
 106 
     | 
    
         
            +
                    this.path = input([]);
         
     | 
| 
       106 
107 
     | 
    
         
             
                    this.animation = input(false);
         
     | 
| 
       107 
108 
     | 
    
         
             
                    this.isLoading = input(false);
         
     | 
| 
       108 
109 
     | 
    
         
             
                    this.isDisabled = input(false);
         
     | 
| 
      
 110 
     | 
    
         
            +
                    this.isReadonly = input(false);
         
     | 
| 
       109 
111 
     | 
    
         
             
                    this.isInvisible = input(false);
         
     | 
| 
       110 
112 
     | 
    
         
             
                    this.width = input('125px');
         
     | 
| 
       111 
113 
     | 
    
         
             
                    this.minWidth = input('30px');
         
     | 
| 
         @@ -116,13 +118,12 @@ class CoerButton { 
     | 
|
| 
       116 
118 
     | 
    
         
             
                    this.marginRight = input('0px');
         
     | 
| 
       117 
119 
     | 
    
         
             
                    this.marginBottom = input('0px');
         
     | 
| 
       118 
120 
     | 
    
         
             
                    this.marginLeft = input('0px');
         
     | 
| 
       119 
     | 
    
         
            -
                    this.path = input([]);
         
     | 
| 
       120 
121 
     | 
    
         
             
                    this.tooltipPosition = input('left');
         
     | 
| 
       121 
122 
     | 
    
         
             
                    //Outputs 
         
     | 
| 
       122 
123 
     | 
    
         
             
                    this.onClick = output();
         
     | 
| 
       123 
124 
     | 
    
         
             
                    //computed
         
     | 
| 
       124 
125 
     | 
    
         
             
                    this._isEnable = computed(() => {
         
     | 
| 
       125 
     | 
    
         
            -
                        return !this.isLoading() && !this.isDisabled() && !this.isInvisible();
         
     | 
| 
      
 126 
     | 
    
         
            +
                        return !this.isLoading() && !this.isDisabled() && !this.isInvisible() && !this.isReadonly();
         
     | 
| 
       126 
127 
     | 
    
         
             
                    });
         
     | 
| 
       127 
128 
     | 
    
         
             
                    //computed
         
     | 
| 
       128 
129 
     | 
    
         
             
                    this._icon = computed(() => {
         
     | 
| 
         @@ -213,7 +214,7 @@ class CoerButton { 
     | 
|
| 
       213 
214 
     | 
    
         
             
                    });
         
     | 
| 
       214 
215 
     | 
    
         
             
                }
         
     | 
| 
       215 
216 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       216 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerButton, isStandalone: false, selector: "coer-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-button': true, 'invisible': isInvisible() }\">\r\n    <a [id]=\"_id + '-container'\"\r\n        [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n        [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation() }\"\r\n        [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft()  }\">\r\n        @if(type() =='filled' || type() == 'outline') {\r\n            <button mat-button\r\n                [id]=\"_id + '-inner-button'\"\r\n                type=\"button\"\r\n                (click)=\"Click($event)\"\r\n                [ngClass]=\"{\r\n                    'primary-filled'    : (color() == 'primary'    && type() =='filled'),\r\n                    'secondary-filled'  : (color() == 'secondary'  && type() =='filled'),\r\n                    'success-filled'    : (color() == 'success'    && type() =='filled'),\r\n                    'warning-filled'    : (color() == 'warning'    && type() =='filled'),\r\n                    'danger-filled'     : (color() == 'danger'     && type() =='filled'),\r\n                    'navigation-filled' : (color() == 'navigation' && type() =='filled'),\r\n                    'dark-filled'       : (color() == 'dark'       && type() =='filled'),\r\n                    'primary-outline'   : (color() == 'primary'    && type() =='outline'),\r\n                    'secondary-outline' : (color() == 'secondary'  && type() =='outline'),\r\n                    'success-outline'   : (color() == 'success'    && type() =='outline'),\r\n                    'warning-outline'   : (color() == 'warning'    && type() =='outline'),\r\n                    'danger-outline'    : (color() == 'danger'     && type() =='outline'),\r\n                    'navigation-outline': (color() == 'navigation' && type() =='outline'),\r\n                    'dark-outline'      : (color() == 'dark'       && type() =='outline'),\r\n                    'readonly': isDisabled(),\r\n                    'cursor-wait': isLoading()\r\n                }\"\r\n                [ngStyle]=\"{\r\n                    'width'     : width(),\r\n                    'min-width' : minWidth(),\r\n                    'height'    : height(),\r\n                    'min-height': minHeight()\r\n                }\">\r\n                <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n                    <span *ngIf=\"(iconPosition() == 'left')\">\r\n                        <i [class]=\"_icon()\"></i>\r\n                    </span>\r\n\r\n                    <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n                        <ng-content></ng-content>\r\n                    </span>\r\n\r\n                    <span *ngIf=\"(iconPosition() == 'right')\">\r\n                        <i [class]=\"_icon()\"></i>\r\n                    </span>\r\n                </span>\r\n\r\n                <ng-template #loading>\r\n                    <span class=\"slot fa-fade\">\r\n                        <span class=\"me-2\"> Loading </span>\r\n                        <i class=\"spinner-border\"></i>\r\n                    </span>\r\n                </ng-template>\r\n            </button>\r\n        }\r\n\r\n        @else {\r\n            @if (type() == 'icon') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-filled'   : (color() == 'primary'),\r\n                        'secondary-filled' : (color() == 'secondary'),\r\n                        'success-filled'   : (color() == 'success'),\r\n                        'warning-filled'   : (color() == 'warning'),\r\n                        'danger-filled'    : (color() == 'danger'),\r\n                        'navigation-filled': (color() == 'navigation'),\r\n                        'dark-filled'      : (color() == 'dark'),\r\n                        'readonly'         : (isDisabled() || isLoading()),\r\n                        'cursor-wait'      : isLoading()\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n\r\n            @else if (type() == 'icon-outline') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-outline'   : (color() == 'primary'),\r\n                        'secondary-outline' : (color() == 'secondary'),\r\n                        'success-outline'   : (color() == 'success'),\r\n                        'warning-outline'   : (color() == 'warning'),\r\n                        'danger-outline'    : (color() == 'danger'),\r\n                        'navigation-outline': (color() == 'navigation'),\r\n                        'dark-outline'      : (color() == 'dark'),\r\n                        'readonly'          : (isDisabled() || isLoading()),\r\n                        'cursor-wait'       : isLoading()\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n\r\n            @else if (type() == 'icon-no-border') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-outline'   : (color() == 'primary'),\r\n                        'secondary-outline' : (color() == 'secondary'),\r\n                        'success-outline'   : (color() == 'success'),\r\n                        'warning-outline'   : (color() == 'warning'),\r\n                        'danger-outline'    : (color() == 'danger'),\r\n                        'navigation-outline': (color() == 'navigation'),\r\n                        'dark-outline'      : (color() == 'dark'),\r\n                        'readonly'          : (isDisabled() || isLoading()),\r\n                        'icon-no-border'    : true\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n        }\r\n    </a>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}coer-button{display:contents!important}div.coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important}div.coer-button a.animate__disabled{animation-duration:0s!important}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}div.coer-button .slot{width:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-overflow:ellipsis!important;overflow:hidden!important}div.coer-button button.primary-filled{background-color:var(--blue)!important;color:var(--white)!important}div.coer-button button.secondary-filled{background-color:var(--gray)!important;color:var(--white)!important}div.coer-button button.success-filled{background-color:var(--green)!important;color:var(--white)!important}div.coer-button button.warning-filled{background-color:var(--yellow)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--red)!important;color:var(--white)!important}div.coer-button button.navigation-filled{background-color:var(--orange)!important;color:var(--white)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--white)!important}div.coer-button button.primary-outline{background-color:#fff!important;border:1px solid var(--blue)!important;color:var(--blue)!important}div.coer-button button.secondary-outline{background-color:#fff!important;border:1px solid var(--gray)!important;color:var(--gray)!important}div.coer-button button.success-outline{background-color:#fff!important;border:1px solid var(--green)!important;color:var(--green)!important}div.coer-button button.warning-outline{background-color:#fff!important;border:1px solid var(--yellow)!important;color:var(--yellow)!important}div.coer-button button.danger-outline{background-color:#fff!important;border:1px solid var(--red)!important;color:var(--red)!important}div.coer-button button.navigation-outline{background-color:#fff!important;border:1px solid var(--orange)!important;color:var(--orange)!important}div.coer-button button.dark-outline{background-color:#fff!important;border:1px solid var(--black)!important;color:var(--black)!important}div.coer-button button.primary-filled:not(.readonly):hover,div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):hover,div.coer-button button.primary-outline:not(.readonly):focus,div.coer-button button.secondary-filled:not(.readonly):hover,div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):hover,div.coer-button button.secondary-outline:not(.readonly):focus,div.coer-button button.success-filled:not(.readonly):hover,div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):hover,div.coer-button button.success-outline:not(.readonly):focus,div.coer-button button.warning-filled:not(.readonly):hover,div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):hover,div.coer-button button.warning-outline:not(.readonly):focus,div.coer-button button.danger-filled:not(.readonly):hover,div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):hover,div.coer-button button.danger-outline:not(.readonly):focus,div.coer-button button.navigation-filled:not(.readonly):hover,div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):hover,div.coer-button button.navigation-outline:not(.readonly):focus,div.coer-button button.dark-filled:not(.readonly):hover,div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):hover,div.coer-button button.dark-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--blue)!important}div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--gray)!important}div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):focus{box-shadow:0 0 20px var(--green)!important}div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):focus{box-shadow:0 0 20px var(--yellow)!important}div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):focus{box-shadow:0 0 20px var(--red)!important}div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):focus{box-shadow:0 0 20px var(--orange)!important}div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):focus{box-shadow:0 0 20px var(--black)!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button{width:40px!important;height:40px!important;padding:0!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border{width:25px!important;height:25px!important;background-color:transparent!important;border:none!important;overflow:visible!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border *{font-size:medium!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-left,div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-in-right{font-size:20px!important}div.coer-button button.readonly,div.coer-button button.readonly:hover,div.coer-button button.readonly:focus{background-color:#dfdede!important;border-color:#dfdede!important;color:#fff!important}div.coer-button coer-button[ishidden=true],div.coer-button coer-button[ng-reflect-invisible=true]{position:relative!important;top:10000vh;left:10000vw}div.coer-button a.loading{cursor:wait!important}div.coer-button i{vertical-align:middle!important}div.coer-button i.spinner-border{width:15px!important;height:15px!important;font-size:16px!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatButton, selector: "    button[mat-button], button[mat-raised-button], button[mat-flat-button],    button[mat-stroked-button]  ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
         
     | 
| 
      
 217 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerButton, isStandalone: false, selector: "coer-button", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconPosition: { classPropertyName: "iconPosition", publicName: "iconPosition", isSignal: true, isRequired: false, transformFunction: null }, path: { classPropertyName: "path", publicName: "path", isSignal: true, isRequired: false, transformFunction: null }, animation: { classPropertyName: "animation", publicName: "animation", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-button': true, 'invisible': isInvisible() }\">\r\n    <a [id]=\"_id + '-container'\"\r\n        [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n        [ngClass]=\"{ 'loading': isLoading(), 'animate__animated animate__zoomIn': true, 'animate__disabled': !animation() }\"\r\n        [ngStyle]=\"{ 'margin-top': marginTop(), 'margin-right': marginRight(), 'margin-bottom': marginBottom(), 'margin-left': marginLeft()  }\">\r\n        @if(type() =='filled' || type() == 'outline') {\r\n            <button mat-button\r\n                [id]=\"_id + '-inner-button'\"\r\n                type=\"button\"\r\n                (click)=\"Click($event)\"\r\n                [ngClass]=\"{\r\n                    'primary-filled'    : (color() == 'primary'    && type() =='filled'),\r\n                    'secondary-filled'  : (color() == 'secondary'  && type() =='filled'),\r\n                    'success-filled'    : (color() == 'success'    && type() =='filled'),\r\n                    'warning-filled'    : (color() == 'warning'    && type() =='filled'),\r\n                    'danger-filled'     : (color() == 'danger'     && type() =='filled'),\r\n                    'navigation-filled' : (color() == 'navigation' && type() =='filled'),\r\n                    'dark-filled'       : (color() == 'dark'       && type() =='filled'),\r\n                    'primary-outline'   : (color() == 'primary'    && type() =='outline'),\r\n                    'secondary-outline' : (color() == 'secondary'  && type() =='outline'),\r\n                    'success-outline'   : (color() == 'success'    && type() =='outline'),\r\n                    'warning-outline'   : (color() == 'warning'    && type() =='outline'),\r\n                    'danger-outline'    : (color() == 'danger'     && type() =='outline'),\r\n                    'navigation-outline': (color() == 'navigation' && type() =='outline'),\r\n                    'dark-outline'      : (color() == 'dark'       && type() =='outline'),\r\n                    'readonly': isDisabled(),\r\n                    'cursor-wait': isLoading()\r\n                }\"\r\n                [ngStyle]=\"{\r\n                    'width'     : width(),\r\n                    'min-width' : minWidth(),\r\n                    'height'    : height(),\r\n                    'min-height': minHeight()\r\n                }\">\r\n                <span class=\"slot\" *ngIf=\"!isLoading(); else loading\" >\r\n                    <span *ngIf=\"(iconPosition() == 'left')\">\r\n                        <i [class]=\"_icon()\"></i>\r\n                    </span>\r\n\r\n                    <span [ngClass]=\"{ 'ms-2': (iconPosition() == 'left'), 'me-2': (iconPosition() == 'right') }\">\r\n                        <ng-content></ng-content>\r\n                    </span>\r\n\r\n                    <span *ngIf=\"(iconPosition() == 'right')\">\r\n                        <i [class]=\"_icon()\"></i>\r\n                    </span>\r\n                </span>\r\n\r\n                <ng-template #loading>\r\n                    <span class=\"slot fa-fade\">\r\n                        <span class=\"me-2\"> Loading </span>\r\n                        <i class=\"spinner-border\"></i>\r\n                    </span>\r\n                </ng-template>\r\n            </button>\r\n        }\r\n\r\n        @else {\r\n            @if (type() == 'icon') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-filled'   : (color() == 'primary'),\r\n                        'secondary-filled' : (color() == 'secondary'),\r\n                        'success-filled'   : (color() == 'success'),\r\n                        'warning-filled'   : (color() == 'warning'),\r\n                        'danger-filled'    : (color() == 'danger'),\r\n                        'navigation-filled': (color() == 'navigation'),\r\n                        'dark-filled'      : (color() == 'dark'),\r\n                        'readonly'         : (isDisabled() || isLoading()),\r\n                        'cursor-wait'      : isLoading()\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n\r\n            @else if (type() == 'icon-outline') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-outline'   : (color() == 'primary'),\r\n                        'secondary-outline' : (color() == 'secondary'),\r\n                        'success-outline'   : (color() == 'success'),\r\n                        'warning-outline'   : (color() == 'warning'),\r\n                        'danger-outline'    : (color() == 'danger'),\r\n                        'navigation-outline': (color() == 'navigation'),\r\n                        'dark-outline'      : (color() == 'dark'),\r\n                        'readonly'          : (isDisabled() || isLoading()),\r\n                        'cursor-wait'       : isLoading()\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n\r\n            @else if (type() == 'icon-no-border') {\r\n                <button mat-icon-button\r\n                    [id]=\"_id + '-inner-button'\"\r\n                    (click)=\"Click($event)\"\r\n                    [ngClass]=\"{\r\n                        'primary-outline'   : (color() == 'primary'),\r\n                        'secondary-outline' : (color() == 'secondary'),\r\n                        'success-outline'   : (color() == 'success'),\r\n                        'warning-outline'   : (color() == 'warning'),\r\n                        'danger-outline'    : (color() == 'danger'),\r\n                        'navigation-outline': (color() == 'navigation'),\r\n                        'dark-outline'      : (color() == 'dark'),\r\n                        'readonly'          : (isDisabled() || isLoading()),\r\n                        'icon-no-border'    : true\r\n                    }\">\r\n                    <i [class]=\"_icon()\"></i>\r\n                </button>\r\n            }\r\n        }\r\n    </a>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}coer-button{display:contents!important}div.coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important}div.coer-button a.animate__disabled{animation-duration:0s!important}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}div.coer-button .slot{width:100px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-overflow:ellipsis!important;overflow:hidden!important}div.coer-button button.primary-filled{background-color:var(--blue)!important;color:var(--white)!important}div.coer-button button.secondary-filled{background-color:var(--gray)!important;color:var(--white)!important}div.coer-button button.success-filled{background-color:var(--green)!important;color:var(--white)!important}div.coer-button button.warning-filled{background-color:var(--yellow)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--red)!important;color:var(--white)!important}div.coer-button button.navigation-filled{background-color:var(--orange)!important;color:var(--white)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--white)!important}div.coer-button button.primary-outline{background-color:#fff!important;border:1px solid var(--blue)!important;color:var(--blue)!important}div.coer-button button.secondary-outline{background-color:#fff!important;border:1px solid var(--gray)!important;color:var(--gray)!important}div.coer-button button.success-outline{background-color:#fff!important;border:1px solid var(--green)!important;color:var(--green)!important}div.coer-button button.warning-outline{background-color:#fff!important;border:1px solid var(--yellow)!important;color:var(--yellow)!important}div.coer-button button.danger-outline{background-color:#fff!important;border:1px solid var(--red)!important;color:var(--red)!important}div.coer-button button.navigation-outline{background-color:#fff!important;border:1px solid var(--orange)!important;color:var(--orange)!important}div.coer-button button.dark-outline{background-color:#fff!important;border:1px solid var(--black)!important;color:var(--black)!important}div.coer-button button.primary-filled:not(.readonly):hover,div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):hover,div.coer-button button.primary-outline:not(.readonly):focus,div.coer-button button.secondary-filled:not(.readonly):hover,div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):hover,div.coer-button button.secondary-outline:not(.readonly):focus,div.coer-button button.success-filled:not(.readonly):hover,div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):hover,div.coer-button button.success-outline:not(.readonly):focus,div.coer-button button.warning-filled:not(.readonly):hover,div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):hover,div.coer-button button.warning-outline:not(.readonly):focus,div.coer-button button.danger-filled:not(.readonly):hover,div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):hover,div.coer-button button.danger-outline:not(.readonly):focus,div.coer-button button.navigation-filled:not(.readonly):hover,div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):hover,div.coer-button button.navigation-outline:not(.readonly):focus,div.coer-button button.dark-filled:not(.readonly):hover,div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):hover,div.coer-button button.dark-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled:not(.readonly):focus,div.coer-button button.primary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--blue)!important}div.coer-button button.secondary-filled:not(.readonly):focus,div.coer-button button.secondary-outline:not(.readonly):focus{box-shadow:0 0 20px var(--gray)!important}div.coer-button button.success-filled:not(.readonly):focus,div.coer-button button.success-outline:not(.readonly):focus{box-shadow:0 0 20px var(--green)!important}div.coer-button button.warning-filled:not(.readonly):focus,div.coer-button button.warning-outline:not(.readonly):focus{box-shadow:0 0 20px var(--yellow)!important}div.coer-button button.danger-filled:not(.readonly):focus,div.coer-button button.danger-outline:not(.readonly):focus{box-shadow:0 0 20px var(--red)!important}div.coer-button button.navigation-filled:not(.readonly):focus,div.coer-button button.navigation-outline:not(.readonly):focus{box-shadow:0 0 20px var(--orange)!important}div.coer-button button.dark-filled:not(.readonly):focus,div.coer-button button.dark-outline:not(.readonly):focus{box-shadow:0 0 20px var(--black)!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button{width:40px!important;height:40px!important;padding:0!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border{width:25px!important;height:25px!important;background-color:transparent!important;border:none!important;overflow:visible!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border *{font-size:medium!important}div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-left,div.coer-button button.mdc-icon-button.mat-mdc-icon-button.icon-no-border i.bi-box-arrow-in-right{font-size:20px!important}div.coer-button button.readonly,div.coer-button button.readonly:hover,div.coer-button button.readonly:focus{background-color:#dfdede!important;border-color:#dfdede!important;color:#fff!important}div.coer-button coer-button[ishidden=true],div.coer-button coer-button[ng-reflect-invisible=true]{position:relative!important;top:10000vh;left:10000vw}div.coer-button a.loading{cursor:wait!important}div.coer-button i{vertical-align:middle!important}div.coer-button i.spinner-border{width:15px!important;height:15px!important;font-size:16px!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i3.MatButton, selector: "    button[mat-button], button[mat-raised-button], button[mat-flat-button],    button[mat-stroked-button]  ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
         
     | 
| 
       217 
218 
     | 
    
         
             
            }
         
     | 
| 
       218 
219 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerButton, decorators: [{
         
     | 
| 
       219 
220 
     | 
    
         
             
                        type: Component,
         
     | 
| 
         @@ -237,7 +238,7 @@ class CoerCheckbox extends ControlValue { 
     | 
|
| 
       237 
238 
     | 
    
         
             
                    this.isLoading = input(false);
         
     | 
| 
       238 
239 
     | 
    
         
             
                    this.isDisabled = input(false);
         
     | 
| 
       239 
240 
     | 
    
         
             
                    this.isInvisible = input(false);
         
     | 
| 
       240 
     | 
    
         
            -
                    this. 
     | 
| 
      
 241 
     | 
    
         
            +
                    this.ignoreDataBinding = input(false);
         
     | 
| 
       241 
242 
     | 
    
         
             
                    //Outputs
         
     | 
| 
       242 
243 
     | 
    
         
             
                    this.onChange = output();
         
     | 
| 
       243 
244 
     | 
    
         
             
                    //computed
         
     | 
| 
         @@ -261,7 +262,7 @@ class CoerCheckbox extends ControlValue { 
     | 
|
| 
       261 
262 
     | 
    
         
             
                //ControlValueAccessor
         
     | 
| 
       262 
263 
     | 
    
         
             
                SetValue(value) {
         
     | 
| 
       263 
264 
     | 
    
         
             
                    if (Tools.IsNotNull(value)) {
         
     | 
| 
       264 
     | 
    
         
            -
                        if (!this. 
     | 
| 
      
 265 
     | 
    
         
            +
                        if (!this.ignoreDataBinding()) {
         
     | 
| 
       265 
266 
     | 
    
         
             
                            this._UpdateValue(value);
         
     | 
| 
       266 
267 
     | 
    
         
             
                        }
         
     | 
| 
       267 
268 
     | 
    
         
             
                        this._value = value;
         
     | 
| 
         @@ -292,7 +293,7 @@ class CoerCheckbox extends ControlValue { 
     | 
|
| 
       292 
293 
     | 
    
         
             
                    }
         
     | 
| 
       293 
294 
     | 
    
         
             
                }
         
     | 
| 
       294 
295 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       295 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: CoerCheckbox, isStandalone: false, selector: "coer-checkbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null },  
     | 
| 
      
 296 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.0.1", type: CoerCheckbox, isStandalone: false, selector: "coer-checkbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, ignoreDataBinding: { classPropertyName: "ignoreDataBinding", publicName: "ignoreDataBinding", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange" }, providers: [CONTROL_VALUE(CoerCheckbox)], usesInheritance: true, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-checkbox': true, 'placeholder-glow': isLoading(), 'invisible': isInvisible() }\">\r\n    <div [id]=\"_id\" [ngClass]=\"{ 'placeholder': isLoading() }\">\r\n        <mat-checkbox\r\n            [ngModel]=\"_value\"\r\n            [indeterminate]=\"false\"\r\n            [labelPosition]=\"labelPosition()\"\r\n            [disabled]=\"!_isEnable()\"\r\n            (change)=\"this.SetValue($event.checked)\"\r\n        > {{ label() }} </mat-checkbox>\r\n    </div>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox{padding:10px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{background-color:var(--white)!important;border-radius:5px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple{width:30px!important;height:30px!important;top:5px!important;left:5px!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-ripple.mat-mdc-checkbox-ripple.mat-mdc-focus-indicator *{display:none!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label{padding-top:3px!important;padding-left:0!important}div.coer-checkbox mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label::selection{background-color:transparent!important}div.coer-checkbox mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{background-color:var(--orange)!important;border-color:var(--orange)!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox{padding:0!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-mdc-checkbox-touch-target,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mat-mdc-checkbox-touch-target{top:8px!important;width:39px!important;height:30px!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox input,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox input{display:none!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__ripple{top:-7px!important;left:-6px!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field div.mdc-checkbox div.mdc-checkbox__background{transform:translateY(-1px)!important;position:static!important}coer-grid table tbody tr td.check-box mat-checkbox div.mdc-form-field.mat-internal-form-field label.mdc-label,coer-grid table tbody tr td.check-box mat-checkbox.mat-mdc-checkbox-checked div.mdc-form-field.mat-internal-form-field label.mdc-label{display:none!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }] }); }
         
     | 
| 
       296 
297 
     | 
    
         
             
            }
         
     | 
| 
       297 
298 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerCheckbox, decorators: [{
         
     | 
| 
       298 
299 
     | 
    
         
             
                        type: Component,
         
     | 
| 
         @@ -315,12 +316,13 @@ class CoerDateBox extends ControlValue { 
     | 
|
| 
       315 
316 
     | 
    
         
             
                    this.id = '';
         
     | 
| 
       316 
317 
     | 
    
         
             
                    this.label = input('');
         
     | 
| 
       317 
318 
     | 
    
         
             
                    this.placeholder = input('');
         
     | 
| 
       318 
     | 
    
         
            -
                    this. 
     | 
| 
       319 
     | 
    
         
            -
                    this.isReadonly = input(false);
         
     | 
| 
       320 
     | 
    
         
            -
                    this.isLoading = input(false);
         
     | 
| 
      
 319 
     | 
    
         
            +
                    this.textPosition = input('left');
         
     | 
| 
       321 
320 
     | 
    
         
             
                    this.isInvalid = input(false);
         
     | 
| 
       322 
321 
     | 
    
         
             
                    this.isValid = input(false);
         
     | 
| 
       323 
     | 
    
         
            -
                    this. 
     | 
| 
      
 322 
     | 
    
         
            +
                    this.isLoading = input(false);
         
     | 
| 
      
 323 
     | 
    
         
            +
                    this.isDisabled = input(false);
         
     | 
| 
      
 324 
     | 
    
         
            +
                    this.isReadonly = input(false);
         
     | 
| 
      
 325 
     | 
    
         
            +
                    this.isInvisible = input(false);
         
     | 
| 
       324 
326 
     | 
    
         
             
                    this.width = input('100%');
         
     | 
| 
       325 
327 
     | 
    
         
             
                    this.minWidth = input('190px');
         
     | 
| 
       326 
328 
     | 
    
         
             
                    this.maxWidth = input('100%');
         
     | 
| 
         @@ -342,7 +344,7 @@ class CoerDateBox extends ControlValue { 
     | 
|
| 
       342 
344 
     | 
    
         
             
                    });
         
     | 
| 
       343 
345 
     | 
    
         
             
                    //computed
         
     | 
| 
       344 
346 
     | 
    
         
             
                    this._isEnable = computed(() => {
         
     | 
| 
       345 
     | 
    
         
            -
                        return !this.isDisabled() && !this.isLoading() && !this.isReadonly();
         
     | 
| 
      
 347 
     | 
    
         
            +
                        return !this.isDisabled() && !this.isLoading() && !this.isReadonly() && !this.isInvisible();
         
     | 
| 
       346 
348 
     | 
    
         
             
                    });
         
     | 
| 
       347 
349 
     | 
    
         
             
                }
         
     | 
| 
       348 
350 
     | 
    
         
             
                //Inputs
         
     | 
| 
         @@ -433,17 +435,17 @@ class CoerDateBox extends ControlValue { 
     | 
|
| 
       433 
435 
     | 
    
         
             
                    }
         
     | 
| 
       434 
436 
     | 
    
         
             
                }
         
     | 
| 
       435 
437 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDateBox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       436 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDateBox, isStandalone: false, selector: "coer-datebox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null },  
     | 
| 
      
 438 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDateBox, isStandalone: false, selector: "coer-datebox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, textPosition: { classPropertyName: "textPosition", publicName: "textPosition", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, isValid: { classPropertyName: "isValid", publicName: "isValid", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onOpen: "onOpen", onClose: "onClose" }, providers: [
         
     | 
| 
       437 
439 
     | 
    
         
             
                        provideNativeDateAdapter(),
         
     | 
| 
       438 
440 
     | 
    
         
             
                        CONTROL_VALUE(CoerDateBox),
         
     | 
| 
       439 
     | 
    
         
            -
                    ], viewQueries: [{ propertyName: "matFormField", first: true, predicate: ["matFormField"], descendants: true, isSignal: true }, { propertyName: "coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }, { propertyName: "_datepicker", first: true, predicate: ["datepicker"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-date-box\">\r\n    <mat-form-field\r\n        [id]=\"_id + '-container'\"\r\n        [floatLabel]=\"floatLabel()\"\r\n        [ngClass]=\"{\r\n            'readonly': isReadonly() && !isLoading()\r\n        }\"\r\n        [style]=\"{\r\n            'width': width(),\r\n            'min-width': minWidth(),\r\n            'max-width': maxWidth(),\r\n            'margin-top': marginTop(),\r\n            'margin-right': marginRight(),\r\n            'margin-bottom': marginBottom(),\r\n            'margin-left': marginLeft(), \r\n        }\">\r\n\r\n        <mat-label> {{ label() }} </mat-label>\r\n        \r\n        <input #coerTextBox matInput \r\n            [id]=\"_id\"\r\n            [placeholder]=\"placeholder()\"\r\n            [matDatepicker]=\"datepicker\" \r\n            [disabled]=\"!_isEnable()\"\r\n            [readonly]=\"true\"\r\n            [value]=\"_value\"\r\n            (dateChange)=\"SetValue(coerTextBox.value)\"\r\n            [style]=\"{\r\n                'cursor': isLoading() ? 'wait' : 'pointer',\r\n                'margin-top': (floatLabel() == 'auto') ? '15px' : '9px',\r\n                'padding-right': paddingRight(),\r\n                'text-align': textPosition()\r\n            }\">\r\n        \r\n        <mat-datepicker #datepicker (closed)=\"Close()\"/>\r\n\r\n        @if(!isLoading()) { \r\n            <mat-datepicker-toggle \r\n                matSuffix\r\n                [for]=\"datepicker\" \r\n                [disabled]=\"!_isEnable()\">\r\n                <mat-icon matDatepickerToggleIcon>\r\n                    <i class=\"fa-solid fa-calendar-days\"></i>\r\n                </mat-icon>\r\n            </mat-datepicker-toggle>\r\n        }\r\n\r\n        @if(isLoading()) {\r\n            <div class=\"placeholder-glow\">\r\n                <span class=\"placeholder\"></span>\r\n            </div>\r\n        }\r\n\r\n        <span ngClass=\"icon-container\">\r\n            @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-exclamation\"></i>\r\n            }\r\n\r\n            @else if(isValid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n            }\r\n        </span>\r\n    </mat-form-field> \r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-date-box{display:flex;align-items:center}div.coer-date-box mat-form-field{position:relative!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--orange);font-weight:700;position:relative;left:-10px;top:2px}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--orange)!important}div.coer-date-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-date-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-date-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-date-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-date-box mat-form-field .placeholder,div.coer-date-box mat-form-field .placeholder *,div.coer-date-box mat-form-field .placeholder-glow,div.coer-date-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-date-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-date-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}div.coer-date-box .mat-datepicker-toggle-active{color:var(--orange)!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2$3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i2$3.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl],      input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }] }); }
         
     | 
| 
      
 441 
     | 
    
         
            +
                    ], viewQueries: [{ propertyName: "matFormField", first: true, predicate: ["matFormField"], descendants: true, isSignal: true }, { propertyName: "coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }, { propertyName: "_datepicker", first: true, predicate: ["datepicker"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-date-box\">\r\n    <mat-form-field\r\n        [id]=\"_id + '-container'\"\r\n        [floatLabel]=\"floatLabel()\"\r\n        [ngClass]=\"{\r\n            'readonly': isReadonly() && !isLoading(),\r\n            'd-none': isInvisible()\r\n        }\"\r\n        [style]=\"{\r\n            'width': width(),\r\n            'min-width': minWidth(),\r\n            'max-width': maxWidth(),\r\n            'margin-top': marginTop(),\r\n            'margin-right': marginRight(),\r\n            'margin-bottom': marginBottom(),\r\n            'margin-left': marginLeft(), \r\n        }\">\r\n\r\n        <mat-label> {{ label() }} </mat-label>\r\n        \r\n        <input #coerTextBox matInput \r\n            [id]=\"_id\"\r\n            [placeholder]=\"placeholder()\"\r\n            [matDatepicker]=\"datepicker\" \r\n            [disabled]=\"!_isEnable()\"\r\n            [readonly]=\"true\"\r\n            [value]=\"_value\"\r\n            (dateChange)=\"SetValue(coerTextBox.value)\"\r\n            [style]=\"{\r\n                'cursor': isLoading() ? 'wait' : 'pointer',\r\n                'margin-top': (floatLabel() == 'auto') ? '15px' : '9px',\r\n                'padding-right': paddingRight(),\r\n                'text-align': textPosition()\r\n            }\">\r\n        \r\n        <mat-datepicker #datepicker (closed)=\"Close()\"/>\r\n\r\n        @if(!isLoading()) { \r\n            <mat-datepicker-toggle \r\n                matSuffix\r\n                [for]=\"datepicker\" \r\n                [disabled]=\"!_isEnable()\">\r\n                <mat-icon matDatepickerToggleIcon>\r\n                    <i class=\"fa-solid fa-calendar-days\"></i>\r\n                </mat-icon>\r\n            </mat-datepicker-toggle>\r\n        }\r\n\r\n        @if(isLoading()) {\r\n            <div class=\"placeholder-glow\">\r\n                <span class=\"placeholder\"></span>\r\n            </div>\r\n        }\r\n\r\n        <span ngClass=\"icon-container\">\r\n            @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-exclamation\"></i>\r\n            }\r\n\r\n            @else if(isValid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n            }\r\n        </span>\r\n    </mat-form-field> \r\n\r\n    @if(isInvisible()) {\r\n        <mat-form-field class=\"invisible\">\r\n            <input matInput [disabled]=\"true\"> \r\n        </mat-form-field> \r\n    }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-date-box{display:flex;align-items:center}div.coer-date-box mat-form-field{position:relative!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--orange);font-weight:700;position:relative;left:-10px;top:2px}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--orange)!important}div.coer-date-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-date-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-date-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-date-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-date-box mat-form-field .placeholder,div.coer-date-box mat-form-field .placeholder *,div.coer-date-box mat-form-field .placeholder-glow,div.coer-date-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-date-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-date-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}div.coer-date-box .mat-datepicker-toggle-active{color:var(--orange)!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2$3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "directive", type: i2$3.MatDatepickerToggleIcon, selector: "[matDatepickerToggleIcon]" }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl],      input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }] }); }
         
     | 
| 
       440 
442 
     | 
    
         
             
            }
         
     | 
| 
       441 
443 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDateBox, decorators: [{
         
     | 
| 
       442 
444 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       443 
445 
     | 
    
         
             
                        args: [{ selector: 'coer-datebox', providers: [
         
     | 
| 
       444 
446 
     | 
    
         
             
                                    provideNativeDateAdapter(),
         
     | 
| 
       445 
447 
     | 
    
         
             
                                    CONTROL_VALUE(CoerDateBox),
         
     | 
| 
       446 
     | 
    
         
            -
                                ], standalone: false, template: "<div class=\"coer-date-box\">\r\n    <mat-form-field\r\n        [id]=\"_id + '-container'\"\r\n        [floatLabel]=\"floatLabel()\"\r\n        [ngClass]=\"{\r\n            'readonly': isReadonly() && !isLoading()\r\n        }\"\r\n        [style]=\"{\r\n            'width': width(),\r\n            'min-width': minWidth(),\r\n            'max-width': maxWidth(),\r\n            'margin-top': marginTop(),\r\n            'margin-right': marginRight(),\r\n            'margin-bottom': marginBottom(),\r\n            'margin-left': marginLeft(), \r\n        }\">\r\n\r\n        <mat-label> {{ label() }} </mat-label>\r\n        \r\n        <input #coerTextBox matInput \r\n            [id]=\"_id\"\r\n            [placeholder]=\"placeholder()\"\r\n            [matDatepicker]=\"datepicker\" \r\n            [disabled]=\"!_isEnable()\"\r\n            [readonly]=\"true\"\r\n            [value]=\"_value\"\r\n            (dateChange)=\"SetValue(coerTextBox.value)\"\r\n            [style]=\"{\r\n                'cursor': isLoading() ? 'wait' : 'pointer',\r\n                'margin-top': (floatLabel() == 'auto') ? '15px' : '9px',\r\n                'padding-right': paddingRight(),\r\n                'text-align': textPosition()\r\n            }\">\r\n        \r\n        <mat-datepicker #datepicker (closed)=\"Close()\"/>\r\n\r\n        @if(!isLoading()) { \r\n            <mat-datepicker-toggle \r\n                matSuffix\r\n                [for]=\"datepicker\" \r\n                [disabled]=\"!_isEnable()\">\r\n                <mat-icon matDatepickerToggleIcon>\r\n                    <i class=\"fa-solid fa-calendar-days\"></i>\r\n                </mat-icon>\r\n            </mat-datepicker-toggle>\r\n        }\r\n\r\n        @if(isLoading()) {\r\n            <div class=\"placeholder-glow\">\r\n                <span class=\"placeholder\"></span>\r\n            </div>\r\n        }\r\n\r\n        <span ngClass=\"icon-container\">\r\n            @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-exclamation\"></i>\r\n            }\r\n\r\n            @else if(isValid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n            }\r\n        </span>\r\n    </mat-form-field> \r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-date-box{display:flex;align-items:center}div.coer-date-box mat-form-field{position:relative!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--orange);font-weight:700;position:relative;left:-10px;top:2px}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--orange)!important}div.coer-date-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-date-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-date-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-date-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-date-box mat-form-field .placeholder,div.coer-date-box mat-form-field .placeholder *,div.coer-date-box mat-form-field .placeholder-glow,div.coer-date-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-date-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-date-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}div.coer-date-box .mat-datepicker-toggle-active{color:var(--orange)!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"] }]
         
     | 
| 
      
 448 
     | 
    
         
            +
                                ], standalone: false, template: "<div class=\"coer-date-box\">\r\n    <mat-form-field\r\n        [id]=\"_id + '-container'\"\r\n        [floatLabel]=\"floatLabel()\"\r\n        [ngClass]=\"{\r\n            'readonly': isReadonly() && !isLoading(),\r\n            'd-none': isInvisible()\r\n        }\"\r\n        [style]=\"{\r\n            'width': width(),\r\n            'min-width': minWidth(),\r\n            'max-width': maxWidth(),\r\n            'margin-top': marginTop(),\r\n            'margin-right': marginRight(),\r\n            'margin-bottom': marginBottom(),\r\n            'margin-left': marginLeft(), \r\n        }\">\r\n\r\n        <mat-label> {{ label() }} </mat-label>\r\n        \r\n        <input #coerTextBox matInput \r\n            [id]=\"_id\"\r\n            [placeholder]=\"placeholder()\"\r\n            [matDatepicker]=\"datepicker\" \r\n            [disabled]=\"!_isEnable()\"\r\n            [readonly]=\"true\"\r\n            [value]=\"_value\"\r\n            (dateChange)=\"SetValue(coerTextBox.value)\"\r\n            [style]=\"{\r\n                'cursor': isLoading() ? 'wait' : 'pointer',\r\n                'margin-top': (floatLabel() == 'auto') ? '15px' : '9px',\r\n                'padding-right': paddingRight(),\r\n                'text-align': textPosition()\r\n            }\">\r\n        \r\n        <mat-datepicker #datepicker (closed)=\"Close()\"/>\r\n\r\n        @if(!isLoading()) { \r\n            <mat-datepicker-toggle \r\n                matSuffix\r\n                [for]=\"datepicker\" \r\n                [disabled]=\"!_isEnable()\">\r\n                <mat-icon matDatepickerToggleIcon>\r\n                    <i class=\"fa-solid fa-calendar-days\"></i>\r\n                </mat-icon>\r\n            </mat-datepicker-toggle>\r\n        }\r\n\r\n        @if(isLoading()) {\r\n            <div class=\"placeholder-glow\">\r\n                <span class=\"placeholder\"></span>\r\n            </div>\r\n        }\r\n\r\n        <span ngClass=\"icon-container\">\r\n            @if(isInvalid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-exclamation\"></i>\r\n            }\r\n\r\n            @else if(isValid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n            }\r\n        </span>\r\n    </mat-form-field> \r\n\r\n    @if(isInvisible()) {\r\n        <mat-form-field class=\"invisible\">\r\n            <input matInput [disabled]=\"true\"> \r\n        </mat-form-field> \r\n    }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-date-box{display:flex;align-items:center}div.coer-date-box mat-form-field{position:relative!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--orange);font-weight:700;position:relative;left:-10px;top:2px}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-date-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--orange)!important}div.coer-date-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-date-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-date-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-date-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-date-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-date-box mat-form-field .placeholder,div.coer-date-box mat-form-field .placeholder *,div.coer-date-box mat-form-field .placeholder-glow,div.coer-date-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-date-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-date-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}div.coer-date-box .mat-datepicker-toggle-active{color:var(--orange)!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"] }]
         
     | 
| 
       447 
449 
     | 
    
         
             
                    }], propDecorators: { value: [{
         
     | 
| 
       448 
450 
     | 
    
         
             
                            type: Input
         
     | 
| 
       449 
451 
     | 
    
         
             
                        }], id: [{
         
     | 
| 
         @@ -1544,7 +1546,7 @@ class CoerTextBox extends ControlValue { 
     | 
|
| 
       1544 
1546 
     | 
    
         
             
                    });
         
     | 
| 
       1545 
1547 
     | 
    
         
             
                }
         
     | 
| 
       1546 
1548 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerTextBox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       1547 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerTextBox, isStandalone: false, selector: "coer-textbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, showSearchIcon: { classPropertyName: "showSearchIcon", publicName: "showSearchIcon", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, isValid: { classPropertyName: "isValid", publicName: "isValid", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, textPosition: { classPropertyName: "textPosition", publicName: "textPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onKeyupEnter: "onKeyupEnter", onInput: "onInput", onClickClear: "onClickClear", onClickButton: "onClickButton" }, providers: [CONTROL_VALUE(CoerTextBox)], viewQueries: [{ propertyName: "matFormField", first: true, predicate: ["matFormField"], descendants: true, isSignal: true }, { propertyName: "coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-text-box\">\r\n    @if(_showButtonLeft) {\r\n        <div class=\"button-container\">\r\n            <coer-button\r\n                type=\"icon-no-border\"\r\n                color=\"dark\"\r\n                [icon]=\"_buttonIcon\"  \r\n                [isDisabled]=\"_buttonIsDisabled\" \r\n                (onClick)=\"onClickButton.emit()\"\r\n            ></coer-button>\r\n        </div>\r\n    }\r\n\r\n    <mat-form-field\r\n        [id]=\"_id + '-container'\"\r\n        [floatLabel]=\"floatLabel()\"\r\n        [ngClass]=\"{\r\n            'readonly': isReadonly() && !isLoading(),\r\n            'd-none': isInvisible()\r\n        }\"\r\n        [style]=\"{\r\n            'width': width(),\r\n            'min-width': minWidth(),\r\n            'max-width': maxWidth(),\r\n            'margin-top': marginTop(),\r\n            'margin-right': marginRight(),\r\n            'margin-bottom': marginBottom(),\r\n            'margin-left': marginLeft()\r\n        }\">\r\n        <mat-label>{{ label() }}</mat-label>\r\n\r\n        <input #coerTextBox matInput\r\n            [id]=\"_id\"\r\n            type=\"text\"\r\n            [placeholder]=\"placeholder()\"\r\n            [minLength]=\"minLength()\"\r\n            [maxLength]=\"maxLength()\"\r\n            [disabled]=\"!_isEnable()\"\r\n            [value]=\"_value\"\r\n            (input)=\"SetValue(coerTextBox.value)\"\r\n            (blur)=\"SetTouched(true)\"\r\n            [style]=\"{\r\n                'cursor': isLoading() ? 'wait' : null,\r\n                'margin-top': (floatLabel() == 'auto') ? '15px' : '9px',\r\n                'padding-right': paddingRight(),\r\n                'text-align': textPosition()\r\n            }\">\r\n\r\n        @if(isLoading()) {\r\n            <div class=\"placeholder-glow\">\r\n                <span class=\"placeholder\"></span>\r\n            </div>\r\n        }\r\n\r\n        <span ngClass=\"icon-container\">\r\n            @if(_showSearchIcon) {\r\n                <i class=\"fa-solid fa-magnifying-glass cursor-pointer\" (click)=\"ClickSearch()\"></i>\r\n            }\r\n\r\n            @else if(_showClearIcon) {\r\n                <i class=\"fa-solid fa-xmark cursor-pointer\" (click)=\"Clear(); this.onClickClear.emit();\"></i>\r\n            }\r\n\r\n            @else if(isInvalid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-exclamation\"></i>\r\n            }\r\n\r\n            @else if(isValid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n            }\r\n        </span>\r\n    </mat-form-field> \r\n\r\n    @if(isInvisible()) {\r\n        <mat-form-field class=\"invisible\">\r\n            <input matInput [disabled]=\"true\"> \r\n        </mat-form-field> \r\n    }\r\n\r\n    @if(_showButtonRight) {\r\n        <div class=\"button-container\">\r\n            <coer-button\r\n                type=\"icon-no-border\"\r\n                color=\"dark\"\r\n                [icon]=\"_buttonIcon\"  \r\n                [isDisabled]=\"_buttonIsDisabled\" \r\n                (onClick)=\"onClickButton.emit()\"\r\n            ></coer-button>\r\n        </div>\r\n    }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-text-box{display:flex;align-items:center}div.coer-text-box mat-form-field{position:relative!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--orange);font-weight:700;position:relative;left:-10px;top:2px}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--orange)!important}div.coer-text-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-text-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-text-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-text-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-text-box mat-form-field .placeholder,div.coer-text-box mat-form-field .placeholder *,div.coer-text-box mat-form-field .placeholder-glow,div.coer-text-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-text-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-text-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl],      input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "animation", "isLoading", "isDisabled", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "path", "tooltipPosition", "tooltip"], outputs: ["onClick"] }] }); }
         
     | 
| 
      
 1549 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerTextBox, isStandalone: false, selector: "coer-textbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, button: { classPropertyName: "button", publicName: "button", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, showSearchIcon: { classPropertyName: "showSearchIcon", publicName: "showSearchIcon", isSignal: true, isRequired: false, transformFunction: null }, showClearIcon: { classPropertyName: "showClearIcon", publicName: "showClearIcon", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, isValid: { classPropertyName: "isValid", publicName: "isValid", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, selectOnFocus: { classPropertyName: "selectOnFocus", publicName: "selectOnFocus", isSignal: true, isRequired: false, transformFunction: null }, textPosition: { classPropertyName: "textPosition", publicName: "textPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onKeyupEnter: "onKeyupEnter", onInput: "onInput", onClickClear: "onClickClear", onClickButton: "onClickButton" }, providers: [CONTROL_VALUE(CoerTextBox)], viewQueries: [{ propertyName: "matFormField", first: true, predicate: ["matFormField"], descendants: true, isSignal: true }, { propertyName: "coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-text-box\">\r\n    @if(_showButtonLeft) {\r\n        <div class=\"button-container\">\r\n            <coer-button\r\n                type=\"icon-no-border\"\r\n                color=\"dark\"\r\n                [icon]=\"_buttonIcon\"  \r\n                [isDisabled]=\"_buttonIsDisabled\" \r\n                (onClick)=\"onClickButton.emit()\"\r\n            ></coer-button>\r\n        </div>\r\n    }\r\n\r\n    <mat-form-field\r\n        [id]=\"_id + '-container'\"\r\n        [floatLabel]=\"floatLabel()\"\r\n        [ngClass]=\"{\r\n            'readonly': isReadonly() && !isLoading(),\r\n            'd-none': isInvisible()\r\n        }\"\r\n        [style]=\"{\r\n            'width': width(),\r\n            'min-width': minWidth(),\r\n            'max-width': maxWidth(),\r\n            'margin-top': marginTop(),\r\n            'margin-right': marginRight(),\r\n            'margin-bottom': marginBottom(),\r\n            'margin-left': marginLeft()\r\n        }\">\r\n        <mat-label>{{ label() }}</mat-label>\r\n\r\n        <input #coerTextBox matInput\r\n            [id]=\"_id\"\r\n            type=\"text\"\r\n            [placeholder]=\"placeholder()\"\r\n            [minLength]=\"minLength()\"\r\n            [maxLength]=\"maxLength()\"\r\n            [disabled]=\"!_isEnable()\"\r\n            [value]=\"_value\"\r\n            (input)=\"SetValue(coerTextBox.value)\"\r\n            (blur)=\"SetTouched(true)\"\r\n            [style]=\"{\r\n                'cursor': isLoading() ? 'wait' : null,\r\n                'margin-top': (floatLabel() == 'auto') ? '15px' : '9px',\r\n                'padding-right': paddingRight(),\r\n                'text-align': textPosition()\r\n            }\">\r\n\r\n        @if(isLoading()) {\r\n            <div class=\"placeholder-glow\">\r\n                <span class=\"placeholder\"></span>\r\n            </div>\r\n        }\r\n\r\n        <span ngClass=\"icon-container\">\r\n            @if(_showSearchIcon) {\r\n                <i class=\"fa-solid fa-magnifying-glass cursor-pointer\" (click)=\"ClickSearch()\"></i>\r\n            }\r\n\r\n            @else if(_showClearIcon) {\r\n                <i class=\"fa-solid fa-xmark cursor-pointer\" (click)=\"Clear(); this.onClickClear.emit();\"></i>\r\n            }\r\n\r\n            @else if(isInvalid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-exclamation\"></i>\r\n            }\r\n\r\n            @else if(isValid() && !isDisabled() && !isLoading()) {\r\n                <i class=\"fa-solid fa-circle-check text-green\"></i>\r\n            }\r\n        </span>\r\n    </mat-form-field> \r\n\r\n    @if(isInvisible()) {\r\n        <mat-form-field class=\"invisible\">\r\n            <input matInput [disabled]=\"true\"> \r\n        </mat-form-field> \r\n    }\r\n\r\n    @if(_showButtonRight) {\r\n        <div class=\"button-container\">\r\n            <coer-button\r\n                type=\"icon-no-border\"\r\n                color=\"dark\"\r\n                [icon]=\"_buttonIcon\"  \r\n                [isDisabled]=\"_buttonIsDisabled\" \r\n                (onClick)=\"onClickButton.emit()\"\r\n            ></coer-button>\r\n        </div>\r\n    }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-text-box{display:flex;align-items:center}div.coer-text-box mat-form-field{position:relative!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:40px!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{width:100%!important;height:40px!important;padding:0!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label{overflow:visible!important;position:absolute!important;top:20px!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix label.mdc-floating-label--float-above mat-label{color:var(--orange);font-weight:700;position:relative;left:-10px;top:2px}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{font-weight:400!important;font-size:17px!important;color:var(--black)!important}div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active,div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:before,div.coer-text-box mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple.mdc-line-ripple--active:after{border-bottom-color:var(--orange)!important}div.coer-text-box mat-form-field div.mat-mdc-form-field-subscript-wrapper.mat-mdc-form-field-bottom-align{height:0px!important}div.coer-text-box mat-form-field span.icon-container{position:absolute!important;top:1px!important;right:-14px!important;z-index:5!important;width:30px;height:40px;display:flex;align-items:center;justify-content:center}div.coer-text-box mat-form-field span.icon-container i{font-size:20px!important}div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-xmark,div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass{color:#caced1!important;cursor:pointer!important}div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-xmark:hover,div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-magnifying-glass:hover{color:#6c757d!important}div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-circle-check{color:var(--green)!important}div.coer-text-box mat-form-field span.icon-container i.fa-solid.fa-circle-exclamation{color:var(--red)!important}div.coer-text-box mat-form-field span.placeholder{width:calc(100% + 32px)!important;height:40px!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-text-box mat-form-field .placeholder,div.coer-text-box mat-form-field .placeholder *,div.coer-text-box mat-form-field .placeholder-glow,div.coer-text-box mat-form-field .placeholder-glow *{cursor:wait!important}div.coer-text-box mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}div.coer-text-box div.button-container{width:40px!important;height:40px!important;display:flex!important;align-items:center!important;justify-content:center!important;background-color:#e6e7e9!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:transparent!important;padding-left:9px!important;padding-right:9px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:before,coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mdc-line-ripple:after{border-bottom-color:transparent!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix{height:28px!important}coer-grid table tbody tr td.coer-textbox mat-form-field div.mat-mdc-text-field-wrapper.mdc-text-field div.mat-mdc-form-field-flex div.mat-mdc-form-field-infix input{margin-top:3px!important;font-size:14px!important}coer-grid table tbody tr td.coer-textbox mat-form-field span.icon-container{transform:translate(-5px,-6px)!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2$4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl],      input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }] }); }
         
     | 
| 
       1548 
1550 
     | 
    
         
             
            }
         
     | 
| 
       1549 
1551 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerTextBox, decorators: [{
         
     | 
| 
       1550 
1552 
     | 
    
         
             
                        type: Component,
         
     | 
| 
         @@ -2574,11 +2576,11 @@ class CoerGrid extends CoerGridExtension { 
     | 
|
| 
       2574 
2576 
     | 
    
         
             
                    }
         
     | 
| 
       2575 
2577 
     | 
    
         
             
                }
         
     | 
| 
       2576 
2578 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       2577 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGrid, isStandalone: false, selector: "coer-grid", providers: [CONTROL_VALUE(CoerGrid)], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n    @if(isLoading()) {\r\n        <!-- Grid Message --> \r\n        <div class=\"loading\" [ngStyle]=\"{ \r\n                'width': _enableAnimations ? GetElementWidth(innerContainer) : '0px', \r\n                'height': _enableAnimations ? GetElementHeight(innerContainer) : '0px',\r\n                'bottom': showFooter() ? '35px' : '10px'\r\n            }\">\r\n            <i class=\"spinner-border\"></i>\r\n            <span class=\"fa-fade\">Loading</span>\r\n        </div>\r\n    }\r\n    \r\n    <header [id]=\"_id + '-header'\" class=\"row\">\r\n        <!-- Slot -->\r\n        <ng-content></ng-content>\r\n\r\n        <!-- Export Button -->\r\n        @if(exportButton.show && gridLength().dataSource > 0) {\r\n            <div class=\"col-auto\">\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"excel\"\r\n                    [tooltip]=\"_isLoading ? 'Loading' : (exportButton.tooltip || 'Export')\"\r\n                    [path]=\"(exportButton && exportButton.path) ? exportButton.path : []\"\r\n                    [isDisabled]=\"_isDisabled() || _isLoading || (exportButton.isDisabled || false)\"\r\n                    [isLoading]=\"_isLoading\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"Export(!exportButton.preventDefault)\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Import Button -->\r\n        @if(importButton.show) {\r\n            <div class=\"col-auto\">\r\n                <input type=\"file\" #inputFileRef [multiple]=\"false\" (change)=\"Import($event)\">\r\n\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"import\"\r\n                    [tooltip]=\"importButton.tooltip || 'Import'\"\r\n                    [path]=\"(importButton && importButton.path) ? importButton.path : []\"\r\n                    [isDisabled]=\"importButton.isDisabled || false\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"Import()\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Add Button -->\r\n        @if(addButton.show) {\r\n            <div class=\"col-auto\">\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"new\"\r\n                    [tooltip]=\"addButton.tooltip || 'New'\"\r\n                    [path]=\"(addButton && addButton.path) ? addButton.path : []\"\r\n                    [isDisabled]=\"addButton.isDisabled || false\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"onClickAdd.emit()\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Search -->\r\n        @if(search.show) {\r\n            <div class=\"col-auto\">\r\n                <coer-textbox\r\n                    #inputSearch\r\n                    [id]=\"_GetId(-1, -1, 'search')\"\r\n                    [ngModel]=\"_gridSearch()\"\r\n                    placeholder=\"Search\"\r\n                    [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                    [selectOnFocus]=\"true\"\r\n                    width=\"250px\"\r\n                    [showSearchIcon]=\"true\"\r\n                    [showClearIcon]=\"true\"\r\n                    (onInput)=\"InputChange(-1, 'Search', $event, 'coer-textbox-search')\"\r\n                    (onClickClear)=\"InputChange(-1, 'Search', '', 'coer-textbox-search')\"\r\n                    (onKeyupEnter)=\"KeyupEnter(-1, { indexRow: -1 }, 'coer-textbox-search', $event);\"\r\n                ></coer-textbox>\r\n            </div>\r\n        }\r\n    </header>\r\n\r\n    <section [ngClass]=\"{ 'grid-container': true, 'invisible': isInvisible() }\">  \r\n        <div #innerContainer [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\">  \r\n            @if(!_isDisabled() && gridLength().dataSource <= 0 && !isLoading()) {\r\n                <div class=\"no-data\"> No Data </div>\r\n            }\r\n\r\n            <table class=\"table table-sm table-responsive table-striped\">\r\n                <thead>\r\n                    <tr>\r\n                        @if(checkbox.show && gridLength().dataSource > 0) {\r\n                            <!-- CheckBox Column -->\r\n                            <th scope=\"col\" class=\"check-box\">\r\n                                <div *ngIf=\"!_onlyOneCheck\" [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n                                    <coer-checkbox\r\n                                        [id]=\"_GetId(0, 0, 'checkboxAll')\"\r\n                                        [ignoreModel]=\"true\"\r\n                                        [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                                        (onChange)=\"ClickCheck(_GetId(0, 0, 'checkboxAll'), $event, true)\"\r\n                                    ></coer-checkbox>\r\n                                </div>\r\n                            </th>\r\n                        }\r\n\r\n                        <!-- Dynamic Grid Column -->\r\n                        @for(header of gridColumns(); track header.indexColumn) {\r\n                            <th scope=\"col\" (dblclick)=\"Sort(header.columnName)\"\r\n                                [ngClass]=\"{\r\n                                    'no-selection': true,\r\n                                    'cursor-default': !enableSort() && !_isLoading,\r\n                                    'cursor-pointer': enableSort() && !_isLoading,\r\n                                    'cursor-wait': _isLoading\r\n                                }\"\r\n                                [ngStyle]=\"{\r\n                                    'width': header.width,\r\n                                    'text-align': GetAttribute(header.columnName, null, 'textAlign', 'defaul-cell')\r\n                                }\">\r\n                                <div class=\"no-selection\">\r\n                                    {{ _GetColumnName(header.columnName) }}\r\n                                    <i [class]=\"_GetShortIcon(header.columnName)\"></i>\r\n                                </div>\r\n                            </th>\r\n                        }\r\n\r\n                        <!-- Delete Button Column -->\r\n                        @if(ButtonByRow('showDeleteButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n\r\n                        <!-- Edit Button Column -->\r\n                        @if(ButtonByRow('showEditButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n\r\n                        <!-- Edit Button Column -->\r\n                        @if(ButtonByRow('showGoButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n                    </tr>\r\n                </thead>\r\n\r\n                <!-- body -->\r\n                @for(group of gridDataSource(); track group.indexGroup) {\r\n                    <tbody>\r\n                        <!--<tr v-if=\"_isGrouped\">\r\n                            <td :colspan=\"_colspan\" class=\"group\">\r\n                                <MesAccordion\r\n                                    :ref=\"`accordion${group.indexGroup}-${id}`\"\r\n                                    :title=\"`${_CleanHeaderName(groupBy)} (${group.length}):  ${group.groupBy}`\"\r\n                                    :isLoading=\"_isLoading\"\r\n                                    @expanded=\"_ToogleAccordion(group.groupBy, true, group.indexGroup)\"\r\n                                    @collapsed=\"_ToogleAccordion(group.groupBy, false, group.indexGroup)\"\r\n                                ></MesAccordion>\r\n                            </td>\r\n                        </tr>-->\r\n\r\n                        @for(row of group.rows; track row.indexRow) {\r\n                            <tr [id]=\"_GetId(row.indexRow, 0, 'row')\"\r\n                                [ngClass]=\"{ 'loading': isLoading(), 'd-none': _HideRow(group), 'row-focus': (row.indexRow == _indexFocus() && enableRowFocus()) }\"\r\n                                (click)=\"_indexFocus.set(row.indexRow)\">\r\n\r\n                                @if(checkbox.show) {\r\n                                    <!-- CheckBox Column -->\r\n                                    <td class=\"check-box\">\r\n                                        <div [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n                                            <coer-checkbox\r\n                                                [id]=\"_GetId(row.indexRow, 0, 'checkbox')\"\r\n                                                [ignoreModel]=\"true\"\r\n                                                [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                                                (onChange)=\"ClickCheck(_GetId(row.indexRow, 0, 'checkbox'), $event, false, row)\"\r\n                                            ></coer-checkbox>\r\n                                        </div>\r\n\r\n                                        <div [ngClass]=\"{ 'invisible': !_isLoadingMessage, 'spinner-border-container': true }\">\r\n                                            <i class=\"spinner-border\"></i>\r\n                                        </div>\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- Dynamic Column -->\r\n                                @for(header of gridColumns(); track header.indexColumn) {\r\n                                    @if(_IsCellType(header.columnName, row, 'template')) {\r\n                                        <td class=\"template\"\r\n                                            (click)=\"_isDisabled() ? null : onClickRow.emit(row)\"\r\n                                            (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\">\r\n                                            <div [innerHTML]=\"GetAttribute(header.columnName, row, 'template', 'defaul-cell') | html\" class=\"template\"></div>\r\n                                        </td>\r\n                                    }\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerTextbox')) {\r\n                                        <!-- coer-textbox -->\r\n                                        <td class=\"coer-textbox\">\r\n                                            <coer-textbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerTextbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerTextbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerTextbox') || false\"\r\n                                                [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerTextbox') || true\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerTextbox') || ('Type ' + header.columnName + '...')\"\r\n                                                [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerTextbox') || 'left'\"\r\n                                                [minLength]=\"GetAttribute(header.columnName, row, 'minLength', 'coerTextbox') || 0\"\r\n                                                [maxLength]=\"GetAttribute(header.columnName, row, 'maxLength', 'coerTextbox') || 50\"\r\n                                                (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-textbox')\"\r\n                                                (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-textbox', $event)\"\r\n                                            ></coer-textbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerNumberbox')) {\r\n                                        <!-- coer-numberbox -->\r\n                                        <td class=\"coer-numberbox\">\r\n                                            <coer-numberbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerNumberbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerNumberbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerNumberbox') || false\"\r\n                                                [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerNumberbox') || true\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerNumberbox') || ''\"\r\n                                                [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerNumberbox') || 'right'\"\r\n                                                [min]=\"GetAttribute(header.columnName, row, 'min', 'coerNumberbox') || 0\"\r\n                                                [max]=\"GetAttribute(header.columnName, row, 'max', 'coerNumberbox') || 2147483647\"\r\n                                                [decimals]=\"GetAttribute(header.columnName, row, 'decimals', 'coerNumberbox') || 0\"\r\n                                                (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-numberbox')\"\r\n                                                (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-numberbox', $event)\"\r\n                                            ></coer-numberbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerSelectbox')) {\r\n                                        <!-- coer-numberbox -->\r\n                                        <td class=\"coer-selectbox\">\r\n                                            <coer-selectbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSelectbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerSelectbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerSelectbox') || false\"\r\n                                                [dataSource]=\"GetAttribute(header.columnName, row, 'dataSource', 'coerSelectbox') || []\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerSelectbox') || '-- Select --'\"\r\n                                                [propDisplay]=\"GetAttribute(header.columnName, row, 'propDisplay', 'coerSelectbox') || 'name'\"\r\n                                                (onSelected)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-selectbox'); KeyupEnter(header.indexColumn, row, 'coer-selectbox', $event)\"\r\n                                            ></coer-selectbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerSwitch')) {\r\n                                        <!-- coer-switch -->\r\n                                        <td>\r\n                                            <coer-switch\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSwitch') || _isDisabled() || _isLoading\"\r\n                                                [tooltip]=\"GetAttribute(header.columnName, row, 'tooltip', 'coerSwitch')\"\r\n                                                [tooltipPosition]=\"GetAttribute(header.columnName, row, 'tooltipPosition', 'coerSwitch') || 'left'\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                (onChange)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-switch')\"\r\n                                            ></coer-switch>\r\n                                        </td>\r\n                                    }\r\n\r\n                                    @else {\r\n                                        <!-- Default Cell -->\r\n                                        <td class=\"default-cell\"\r\n                                            (click)=\"ClickOnRow(row)\"\r\n                                            (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\"\r\n                                            [ngStyle]=\"{\r\n                                                'text-align': GetAttribute(header.columnName, row, 'textAlign', 'defaul-cell'),\r\n                                                'white-space': 'normal'\r\n                                            }\">\r\n\r\n                                            <div [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [ngClass]=\"{\r\n                                                    'text-blue-bold': _IsCellColor(header.columnName, row, 'colorBlue'),\r\n                                                    'text-green-bold': _IsCellColor(header.columnName, row, 'colorGreen'),\r\n                                                    'text-yellow-bold': _IsCellColor(header.columnName, row, 'colorYellow'),\r\n                                                    'text-red-bold': _IsCellColor(header.columnName, row, 'colorRed'),\r\n                                                    'text-right-bold': _IsCellType(header.columnName, row, 'number')\r\n                                                }\">\r\n\r\n                                                @if(_IsCellType(header.columnName, row, 'number')) {\r\n                                                    <span> {{ GetNumericFormat(row[header.columnName]) }} </span>\r\n                                                }\r\n\r\n                                                @else if(_IsCellType(header.columnName, row, 'date')) {\r\n                                                    <span> {{ _GetDateFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n                                                }\r\n\r\n                                                @else if(_IsCellType(header.columnName, row, 'date-time')) {\r\n                                                    <span> {{ _GetDateTimeFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n                                                }\r\n\r\n                                                @else {\r\n                                                    <span> {{ _GetCellValue(row, header.columnName) }} </span>\r\n                                                }\r\n                                            </div>\r\n                                        </td>\r\n                                    }\r\n                                }\r\n\r\n                                <!-- Delete Button -->\r\n                                @if(ButtonByRow('showDeleteButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showDeleteButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"delete\"\r\n                                                [tooltip]=\"_GetTooltip('Delete', row)\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickDeleteRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- Edit Button -->\r\n                                @if(ButtonByRow('showEditButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showEditButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"edit\"\r\n                                                [tooltip]=\"_GetTooltip('Edit', row)\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickEditRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- GO Button -->\r\n                                @if(ButtonByRow('showGoButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showGoButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"go\"\r\n                                                [tooltip]=\"_GetTooltip('Go to', row, 'detail')\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickGoRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n                            </tr>\r\n                        }\r\n                    </tbody>\r\n                }\r\n            </table>\r\n        </div>\r\n    </section>\r\n\r\n    @if(showFooter()) {\r\n        <footer class=\"grid-footer\">\r\n            <span>\r\n                @if(_isLoadingMessage) {\r\n                    <span class=\"fa-fade\"> Loading </span>\r\n                }\r\n\r\n                @else if(gridLength().dataSourceSelected > 0) {\r\n                    <span>\r\n                        <i class=\"bi bi-check2-square ms-1\"></i>\r\n                        {{ gridLength().dataSourceSelected }}\r\n                    </span>\r\n                }\r\n            </span>\r\n\r\n            <span class=\"me-1\"> {{ gridLength().dataSourceFiltered | numericFormat }} Rows </span>\r\n        </footer>\r\n    }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-grid header{align-items:flex-end;justify-content:flex-end;padding-right:8px;margin:0}div.coer-grid header>div{padding:0 0 10px 10px;display:flex;align-items:baseline}div.coer-grid header>div a{height:40px!important}div.coer-grid table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}div.coer-grid table thead tr th{position:sticky!important;z-index:100!important;top:0!important;background-color:var(--gray)!important;color:var(--white)!important;padding:5px!important;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;min-width:50px!important;white-space:nowrap!important}div.coer-grid table tbody{border:0px!important}div.coer-grid table tbody tr:not(.row-focus):hover td{color:#000!important;background-color:#f1f6ff}div.coer-grid table tbody tr td{border:0px!important;padding:5px!important;vertical-align:middle!important;white-space:break-spaces;text-overflow:ellipsis;overflow:hidden;min-height:31px!important}div.coer-grid table tbody tr.row-focus td{background-color:#cde1ff}div.coer-grid table tbody tr td.coer-textbox,div.coer-grid table tbody tr td.coer-numberbox,div.coer-grid table tbody tr td.coer-selectbox{padding:0!important;overflow:visible!important}div.coer-grid table tbody tr td.default-cell{cursor:pointer!important}div.coer-grid table thead tr th.action-button,div.coer-grid table thead tr td.action-button,div.coer-grid table thead tr th.check-box,div.coer-grid table thead tr td.check-box,div.coer-grid table tbody tr th.action-button,div.coer-grid table tbody tr td.action-button,div.coer-grid table tbody tr th.check-box table tbody tr td.check-box{text-align:center!important;cursor:default!important;min-width:40px!important;max-width:40px!important;width:40px!important;padding:0!important}div.coer-grid footer.grid-footer{display:flex;align-items:center;justify-content:space-between;font-size:small;color:#999;padding-top:5px}div.coer-grid section.grid-container{position:relative;overflow:auto}div.coer-grid div.loading,div.coer-grid div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray}div.coer-grid div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;z-index:1}div.coer-grid div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-grid tr.loading{background-color:#bbbbbb83!important}div.coer-grid div.loading i.spinner-border{color:var(--orange)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-grid td.check-box div.spinner-border-container{position:absolute;transform:translate(7px,-19px)}div.coer-grid td.check-box div.spinner-border-container i.spinner-border{width:15px!important;height:15px!important;color:var(--orange)!important}div.coer-grid table thead tr th.check-box>div,div.coer-grid table tbody tr td.check-box>div{display:flex;align-items:center;justify-content:center;cursor:default!important}div.coer-grid input.form-check-input{box-shadow:none!important;margin:0}div.coer-grid input[type=checkbox]{cursor:pointer!important}div.coer-grid td.group{padding:0!important;margin:0!important}div.coer-grid td.group>*{border-top:1px solid var(--gray)!important;border-bottom:1px solid var(--gray)!important;padding:0!important;margin:0!important}div.coer-grid .template,div.coer-grid .template div{white-space:nowrap!important;display:flex!important;align-items:center!important;cursor:pointer!important;gap:5px!important;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "animation", "isLoading", "isDisabled", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "path", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerCheckbox, selector: "coer-checkbox", inputs: ["value", "id", "label", "labelPosition", "isLoading", "isDisabled", "isInvisible", "ignoreModel"], outputs: ["onChange"] }, { kind: "component", type: CoerNumberBox, selector: "coer-numberbox", inputs: ["value", "id", "label", "placeholder", "min", "max", "decimals", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isReadonly", "isLoading", "selectOnFocus", "textPosition"], outputs: ["onKeyupEnter", "onInput"] }, { kind: "component", type: CoerSelectbox, selector: "coer-selectbox", inputs: ["value", "id", "label", "dataSource", "propDisplay", "rowsByPage", "placeholder", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isReadonly", "isLoading"], outputs: ["onSelected", "onUnselect"] }, { kind: "component", type: CoerSwitch, selector: "coer-switch", inputs: ["value", "id", "label", "labelPosition", "isDisabled", "isLoading", "isInvisible", "tooltipPosition", "tooltip"], outputs: ["onChange"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "button", "label", "placeholder", "minLength", "maxLength", "showSearchIcon", "showClearIcon", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isInvisible", "isReadonly", "isLoading", "selectOnFocus", "textPosition"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }, { kind: "pipe", type: i9.NumericFormatPipe, name: "numericFormat" }] }); }
         
     | 
| 
      
 2579 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGrid, isStandalone: false, selector: "coer-grid", providers: [CONTROL_VALUE(CoerGrid)], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n    @if(isLoading()) {\r\n        <!-- Grid Message --> \r\n        <div class=\"loading\" [ngStyle]=\"{ \r\n                'width': _enableAnimations ? GetElementWidth(innerContainer) : '0px', \r\n                'height': _enableAnimations ? GetElementHeight(innerContainer) : '0px',\r\n                'bottom': showFooter() ? '35px' : '10px'\r\n            }\">\r\n            <i class=\"spinner-border\"></i>\r\n            <span class=\"fa-fade\">Loading</span>\r\n        </div>\r\n    }\r\n    \r\n    <header [id]=\"_id + '-header'\" class=\"row\">\r\n        <!-- Slot -->\r\n        <ng-content></ng-content>\r\n\r\n        <!-- Export Button -->\r\n        @if(exportButton.show && gridLength().dataSource > 0) {\r\n            <div class=\"col-auto\">\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"excel\"\r\n                    [tooltip]=\"_isLoading ? 'Loading' : (exportButton.tooltip || 'Export')\"\r\n                    [path]=\"(exportButton && exportButton.path) ? exportButton.path : []\"\r\n                    [isDisabled]=\"_isDisabled() || _isLoading || (exportButton.isDisabled || false)\"\r\n                    [isLoading]=\"_isLoading\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"Export(!exportButton.preventDefault)\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Import Button -->\r\n        @if(importButton.show) {\r\n            <div class=\"col-auto\">\r\n                <input type=\"file\" #inputFileRef [multiple]=\"false\" (change)=\"Import($event)\">\r\n\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"import\"\r\n                    [tooltip]=\"importButton.tooltip || 'Import'\"\r\n                    [path]=\"(importButton && importButton.path) ? importButton.path : []\"\r\n                    [isDisabled]=\"importButton.isDisabled || false\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"Import()\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Add Button -->\r\n        @if(addButton.show) {\r\n            <div class=\"col-auto\">\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"new\"\r\n                    [tooltip]=\"addButton.tooltip || 'New'\"\r\n                    [path]=\"(addButton && addButton.path) ? addButton.path : []\"\r\n                    [isDisabled]=\"addButton.isDisabled || false\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"onClickAdd.emit()\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Search -->\r\n        @if(search.show) {\r\n            <div class=\"col-auto\">\r\n                <coer-textbox\r\n                    #inputSearch\r\n                    [id]=\"_GetId(-1, -1, 'search')\"\r\n                    [ngModel]=\"_gridSearch()\"\r\n                    placeholder=\"Search\"\r\n                    [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                    [selectOnFocus]=\"true\"\r\n                    width=\"250px\"\r\n                    [showSearchIcon]=\"true\"\r\n                    [showClearIcon]=\"true\"\r\n                    (onInput)=\"InputChange(-1, 'Search', $event, 'coer-textbox-search')\"\r\n                    (onClickClear)=\"InputChange(-1, 'Search', '', 'coer-textbox-search')\"\r\n                    (onKeyupEnter)=\"KeyupEnter(-1, { indexRow: -1 }, 'coer-textbox-search', $event);\"\r\n                ></coer-textbox>\r\n            </div>\r\n        }\r\n    </header>\r\n\r\n    <section [ngClass]=\"{ 'grid-container': true, 'invisible': isInvisible() }\">  \r\n        <div #innerContainer [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\">  \r\n            @if(!_isDisabled() && gridLength().dataSource <= 0 && !isLoading()) {\r\n                <div class=\"no-data\"> No Data </div>\r\n            }\r\n\r\n            <table class=\"table table-sm table-responsive table-striped\">\r\n                <thead>\r\n                    <tr>\r\n                        @if(checkbox.show && gridLength().dataSource > 0) {\r\n                            <!-- CheckBox Column -->\r\n                            <th scope=\"col\" class=\"check-box\">\r\n                                <div *ngIf=\"!_onlyOneCheck\" [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n                                    <coer-checkbox\r\n                                        [id]=\"_GetId(0, 0, 'checkboxAll')\"\r\n                                        [ignoreDataBinding]=\"true\"\r\n                                        [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                                        (onChange)=\"ClickCheck(_GetId(0, 0, 'checkboxAll'), $event, true)\"\r\n                                    ></coer-checkbox>\r\n                                </div>\r\n                            </th>\r\n                        }\r\n\r\n                        <!-- Dynamic Grid Column -->\r\n                        @for(header of gridColumns(); track header.indexColumn) {\r\n                            <th scope=\"col\" (dblclick)=\"Sort(header.columnName)\"\r\n                                [ngClass]=\"{\r\n                                    'no-selection': true,\r\n                                    'cursor-default': !enableSort() && !_isLoading,\r\n                                    'cursor-pointer': enableSort() && !_isLoading,\r\n                                    'cursor-wait': _isLoading\r\n                                }\"\r\n                                [ngStyle]=\"{\r\n                                    'width': header.width,\r\n                                    'text-align': GetAttribute(header.columnName, null, 'textAlign', 'defaul-cell')\r\n                                }\">\r\n                                <div class=\"no-selection\">\r\n                                    {{ _GetColumnName(header.columnName) }}\r\n                                    <i [class]=\"_GetShortIcon(header.columnName)\"></i>\r\n                                </div>\r\n                            </th>\r\n                        }\r\n\r\n                        <!-- Delete Button Column -->\r\n                        @if(ButtonByRow('showDeleteButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n\r\n                        <!-- Edit Button Column -->\r\n                        @if(ButtonByRow('showEditButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n\r\n                        <!-- Edit Button Column -->\r\n                        @if(ButtonByRow('showGoButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n                    </tr>\r\n                </thead>\r\n\r\n                <!-- body -->\r\n                @for(group of gridDataSource(); track group.indexGroup) {\r\n                    <tbody>\r\n                        <!--<tr v-if=\"_isGrouped\">\r\n                            <td :colspan=\"_colspan\" class=\"group\">\r\n                                <MesAccordion\r\n                                    :ref=\"`accordion${group.indexGroup}-${id}`\"\r\n                                    :title=\"`${_CleanHeaderName(groupBy)} (${group.length}):  ${group.groupBy}`\"\r\n                                    :isLoading=\"_isLoading\"\r\n                                    @expanded=\"_ToogleAccordion(group.groupBy, true, group.indexGroup)\"\r\n                                    @collapsed=\"_ToogleAccordion(group.groupBy, false, group.indexGroup)\"\r\n                                ></MesAccordion>\r\n                            </td>\r\n                        </tr>-->\r\n\r\n                        @for(row of group.rows; track row.indexRow) {\r\n                            <tr [id]=\"_GetId(row.indexRow, 0, 'row')\"\r\n                                [ngClass]=\"{ 'loading': isLoading(), 'd-none': _HideRow(group), 'row-focus': (row.indexRow == _indexFocus() && enableRowFocus()) }\"\r\n                                (click)=\"_indexFocus.set(row.indexRow)\">\r\n\r\n                                @if(checkbox.show) {\r\n                                    <!-- CheckBox Column -->\r\n                                    <td class=\"check-box\">\r\n                                        <div [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n                                            <coer-checkbox\r\n                                                [id]=\"_GetId(row.indexRow, 0, 'checkbox')\"\r\n                                                [ignoreDataBinding]=\"true\"\r\n                                                [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                                                (onChange)=\"ClickCheck(_GetId(row.indexRow, 0, 'checkbox'), $event, false, row)\"\r\n                                            ></coer-checkbox>\r\n                                        </div>\r\n\r\n                                        <div [ngClass]=\"{ 'invisible': !_isLoadingMessage, 'spinner-border-container': true }\">\r\n                                            <i class=\"spinner-border\"></i>\r\n                                        </div>\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- Dynamic Column -->\r\n                                @for(header of gridColumns(); track header.indexColumn) {\r\n                                    @if(_IsCellType(header.columnName, row, 'template')) {\r\n                                        <td class=\"template\"\r\n                                            (click)=\"_isDisabled() ? null : onClickRow.emit(row)\"\r\n                                            (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\">\r\n                                            <div [innerHTML]=\"GetAttribute(header.columnName, row, 'template', 'defaul-cell') | html\" class=\"template\"></div>\r\n                                        </td>\r\n                                    }\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerTextbox')) {\r\n                                        <!-- coer-textbox -->\r\n                                        <td class=\"coer-textbox\">\r\n                                            <coer-textbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerTextbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerTextbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerTextbox') || false\"\r\n                                                [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerTextbox') || true\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerTextbox') || ('Type ' + header.columnName + '...')\"\r\n                                                [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerTextbox') || 'left'\"\r\n                                                [minLength]=\"GetAttribute(header.columnName, row, 'minLength', 'coerTextbox') || 0\"\r\n                                                [maxLength]=\"GetAttribute(header.columnName, row, 'maxLength', 'coerTextbox') || 50\"\r\n                                                (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-textbox')\"\r\n                                                (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-textbox', $event)\"\r\n                                            ></coer-textbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerNumberbox')) {\r\n                                        <!-- coer-numberbox -->\r\n                                        <td class=\"coer-numberbox\">\r\n                                            <coer-numberbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerNumberbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerNumberbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerNumberbox') || false\"\r\n                                                [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerNumberbox') || true\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerNumberbox') || ''\"\r\n                                                [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerNumberbox') || 'right'\"\r\n                                                [min]=\"GetAttribute(header.columnName, row, 'min', 'coerNumberbox') || 0\"\r\n                                                [max]=\"GetAttribute(header.columnName, row, 'max', 'coerNumberbox') || 2147483647\"\r\n                                                [decimals]=\"GetAttribute(header.columnName, row, 'decimals', 'coerNumberbox') || 0\"\r\n                                                (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-numberbox')\"\r\n                                                (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-numberbox', $event)\"\r\n                                            ></coer-numberbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerSelectbox')) {\r\n                                        <!-- coer-numberbox -->\r\n                                        <td class=\"coer-selectbox\">\r\n                                            <coer-selectbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSelectbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerSelectbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerSelectbox') || false\"\r\n                                                [dataSource]=\"GetAttribute(header.columnName, row, 'dataSource', 'coerSelectbox') || []\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerSelectbox') || '-- Select --'\"\r\n                                                [propDisplay]=\"GetAttribute(header.columnName, row, 'propDisplay', 'coerSelectbox') || 'name'\"\r\n                                                (onSelected)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-selectbox'); KeyupEnter(header.indexColumn, row, 'coer-selectbox', $event)\"\r\n                                            ></coer-selectbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerSwitch')) {\r\n                                        <!-- coer-switch -->\r\n                                        <td>\r\n                                            <coer-switch\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSwitch') || _isDisabled() || _isLoading\"\r\n                                                [tooltip]=\"GetAttribute(header.columnName, row, 'tooltip', 'coerSwitch')\"\r\n                                                [tooltipPosition]=\"GetAttribute(header.columnName, row, 'tooltipPosition', 'coerSwitch') || 'left'\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                (onChange)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-switch')\"\r\n                                            ></coer-switch>\r\n                                        </td>\r\n                                    }\r\n\r\n                                    @else {\r\n                                        <!-- Default Cell -->\r\n                                        <td class=\"default-cell\"\r\n                                            (click)=\"ClickOnRow(row)\"\r\n                                            (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\"\r\n                                            [ngStyle]=\"{\r\n                                                'text-align': GetAttribute(header.columnName, row, 'textAlign', 'defaul-cell'),\r\n                                                'white-space': 'normal'\r\n                                            }\">\r\n\r\n                                            <div [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [ngClass]=\"{\r\n                                                    'text-blue-bold': _IsCellColor(header.columnName, row, 'colorBlue'),\r\n                                                    'text-green-bold': _IsCellColor(header.columnName, row, 'colorGreen'),\r\n                                                    'text-yellow-bold': _IsCellColor(header.columnName, row, 'colorYellow'),\r\n                                                    'text-red-bold': _IsCellColor(header.columnName, row, 'colorRed'),\r\n                                                    'text-right-bold': _IsCellType(header.columnName, row, 'number')\r\n                                                }\">\r\n\r\n                                                @if(_IsCellType(header.columnName, row, 'number')) {\r\n                                                    <span> {{ GetNumericFormat(row[header.columnName]) }} </span>\r\n                                                }\r\n\r\n                                                @else if(_IsCellType(header.columnName, row, 'date')) {\r\n                                                    <span> {{ _GetDateFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n                                                }\r\n\r\n                                                @else if(_IsCellType(header.columnName, row, 'date-time')) {\r\n                                                    <span> {{ _GetDateTimeFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n                                                }\r\n\r\n                                                @else {\r\n                                                    <span> {{ _GetCellValue(row, header.columnName) }} </span>\r\n                                                }\r\n                                            </div>\r\n                                        </td>\r\n                                    }\r\n                                }\r\n\r\n                                <!-- Delete Button -->\r\n                                @if(ButtonByRow('showDeleteButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showDeleteButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"delete\"\r\n                                                [tooltip]=\"_GetTooltip('Delete', row)\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickDeleteRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- Edit Button -->\r\n                                @if(ButtonByRow('showEditButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showEditButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"edit\"\r\n                                                [tooltip]=\"_GetTooltip('Edit', row)\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickEditRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- GO Button -->\r\n                                @if(ButtonByRow('showGoButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showGoButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"go\"\r\n                                                [tooltip]=\"_GetTooltip('Go to', row, 'detail')\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickGoRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n                            </tr>\r\n                        }\r\n                    </tbody>\r\n                }\r\n            </table>\r\n        </div>\r\n    </section>\r\n\r\n    @if(showFooter()) {\r\n        <footer class=\"grid-footer\">\r\n            <span>\r\n                @if(_isLoadingMessage) {\r\n                    <span class=\"fa-fade\"> Loading </span>\r\n                }\r\n\r\n                @else if(gridLength().dataSourceSelected > 0) {\r\n                    <span>\r\n                        <i class=\"bi bi-check2-square ms-1\"></i>\r\n                        {{ gridLength().dataSourceSelected }}\r\n                    </span>\r\n                }\r\n            </span>\r\n\r\n            <span class=\"me-1\"> {{ gridLength().dataSourceFiltered | numericFormat }} Rows </span>\r\n        </footer>\r\n    }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-grid header{align-items:flex-end;justify-content:flex-end;padding-right:8px;margin:0}div.coer-grid header>div{padding:0 0 10px 10px;display:flex;align-items:baseline}div.coer-grid header>div a{height:40px!important}div.coer-grid table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}div.coer-grid table thead tr th{position:sticky!important;z-index:100!important;top:0!important;background-color:var(--gray)!important;color:var(--white)!important;padding:5px!important;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;min-width:50px!important;white-space:nowrap!important}div.coer-grid table tbody{border:0px!important}div.coer-grid table tbody tr:not(.row-focus):hover td{color:#000!important;background-color:#f1f6ff}div.coer-grid table tbody tr td{border:0px!important;padding:5px!important;vertical-align:middle!important;white-space:break-spaces;text-overflow:ellipsis;overflow:hidden;min-height:31px!important}div.coer-grid table tbody tr.row-focus td{background-color:#cde1ff}div.coer-grid table tbody tr td.coer-textbox,div.coer-grid table tbody tr td.coer-numberbox,div.coer-grid table tbody tr td.coer-selectbox{padding:0!important;overflow:visible!important}div.coer-grid table tbody tr td.default-cell{cursor:pointer!important}div.coer-grid table thead tr th.action-button,div.coer-grid table thead tr td.action-button,div.coer-grid table thead tr th.check-box,div.coer-grid table thead tr td.check-box,div.coer-grid table tbody tr th.action-button,div.coer-grid table tbody tr td.action-button,div.coer-grid table tbody tr th.check-box table tbody tr td.check-box{text-align:center!important;cursor:default!important;min-width:40px!important;max-width:40px!important;width:40px!important;padding:0!important}div.coer-grid footer.grid-footer{display:flex;align-items:center;justify-content:space-between;font-size:small;color:#999;padding-top:5px}div.coer-grid section.grid-container{position:relative;overflow:auto}div.coer-grid div.loading,div.coer-grid div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray}div.coer-grid div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;z-index:1}div.coer-grid div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-grid tr.loading{background-color:#bbbbbb83!important}div.coer-grid div.loading i.spinner-border{color:var(--orange)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-grid td.check-box div.spinner-border-container{position:absolute;transform:translate(7px,-19px)}div.coer-grid td.check-box div.spinner-border-container i.spinner-border{width:15px!important;height:15px!important;color:var(--orange)!important}div.coer-grid table thead tr th.check-box>div,div.coer-grid table tbody tr td.check-box>div{display:flex;align-items:center;justify-content:center;cursor:default!important}div.coer-grid input.form-check-input{box-shadow:none!important;margin:0}div.coer-grid input[type=checkbox]{cursor:pointer!important}div.coer-grid td.group{padding:0!important;margin:0!important}div.coer-grid td.group>*{border-top:1px solid var(--gray)!important;border-bottom:1px solid var(--gray)!important;padding:0!important;margin:0!important}div.coer-grid .template,div.coer-grid .template div{white-space:nowrap!important;display:flex!important;align-items:center!important;cursor:pointer!important;gap:5px!important;width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerCheckbox, selector: "coer-checkbox", inputs: ["value", "id", "label", "labelPosition", "isLoading", "isDisabled", "isInvisible", "ignoreDataBinding"], outputs: ["onChange"] }, { kind: "component", type: CoerNumberBox, selector: "coer-numberbox", inputs: ["value", "id", "label", "placeholder", "min", "max", "decimals", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isReadonly", "isLoading", "selectOnFocus", "textPosition"], outputs: ["onKeyupEnter", "onInput"] }, { kind: "component", type: CoerSelectbox, selector: "coer-selectbox", inputs: ["value", "id", "label", "dataSource", "propDisplay", "rowsByPage", "placeholder", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isReadonly", "isLoading"], outputs: ["onSelected", "onUnselect"] }, { kind: "component", type: CoerSwitch, selector: "coer-switch", inputs: ["value", "id", "label", "labelPosition", "isDisabled", "isLoading", "isInvisible", "tooltipPosition", "tooltip"], outputs: ["onChange"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "button", "label", "placeholder", "minLength", "maxLength", "showSearchIcon", "showClearIcon", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isInvisible", "isReadonly", "isLoading", "selectOnFocus", "textPosition"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }, { kind: "pipe", type: i9.NumericFormatPipe, name: "numericFormat" }] }); }
         
     | 
| 
       2578 
2580 
     | 
    
         
             
            }
         
     | 
| 
       2579 
2581 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGrid, decorators: [{
         
     | 
| 
       2580 
2582 
     | 
    
         
             
                        type: Component,
         
     | 
| 
       2581 
     | 
    
         
            -
                        args: [{ selector: 'coer-grid', providers: [CONTROL_VALUE(CoerGrid)], standalone: false, template: "<div class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n    @if(isLoading()) {\r\n        <!-- Grid Message --> \r\n        <div class=\"loading\" [ngStyle]=\"{ \r\n                'width': _enableAnimations ? GetElementWidth(innerContainer) : '0px', \r\n                'height': _enableAnimations ? GetElementHeight(innerContainer) : '0px',\r\n                'bottom': showFooter() ? '35px' : '10px'\r\n            }\">\r\n            <i class=\"spinner-border\"></i>\r\n            <span class=\"fa-fade\">Loading</span>\r\n        </div>\r\n    }\r\n    \r\n    <header [id]=\"_id + '-header'\" class=\"row\">\r\n        <!-- Slot -->\r\n        <ng-content></ng-content>\r\n\r\n        <!-- Export Button -->\r\n        @if(exportButton.show && gridLength().dataSource > 0) {\r\n            <div class=\"col-auto\">\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"excel\"\r\n                    [tooltip]=\"_isLoading ? 'Loading' : (exportButton.tooltip || 'Export')\"\r\n                    [path]=\"(exportButton && exportButton.path) ? exportButton.path : []\"\r\n                    [isDisabled]=\"_isDisabled() || _isLoading || (exportButton.isDisabled || false)\"\r\n                    [isLoading]=\"_isLoading\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"Export(!exportButton.preventDefault)\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Import Button -->\r\n        @if(importButton.show) {\r\n            <div class=\"col-auto\">\r\n                <input type=\"file\" #inputFileRef [multiple]=\"false\" (change)=\"Import($event)\">\r\n\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"import\"\r\n                    [tooltip]=\"importButton.tooltip || 'Import'\"\r\n                    [path]=\"(importButton && importButton.path) ? importButton.path : []\"\r\n                    [isDisabled]=\"importButton.isDisabled || false\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"Import()\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Add Button -->\r\n        @if(addButton.show) {\r\n            <div class=\"col-auto\">\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"new\"\r\n                    [tooltip]=\"addButton.tooltip || 'New'\"\r\n                    [path]=\"(addButton && addButton.path) ? addButton.path : []\"\r\n                    [isDisabled]=\"addButton.isDisabled || false\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"onClickAdd.emit()\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Search -->\r\n        @if(search.show) {\r\n            <div class=\"col-auto\">\r\n                <coer-textbox\r\n                    #inputSearch\r\n                    [id]=\"_GetId(-1, -1, 'search')\"\r\n                    [ngModel]=\"_gridSearch()\"\r\n                    placeholder=\"Search\"\r\n                    [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                    [selectOnFocus]=\"true\"\r\n                    width=\"250px\"\r\n                    [showSearchIcon]=\"true\"\r\n                    [showClearIcon]=\"true\"\r\n                    (onInput)=\"InputChange(-1, 'Search', $event, 'coer-textbox-search')\"\r\n                    (onClickClear)=\"InputChange(-1, 'Search', '', 'coer-textbox-search')\"\r\n                    (onKeyupEnter)=\"KeyupEnter(-1, { indexRow: -1 }, 'coer-textbox-search', $event);\"\r\n                ></coer-textbox>\r\n            </div>\r\n        }\r\n    </header>\r\n\r\n    <section [ngClass]=\"{ 'grid-container': true, 'invisible': isInvisible() }\">  \r\n        <div #innerContainer [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\">  \r\n            @if(!_isDisabled() && gridLength().dataSource <= 0 && !isLoading()) {\r\n                <div class=\"no-data\"> No Data </div>\r\n            }\r\n\r\n            <table class=\"table table-sm table-responsive table-striped\">\r\n                <thead>\r\n                    <tr>\r\n                        @if(checkbox.show && gridLength().dataSource > 0) {\r\n                            <!-- CheckBox Column -->\r\n                            <th scope=\"col\" class=\"check-box\">\r\n                                <div *ngIf=\"!_onlyOneCheck\" [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n                                    <coer-checkbox\r\n                                        [id]=\"_GetId(0, 0, 'checkboxAll')\"\r\n                                        [ignoreModel]=\"true\"\r\n                                        [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                                        (onChange)=\"ClickCheck(_GetId(0, 0, 'checkboxAll'), $event, true)\"\r\n                                    ></coer-checkbox>\r\n                                </div>\r\n                            </th>\r\n                        }\r\n\r\n                        <!-- Dynamic Grid Column -->\r\n                        @for(header of gridColumns(); track header.indexColumn) {\r\n                            <th scope=\"col\" (dblclick)=\"Sort(header.columnName)\"\r\n                                [ngClass]=\"{\r\n                                    'no-selection': true,\r\n                                    'cursor-default': !enableSort() && !_isLoading,\r\n                                    'cursor-pointer': enableSort() && !_isLoading,\r\n                                    'cursor-wait': _isLoading\r\n                                }\"\r\n                                [ngStyle]=\"{\r\n                                    'width': header.width,\r\n                                    'text-align': GetAttribute(header.columnName, null, 'textAlign', 'defaul-cell')\r\n                                }\">\r\n                                <div class=\"no-selection\">\r\n                                    {{ _GetColumnName(header.columnName) }}\r\n                                    <i [class]=\"_GetShortIcon(header.columnName)\"></i>\r\n                                </div>\r\n                            </th>\r\n                        }\r\n\r\n                        <!-- Delete Button Column -->\r\n                        @if(ButtonByRow('showDeleteButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n\r\n                        <!-- Edit Button Column -->\r\n                        @if(ButtonByRow('showEditButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n\r\n                        <!-- Edit Button Column -->\r\n                        @if(ButtonByRow('showGoButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n                    </tr>\r\n                </thead>\r\n\r\n                <!-- body -->\r\n                @for(group of gridDataSource(); track group.indexGroup) {\r\n                    <tbody>\r\n                        <!--<tr v-if=\"_isGrouped\">\r\n                            <td :colspan=\"_colspan\" class=\"group\">\r\n                                <MesAccordion\r\n                                    :ref=\"`accordion${group.indexGroup}-${id}`\"\r\n                                    :title=\"`${_CleanHeaderName(groupBy)} (${group.length}):  ${group.groupBy}`\"\r\n                                    :isLoading=\"_isLoading\"\r\n                                    @expanded=\"_ToogleAccordion(group.groupBy, true, group.indexGroup)\"\r\n                                    @collapsed=\"_ToogleAccordion(group.groupBy, false, group.indexGroup)\"\r\n                                ></MesAccordion>\r\n                            </td>\r\n                        </tr>-->\r\n\r\n                        @for(row of group.rows; track row.indexRow) {\r\n                            <tr [id]=\"_GetId(row.indexRow, 0, 'row')\"\r\n                                [ngClass]=\"{ 'loading': isLoading(), 'd-none': _HideRow(group), 'row-focus': (row.indexRow == _indexFocus() && enableRowFocus()) }\"\r\n                                (click)=\"_indexFocus.set(row.indexRow)\">\r\n\r\n                                @if(checkbox.show) {\r\n                                    <!-- CheckBox Column -->\r\n                                    <td class=\"check-box\">\r\n                                        <div [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n                                            <coer-checkbox\r\n                                                [id]=\"_GetId(row.indexRow, 0, 'checkbox')\"\r\n                                                [ignoreModel]=\"true\"\r\n                                                [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                                                (onChange)=\"ClickCheck(_GetId(row.indexRow, 0, 'checkbox'), $event, false, row)\"\r\n                                            ></coer-checkbox>\r\n                                        </div>\r\n\r\n                                        <div [ngClass]=\"{ 'invisible': !_isLoadingMessage, 'spinner-border-container': true }\">\r\n                                            <i class=\"spinner-border\"></i>\r\n                                        </div>\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- Dynamic Column -->\r\n                                @for(header of gridColumns(); track header.indexColumn) {\r\n                                    @if(_IsCellType(header.columnName, row, 'template')) {\r\n                                        <td class=\"template\"\r\n                                            (click)=\"_isDisabled() ? null : onClickRow.emit(row)\"\r\n                                            (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\">\r\n                                            <div [innerHTML]=\"GetAttribute(header.columnName, row, 'template', 'defaul-cell') | html\" class=\"template\"></div>\r\n                                        </td>\r\n                                    }\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerTextbox')) {\r\n                                        <!-- coer-textbox -->\r\n                                        <td class=\"coer-textbox\">\r\n                                            <coer-textbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerTextbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerTextbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerTextbox') || false\"\r\n                                                [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerTextbox') || true\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerTextbox') || ('Type ' + header.columnName + '...')\"\r\n                                                [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerTextbox') || 'left'\"\r\n                                                [minLength]=\"GetAttribute(header.columnName, row, 'minLength', 'coerTextbox') || 0\"\r\n                                                [maxLength]=\"GetAttribute(header.columnName, row, 'maxLength', 'coerTextbox') || 50\"\r\n                                                (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-textbox')\"\r\n                                                (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-textbox', $event)\"\r\n                                            ></coer-textbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerNumberbox')) {\r\n                                        <!-- coer-numberbox -->\r\n                                        <td class=\"coer-numberbox\">\r\n                                            <coer-numberbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerNumberbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerNumberbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerNumberbox') || false\"\r\n                                                [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerNumberbox') || true\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerNumberbox') || ''\"\r\n                                                [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerNumberbox') || 'right'\"\r\n                                                [min]=\"GetAttribute(header.columnName, row, 'min', 'coerNumberbox') || 0\"\r\n                                                [max]=\"GetAttribute(header.columnName, row, 'max', 'coerNumberbox') || 2147483647\"\r\n                                                [decimals]=\"GetAttribute(header.columnName, row, 'decimals', 'coerNumberbox') || 0\"\r\n                                                (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-numberbox')\"\r\n                                                (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-numberbox', $event)\"\r\n                                            ></coer-numberbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerSelectbox')) {\r\n                                        <!-- coer-numberbox -->\r\n                                        <td class=\"coer-selectbox\">\r\n                                            <coer-selectbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSelectbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerSelectbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerSelectbox') || false\"\r\n                                                [dataSource]=\"GetAttribute(header.columnName, row, 'dataSource', 'coerSelectbox') || []\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerSelectbox') || '-- Select --'\"\r\n                                                [propDisplay]=\"GetAttribute(header.columnName, row, 'propDisplay', 'coerSelectbox') || 'name'\"\r\n                                                (onSelected)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-selectbox'); KeyupEnter(header.indexColumn, row, 'coer-selectbox', $event)\"\r\n                                            ></coer-selectbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerSwitch')) {\r\n                                        <!-- coer-switch -->\r\n                                        <td>\r\n                                            <coer-switch\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSwitch') || _isDisabled() || _isLoading\"\r\n                                                [tooltip]=\"GetAttribute(header.columnName, row, 'tooltip', 'coerSwitch')\"\r\n                                                [tooltipPosition]=\"GetAttribute(header.columnName, row, 'tooltipPosition', 'coerSwitch') || 'left'\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                (onChange)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-switch')\"\r\n                                            ></coer-switch>\r\n                                        </td>\r\n                                    }\r\n\r\n                                    @else {\r\n                                        <!-- Default Cell -->\r\n                                        <td class=\"default-cell\"\r\n                                            (click)=\"ClickOnRow(row)\"\r\n                                            (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\"\r\n                                            [ngStyle]=\"{\r\n                                                'text-align': GetAttribute(header.columnName, row, 'textAlign', 'defaul-cell'),\r\n                                                'white-space': 'normal'\r\n                                            }\">\r\n\r\n                                            <div [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [ngClass]=\"{\r\n                                                    'text-blue-bold': _IsCellColor(header.columnName, row, 'colorBlue'),\r\n                                                    'text-green-bold': _IsCellColor(header.columnName, row, 'colorGreen'),\r\n                                                    'text-yellow-bold': _IsCellColor(header.columnName, row, 'colorYellow'),\r\n                                                    'text-red-bold': _IsCellColor(header.columnName, row, 'colorRed'),\r\n                                                    'text-right-bold': _IsCellType(header.columnName, row, 'number')\r\n                                                }\">\r\n\r\n                                                @if(_IsCellType(header.columnName, row, 'number')) {\r\n                                                    <span> {{ GetNumericFormat(row[header.columnName]) }} </span>\r\n                                                }\r\n\r\n                                                @else if(_IsCellType(header.columnName, row, 'date')) {\r\n                                                    <span> {{ _GetDateFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n                                                }\r\n\r\n                                                @else if(_IsCellType(header.columnName, row, 'date-time')) {\r\n                                                    <span> {{ _GetDateTimeFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n                                                }\r\n\r\n                                                @else {\r\n                                                    <span> {{ _GetCellValue(row, header.columnName) }} </span>\r\n                                                }\r\n                                            </div>\r\n                                        </td>\r\n                                    }\r\n                                }\r\n\r\n                                <!-- Delete Button -->\r\n                                @if(ButtonByRow('showDeleteButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showDeleteButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"delete\"\r\n                                                [tooltip]=\"_GetTooltip('Delete', row)\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickDeleteRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- Edit Button -->\r\n                                @if(ButtonByRow('showEditButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showEditButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"edit\"\r\n                                                [tooltip]=\"_GetTooltip('Edit', row)\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickEditRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- GO Button -->\r\n                                @if(ButtonByRow('showGoButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showGoButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"go\"\r\n                                                [tooltip]=\"_GetTooltip('Go to', row, 'detail')\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickGoRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n                            </tr>\r\n                        }\r\n                    </tbody>\r\n                }\r\n            </table>\r\n        </div>\r\n    </section>\r\n\r\n    @if(showFooter()) {\r\n        <footer class=\"grid-footer\">\r\n            <span>\r\n                @if(_isLoadingMessage) {\r\n                    <span class=\"fa-fade\"> Loading </span>\r\n                }\r\n\r\n                @else if(gridLength().dataSourceSelected > 0) {\r\n                    <span>\r\n                        <i class=\"bi bi-check2-square ms-1\"></i>\r\n                        {{ gridLength().dataSourceSelected }}\r\n                    </span>\r\n                }\r\n            </span>\r\n\r\n            <span class=\"me-1\"> {{ gridLength().dataSourceFiltered | numericFormat }} Rows </span>\r\n        </footer>\r\n    }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-grid header{align-items:flex-end;justify-content:flex-end;padding-right:8px;margin:0}div.coer-grid header>div{padding:0 0 10px 10px;display:flex;align-items:baseline}div.coer-grid header>div a{height:40px!important}div.coer-grid table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}div.coer-grid table thead tr th{position:sticky!important;z-index:100!important;top:0!important;background-color:var(--gray)!important;color:var(--white)!important;padding:5px!important;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;min-width:50px!important;white-space:nowrap!important}div.coer-grid table tbody{border:0px!important}div.coer-grid table tbody tr:not(.row-focus):hover td{color:#000!important;background-color:#f1f6ff}div.coer-grid table tbody tr td{border:0px!important;padding:5px!important;vertical-align:middle!important;white-space:break-spaces;text-overflow:ellipsis;overflow:hidden;min-height:31px!important}div.coer-grid table tbody tr.row-focus td{background-color:#cde1ff}div.coer-grid table tbody tr td.coer-textbox,div.coer-grid table tbody tr td.coer-numberbox,div.coer-grid table tbody tr td.coer-selectbox{padding:0!important;overflow:visible!important}div.coer-grid table tbody tr td.default-cell{cursor:pointer!important}div.coer-grid table thead tr th.action-button,div.coer-grid table thead tr td.action-button,div.coer-grid table thead tr th.check-box,div.coer-grid table thead tr td.check-box,div.coer-grid table tbody tr th.action-button,div.coer-grid table tbody tr td.action-button,div.coer-grid table tbody tr th.check-box table tbody tr td.check-box{text-align:center!important;cursor:default!important;min-width:40px!important;max-width:40px!important;width:40px!important;padding:0!important}div.coer-grid footer.grid-footer{display:flex;align-items:center;justify-content:space-between;font-size:small;color:#999;padding-top:5px}div.coer-grid section.grid-container{position:relative;overflow:auto}div.coer-grid div.loading,div.coer-grid div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray}div.coer-grid div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;z-index:1}div.coer-grid div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-grid tr.loading{background-color:#bbbbbb83!important}div.coer-grid div.loading i.spinner-border{color:var(--orange)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-grid td.check-box div.spinner-border-container{position:absolute;transform:translate(7px,-19px)}div.coer-grid td.check-box div.spinner-border-container i.spinner-border{width:15px!important;height:15px!important;color:var(--orange)!important}div.coer-grid table thead tr th.check-box>div,div.coer-grid table tbody tr td.check-box>div{display:flex;align-items:center;justify-content:center;cursor:default!important}div.coer-grid input.form-check-input{box-shadow:none!important;margin:0}div.coer-grid input[type=checkbox]{cursor:pointer!important}div.coer-grid td.group{padding:0!important;margin:0!important}div.coer-grid td.group>*{border-top:1px solid var(--gray)!important;border-bottom:1px solid var(--gray)!important;padding:0!important;margin:0!important}div.coer-grid .template,div.coer-grid .template div{white-space:nowrap!important;display:flex!important;align-items:center!important;cursor:pointer!important;gap:5px!important;width:100%}\n"] }]
         
     | 
| 
      
 2583 
     | 
    
         
            +
                        args: [{ selector: 'coer-grid', providers: [CONTROL_VALUE(CoerGrid)], standalone: false, template: "<div class=\"coer-grid\" [ngStyle]=\"{ 'width': width(), 'min-Width': MinWidth(), 'max-Width': MaxWidth(), 'margin': margin() }\">\r\n    @if(isLoading()) {\r\n        <!-- Grid Message --> \r\n        <div class=\"loading\" [ngStyle]=\"{ \r\n                'width': _enableAnimations ? GetElementWidth(innerContainer) : '0px', \r\n                'height': _enableAnimations ? GetElementHeight(innerContainer) : '0px',\r\n                'bottom': showFooter() ? '35px' : '10px'\r\n            }\">\r\n            <i class=\"spinner-border\"></i>\r\n            <span class=\"fa-fade\">Loading</span>\r\n        </div>\r\n    }\r\n    \r\n    <header [id]=\"_id + '-header'\" class=\"row\">\r\n        <!-- Slot -->\r\n        <ng-content></ng-content>\r\n\r\n        <!-- Export Button -->\r\n        @if(exportButton.show && gridLength().dataSource > 0) {\r\n            <div class=\"col-auto\">\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"excel\"\r\n                    [tooltip]=\"_isLoading ? 'Loading' : (exportButton.tooltip || 'Export')\"\r\n                    [path]=\"(exportButton && exportButton.path) ? exportButton.path : []\"\r\n                    [isDisabled]=\"_isDisabled() || _isLoading || (exportButton.isDisabled || false)\"\r\n                    [isLoading]=\"_isLoading\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"Export(!exportButton.preventDefault)\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Import Button -->\r\n        @if(importButton.show) {\r\n            <div class=\"col-auto\">\r\n                <input type=\"file\" #inputFileRef [multiple]=\"false\" (change)=\"Import($event)\">\r\n\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"import\"\r\n                    [tooltip]=\"importButton.tooltip || 'Import'\"\r\n                    [path]=\"(importButton && importButton.path) ? importButton.path : []\"\r\n                    [isDisabled]=\"importButton.isDisabled || false\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"Import()\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Add Button -->\r\n        @if(addButton.show) {\r\n            <div class=\"col-auto\">\r\n                <coer-button\r\n                    type=\"icon\"\r\n                    color=\"navigation\"\r\n                    icon=\"new\"\r\n                    [tooltip]=\"addButton.tooltip || 'New'\"\r\n                    [path]=\"(addButton && addButton.path) ? addButton.path : []\"\r\n                    [isDisabled]=\"addButton.isDisabled || false\"\r\n                    [animation]=\"_enableAnimations\"\r\n                    (onClick)=\"onClickAdd.emit()\"\r\n                ></coer-button>\r\n            </div>\r\n        }\r\n\r\n        <!-- Search -->\r\n        @if(search.show) {\r\n            <div class=\"col-auto\">\r\n                <coer-textbox\r\n                    #inputSearch\r\n                    [id]=\"_GetId(-1, -1, 'search')\"\r\n                    [ngModel]=\"_gridSearch()\"\r\n                    placeholder=\"Search\"\r\n                    [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                    [selectOnFocus]=\"true\"\r\n                    width=\"250px\"\r\n                    [showSearchIcon]=\"true\"\r\n                    [showClearIcon]=\"true\"\r\n                    (onInput)=\"InputChange(-1, 'Search', $event, 'coer-textbox-search')\"\r\n                    (onClickClear)=\"InputChange(-1, 'Search', '', 'coer-textbox-search')\"\r\n                    (onKeyupEnter)=\"KeyupEnter(-1, { indexRow: -1 }, 'coer-textbox-search', $event);\"\r\n                ></coer-textbox>\r\n            </div>\r\n        }\r\n    </header>\r\n\r\n    <section [ngClass]=\"{ 'grid-container': true, 'invisible': isInvisible() }\">  \r\n        <div #innerContainer [ngStyle]=\"{ 'height': _height, 'min-height': minHeight(), 'max-height': maxHeight() }\">  \r\n            @if(!_isDisabled() && gridLength().dataSource <= 0 && !isLoading()) {\r\n                <div class=\"no-data\"> No Data </div>\r\n            }\r\n\r\n            <table class=\"table table-sm table-responsive table-striped\">\r\n                <thead>\r\n                    <tr>\r\n                        @if(checkbox.show && gridLength().dataSource > 0) {\r\n                            <!-- CheckBox Column -->\r\n                            <th scope=\"col\" class=\"check-box\">\r\n                                <div *ngIf=\"!_onlyOneCheck\" [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n                                    <coer-checkbox\r\n                                        [id]=\"_GetId(0, 0, 'checkboxAll')\"\r\n                                        [ignoreDataBinding]=\"true\"\r\n                                        [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                                        (onChange)=\"ClickCheck(_GetId(0, 0, 'checkboxAll'), $event, true)\"\r\n                                    ></coer-checkbox>\r\n                                </div>\r\n                            </th>\r\n                        }\r\n\r\n                        <!-- Dynamic Grid Column -->\r\n                        @for(header of gridColumns(); track header.indexColumn) {\r\n                            <th scope=\"col\" (dblclick)=\"Sort(header.columnName)\"\r\n                                [ngClass]=\"{\r\n                                    'no-selection': true,\r\n                                    'cursor-default': !enableSort() && !_isLoading,\r\n                                    'cursor-pointer': enableSort() && !_isLoading,\r\n                                    'cursor-wait': _isLoading\r\n                                }\"\r\n                                [ngStyle]=\"{\r\n                                    'width': header.width,\r\n                                    'text-align': GetAttribute(header.columnName, null, 'textAlign', 'defaul-cell')\r\n                                }\">\r\n                                <div class=\"no-selection\">\r\n                                    {{ _GetColumnName(header.columnName) }}\r\n                                    <i [class]=\"_GetShortIcon(header.columnName)\"></i>\r\n                                </div>\r\n                            </th>\r\n                        }\r\n\r\n                        <!-- Delete Button Column -->\r\n                        @if(ButtonByRow('showDeleteButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n\r\n                        <!-- Edit Button Column -->\r\n                        @if(ButtonByRow('showEditButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n\r\n                        <!-- Edit Button Column -->\r\n                        @if(ButtonByRow('showGoButton')) {\r\n                            <th scope=\"col\" class=\"action-button\"></th>\r\n                        }\r\n                    </tr>\r\n                </thead>\r\n\r\n                <!-- body -->\r\n                @for(group of gridDataSource(); track group.indexGroup) {\r\n                    <tbody>\r\n                        <!--<tr v-if=\"_isGrouped\">\r\n                            <td :colspan=\"_colspan\" class=\"group\">\r\n                                <MesAccordion\r\n                                    :ref=\"`accordion${group.indexGroup}-${id}`\"\r\n                                    :title=\"`${_CleanHeaderName(groupBy)} (${group.length}):  ${group.groupBy}`\"\r\n                                    :isLoading=\"_isLoading\"\r\n                                    @expanded=\"_ToogleAccordion(group.groupBy, true, group.indexGroup)\"\r\n                                    @collapsed=\"_ToogleAccordion(group.groupBy, false, group.indexGroup)\"\r\n                                ></MesAccordion>\r\n                            </td>\r\n                        </tr>-->\r\n\r\n                        @for(row of group.rows; track row.indexRow) {\r\n                            <tr [id]=\"_GetId(row.indexRow, 0, 'row')\"\r\n                                [ngClass]=\"{ 'loading': isLoading(), 'd-none': _HideRow(group), 'row-focus': (row.indexRow == _indexFocus() && enableRowFocus()) }\"\r\n                                (click)=\"_indexFocus.set(row.indexRow)\">\r\n\r\n                                @if(checkbox.show) {\r\n                                    <!-- CheckBox Column -->\r\n                                    <td class=\"check-box\">\r\n                                        <div [ngClass]=\"{ 'invisible': _isLoadingMessage }\">\r\n                                            <coer-checkbox\r\n                                                [id]=\"_GetId(row.indexRow, 0, 'checkbox')\"\r\n                                                [ignoreDataBinding]=\"true\"\r\n                                                [isDisabled]=\"_isDisabled() || _isLoading\"\r\n                                                (onChange)=\"ClickCheck(_GetId(row.indexRow, 0, 'checkbox'), $event, false, row)\"\r\n                                            ></coer-checkbox>\r\n                                        </div>\r\n\r\n                                        <div [ngClass]=\"{ 'invisible': !_isLoadingMessage, 'spinner-border-container': true }\">\r\n                                            <i class=\"spinner-border\"></i>\r\n                                        </div>\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- Dynamic Column -->\r\n                                @for(header of gridColumns(); track header.indexColumn) {\r\n                                    @if(_IsCellType(header.columnName, row, 'template')) {\r\n                                        <td class=\"template\"\r\n                                            (click)=\"_isDisabled() ? null : onClickRow.emit(row)\"\r\n                                            (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\">\r\n                                            <div [innerHTML]=\"GetAttribute(header.columnName, row, 'template', 'defaul-cell') | html\" class=\"template\"></div>\r\n                                        </td>\r\n                                    }\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerTextbox')) {\r\n                                        <!-- coer-textbox -->\r\n                                        <td class=\"coer-textbox\">\r\n                                            <coer-textbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerTextbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerTextbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerTextbox') || false\"\r\n                                                [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerTextbox') || true\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerTextbox') || ('Type ' + header.columnName + '...')\"\r\n                                                [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerTextbox') || 'left'\"\r\n                                                [minLength]=\"GetAttribute(header.columnName, row, 'minLength', 'coerTextbox') || 0\"\r\n                                                [maxLength]=\"GetAttribute(header.columnName, row, 'maxLength', 'coerTextbox') || 50\"\r\n                                                (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-textbox')\"\r\n                                                (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-textbox', $event)\"\r\n                                            ></coer-textbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerNumberbox')) {\r\n                                        <!-- coer-numberbox -->\r\n                                        <td class=\"coer-numberbox\">\r\n                                            <coer-numberbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerNumberbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerNumberbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerNumberbox') || false\"\r\n                                                [selectOnFocus]=\"GetAttribute(header.columnName, row, 'selectOnFocus', 'coerNumberbox') || true\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerNumberbox') || ''\"\r\n                                                [textPosition]=\"GetAttribute(header.columnName, row, 'textPosition', 'coerNumberbox') || 'right'\"\r\n                                                [min]=\"GetAttribute(header.columnName, row, 'min', 'coerNumberbox') || 0\"\r\n                                                [max]=\"GetAttribute(header.columnName, row, 'max', 'coerNumberbox') || 2147483647\"\r\n                                                [decimals]=\"GetAttribute(header.columnName, row, 'decimals', 'coerNumberbox') || 0\"\r\n                                                (onInput)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-numberbox')\"\r\n                                                (onKeyupEnter)=\"KeyupEnter(header.indexColumn, row, 'coer-numberbox', $event)\"\r\n                                            ></coer-numberbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerSelectbox')) {\r\n                                        <!-- coer-numberbox -->\r\n                                        <td class=\"coer-selectbox\">\r\n                                            <coer-selectbox\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSelectbox') || _isDisabled() || _isLoading\"\r\n                                                [isValid]=\"GetAttribute(header.columnName, row, 'isValid', 'coerSelectbox') || false\"\r\n                                                [isInvalid]=\"GetAttribute(header.columnName, row, 'isInvalid', 'coerSelectbox') || false\"\r\n                                                [dataSource]=\"GetAttribute(header.columnName, row, 'dataSource', 'coerSelectbox') || []\"\r\n                                                [placeholder]=\"GetAttribute(header.columnName, row, 'placeholder', 'coerSelectbox') || '-- Select --'\"\r\n                                                [propDisplay]=\"GetAttribute(header.columnName, row, 'propDisplay', 'coerSelectbox') || 'name'\"\r\n                                                (onSelected)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-selectbox'); KeyupEnter(header.indexColumn, row, 'coer-selectbox', $event)\"\r\n                                            ></coer-selectbox>\r\n                                        </td>\r\n                                    }\r\n\r\n\r\n                                    @else if(_IsCellType(header.columnName, row, 'coerSwitch')) {\r\n                                        <!-- coer-switch -->\r\n                                        <td>\r\n                                            <coer-switch\r\n                                                [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [(ngModel)]=\"row[header.columnName]\"\r\n                                                [isDisabled]=\"GetAttribute(header.columnName, row, 'isDisabled', 'coerSwitch') || _isDisabled() || _isLoading\"\r\n                                                [tooltip]=\"GetAttribute(header.columnName, row, 'tooltip', 'coerSwitch')\"\r\n                                                [tooltipPosition]=\"GetAttribute(header.columnName, row, 'tooltipPosition', 'coerSwitch') || 'left'\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                (onChange)=\"InputChange(row.indexRow, header.columnName, $event, 'coer-switch')\"\r\n                                            ></coer-switch>\r\n                                        </td>\r\n                                    }\r\n\r\n                                    @else {\r\n                                        <!-- Default Cell -->\r\n                                        <td class=\"default-cell\"\r\n                                            (click)=\"ClickOnRow(row)\"\r\n                                            (dblclick)=\"_isDisabled() ? null : onDoubleClickRow.emit(row)\"\r\n                                            [ngStyle]=\"{\r\n                                                'text-align': GetAttribute(header.columnName, row, 'textAlign', 'defaul-cell'),\r\n                                                'white-space': 'normal'\r\n                                            }\">\r\n\r\n                                            <div [id]=\"_GetId(row.indexRow, header.indexColumn)\"\r\n                                                [ngClass]=\"{\r\n                                                    'text-blue-bold': _IsCellColor(header.columnName, row, 'colorBlue'),\r\n                                                    'text-green-bold': _IsCellColor(header.columnName, row, 'colorGreen'),\r\n                                                    'text-yellow-bold': _IsCellColor(header.columnName, row, 'colorYellow'),\r\n                                                    'text-red-bold': _IsCellColor(header.columnName, row, 'colorRed'),\r\n                                                    'text-right-bold': _IsCellType(header.columnName, row, 'number')\r\n                                                }\">\r\n\r\n                                                @if(_IsCellType(header.columnName, row, 'number')) {\r\n                                                    <span> {{ GetNumericFormat(row[header.columnName]) }} </span>\r\n                                                }\r\n\r\n                                                @else if(_IsCellType(header.columnName, row, 'date')) {\r\n                                                    <span> {{ _GetDateFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n                                                }\r\n\r\n                                                @else if(_IsCellType(header.columnName, row, 'date-time')) {\r\n                                                    <span> {{ _GetDateTimeFormat(row[header.columnName], _IsCellType(header.columnName, row, 'toLocalZone')) }} </span>\r\n                                                }\r\n\r\n                                                @else {\r\n                                                    <span> {{ _GetCellValue(row, header.columnName) }} </span>\r\n                                                }\r\n                                            </div>\r\n                                        </td>\r\n                                    }\r\n                                }\r\n\r\n                                <!-- Delete Button -->\r\n                                @if(ButtonByRow('showDeleteButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showDeleteButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"delete\"\r\n                                                [tooltip]=\"_GetTooltip('Delete', row)\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickDeleteRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- Edit Button -->\r\n                                @if(ButtonByRow('showEditButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showEditButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"edit\"\r\n                                                [tooltip]=\"_GetTooltip('Edit', row)\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickEditRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n\r\n                                <!-- GO Button -->\r\n                                @if(ButtonByRow('showGoButton')) {\r\n                                    <td class=\"action-button\">\r\n                                        @if(ButtonByRow('showGoButton', row)) {\r\n                                            <coer-button\r\n                                                type=\"icon-no-border\"\r\n                                                color=\"navigation\"\r\n                                                icon=\"go\"\r\n                                                [tooltip]=\"_GetTooltip('Go to', row, 'detail')\"\r\n                                                [isInvisible]=\"_isDisabled()\"\r\n                                                [isDisabled]=\"_isLoading\"\r\n                                                (onClick)=\"onClickGoRow.emit(row)\"\r\n                                            ></coer-button>\r\n                                        }\r\n                                    </td>\r\n                                }\r\n                            </tr>\r\n                        }\r\n                    </tbody>\r\n                }\r\n            </table>\r\n        </div>\r\n    </section>\r\n\r\n    @if(showFooter()) {\r\n        <footer class=\"grid-footer\">\r\n            <span>\r\n                @if(_isLoadingMessage) {\r\n                    <span class=\"fa-fade\"> Loading </span>\r\n                }\r\n\r\n                @else if(gridLength().dataSourceSelected > 0) {\r\n                    <span>\r\n                        <i class=\"bi bi-check2-square ms-1\"></i>\r\n                        {{ gridLength().dataSourceSelected }}\r\n                    </span>\r\n                }\r\n            </span>\r\n\r\n            <span class=\"me-1\"> {{ gridLength().dataSourceFiltered | numericFormat }} Rows </span>\r\n        </footer>\r\n    }\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-grid header{align-items:flex-end;justify-content:flex-end;padding-right:8px;margin:0}div.coer-grid header>div{padding:0 0 10px 10px;display:flex;align-items:baseline}div.coer-grid header>div a{height:40px!important}div.coer-grid table{table-layout:auto;border-collapse:separate;border-spacing:1px 0px;margin:0;font-size:14px}div.coer-grid table thead tr th{position:sticky!important;z-index:100!important;top:0!important;background-color:var(--gray)!important;color:var(--white)!important;padding:5px!important;vertical-align:middle!important;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;min-width:50px!important;white-space:nowrap!important}div.coer-grid table tbody{border:0px!important}div.coer-grid table tbody tr:not(.row-focus):hover td{color:#000!important;background-color:#f1f6ff}div.coer-grid table tbody tr td{border:0px!important;padding:5px!important;vertical-align:middle!important;white-space:break-spaces;text-overflow:ellipsis;overflow:hidden;min-height:31px!important}div.coer-grid table tbody tr.row-focus td{background-color:#cde1ff}div.coer-grid table tbody tr td.coer-textbox,div.coer-grid table tbody tr td.coer-numberbox,div.coer-grid table tbody tr td.coer-selectbox{padding:0!important;overflow:visible!important}div.coer-grid table tbody tr td.default-cell{cursor:pointer!important}div.coer-grid table thead tr th.action-button,div.coer-grid table thead tr td.action-button,div.coer-grid table thead tr th.check-box,div.coer-grid table thead tr td.check-box,div.coer-grid table tbody tr th.action-button,div.coer-grid table tbody tr td.action-button,div.coer-grid table tbody tr th.check-box table tbody tr td.check-box{text-align:center!important;cursor:default!important;min-width:40px!important;max-width:40px!important;width:40px!important;padding:0!important}div.coer-grid footer.grid-footer{display:flex;align-items:center;justify-content:space-between;font-size:small;color:#999;padding-top:5px}div.coer-grid section.grid-container{position:relative;overflow:auto}div.coer-grid div.loading,div.coer-grid div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray}div.coer-grid div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;z-index:1}div.coer-grid div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-grid tr.loading{background-color:#bbbbbb83!important}div.coer-grid div.loading i.spinner-border{color:var(--orange)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-grid td.check-box div.spinner-border-container{position:absolute;transform:translate(7px,-19px)}div.coer-grid td.check-box div.spinner-border-container i.spinner-border{width:15px!important;height:15px!important;color:var(--orange)!important}div.coer-grid table thead tr th.check-box>div,div.coer-grid table tbody tr td.check-box>div{display:flex;align-items:center;justify-content:center;cursor:default!important}div.coer-grid input.form-check-input{box-shadow:none!important;margin:0}div.coer-grid input[type=checkbox]{cursor:pointer!important}div.coer-grid td.group{padding:0!important;margin:0!important}div.coer-grid td.group>*{border-top:1px solid var(--gray)!important;border-bottom:1px solid var(--gray)!important;padding:0!important;margin:0!important}div.coer-grid .template,div.coer-grid .template div{white-space:nowrap!important;display:flex!important;align-items:center!important;cursor:pointer!important;gap:5px!important;width:100%}\n"] }]
         
     | 
| 
       2582 
2584 
     | 
    
         
             
                    }] });
         
     | 
| 
       2583 
2585 
     | 
    
         | 
| 
       2584 
2586 
     | 
    
         
             
            class CoerList {
         
     | 
| 
         @@ -2696,7 +2698,7 @@ class CoerList { 
     | 
|
| 
       2696 
2698 
     | 
    
         
             
                    this.onDrop.emit(item);
         
     | 
| 
       2697 
2699 
     | 
    
         
             
                }
         
     | 
| 
       2698 
2700 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       2699 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerList, isStandalone: false, selector: "coer-list", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, propDisplay: { classPropertyName: "propDisplay", publicName: "propDisplay", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, headerIcon: { classPropertyName: "headerIcon", publicName: "headerIcon", isSignal: true, isRequired: false, transformFunction: null }, showDeleteButton: { classPropertyName: "showDeleteButton", publicName: "showDeleteButton", isSignal: true, isRequired: false, transformFunction: null }, showGoButton: { classPropertyName: "showGoButton", publicName: "showGoButton", isSignal: true, isRequired: false, transformFunction: null }, showBackButton: { classPropertyName: "showBackButton", publicName: "showBackButton", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDraggable: { classPropertyName: "isDraggable", publicName: "isDraggable", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, MinWidth: { classPropertyName: "MinWidth", publicName: "MinWidth", isSignal: true, isRequired: false, transformFunction: null }, MaxWidth: { classPropertyName: "MaxWidth", publicName: "MaxWidth", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDrop: "onDrop", onSort: "onSort", onClick: "onClick", onDoubleClick: "onDoubleClick", onClickDelete: "onClickDelete", onClickGo: "onClickGo", onClickBack: "onClickBack" }, ngImport: i0, template: "<div [id]=\"_id\" class=\"coer-list\" [ngStyle]=\"{ \r\n  'margin-top': marginTop(), \r\n  'margin-right': marginRight(), \r\n  'margin-bottom': marginBottom(), \r\n  'margin-left': marginLeft(), \r\n  }\">\r\n\r\n  @if(isLoading()) {\r\n    <!-- Grid Message -->\r\n    <div class=\"loading\">\r\n        <i class=\"spinner-border\"></i>\r\n        <span class=\"fa-fade\">Loading</span>\r\n    </div>\r\n  }\r\n\r\n  @else if(dataSource().length <= 0) {\r\n    <div class=\"no-data\"> No Data </div>\r\n  }\r\n\r\n  <header [id]=\"_id + '-header'\" class=\"row\"> \r\n    @if(header().length > 0 || headerIcon().length > 0) {\r\n      <div class=\"col-auto me-auto\">\r\n        <h6>\r\n          @if(headerIcon().length > 0) {\r\n            <i [class]=\"headerIcon()\"></i> \r\n          }\r\n\r\n          @if(header().length > 0) {\r\n            <span>{{ header() }}</span> \r\n          }\r\n        </h6>        \r\n      </div>\r\n    }\r\n\r\n    @if(_showBackButton()) {\r\n      <div class=\"col-auto ps-2 pe-0\">         \r\n        <coer-button\r\n            type=\"icon-outline\"\r\n            color=\"secondary\"\r\n            icon=\"back\"\r\n            tooltip=\"Back\"\r\n            [animation]=\"_enableAnimations\"\r\n            (onClick)=\"onClickBack.emit()\"\r\n        ></coer-button>       \r\n      </div>\r\n    }\r\n    \r\n    <!-- Search -->\r\n    @if(showSearch() && dataSource().length > 0) {\r\n      <div class=\"col-auto pe-0\">\r\n          <coer-textbox\r\n              #inputSearch \r\n              placeholder=\"Search\"\r\n              [isDisabled]=\"isLoading()\"\r\n              [selectOnFocus]=\"true\"\r\n              width=\"250px\"\r\n              marginTop=\"5px\"\r\n              marginBottom=\"5px\"\r\n              [showSearchIcon]=\"true\"\r\n              [showClearIcon]=\"true\"\r\n          ></coer-textbox>\r\n      </div>\r\n    }\r\n  </header>\r\n\r\n  <div [ngStyle]=\"{ \r\n    'width': width(), \r\n    'min-Width': MinWidth(), \r\n    'max-Width': MaxWidth(), \r\n    }\">\r\n    <ul cdkDropList (cdkDropListDropped)=\"Drop($event)\" class='list-group coer-list'\r\n        [ngStyle]=\"{ \r\n          'height': _height, \r\n          'min-height': minHeight(), \r\n          'max-height': maxHeight(), \r\n          'd-none': dataSource().length <= 0  \r\n          }\">\r\n      \r\n      @for (item of _dataSource(); track GetIndexRow(item)) {\r\n        <li cdkDrag \r\n          class=\"list-group-item coer-list-box\" \r\n          cdkDragBoundary=\"ul.coer-list\"\r\n          (click)=\"onClick.emit(item)\" \r\n          (dblclick)=\"onDoubleClick.emit(item)\">\r\n  \r\n          <div *cdkDragPlaceholder class=\"coer-list-placeholder cursor-grabbing\"></div>\r\n          <div class=\"coer-list-content\"> \r\n            @if(_hasTemplate()) {\r\n              <div [innerHTML]=\"GetTemplate(item) | html\" class=\"template\"></div>\r\n            }\r\n  \r\n            @else {\r\n              <div> {{ GetDisplay(item) }} </div> \r\n            }            \r\n            \r\n            <div>\r\n              @if(_showDeleteButton(item)) {\r\n                <coer-button\r\n                  type=\"icon-no-border\"\r\n                  color=\"secondary\"\r\n                  icon=\"delete\"      \r\n                  (onClick)=\"onClickDelete.emit(item)\"\r\n                ></coer-button>\r\n              } \r\n  \r\n              @if(_showGoButton(item)) {\r\n                <coer-button\r\n                  type=\"icon-no-border\"\r\n                  color=\"secondary\"\r\n                  icon=\"go\"   \r\n                  marginLeft=\"5px\"   \r\n                  (onClick)=\"onClickGo.emit(item)\"\r\n                ></coer-button>\r\n              } \r\n               \r\n              <i cdkDragHandle [ngClass]=\"{ \r\n                'fa-solid fa-grip-vertical text-secondary ps-2': true,\r\n                'cursor-grab': true, \r\n                'cursor-grabbing': false, \r\n                'd-none': !_isDraggable()\r\n              }\"></i>               \r\n            </div>           \r\n          </div>  \r\n        </li> \r\n      } \r\n    </ul>\r\n  </div>\r\n</div>", styles: ["div.coer-list header{align-items:center;justify-content:flex-end;padding-right:10px;margin:0}div.coer-list header h6{display:flex;align-items:center;gap:10px;min-height:40px;max-height:40px;margin-top:5px;margin-bottom:5px}div.coer-list header>div{display:flex;align-items:baseline;position:relative;z-index:1}div.coer-list ul.coer-list{width:100%;border:solid 1px #ccc;display:block;background:#fff;border-radius:4px;overflow:auto}div.coer-list li.coer-list-box{padding:10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;font-size:14px}div.coer-list li.coer-list-box div.coer-list-content{width:100%;display:flex;align-items:center;justify-content:space-between}div.coer-list .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}div.coer-list .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list .coer-list-box:last-child{border:none}div.coer-list .coer-list.cdk-drop-list-dragging .coer-list-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.coer-list-placeholder{background:#ccc;border:dotted 3px #999;min-height:40px;transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.cdk-drag-placeholder,div.coer-list ul.cdk-drop-list-dragging,div.coer-list ul.cdk-drop-list-dragging *{cursor:grabbing}div.coer-list div.loading,div.coer-list div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray;z-index:1}div.coer-list div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important}div.coer-list div.loading span.fa-fade{position:relative!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2$6.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i2$6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "animation", "isLoading", "isDisabled", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "path", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "button", "label", "placeholder", "minLength", "maxLength", "showSearchIcon", "showClearIcon", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isInvisible", "isReadonly", "isLoading", "selectOnFocus", "textPosition"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }] }); }
         
     | 
| 
      
 2701 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerList, isStandalone: false, selector: "coer-list", inputs: { dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, propDisplay: { classPropertyName: "propDisplay", publicName: "propDisplay", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, headerIcon: { classPropertyName: "headerIcon", publicName: "headerIcon", isSignal: true, isRequired: false, transformFunction: null }, showDeleteButton: { classPropertyName: "showDeleteButton", publicName: "showDeleteButton", isSignal: true, isRequired: false, transformFunction: null }, showGoButton: { classPropertyName: "showGoButton", publicName: "showGoButton", isSignal: true, isRequired: false, transformFunction: null }, showBackButton: { classPropertyName: "showBackButton", publicName: "showBackButton", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, isDraggable: { classPropertyName: "isDraggable", publicName: "isDraggable", isSignal: true, isRequired: false, transformFunction: null }, showSearch: { classPropertyName: "showSearch", publicName: "showSearch", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, MinWidth: { classPropertyName: "MinWidth", publicName: "MinWidth", isSignal: true, isRequired: false, transformFunction: null }, MaxWidth: { classPropertyName: "MaxWidth", publicName: "MaxWidth", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDrop: "onDrop", onSort: "onSort", onClick: "onClick", onDoubleClick: "onDoubleClick", onClickDelete: "onClickDelete", onClickGo: "onClickGo", onClickBack: "onClickBack" }, ngImport: i0, template: "<div [id]=\"_id\" class=\"coer-list\" [ngStyle]=\"{ \r\n  'margin-top': marginTop(), \r\n  'margin-right': marginRight(), \r\n  'margin-bottom': marginBottom(), \r\n  'margin-left': marginLeft(), \r\n  }\">\r\n\r\n  @if(isLoading()) {\r\n    <!-- Grid Message -->\r\n    <div class=\"loading\">\r\n        <i class=\"spinner-border\"></i>\r\n        <span class=\"fa-fade\">Loading</span>\r\n    </div>\r\n  }\r\n\r\n  @else if(dataSource().length <= 0) {\r\n    <div class=\"no-data\"> No Data </div>\r\n  }\r\n\r\n  <header [id]=\"_id + '-header'\" class=\"row\"> \r\n    @if(header().length > 0 || headerIcon().length > 0) {\r\n      <div class=\"col-auto me-auto\">\r\n        <h6>\r\n          @if(headerIcon().length > 0) {\r\n            <i [class]=\"headerIcon()\"></i> \r\n          }\r\n\r\n          @if(header().length > 0) {\r\n            <span>{{ header() }}</span> \r\n          }\r\n        </h6>        \r\n      </div>\r\n    }\r\n\r\n    @if(_showBackButton()) {\r\n      <div class=\"col-auto ps-2 pe-0\">         \r\n        <coer-button\r\n            type=\"icon-outline\"\r\n            color=\"secondary\"\r\n            icon=\"back\"\r\n            tooltip=\"Back\"\r\n            [animation]=\"_enableAnimations\"\r\n            (onClick)=\"onClickBack.emit()\"\r\n        ></coer-button>       \r\n      </div>\r\n    }\r\n    \r\n    <!-- Search -->\r\n    @if(showSearch() && dataSource().length > 0) {\r\n      <div class=\"col-auto pe-0\">\r\n          <coer-textbox\r\n              #inputSearch \r\n              placeholder=\"Search\"\r\n              [isDisabled]=\"isLoading()\"\r\n              [selectOnFocus]=\"true\"\r\n              width=\"250px\"\r\n              marginTop=\"5px\"\r\n              marginBottom=\"5px\"\r\n              [showSearchIcon]=\"true\"\r\n              [showClearIcon]=\"true\"\r\n          ></coer-textbox>\r\n      </div>\r\n    }\r\n  </header>\r\n\r\n  <div [ngStyle]=\"{ \r\n    'width': width(), \r\n    'min-Width': MinWidth(), \r\n    'max-Width': MaxWidth(), \r\n    }\">\r\n    <ul cdkDropList (cdkDropListDropped)=\"Drop($event)\" class='list-group coer-list'\r\n        [ngStyle]=\"{ \r\n          'height': _height, \r\n          'min-height': minHeight(), \r\n          'max-height': maxHeight(), \r\n          'd-none': dataSource().length <= 0  \r\n          }\">\r\n      \r\n      @for (item of _dataSource(); track GetIndexRow(item)) {\r\n        <li cdkDrag \r\n          class=\"list-group-item coer-list-box\" \r\n          cdkDragBoundary=\"ul.coer-list\"\r\n          (click)=\"onClick.emit(item)\" \r\n          (dblclick)=\"onDoubleClick.emit(item)\">\r\n  \r\n          <div *cdkDragPlaceholder class=\"coer-list-placeholder cursor-grabbing\"></div>\r\n          <div class=\"coer-list-content\"> \r\n            @if(_hasTemplate()) {\r\n              <div [innerHTML]=\"GetTemplate(item) | html\" class=\"template\"></div>\r\n            }\r\n  \r\n            @else {\r\n              <div> {{ GetDisplay(item) }} </div> \r\n            }            \r\n            \r\n            <div>\r\n              @if(_showDeleteButton(item)) {\r\n                <coer-button\r\n                  type=\"icon-no-border\"\r\n                  color=\"secondary\"\r\n                  icon=\"delete\"      \r\n                  (onClick)=\"onClickDelete.emit(item)\"\r\n                ></coer-button>\r\n              } \r\n  \r\n              @if(_showGoButton(item)) {\r\n                <coer-button\r\n                  type=\"icon-no-border\"\r\n                  color=\"secondary\"\r\n                  icon=\"go\"   \r\n                  marginLeft=\"5px\"   \r\n                  (onClick)=\"onClickGo.emit(item)\"\r\n                ></coer-button>\r\n              } \r\n               \r\n              <i cdkDragHandle [ngClass]=\"{ \r\n                'fa-solid fa-grip-vertical text-secondary ps-2': true,\r\n                'cursor-grab': true, \r\n                'cursor-grabbing': false, \r\n                'd-none': !_isDraggable()\r\n              }\"></i>               \r\n            </div>           \r\n          </div>  \r\n        </li> \r\n      } \r\n    </ul>\r\n  </div>\r\n</div>", styles: ["div.coer-list header{align-items:center;justify-content:flex-end;padding-right:10px;margin:0}div.coer-list header h6{display:flex;align-items:center;gap:10px;min-height:40px;max-height:40px;margin-top:5px;margin-bottom:5px}div.coer-list header>div{display:flex;align-items:baseline;position:relative;z-index:1}div.coer-list ul.coer-list{width:100%;border:solid 1px #ccc;display:block;background:#fff;border-radius:4px;overflow:auto}div.coer-list li.coer-list-box{padding:10px;border-bottom:solid 1px #ccc;color:#000000de;display:flex;flex-direction:row;align-items:center;justify-content:space-between;box-sizing:border-box;background:#fff;font-size:14px}div.coer-list li.coer-list-box div.coer-list-content{width:100%;display:flex;align-items:center;justify-content:space-between}div.coer-list .cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}div.coer-list .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list .coer-list-box:last-child{border:none}div.coer-list .coer-list.cdk-drop-list-dragging .coer-list-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.coer-list-placeholder{background:#ccc;border:dotted 3px #999;min-height:40px;transition:transform .25s cubic-bezier(0,0,.2,1)}div.coer-list div.cdk-drag-placeholder,div.coer-list ul.cdk-drop-list-dragging,div.coer-list ul.cdk-drop-list-dragging *{cursor:grabbing}div.coer-list div.loading,div.coer-list div.no-data{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;color:gray;z-index:1}div.coer-list div.loading{background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important}div.coer-list div.loading span.fa-fade{position:relative!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2$6.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i2$6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "button", "label", "placeholder", "minLength", "maxLength", "showSearchIcon", "showClearIcon", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isInvalid", "isValid", "isDisabled", "isInvisible", "isReadonly", "isLoading", "selectOnFocus", "textPosition"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }] }); }
         
     | 
| 
       2700 
2702 
     | 
    
         
             
            }
         
     | 
| 
       2701 
2703 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerList, decorators: [{
         
     | 
| 
       2702 
2704 
     | 
    
         
             
                        type: Component,
         
     | 
| 
         @@ -3383,7 +3385,7 @@ class CoerDropdown extends ControlValue { 
     | 
|
| 
       3383 
3385 
     | 
    
         
             
                    });
         
     | 
| 
       3384 
3386 
     | 
    
         
             
                }
         
     | 
| 
       3385 
3387 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDropdown, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       3386 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDropdown, isStandalone: false, selector: "coer-dropdown", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, propDisplay: { classPropertyName: "propDisplay", publicName: "propDisplay", isSignal: true, isRequired: false, transformFunction: null }, rowsByPage: { classPropertyName: "rowsByPage", publicName: "rowsByPage", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelected: "onSelected", onUnselect: "onUnselect" }, providers: [CONTROL_VALUE(CoerDropdown)], viewQueries: [{ propertyName: "_coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-dropdown\">\r\n    <div [id]=\"_id + '-container'\">\r\n        <div [ngClass]=\"{ 'd-none': isInvisible() }\">\r\n            <coer-button\r\n                [color]=\"color()\"\r\n                [type]=\"type()\"\r\n                [isLoading]=\"isLoading()\"\r\n                [isDisabled]=\"isDisabled()\" \r\n                [width]=\"width()\"\r\n                [minWidth]=\"minWidth()\"\r\n                [maxWidth]=\"maxWidth()\"\r\n                [marginTop]=\"marginTop()\"\r\n                [marginRight]=\"marginRight()\"\r\n                [marginBottom]=\"marginBottom()\"\r\n                [marginLeft]=\"marginLeft()\"\r\n                [tooltip]=\"tooltip()\"\r\n                [tooltipPosition]=\"tooltipPosition()\"\r\n                (onClick)=\"Toggle()\"\r\n            > {{ _label }} </coer-button>\r\n        </div>\r\n\r\n        <div [ngClass]=\"{ 'd-none': !isInvisible(), 'invisible': true  }\">\r\n            <coer-button\r\n                [width]=\"width()\"\r\n                [minWidth]=\"minWidth()\"\r\n                [maxWidth]=\"maxWidth()\"\r\n                [marginTop]=\"marginTop()\"\r\n                [marginRight]=\"marginRight()\"\r\n                [marginBottom]=\"marginBottom()\"\r\n                [marginLeft]=\"marginLeft()\"\r\n            ></coer-button>\r\n        </div>\r\n    </div>\r\n\r\n    <!-- Options Container -->\r\n    <div class=\"btn-group\">\r\n        <ul [id]=\"_id + '-dropdown-menu'\" class=\"dropdown-menu\">\r\n            @if(_dataSource().length <= 0) {\r\n                <li class=\"no-options\">\r\n                    <div [id]=\"id + '-dropdown-option-' + -1\" class='dropdown-item cursor-pointer no-options'\r\n                    > -- No Options -- </div>\r\n                </li>\r\n            }\r\n\r\n            @for(item of _dataSource(); track GetIndexRow(item)) {\r\n                <li (click)=\"SelectItem(item)\">\r\n                    <a [routerLink]=\"GetPath(item)\" class=\"text-decoration-none\">\r\n                        <div [id]=\"id + '-dropdown-option-' + GetIndexRow(item)\"\r\n                            [ngClass]=\"{\r\n                                'dropdown-item': true,\r\n                                'cursor-pointer': true,\r\n                                'gap-2': true,\r\n                                'dropdown-item-focus': _index() == GetIndexRow(item)\r\n                            }\"> \r\n\r\n                            @if (GetIcon(item).length > 0) {\r\n                                <i [class]=\"GetIcon(item)\"></i>\r\n                            }\r\n                            <span> {{ GetDisplay(item) }} </span>\r\n                        </div>\r\n                    <hr class=\"dropdown-divider\">\r\n                    </a>\r\n                </li>\r\n            }\r\n        </ul>\r\n    </div>\r\n</div>  ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important}div.coer-dropdown .btn-group{position:absolute!important;top:40px;left:0!important;width:100%!important}div.coer-dropdown ul.dropdown-menu{background-color:#fff!important;border-top-left-radius:0!important;border-top-right-radius:0!important;max-height:205px!important;width:100%;overflow:auto!important;padding:0!important}div.coer-dropdown .dropdown-divider{margin:0!important;background-color:#fff!important}div.coer-dropdown ul.dropdown-menu li:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li:not(.dropdown-item-focus):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.dropdown-item-focus):hover{color:#000!important;background-color:#f1f6ff!important}div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider,div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider:hover{width:0px!important;border:none!important}div.coer-dropdown ul.dropdown-menu li div{display:flex!important;align-items:center!important;height:40px!important}div.coer-dropdown ul.dropdown-menu li.no-options *{color:#d3d3d3!important}div.coer-dropdown div.dropdown-item-focus{background-color:#cde1ff!important}div.coer-dropdown mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "animation", "isLoading", "isDisabled", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "path", "tooltipPosition", "tooltip"], outputs: ["onClick"] }] }); }
         
     | 
| 
      
 3388 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerDropdown, isStandalone: false, selector: "coer-dropdown", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: false, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, propDisplay: { classPropertyName: "propDisplay", publicName: "propDisplay", isSignal: true, isRequired: false, transformFunction: null }, rowsByPage: { classPropertyName: "rowsByPage", publicName: "rowsByPage", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null }, marginTop: { classPropertyName: "marginTop", publicName: "marginTop", isSignal: true, isRequired: false, transformFunction: null }, marginRight: { classPropertyName: "marginRight", publicName: "marginRight", isSignal: true, isRequired: false, transformFunction: null }, marginBottom: { classPropertyName: "marginBottom", publicName: "marginBottom", isSignal: true, isRequired: false, transformFunction: null }, marginLeft: { classPropertyName: "marginLeft", publicName: "marginLeft", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isReadonly: { classPropertyName: "isReadonly", publicName: "isReadonly", isSignal: true, isRequired: false, transformFunction: null }, isInvisible: { classPropertyName: "isInvisible", publicName: "isInvisible", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelected: "onSelected", onUnselect: "onUnselect" }, providers: [CONTROL_VALUE(CoerDropdown)], viewQueries: [{ propertyName: "_coerTextBox", first: true, predicate: ["coerTextBox"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"coer-dropdown\">\r\n    <div [id]=\"_id + '-container'\">\r\n        <div [ngClass]=\"{ 'd-none': isInvisible() }\">\r\n            <coer-button\r\n                [color]=\"color()\"\r\n                [type]=\"type()\"\r\n                [isLoading]=\"isLoading()\"\r\n                [isDisabled]=\"isDisabled()\" \r\n                [width]=\"width()\"\r\n                [minWidth]=\"minWidth()\"\r\n                [maxWidth]=\"maxWidth()\"\r\n                [marginTop]=\"marginTop()\"\r\n                [marginRight]=\"marginRight()\"\r\n                [marginBottom]=\"marginBottom()\"\r\n                [marginLeft]=\"marginLeft()\"\r\n                [tooltip]=\"tooltip()\"\r\n                [tooltipPosition]=\"tooltipPosition()\"\r\n                (onClick)=\"Toggle()\"\r\n            > {{ _label }} </coer-button>\r\n        </div>\r\n\r\n        <div [ngClass]=\"{ 'd-none': !isInvisible(), 'invisible': true  }\">\r\n            <coer-button\r\n                [width]=\"width()\"\r\n                [minWidth]=\"minWidth()\"\r\n                [maxWidth]=\"maxWidth()\"\r\n                [marginTop]=\"marginTop()\"\r\n                [marginRight]=\"marginRight()\"\r\n                [marginBottom]=\"marginBottom()\"\r\n                [marginLeft]=\"marginLeft()\"\r\n            ></coer-button>\r\n        </div>\r\n    </div>\r\n\r\n    <!-- Options Container -->\r\n    <div class=\"btn-group\">\r\n        <ul [id]=\"_id + '-dropdown-menu'\" class=\"dropdown-menu\">\r\n            @if(_dataSource().length <= 0) {\r\n                <li class=\"no-options\">\r\n                    <div [id]=\"id + '-dropdown-option-' + -1\" class='dropdown-item cursor-pointer no-options'\r\n                    > -- No Options -- </div>\r\n                </li>\r\n            }\r\n\r\n            @for(item of _dataSource(); track GetIndexRow(item)) {\r\n                <li (click)=\"SelectItem(item)\">\r\n                    <a [routerLink]=\"GetPath(item)\" class=\"text-decoration-none\">\r\n                        <div [id]=\"id + '-dropdown-option-' + GetIndexRow(item)\"\r\n                            [ngClass]=\"{\r\n                                'dropdown-item': true,\r\n                                'cursor-pointer': true,\r\n                                'gap-2': true,\r\n                                'dropdown-item-focus': _index() == GetIndexRow(item)\r\n                            }\"> \r\n\r\n                            @if (GetIcon(item).length > 0) {\r\n                                <i [class]=\"GetIcon(item)\"></i>\r\n                            }\r\n                            <span> {{ GetDisplay(item) }} </span>\r\n                        </div>\r\n                    <hr class=\"dropdown-divider\">\r\n                    </a>\r\n                </li>\r\n            }\r\n        </ul>\r\n    </div>\r\n</div>  ", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow: #ffc107;--red: #dc3545;--white: #f5f5f5;--black: #252525;--orange: #fd6031;--purple: #a615bc}.text-blue{color:var(--blue)!important}.text-blue-bold{color:var(--blue)!important;font-weight:700!important}.background-blue{background-color:var(--blue)!important}.background-border-blue{background-color:var(--blue)!important;border-color:var(--blue)!important}.border-blue{border-color:var(--blue)!important}.text-gray{color:var(--gray)!important}.text-gray-bold{color:var(--gray)!important;font-weight:700!important}.background-gray{background-color:var(--gray)!important}.background-border-gray{background-color:var(--gray)!important;border-color:var(--gray)!important}.border-gray{border-color:var(--gray)!important}.text-green{color:var(--green)!important}.text-green-bold{color:var(--green)!important;font-weight:700!important}.background-green{background-color:var(--green)!important}.background-border-green{background-color:var(--green)!important;border-color:var(--green)!important}.border-green{border-color:var(--green)!important}.text-yellow{color:var(--yellow)!important}.text-yellow-bold{color:var(--yellow)!important;font-weight:700!important}.background-yellow{background-color:var(--yellow)!important}.background-border-yellow{background-color:var(--yellow)!important;border-color:var(--yellow)!important}.border-yellow{border-color:var(--yellow)!important}.text-red{color:var(--red)!important}.text-red-bold{color:var(--red)!important;font-weight:700!important}.background-red{background-color:var(--red)!important}.background-border-red{background-color:var(--red)!important;border-color:var(--red)!important}.border-red{border-color:var(--red)!important}.text-white{color:var(--white)!important}.text-white-bold{color:var(--white)!important;font-weight:700!important}.background-white{background-color:var(--white)!important}.background-border-white{background-color:var(--white)!important;border-color:var(--white)!important}.border-white{border-color:var(--white)!important}.text-black{color:var(--black)!important}.text-black-bold{color:var(--black)!important;font-weight:700!important}.background-black{background-color:var(--black)!important}.background-border-black{background-color:var(--black)!important;border-color:var(--black)!important}.border-black{border-color:var(--black)!important}.text-orange{color:var(--orange)!important}.text-orange-bold{color:var(--orange)!important;font-weight:700!important}.background-orange{background-color:var(--orange)!important}.background-border-orange{background-color:var(--orange)!important;border-color:var(--orange)!important}.border-orange{border-color:var(--orange)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important}div.coer-dropdown .btn-group{position:absolute!important;top:40px;left:0!important;width:100%!important}div.coer-dropdown ul.dropdown-menu{background-color:#fff!important;border-top-left-radius:0!important;border-top-right-radius:0!important;max-height:205px!important;width:100%;overflow:auto!important;padding:0!important}div.coer-dropdown .dropdown-divider{margin:0!important;background-color:#fff!important}div.coer-dropdown ul.dropdown-menu li:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.no-options):hover,div.coer-dropdown ul.dropdown-menu li:not(.dropdown-item-focus):hover,div.coer-dropdown ul.dropdown-menu li>div:not(.dropdown-item-focus):hover{color:#000!important;background-color:#f1f6ff!important}div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider,div.coer-dropdown ul.dropdown-menu li:last-child hr.dropdown-divider:hover{width:0px!important;border:none!important}div.coer-dropdown ul.dropdown-menu li div{display:flex!important;align-items:center!important;height:40px!important}div.coer-dropdown ul.dropdown-menu li.no-options *{color:#d3d3d3!important}div.coer-dropdown div.dropdown-item-focus{background-color:#cde1ff!important}div.coer-dropdown mat-form-field.readonly div.mat-mdc-text-field-wrapper.mdc-text-field{background-color:#bbbbbb83!important}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }] }); }
         
     | 
| 
       3387 
3389 
     | 
    
         
             
            }
         
     | 
| 
       3388 
3390 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDropdown, decorators: [{
         
     | 
| 
       3389 
3391 
     | 
    
         
             
                        type: Component,
         
     | 
| 
         @@ -3752,7 +3754,7 @@ class CoerToolbar { 
     | 
|
| 
       3752 
3754 
     | 
    
         
             
                    this.dropdown().Open();
         
     | 
| 
       3753 
3755 
     | 
    
         
             
                }
         
     | 
| 
       3754 
3756 
     | 
    
         
             
                static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
         
     | 
| 
       3755 
     | 
    
         
            -
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerToolbar, isStandalone: false, selector: "coer-toolbar", inputs: { appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClickMenu: "onClickMenu", onClickOption: "onClickOption" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, isSignal: true }], ngImport: i0, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n    <mat-toolbar>\r\n        <coer-button\r\n            type=\"icon\"\r\n            icon=\"menu\"\r\n            [isLoading]=\"isLoading\"\r\n            (onClick)=\"ToogleSideNave($event)\"\r\n        ></coer-button>\r\n\r\n        <span class=\"app-name\"> {{ appName() }} </span>\r\n\r\n        <span class=\"fill-space\"></span> \r\n\r\n         \r\n        <div class=\"user-container\" (click)=\"ClickUser()\" [ngStyle]=\"{ \r\n            'padding-right': GetPadding('user-container'),\r\n            'display': showUser ? 'flex' : 'none'\r\n            }\">\r\n            \r\n            <coer-dropdown\r\n                #dropdown\r\n                [dataSource]=\"menu()\" \r\n                propDisplay=\"label\" \r\n                width=\"auto\"\r\n                [minWidth]=\"GetElementWidth(toolbarUserIdentity)\"\r\n                maxWidth=\"auto\"\r\n                (onSelected)=\"onClickOption.emit($event)\"\r\n            ></coer-dropdown>\r\n\r\n            <div class=\"user-image\" [ngStyle]=\"{ 'background-image': 'url(' + (image() | noImage:'USER') + ')' }\"></div>\r\n            <div #toolbarUserIdentity id=\"toolbar-user-identity\" class=\"user-identity\" [ngStyle]=\"{ 'padding-left': GetPadding('user-identity') }\">\r\n                \r\n                @if(userName().length > 0) {\r\n                    <p> {{ userName() }} </p>\r\n                }\r\n    \r\n                @if(userTitle().length > 0) {\r\n                    <p> {{ userTitle() }} </p>\r\n                }\r\n            </div> \r\n        </div>           \r\n    </mat-toolbar>\r\n\r\n    <div class=\"shadow\"></div>\r\n</div>\r\n", styles: ["div#coer-tool-bar{z-index:1}div#coer-tool-bar mat-toolbar{height:45px;position:relative;z-index:10;padding:0}div#coer-tool-bar mat-toolbar span.app-name{max-width:45%}div#coer-tool-bar mat-toolbar div.user-container{max-width:45%;display:flex;align-items:center;font-size:small!important;font-weight:700;height:40px!important;max-height:40px!important;padding-left:2px!important;margin-right:10px!important;border-radius:8px!important;cursor:pointer!important}div#coer-tool-bar mat-toolbar div.user-container div.user-image{min-width:35px!important;max-width:35px!important;min-height:35px!important;max-height:35px!important;border-radius:25px;background:transparent;background-size:cover;background-repeat:no-repeat;background-position:top}div#coer-tool-bar mat-toolbar div.user-container div.user-identity{height:40px!important;max-height:40px!important;overflow:hidden!important;display:flex!important;flex-flow:column!important;justify-content:center!important}div#coer-tool-bar mat-toolbar div.user-container div.user-identity p{line-height:normal!important;overflow:hidden;text-overflow:ellipsis}div#coer-tool-bar mat-toolbar div.user-container div.user-identity p::selection{background-color:transparent!important}div#coer-tool-bar mat-toolbar div.user-container coer-dropdown{position:absolute;transform:translate(-3px)}div#coer-tool-bar mat-toolbar div.user-container:hover{transform:scale(1.03);box-shadow:0 0 15px -5px #000!important}div#coer-tool-bar div.shadow{box-shadow:1px -10px 20px #000!important;width:100vw;height:45px;position:absolute;top:0;z-index:8}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$a.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "animation", "isLoading", "isDisabled", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", " 
     | 
| 
      
 3757 
     | 
    
         
            +
                static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerToolbar, isStandalone: false, selector: "coer-toolbar", inputs: { appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: false, transformFunction: null }, user: { classPropertyName: "user", publicName: "user", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, menu: { classPropertyName: "menu", publicName: "menu", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClickMenu: "onClickMenu", onClickOption: "onClickOption" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, isSignal: true }], ngImport: i0, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n    <mat-toolbar>\r\n        <coer-button\r\n            type=\"icon\"\r\n            icon=\"menu\"\r\n            [isLoading]=\"isLoading\"\r\n            (onClick)=\"ToogleSideNave($event)\"\r\n        ></coer-button>\r\n\r\n        <span class=\"app-name\"> {{ appName() }} </span>\r\n\r\n        <span class=\"fill-space\"></span> \r\n\r\n         \r\n        <div class=\"user-container\" (click)=\"ClickUser()\" [ngStyle]=\"{ \r\n            'padding-right': GetPadding('user-container'),\r\n            'display': showUser ? 'flex' : 'none'\r\n            }\">\r\n            \r\n            <coer-dropdown\r\n                #dropdown\r\n                [dataSource]=\"menu()\" \r\n                propDisplay=\"label\" \r\n                width=\"auto\"\r\n                [minWidth]=\"GetElementWidth(toolbarUserIdentity)\"\r\n                maxWidth=\"auto\"\r\n                (onSelected)=\"onClickOption.emit($event)\"\r\n            ></coer-dropdown>\r\n\r\n            <div class=\"user-image\" [ngStyle]=\"{ 'background-image': 'url(' + (image() | noImage:'USER') + ')' }\"></div>\r\n            <div #toolbarUserIdentity id=\"toolbar-user-identity\" class=\"user-identity\" [ngStyle]=\"{ 'padding-left': GetPadding('user-identity') }\">\r\n                \r\n                @if(userName().length > 0) {\r\n                    <p> {{ userName() }} </p>\r\n                }\r\n    \r\n                @if(userTitle().length > 0) {\r\n                    <p> {{ userTitle() }} </p>\r\n                }\r\n            </div> \r\n        </div>           \r\n    </mat-toolbar>\r\n\r\n    <div class=\"shadow\"></div>\r\n</div>\r\n", styles: ["div#coer-tool-bar{z-index:1}div#coer-tool-bar mat-toolbar{height:45px;position:relative;z-index:10;padding:0}div#coer-tool-bar mat-toolbar span.app-name{max-width:45%}div#coer-tool-bar mat-toolbar div.user-container{max-width:45%;display:flex;align-items:center;font-size:small!important;font-weight:700;height:40px!important;max-height:40px!important;padding-left:2px!important;margin-right:10px!important;border-radius:8px!important;cursor:pointer!important}div#coer-tool-bar mat-toolbar div.user-container div.user-image{min-width:35px!important;max-width:35px!important;min-height:35px!important;max-height:35px!important;border-radius:25px;background:transparent;background-size:cover;background-repeat:no-repeat;background-position:top}div#coer-tool-bar mat-toolbar div.user-container div.user-identity{height:40px!important;max-height:40px!important;overflow:hidden!important;display:flex!important;flex-flow:column!important;justify-content:center!important}div#coer-tool-bar mat-toolbar div.user-container div.user-identity p{line-height:normal!important;overflow:hidden;text-overflow:ellipsis}div#coer-tool-bar mat-toolbar div.user-container div.user-identity p::selection{background-color:transparent!important}div#coer-tool-bar mat-toolbar div.user-container coer-dropdown{position:absolute;transform:translate(-3px)}div#coer-tool-bar mat-toolbar div.user-container:hover{transform:scale(1.03);box-shadow:0 0 15px -5px #000!important}div#coer-tool-bar div.shadow{box-shadow:1px -10px 20px #000!important;width:100vw;height:45px;position:absolute;top:0;z-index:8}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2$a.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: CoerButton, selector: "coer-button", inputs: ["id", "color", "type", "icon", "iconPosition", "path", "animation", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "height", "minHeight", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltipPosition", "tooltip"], outputs: ["onClick"] }, { kind: "component", type: CoerDropdown, selector: "coer-dropdown", inputs: ["value", "id", "label", "color", "type", "dataSource", "propDisplay", "rowsByPage", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "isDisabled", "isReadonly", "isInvisible", "isLoading", "tooltip", "tooltipPosition"], outputs: ["onSelected", "onUnselect"] }, { kind: "pipe", type: i9.NoImagePipe, name: "noImage" }] }); }
         
     | 
| 
       3756 
3758 
     | 
    
         
             
            }
         
     | 
| 
       3757 
3759 
     | 
    
         
             
            i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerToolbar, decorators: [{
         
     | 
| 
       3758 
3760 
     | 
    
         
             
                        type: Component,
         
     |