coer-elements 2.0.5 → 2.0.6

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.
Files changed (48) hide show
  1. package/components/lib/coer-button/coer-button.component.d.ts +7 -7
  2. package/components/lib/coer-checkbox/coer-checkbox.component.d.ts +1 -1
  3. package/components/lib/coer-datebox/coer-datebox.component.d.ts +8 -7
  4. package/components/lib/coer-dropdown/coer-dropdown.component.d.ts +12 -12
  5. package/components/lib/coer-filebox/coer-filebox.component.d.ts +7 -7
  6. package/components/lib/coer-form/coer-form.component.d.ts +1 -1
  7. package/components/lib/coer-grid/coer-grid.component.d.ts +9 -9
  8. package/components/lib/coer-grid/coer-grid.extension.d.ts +19 -15
  9. package/components/lib/coer-list/coer-list.component.d.ts +9 -9
  10. package/components/lib/coer-modal/coer-modal.component.d.ts +1 -1
  11. package/components/lib/coer-numberbox/coer-numberbox.component.d.ts +1 -1
  12. package/components/lib/coer-secretbox/coer-secretbox.component.d.ts +1 -1
  13. package/components/lib/coer-sidenav/coer-toolbar/coer-toolbar.component.d.ts +8 -7
  14. package/components/lib/coer-switch/coer-switch.component.d.ts +1 -1
  15. package/components/lib/coer-textarea/coer-textarea.component.d.ts +1 -1
  16. package/components/lib/coer-textbox/coer-textbox.component.d.ts +1 -1
  17. package/fesm2022/coer-elements-components.mjs +190 -190
  18. package/fesm2022/coer-elements-components.mjs.map +1 -1
  19. package/fesm2022/coer-elements-guards.mjs +6 -6
  20. package/fesm2022/coer-elements-guards.mjs.map +1 -1
  21. package/fesm2022/coer-elements-interceptors.mjs +1 -1
  22. package/fesm2022/coer-elements-interceptors.mjs.map +1 -1
  23. package/fesm2022/coer-elements-interfaces.mjs.map +1 -1
  24. package/fesm2022/coer-elements-pages.mjs +213 -174
  25. package/fesm2022/coer-elements-pages.mjs.map +1 -1
  26. package/fesm2022/coer-elements-services.mjs +1 -1
  27. package/fesm2022/coer-elements-services.mjs.map +1 -1
  28. package/fesm2022/coer-elements-signals.mjs.map +1 -1
  29. package/fesm2022/coer-elements-tools.mjs +13 -1
  30. package/fesm2022/coer-elements-tools.mjs.map +1 -1
  31. package/fesm2022/coer-elements.mjs.map +1 -1
  32. package/interfaces/lib/coer-grid/grid-button-by-row.interface.d.ts +3 -0
  33. package/interfaces/lib/coer-grid/grid-header-button.interface.d.ts +1 -0
  34. package/interfaces/lib/coer-grid/grid-header-export-button.interface.d.ts +1 -0
  35. package/interfaces/lib/coer-grid/grid-header-import-button.interface.d.ts +1 -0
  36. package/interfaces/lib/coer-menu/menu-toolbar.interface.d.ts +6 -0
  37. package/interfaces/lib/login/user-login-response.interface.d.ts +12 -0
  38. package/interfaces/lib/login/user-login.interface.d.ts +10 -0
  39. package/interfaces/public-api.d.ts +4 -4
  40. package/package.json +5 -5
  41. package/pages/lib/coer-system/coer-system.component.d.ts +53 -34
  42. package/pages/lib/coer-system/login/login.component.d.ts +15 -15
  43. package/styles/coer-elements.css +2 -2
  44. package/tools/lib/user.class.d.ts +3 -2
  45. package/interfaces/lib/image.interface.d.ts +0 -11
  46. package/interfaces/lib/login-response.interface.d.ts +0 -10
  47. package/interfaces/lib/toolbar-menu.interface.d.ts +0 -5
  48. /package/interfaces/lib/{login.interface.d.ts → login/login.interface.d.ts} +0 -0
@@ -127,8 +127,8 @@ class CoerButton {
127
127
  //Variables
128
128
  this._id = Tools.GetGuid('coer-button');
129
129
  this._tooltip = '';
130
- //Inputs
131
- this.id = '';
130
+ //Inputs
131
+ this.id = input('');
132
132
  this.color = input('default');
133
133
  this.type = input('filled');
134
134
  this.icon = input('');
@@ -186,8 +186,8 @@ class CoerButton {
186
186
  }
187
187
  }
188
188
  ngOnInit() {
189
- this.SetToolTip();
190
- this.SetEvents();
189
+ this._SetToolTip();
190
+ this._SetEvents();
191
191
  }
192
192
  ngOnDestroy() {
193
193
  if (this._tooltipElement) {
@@ -195,7 +195,7 @@ class CoerButton {
195
195
  }
196
196
  }
197
197
  /** */
198
- SetEvents() {
198
+ _SetEvents() {
199
199
  Tools.Sleep().then(() => {
200
200
  this._element = document.getElementById(`${this._id}-inner-button`);
201
201
  if (Tools.IsNotNull(this._element)) {
@@ -206,7 +206,7 @@ class CoerButton {
206
206
  }
207
207
  });
208
208
  }
209
- SetToolTip() {
209
+ _SetToolTip() {
210
210
  Tools.Sleep().then(() => {
211
211
  const htmlElement = document.getElementById(`${this._id}-container`);
212
212
  if (Tools.IsNotNull(htmlElement)) {
@@ -224,7 +224,7 @@ class CoerButton {
224
224
  });
225
225
  }
226
226
  /** */
227
- Click() {
227
+ _Click() {
228
228
  if (this._isEnable()) {
229
229
  this.onClick.emit();
230
230
  }
@@ -239,19 +239,15 @@ class CoerButton {
239
239
  }
240
240
  /** */
241
241
  Blur() {
242
- Tools.Sleep().then(() => {
243
- this._element.blur();
244
- });
242
+ Tools.Sleep().then(() => this._element.blur());
245
243
  }
246
244
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
247
- 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 }\">\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(), 'invisible': isInvisible() || isReadonly() }\"\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()\"\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 'max-width' : maxWidth(),\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()\"\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()\"\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()\"\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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;overflow:visible!important}div.coer-button button.primary-filled{background-color:var(--primary-inner)!important;color:var(--smoke)!important}div.coer-button button.secondary-filled{background-color:var(--secondary-inner)!important;color:var(--smoke)!important}div.coer-button button.success-filled{background-color:var(--success-inner)!important;color:var(--smoke)!important}div.coer-button button.warning-filled{background-color:var(--warning-inner)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--danger-inner)!important;color:var(--smoke)!important}div.coer-button button.navigation-filled{background-color:var(--orange)!important;color:var(--smoke)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--smoke)!important}div.coer-button button.primary-outline{background-color:var(--white)!important;border:1px solid var(--primary-inner)!important;color:var(--primary-inner)!important}div.coer-button button.secondary-outline{background-color:var(--white)!important;border:1px solid var(--secondary-inner)!important;color:var(--secondary-inner)!important}div.coer-button button.success-outline{background-color:var(--white)!important;border:1px solid var(--success-inner)!important;color:var(--success-inner)!important}div.coer-button button.warning-outline{background-color:var(--white)!important;border:1px solid var(--warning-inner)!important;color:var(--warning-inner)!important}div.coer-button button.danger-outline{background-color:var(--white)!important;border:1px solid var(--danger-inner)!important;color:var(--danger-inner)!important}div.coer-button button.navigation-outline{background-color:var(--white)!important;border:1px solid var(--navigation-inner)!important;color:var(---navigation-inner)!important}div.coer-button button.dark-outline{background-color:var(--white)!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(--primary-inner)!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(--secondary-inner)!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(--success-inner)!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(--warning-inner)!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(--danger-inner)!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(--navigation-inner)!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:var(--white)!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"] }] }); }
245
+ 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: 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 }, 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 }\">\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(), 'invisible': isInvisible() || isReadonly() }\"\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()\"\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 'max-width' : maxWidth(),\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()\"\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()\"\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()\"\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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;overflow:visible!important}div.coer-button button.primary-filled{background-color:var(--primary-inner)!important;color:var(--smoke)!important}div.coer-button button.secondary-filled{background-color:var(--secondary-inner)!important;color:var(--smoke)!important}div.coer-button button.success-filled{background-color:var(--success-inner)!important;color:var(--smoke)!important}div.coer-button button.warning-filled{background-color:var(--warning-inner)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--danger-inner)!important;color:var(--smoke)!important}div.coer-button button.navigation-filled{background-color:var(--navigation-inner)!important;color:var(--smoke)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--smoke)!important}div.coer-button button.primary-outline{background-color:var(--white)!important;border:1px solid var(--primary-inner)!important;color:var(--primary-inner)!important}div.coer-button button.secondary-outline{background-color:var(--white)!important;border:1px solid var(--secondary-inner)!important;color:var(--secondary-inner)!important}div.coer-button button.success-outline{background-color:var(--white)!important;border:1px solid var(--success-inner)!important;color:var(--success-inner)!important}div.coer-button button.warning-outline{background-color:var(--white)!important;border:1px solid var(--warning-inner)!important;color:var(--warning-inner)!important}div.coer-button button.danger-outline{background-color:var(--white)!important;border:1px solid var(--danger-inner)!important;color:var(--danger-inner)!important}div.coer-button button.navigation-outline{background-color:var(--white)!important;border:1px solid var(--navigation-inner)!important;color:var(--navigation-inner)!important}div.coer-button button.dark-outline{background-color:var(--white)!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(--primary-inner)!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(--secondary-inner)!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(--success-inner)!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(--warning-inner)!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(--danger-inner)!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(--navigation-inner)!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:var(--white)!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"] }] }); }
248
246
  }
249
247
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerButton, decorators: [{
250
248
  type: Component,
251
- args: [{ selector: 'coer-button', standalone: false, template: "<div [ngClass]=\"{ 'coer-button': true }\">\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(), 'invisible': isInvisible() || isReadonly() }\"\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()\"\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 'max-width' : maxWidth(),\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()\"\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()\"\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()\"\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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;overflow:visible!important}div.coer-button button.primary-filled{background-color:var(--primary-inner)!important;color:var(--smoke)!important}div.coer-button button.secondary-filled{background-color:var(--secondary-inner)!important;color:var(--smoke)!important}div.coer-button button.success-filled{background-color:var(--success-inner)!important;color:var(--smoke)!important}div.coer-button button.warning-filled{background-color:var(--warning-inner)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--danger-inner)!important;color:var(--smoke)!important}div.coer-button button.navigation-filled{background-color:var(--orange)!important;color:var(--smoke)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--smoke)!important}div.coer-button button.primary-outline{background-color:var(--white)!important;border:1px solid var(--primary-inner)!important;color:var(--primary-inner)!important}div.coer-button button.secondary-outline{background-color:var(--white)!important;border:1px solid var(--secondary-inner)!important;color:var(--secondary-inner)!important}div.coer-button button.success-outline{background-color:var(--white)!important;border:1px solid var(--success-inner)!important;color:var(--success-inner)!important}div.coer-button button.warning-outline{background-color:var(--white)!important;border:1px solid var(--warning-inner)!important;color:var(--warning-inner)!important}div.coer-button button.danger-outline{background-color:var(--white)!important;border:1px solid var(--danger-inner)!important;color:var(--danger-inner)!important}div.coer-button button.navigation-outline{background-color:var(--white)!important;border:1px solid var(--navigation-inner)!important;color:var(---navigation-inner)!important}div.coer-button button.dark-outline{background-color:var(--white)!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(--primary-inner)!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(--secondary-inner)!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(--success-inner)!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(--warning-inner)!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(--danger-inner)!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(--navigation-inner)!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:var(--white)!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"] }]
252
- }], propDecorators: { id: [{
253
- type: Input
254
- }], tooltip: [{
249
+ args: [{ selector: 'coer-button', standalone: false, template: "<div [ngClass]=\"{ 'coer-button': true }\">\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(), 'invisible': isInvisible() || isReadonly() }\"\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()\"\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 'max-width' : maxWidth(),\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()\"\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()\"\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()\"\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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;overflow:visible!important}div.coer-button button.primary-filled{background-color:var(--primary-inner)!important;color:var(--smoke)!important}div.coer-button button.secondary-filled{background-color:var(--secondary-inner)!important;color:var(--smoke)!important}div.coer-button button.success-filled{background-color:var(--success-inner)!important;color:var(--smoke)!important}div.coer-button button.warning-filled{background-color:var(--warning-inner)!important;color:var(--black)!important}div.coer-button button.danger-filled{background-color:var(--danger-inner)!important;color:var(--smoke)!important}div.coer-button button.navigation-filled{background-color:var(--navigation-inner)!important;color:var(--smoke)!important}div.coer-button button.dark-filled{background-color:var(--black)!important;color:var(--smoke)!important}div.coer-button button.primary-outline{background-color:var(--white)!important;border:1px solid var(--primary-inner)!important;color:var(--primary-inner)!important}div.coer-button button.secondary-outline{background-color:var(--white)!important;border:1px solid var(--secondary-inner)!important;color:var(--secondary-inner)!important}div.coer-button button.success-outline{background-color:var(--white)!important;border:1px solid var(--success-inner)!important;color:var(--success-inner)!important}div.coer-button button.warning-outline{background-color:var(--white)!important;border:1px solid var(--warning-inner)!important;color:var(--warning-inner)!important}div.coer-button button.danger-outline{background-color:var(--white)!important;border:1px solid var(--danger-inner)!important;color:var(--danger-inner)!important}div.coer-button button.navigation-outline{background-color:var(--white)!important;border:1px solid var(--navigation-inner)!important;color:var(--navigation-inner)!important}div.coer-button button.dark-outline{background-color:var(--white)!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(--primary-inner)!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(--secondary-inner)!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(--success-inner)!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(--warning-inner)!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(--danger-inner)!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(--navigation-inner)!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:var(--white)!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"] }]
250
+ }], propDecorators: { tooltip: [{
255
251
  type: Input
256
252
  }] } });
257
253
 
@@ -345,7 +341,7 @@ class CoerDateBox extends ControlValue {
345
341
  this._datepicker = viewChild('datepicker');
346
342
  this._isLoadingEvent = signal(false);
347
343
  this._isOpen = false;
348
- this.id = '';
344
+ this.id = input('');
349
345
  this.label = input('');
350
346
  this.placeholder = input('');
351
347
  this.textPosition = input('left');
@@ -367,11 +363,11 @@ class CoerDateBox extends ControlValue {
367
363
  this.onClose = output();
368
364
  this.onChangeValue = output();
369
365
  //computed
370
- this.floatLabel = computed(() => {
366
+ this._floatLabel = computed(() => {
371
367
  return this.label() == '' ? 'always' : 'auto';
372
368
  });
373
369
  //computed
374
- this.paddingRight = computed(() => {
370
+ this._paddingRight = computed(() => {
375
371
  return this.isInvalid() || this.isValid()
376
372
  ? '18px' : '0px';
377
373
  });
@@ -387,7 +383,7 @@ class CoerDateBox extends ControlValue {
387
383
  this.SetValue(value);
388
384
  }
389
385
  ngOnInit() {
390
- this.SetEvents();
386
+ this._SetEvents();
391
387
  }
392
388
  //getter
393
389
  get value() {
@@ -399,6 +395,10 @@ class CoerDateBox extends ControlValue {
399
395
  get isOpen() {
400
396
  return this._isOpen;
401
397
  }
398
+ //getter
399
+ get isClose() {
400
+ return !this._isOpen;
401
+ }
402
402
  //ControlValueAccessor
403
403
  SetValue(value) {
404
404
  if (value === undefined)
@@ -428,13 +428,13 @@ class CoerDateBox extends ControlValue {
428
428
  }
429
429
  }
430
430
  /** */
431
- SetEvents() {
431
+ _SetEvents() {
432
432
  Tools.Sleep().then(() => {
433
433
  //input
434
434
  this._input = document.getElementById(this._id);
435
435
  if (this._input) {
436
- this._input.addEventListener('focus', () => this.Blur());
437
- this._input.addEventListener('blur', () => this.Blur());
436
+ this._input.addEventListener('focus', () => this._Blur());
437
+ this._input.addEventListener('blur', () => this._Blur());
438
438
  }
439
439
  //container
440
440
  this._container = document.getElementById(`${this._id}-container`);
@@ -457,7 +457,7 @@ class CoerDateBox extends ControlValue {
457
457
  });
458
458
  }
459
459
  /** */
460
- async Blur() {
460
+ async _Blur() {
461
461
  if (this._isLoadingEvent())
462
462
  return;
463
463
  else
@@ -482,13 +482,13 @@ class CoerDateBox extends ControlValue {
482
482
  this.onOpen.emit();
483
483
  }
484
484
  else
485
- this.Blur();
485
+ this._Blur();
486
486
  }
487
487
  /** */
488
488
  Close() {
489
489
  if (this.isOpen) {
490
490
  this._datepicker()?.close();
491
- this.Blur();
491
+ this._Blur();
492
492
  this.onClose.emit();
493
493
  }
494
494
  }
@@ -497,21 +497,19 @@ class CoerDateBox extends ControlValue {
497
497
  this.SetValue(null);
498
498
  }
499
499
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDateBox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
500
- 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", onChangeValue: "onChangeValue" }, providers: [
500
+ 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: true, 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", onChangeValue: "onChangeValue" }, providers: [
501
501
  provideNativeDateAdapter(),
502
502
  CONTROL_VALUE(CoerDateBox),
503
- ], 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 @if(isInvalid() || isValid()) {\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 }\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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(--primary-inner);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(--primary-inner)!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(--primary-inner)!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"] }] }); }
503
+ ], 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 @if(isInvalid() || isValid()) {\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 }\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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(--primary-inner);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(--primary-inner)!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(--primary-inner)!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"] }] }); }
504
504
  }
505
505
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDateBox, decorators: [{
506
506
  type: Component,
507
507
  args: [{ selector: 'coer-datebox', providers: [
508
508
  provideNativeDateAdapter(),
509
509
  CONTROL_VALUE(CoerDateBox),
510
- ], 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 @if(isInvalid() || isValid()) {\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 }\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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(--primary-inner);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(--primary-inner)!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(--primary-inner)!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"] }]
510
+ ], 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 @if(isInvalid() || isValid()) {\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 }\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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(--primary-inner);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(--primary-inner)!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(--primary-inner)!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"] }]
511
511
  }], propDecorators: { value: [{
512
512
  type: Input
513
- }], id: [{
514
- type: Input
515
513
  }] } });
516
514
 
517
515
  class CoerModal {
@@ -623,12 +621,12 @@ class CoerFilebox {
623
621
  this.IsNotNull = Tools.IsNotNull;
624
622
  this.IsNotOnlyWhiteSpace = Tools.IsNotOnlyWhiteSpace;
625
623
  //Elements
626
- this.inputFileImage = viewChild.required('inputFileImage');
627
- this.modal = viewChild.required('modal');
624
+ this._inputFileImage = viewChild.required('inputFileImage');
625
+ this._modal = viewChild.required('modal');
628
626
  //Variables
629
627
  this._base64 = '';
630
628
  this._image = null;
631
- this.imageExtensions = ['png', 'jpeg', 'jpg', 'gif', 'svg'];
629
+ this._imageExtensions = ['png', 'jpeg', 'jpg', 'gif', 'svg'];
632
630
  //Inputs
633
631
  this.type = input('image');
634
632
  this.multiple = input(false);
@@ -644,7 +642,7 @@ class CoerFilebox {
644
642
  return !this.isLoading() && !this.isDisabled() && !this.isInvisible();
645
643
  });
646
644
  /** */
647
- this.GetExtensionFile = (fileName) => {
645
+ this._GetExtensionFile = (fileName) => {
648
646
  if (fileName.includes('.')) {
649
647
  let worlds = fileName.split('.');
650
648
  if (worlds.length > 0) {
@@ -674,13 +672,13 @@ class CoerFilebox {
674
672
  }
675
673
  }
676
674
  /** */
677
- async UploadImages(event) {
675
+ async _UploadImages(event) {
678
676
  const selectedFiles = Array.from(event.target.files);
679
677
  const files = [];
680
678
  let extension = null;
681
679
  for (const file of selectedFiles) {
682
- extension = this.GetExtensionFile(file.name) || '';
683
- if (this.imageExtensions.includes(extension)) {
680
+ extension = this._GetExtensionFile(file.name) || '';
681
+ if (this._imageExtensions.includes(extension)) {
684
682
  files.push({
685
683
  file: file,
686
684
  extension: extension,
@@ -691,27 +689,27 @@ class CoerFilebox {
691
689
  this.alert.Warning(`<b>.${extension}</b> extension not allowed`, 'Files');
692
690
  }
693
691
  //Response
694
- this.inputFileImage().nativeElement.value = null;
692
+ this._inputFileImage().nativeElement.value = null;
695
693
  this.onSelected.emit([...files]);
696
694
  }
697
695
  /** */
698
- DeleteImage(event) {
696
+ _DeleteImage(event) {
699
697
  event.stopPropagation();
700
698
  if (this._isEnable()) {
701
699
  this.onDeleteImage.emit();
702
700
  }
703
701
  }
704
702
  /** */
705
- ExpandImage(event) {
703
+ _ExpandImage(event) {
706
704
  event.stopPropagation();
707
- this.modal().Open();
705
+ this._modal().Open();
708
706
  }
709
707
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerFilebox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
710
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerFilebox, isStandalone: false, selector: "coer-filebox", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", 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 }, image: { classPropertyName: "image", publicName: "image", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onSelected: "onSelected", onDeleteImage: "onDeleteImage" }, viewQueries: [{ propertyName: "inputFileImage", first: true, predicate: ["inputFileImage"], descendants: true, isSignal: true }, { propertyName: "modal", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"coer-filebox\">\r\n @if(type() == 'image') {\r\n <figure (click)=\"(_isEnable() && !isReadonly()) ? inputFileImage.click() : null\"\r\n [ngClass]=\"{ \r\n 'dashed': IsNull(_image?.value), \r\n 'd-none': isInvisible() \r\n }\"\r\n [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\">\r\n\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <img [src]=\"_base64 | noImage\"\r\n [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n\r\n <input #inputFileImage\r\n type=\"file\"\r\n accept=\"image/png, image/jpeg, image/gif, image/svg+xml\"\r\n (change)=\"UploadImages($event)\"\r\n [multiple]=\"multiple()\">\r\n\r\n @if(_isEnable() && IsNotNull(_image) && IsNotNull(_image!.value)) {\r\n <div class=\"icon-container\">\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowDelete) || _image!.allowDelete) && !isReadonly()) {\r\n <i class=\"fa-solid fa-trash-can\" (click)=\"DeleteImage($event)\"></i>\r\n }\r\n\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowExpand) || _image!.allowExpand)) {\r\n <i class=\"fa-solid fa-expand\" (click)=\"ExpandImage($event)\"></i>\r\n }\r\n </div>\r\n }\r\n </figure>\r\n\r\n @if(isInvisible()) {\r\n <figure [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\"> \r\n\r\n <img [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n </figure>\r\n }\r\n }\r\n\r\n <!-- Modal -->\r\n <coer-modal #modal [title]=\"_image?.name || ''\" height=\"90vh\" width=\"full\">\r\n <div class=\"modal-image\" [ngStyle]=\"{ 'background-image': 'url(' + _base64 + ')' }\"></div>\r\n </coer-modal>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-filebox{display:flex;justify-content:center;align-items:center}div.coer-filebox figure{width:fit-content!important;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;cursor:pointer;min-height:210px;z-index:1}div.coer-filebox .dashed{border:1px dashed var(--gray);background-color:transparent}div.coer-filebox div.loading{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;cursor:default!important}div.coer-filebox div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-filebox div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-filebox span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-filebox div.icon-container{position:absolute;bottom:5px;right:5px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px}div.coer-filebox div.icon-container i{color:var(--gray);font-size:20px}div.coer-filebox div.icon-container i:hover{zoom:1.1}div.coer-filebox div.modal-image{width:100%;height:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-size:contain;background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoerModal, selector: "coer-modal", inputs: ["id", "title", "icon", "showCloseButton", "width", "height", "maxHeight"], outputs: ["onOpen", "onClose"] }, { kind: "pipe", type: i9.NoImagePipe, name: "noImage" }] }); }
708
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerFilebox, isStandalone: false, selector: "coer-filebox", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", 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 }, image: { classPropertyName: "image", publicName: "image", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onSelected: "onSelected", onDeleteImage: "onDeleteImage" }, viewQueries: [{ propertyName: "_inputFileImage", first: true, predicate: ["inputFileImage"], descendants: true, isSignal: true }, { propertyName: "_modal", first: true, predicate: ["modal"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"coer-filebox\">\r\n @if(type() == 'image') {\r\n <figure (click)=\"(_isEnable() && !isReadonly()) ? inputFileImage.click() : null\"\r\n [ngClass]=\"{ \r\n 'dashed': IsNull(_image?.value), \r\n 'd-none': isInvisible() \r\n }\"\r\n [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\">\r\n\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <img [src]=\"_base64 | noImage\"\r\n [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n\r\n <input #inputFileImage\r\n type=\"file\"\r\n accept=\"image/png, image/jpeg, image/gif, image/svg+xml\"\r\n (change)=\"_UploadImages($event)\"\r\n [multiple]=\"multiple()\">\r\n\r\n @if(_isEnable() && IsNotNull(_image) && IsNotNull(_image!.value)) {\r\n <div class=\"icon-container\">\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowDelete) || _image!.allowDelete) && !isReadonly()) {\r\n <i class=\"fa-solid fa-trash-can\" (click)=\"_DeleteImage($event)\"></i>\r\n }\r\n\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowExpand) || _image!.allowExpand)) {\r\n <i class=\"fa-solid fa-expand\" (click)=\"_ExpandImage($event)\"></i>\r\n }\r\n </div>\r\n }\r\n </figure>\r\n\r\n @if(isInvisible()) {\r\n <figure [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\"> \r\n\r\n <img [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n </figure>\r\n }\r\n }\r\n\r\n <!-- Modal -->\r\n <coer-modal #modal [title]=\"_image?.name || ''\" height=\"90vh\" width=\"full\">\r\n <div class=\"modal-image\" [ngStyle]=\"{ 'background-image': 'url(' + _base64 + ')' }\"></div>\r\n </coer-modal>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-filebox{display:flex;justify-content:center;align-items:center}div.coer-filebox figure{width:fit-content!important;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;cursor:pointer;min-height:210px;z-index:1}div.coer-filebox .dashed{border:1px dashed var(--gray);background-color:transparent}div.coer-filebox div.loading{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;cursor:default!important}div.coer-filebox div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-filebox div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-filebox span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-filebox div.icon-container{position:absolute;bottom:5px;right:5px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px}div.coer-filebox div.icon-container i{color:var(--gray);font-size:20px}div.coer-filebox div.icon-container i:hover{zoom:1.1}div.coer-filebox div.modal-image{width:100%;height:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-size:contain;background-repeat:no-repeat;background-position:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: CoerModal, selector: "coer-modal", inputs: ["id", "title", "icon", "showCloseButton", "width", "height", "maxHeight"], outputs: ["onOpen", "onClose"] }, { kind: "pipe", type: i9.NoImagePipe, name: "noImage" }] }); }
711
709
  }
712
710
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerFilebox, decorators: [{
713
711
  type: Component,
714
- args: [{ selector: 'coer-filebox', standalone: false, template: "<div class=\"coer-filebox\">\r\n @if(type() == 'image') {\r\n <figure (click)=\"(_isEnable() && !isReadonly()) ? inputFileImage.click() : null\"\r\n [ngClass]=\"{ \r\n 'dashed': IsNull(_image?.value), \r\n 'd-none': isInvisible() \r\n }\"\r\n [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\">\r\n\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <img [src]=\"_base64 | noImage\"\r\n [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n\r\n <input #inputFileImage\r\n type=\"file\"\r\n accept=\"image/png, image/jpeg, image/gif, image/svg+xml\"\r\n (change)=\"UploadImages($event)\"\r\n [multiple]=\"multiple()\">\r\n\r\n @if(_isEnable() && IsNotNull(_image) && IsNotNull(_image!.value)) {\r\n <div class=\"icon-container\">\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowDelete) || _image!.allowDelete) && !isReadonly()) {\r\n <i class=\"fa-solid fa-trash-can\" (click)=\"DeleteImage($event)\"></i>\r\n }\r\n\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowExpand) || _image!.allowExpand)) {\r\n <i class=\"fa-solid fa-expand\" (click)=\"ExpandImage($event)\"></i>\r\n }\r\n </div>\r\n }\r\n </figure>\r\n\r\n @if(isInvisible()) {\r\n <figure [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\"> \r\n\r\n <img [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n </figure>\r\n }\r\n }\r\n\r\n <!-- Modal -->\r\n <coer-modal #modal [title]=\"_image?.name || ''\" height=\"90vh\" width=\"full\">\r\n <div class=\"modal-image\" [ngStyle]=\"{ 'background-image': 'url(' + _base64 + ')' }\"></div>\r\n </coer-modal>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-filebox{display:flex;justify-content:center;align-items:center}div.coer-filebox figure{width:fit-content!important;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;cursor:pointer;min-height:210px;z-index:1}div.coer-filebox .dashed{border:1px dashed var(--gray);background-color:transparent}div.coer-filebox div.loading{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;cursor:default!important}div.coer-filebox div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-filebox div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-filebox span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-filebox div.icon-container{position:absolute;bottom:5px;right:5px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px}div.coer-filebox div.icon-container i{color:var(--gray);font-size:20px}div.coer-filebox div.icon-container i:hover{zoom:1.1}div.coer-filebox div.modal-image{width:100%;height:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-size:contain;background-repeat:no-repeat;background-position:center}\n"] }]
712
+ args: [{ selector: 'coer-filebox', standalone: false, template: "<div class=\"coer-filebox\">\r\n @if(type() == 'image') {\r\n <figure (click)=\"(_isEnable() && !isReadonly()) ? inputFileImage.click() : null\"\r\n [ngClass]=\"{ \r\n 'dashed': IsNull(_image?.value), \r\n 'd-none': isInvisible() \r\n }\"\r\n [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\">\r\n\r\n @if(isLoading()) {\r\n <div class=\"loading\">\r\n <i class=\"spinner-border\"></i>\r\n </div>\r\n\r\n <div class=\"placeholder-glow\">\r\n <span class=\"placeholder\"></span>\r\n </div>\r\n }\r\n\r\n <img [src]=\"_base64 | noImage\"\r\n [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n\r\n <input #inputFileImage\r\n type=\"file\"\r\n accept=\"image/png, image/jpeg, image/gif, image/svg+xml\"\r\n (change)=\"_UploadImages($event)\"\r\n [multiple]=\"multiple()\">\r\n\r\n @if(_isEnable() && IsNotNull(_image) && IsNotNull(_image!.value)) {\r\n <div class=\"icon-container\">\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowDelete) || _image!.allowDelete) && !isReadonly()) {\r\n <i class=\"fa-solid fa-trash-can\" (click)=\"_DeleteImage($event)\"></i>\r\n }\r\n\r\n @if(IsNotOnlyWhiteSpace(_base64) && (IsNull(_image?.allowExpand) || _image!.allowExpand)) {\r\n <i class=\"fa-solid fa-expand\" (click)=\"_ExpandImage($event)\"></i>\r\n }\r\n </div>\r\n }\r\n </figure>\r\n\r\n @if(isInvisible()) {\r\n <figure [ngStyle]=\"{\r\n 'margin-top': _image?.marginTop || '',\r\n 'margin-right': _image?.marginRight || '',\r\n 'margin-bottom': _image?.marginBottom || '',\r\n 'margin-left': _image?.marginLeft || ''\r\n }\"> \r\n\r\n <img [ngStyle]=\"{\r\n 'width': _image?.width || '',\r\n 'max-width': _image?.maxWidth || '',\r\n 'height': _image?.height || '',\r\n 'max-height': _image?.maxHeight || '210px'\r\n }\">\r\n </figure>\r\n }\r\n }\r\n\r\n <!-- Modal -->\r\n <coer-modal #modal [title]=\"_image?.name || ''\" height=\"90vh\" width=\"full\">\r\n <div class=\"modal-image\" [ngStyle]=\"{ 'background-image': 'url(' + _base64 + ')' }\"></div>\r\n </coer-modal>\r\n</div>", styles: [":root{--blue: #0d6efd;--gray: #6c757d;--green: #198754;--yellow:#ffc107;--red: #dc3545;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-filebox{display:flex;justify-content:center;align-items:center}div.coer-filebox figure{width:fit-content!important;position:relative;display:flex;align-items:center;justify-content:center;border-radius:3px;overflow:hidden;cursor:pointer;min-height:210px;z-index:1}div.coer-filebox .dashed{border:1px dashed var(--gray);background-color:transparent}div.coer-filebox div.loading{position:absolute;display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:25px;background-color:#bbbbbb83!important;flex-direction:column!important;gap:10px!important;cursor:default!important}div.coer-filebox div.loading span.fa-fade{position:relative!important;top:50px!important}div.coer-filebox div.loading i.spinner-border{color:var(--primary-inner)!important;width:70px!important;height:70px!important;font-size:20px!important;position:absolute!important}div.coer-filebox span.placeholder{width:calc(100% + 32px)!important;height:100%!important;position:absolute!important;z-index:1!important;top:0!important;left:-16px!important;cursor:wait!important}div.coer-filebox div.icon-container{position:absolute;bottom:5px;right:5px;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:7px}div.coer-filebox div.icon-container i{color:var(--gray);font-size:20px}div.coer-filebox div.icon-container i:hover{zoom:1.1}div.coer-filebox div.modal-image{width:100%;height:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;background-size:contain;background-repeat:no-repeat;background-position:center}\n"] }]
715
713
  }], propDecorators: { image: [{
716
714
  type: Input
717
715
  }] } });
@@ -750,10 +748,10 @@ class CoerForm {
750
748
  }
751
749
  }
752
750
  /** */
753
- GetControlValue(formControlName, alternative = null) {
751
+ GetControlValue(formControlName, alternative) {
754
752
  return Tools.IsNotNull(this.formGroup().get(formControlName))
755
753
  ? this.formGroup().get(formControlName).value
756
- : alternative;
754
+ : (Tools.IsNotNull(alternative) ? alternative : null);
757
755
  }
758
756
  /** */
759
757
  HasControlValue(formControlName) {
@@ -1623,15 +1621,15 @@ class CoerGridExtension extends ControlValue {
1623
1621
  //Injections
1624
1622
  this.alert = inject(CoerAlert);
1625
1623
  //Elements
1626
- this.inputFile = viewChild.required('inputFileRef');
1627
- this.inputSearch = viewChild.required('inputSearch');
1628
- this.coerTextboxList = viewChildren(CoerTextBox);
1629
- this.coerNumberboxList = viewChildren(CoerNumberBox);
1630
- this.coerSelectboxList = viewChildren(CoerSelectbox);
1631
- this.coerCheckboxList = viewChildren(CoerCheckbox);
1624
+ this._inputFile = viewChild.required('inputFileRef');
1625
+ this._inputSearch = viewChild.required('inputSearch');
1626
+ this._coerTextboxList = viewChildren(CoerTextBox);
1627
+ this._coerNumberboxList = viewChildren(CoerNumberBox);
1628
+ this._coerSelectboxList = viewChildren(CoerSelectbox);
1629
+ this._coerCheckboxList = viewChildren(CoerCheckbox);
1632
1630
  //Variables
1633
1631
  this._value = [];
1634
- this.value_signal = signal([]);
1632
+ this._value_signal = signal([]);
1635
1633
  this._gridSearch = signal('');
1636
1634
  this._isLoading = signal(true);
1637
1635
  this._isLoadingMessage = true;
@@ -1645,8 +1643,6 @@ class CoerGridExtension extends ControlValue {
1645
1643
  this.GetElementWidth = ElementsHTML.GetElementWidth;
1646
1644
  this.GetElementHeight = ElementsHTML.GetElementHeight;
1647
1645
  //Inputs
1648
- this.columns = input([]);
1649
- this.cleanColumnName = input(true);
1650
1646
  this.saveButton = { show: false };
1651
1647
  this.addButton = { show: false };
1652
1648
  this.exportButton = { show: false };
@@ -1654,6 +1650,8 @@ class CoerGridExtension extends ControlValue {
1654
1650
  this.search = { show: false, ignore: false };
1655
1651
  this.buttonByRow = {};
1656
1652
  this.checkbox = { show: false };
1653
+ this.columns = input([]);
1654
+ this.cleanColumnName = input(true);
1657
1655
  this.tooltipByRow = input('');
1658
1656
  this.isLoading = input(false);
1659
1657
  this.isDisabled = input(false);
@@ -1699,7 +1697,7 @@ class CoerGridExtension extends ControlValue {
1699
1697
  return this.groupBy().length > 0;
1700
1698
  });
1701
1699
  //computed
1702
- this.gridColumns = computed(() => {
1700
+ this._gridColumns = computed(() => {
1703
1701
  const SET_COLUMNS = new Set();
1704
1702
  //Has filter columns?
1705
1703
  if (this.columns().length > 0) {
@@ -1709,7 +1707,7 @@ class CoerGridExtension extends ControlValue {
1709
1707
  }
1710
1708
  //Get all columns
1711
1709
  else
1712
- for (const row of this.value_signal()) {
1710
+ for (const row of this._value_signal()) {
1713
1711
  for (const property in row) {
1714
1712
  SET_COLUMNS.add(property);
1715
1713
  }
@@ -1735,8 +1733,8 @@ class CoerGridExtension extends ControlValue {
1735
1733
  }));
1736
1734
  });
1737
1735
  //computed
1738
- this.gridDataSource = computed(() => {
1739
- let list = this.gridDataSourceFiltered();
1736
+ this._gridDataSource = computed(() => {
1737
+ let list = this._gridDataSourceFiltered();
1740
1738
  //It's Grouped?
1741
1739
  if (this._isGrouped()) {
1742
1740
  //let indexRow = 0;
@@ -1769,9 +1767,9 @@ class CoerGridExtension extends ControlValue {
1769
1767
  }];
1770
1768
  });
1771
1769
  //computed
1772
- this.gridDataSourceFiltered = computed(() => {
1770
+ this._gridDataSourceFiltered = computed(() => {
1773
1771
  let list = [];
1774
- const dataSource = Tools.BreakReference(this.value_signal());
1772
+ const dataSource = Tools.BreakReference(this._value_signal());
1775
1773
  //Ignore Filter
1776
1774
  if (this._gridSearch() == '' || this.search?.ignore) {
1777
1775
  list = dataSource;
@@ -1782,7 +1780,7 @@ class CoerGridExtension extends ControlValue {
1782
1780
  const SET_ROW = new Set();
1783
1781
  const columnList = Tools.IsNotNull(this.search?.columns)
1784
1782
  ? this.search.columns.map(x => Tools.FirstCharToLower(x))
1785
- : this.gridColumns().map(x => x.columnName);
1783
+ : this._gridColumns().map(x => x.columnName);
1786
1784
  for (const columnName of columnList) {
1787
1785
  listFiltered = dataSource.filter((item) => !SET_ROW.has(item['indexRow'])
1788
1786
  && String(item[Tools.FirstCharToLower(columnName)]).trim().toUpperCase().includes(String(this._gridSearch()).trim().toUpperCase()));
@@ -1903,7 +1901,7 @@ class CoerGridExtension extends ControlValue {
1903
1901
  const dataSource = Tools.BreakReference(value).map((item) => Object.assign({ checked: false }, { ...item }, { indexRow: indexRow++ }));
1904
1902
  this._UpdateValue(dataSource);
1905
1903
  this._value = dataSource;
1906
- this.value_signal.set(dataSource);
1904
+ this._value_signal.set(dataSource);
1907
1905
  }
1908
1906
  //ControlValueAccessor
1909
1907
  writeValue(value) {
@@ -1912,7 +1910,7 @@ class CoerGridExtension extends ControlValue {
1912
1910
  value = [];
1913
1911
  const dataSource = Tools.BreakReference(value).map((item) => Object.assign({ checked: false }, { ...item }, { indexRow: indexRow++ }));
1914
1912
  this._value = dataSource;
1915
- this.value_signal.set(dataSource);
1913
+ this._value_signal.set(dataSource);
1916
1914
  }
1917
1915
  /** */
1918
1916
  _IsCellType(property, data, type) {
@@ -2002,7 +2000,7 @@ class CoerGridExtension extends ControlValue {
2002
2000
  return response;
2003
2001
  }
2004
2002
  /** */
2005
- GetAttribute(property, data, attribute, type) {
2003
+ _GetAttribute(property, data, attribute, type) {
2006
2004
  const columnConfig = this._GetColumnConfig(property);
2007
2005
  const value = Tools.IsNotNull(data) ? data[property] : null;
2008
2006
  const row = Tools.BreakReference(data);
@@ -2035,7 +2033,7 @@ class CoerGridExtension extends ControlValue {
2035
2033
  return null;
2036
2034
  }
2037
2035
  /** */
2038
- ButtonByRow(property, data = null) {
2036
+ _ButtonByRow(property, data = null) {
2039
2037
  let response = false;
2040
2038
  const buttonByRow = this.buttonByRow;
2041
2039
  const row = Tools.IsNotNull(data) ? Tools.BreakReference(data) : null;
@@ -2052,8 +2050,35 @@ class CoerGridExtension extends ControlValue {
2052
2050
  }
2053
2051
  return response ? (this._value && this._value.length > 0) : false;
2054
2052
  }
2053
+ /** */
2054
+ _ColorButton(button) {
2055
+ return Tools.IsNotNull(button) && Tools.IsNotOnlyWhiteSpace(button?.color)
2056
+ ? button.color : 'primary';
2057
+ }
2058
+ /** */
2059
+ _ColorButtonByRow(property) {
2060
+ const BUTTON_ROW = Tools.BreakReference(this.buttonByRow);
2061
+ switch (property) {
2062
+ case 'editButtonColor': {
2063
+ return Tools.IsNotNull(this.buttonByRow) && Tools.IsNotOnlyWhiteSpace(BUTTON_ROW[property])
2064
+ ? BUTTON_ROW[property] : 'primary';
2065
+ }
2066
+ case 'deleteButtonColor': {
2067
+ return Tools.IsNotNull(this.buttonByRow) && Tools.IsNotOnlyWhiteSpace(BUTTON_ROW[property])
2068
+ ? BUTTON_ROW[property] : 'danger';
2069
+ }
2070
+ case 'goButtonColor': {
2071
+ return Tools.IsNotNull(this.buttonByRow) && Tools.IsNotOnlyWhiteSpace(BUTTON_ROW[property])
2072
+ ? BUTTON_ROW[property] : 'navigation';
2073
+ }
2074
+ default: {
2075
+ return Tools.IsNotNull(this.buttonByRow) && Tools.IsNotOnlyWhiteSpace(BUTTON_ROW[property])
2076
+ ? BUTTON_ROW[property] : 'primary';
2077
+ }
2078
+ }
2079
+ }
2055
2080
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridExtension, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2056
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.1", type: CoerGridExtension, isStandalone: true, selector: "coer-grid-extension", inputs: { columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, cleanColumnName: { classPropertyName: "cleanColumnName", publicName: "cleanColumnName", isSignal: true, isRequired: false, transformFunction: null }, saveButton: { classPropertyName: "saveButton", publicName: "saveButton", isSignal: false, isRequired: false, transformFunction: null }, addButton: { classPropertyName: "addButton", publicName: "addButton", isSignal: false, isRequired: false, transformFunction: null }, exportButton: { classPropertyName: "exportButton", publicName: "exportButton", isSignal: false, isRequired: false, transformFunction: null }, importButton: { classPropertyName: "importButton", publicName: "importButton", isSignal: false, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: false, isRequired: false, transformFunction: null }, buttonByRow: { classPropertyName: "buttonByRow", publicName: "buttonByRow", isSignal: false, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: false, isRequired: false, transformFunction: null }, tooltipByRow: { classPropertyName: "tooltipByRow", publicName: "tooltipByRow", 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 }, rowsByPage: { classPropertyName: "rowsByPage", publicName: "rowsByPage", isSignal: true, isRequired: false, transformFunction: null }, groupBy: { classPropertyName: "groupBy", publicName: "groupBy", isSignal: true, isRequired: false, transformFunction: null }, showColumnGrouped: { classPropertyName: "showColumnGrouped", publicName: "showColumnGrouped", isSignal: true, isRequired: false, transformFunction: null }, rowsByGroup: { classPropertyName: "rowsByGroup", publicName: "rowsByGroup", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, enableSort: { classPropertyName: "enableSort", publicName: "enableSort", isSignal: true, isRequired: false, transformFunction: null }, enableRowFocus: { classPropertyName: "enableRowFocus", publicName: "enableRowFocus", isSignal: true, isRequired: false, transformFunction: null }, enableNext: { classPropertyName: "enableNext", publicName: "enableNext", 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 }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClickSave: "onClickSave", onClickAdd: "onClickAdd", onClickImport: "onClickImport", onClickExport: "onClickExport", onClickRow: "onClickRow", onDoubleClickRow: "onDoubleClickRow", onClickDeleteRow: "onClickDeleteRow", onClickEditRow: "onClickEditRow", onClickGoRow: "onClickGoRow", onKeyupEnter: "onKeyupEnter", onKeyupEnterLast: "onKeyupEnterLast", onSwitchChange: "onSwitchChange", onTextboxChange: "onTextboxChange", onSelectboxChange: "onSelectboxChange", onCheckboxChange: "onCheckboxChange" }, viewQueries: [{ propertyName: "inputFile", first: true, predicate: ["inputFileRef"], descendants: true, isSignal: true }, { propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "coerTextboxList", predicate: CoerTextBox, descendants: true, isSignal: true }, { propertyName: "coerNumberboxList", predicate: CoerNumberBox, descendants: true, isSignal: true }, { propertyName: "coerSelectboxList", predicate: CoerSelectbox, descendants: true, isSignal: true }, { propertyName: "coerCheckboxList", predicate: CoerCheckbox, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
2081
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.0.1", type: CoerGridExtension, isStandalone: true, selector: "coer-grid-extension", inputs: { saveButton: { classPropertyName: "saveButton", publicName: "saveButton", isSignal: false, isRequired: false, transformFunction: null }, addButton: { classPropertyName: "addButton", publicName: "addButton", isSignal: false, isRequired: false, transformFunction: null }, exportButton: { classPropertyName: "exportButton", publicName: "exportButton", isSignal: false, isRequired: false, transformFunction: null }, importButton: { classPropertyName: "importButton", publicName: "importButton", isSignal: false, isRequired: false, transformFunction: null }, search: { classPropertyName: "search", publicName: "search", isSignal: false, isRequired: false, transformFunction: null }, buttonByRow: { classPropertyName: "buttonByRow", publicName: "buttonByRow", isSignal: false, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: false, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, cleanColumnName: { classPropertyName: "cleanColumnName", publicName: "cleanColumnName", isSignal: true, isRequired: false, transformFunction: null }, tooltipByRow: { classPropertyName: "tooltipByRow", publicName: "tooltipByRow", 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 }, rowsByPage: { classPropertyName: "rowsByPage", publicName: "rowsByPage", isSignal: true, isRequired: false, transformFunction: null }, groupBy: { classPropertyName: "groupBy", publicName: "groupBy", isSignal: true, isRequired: false, transformFunction: null }, showColumnGrouped: { classPropertyName: "showColumnGrouped", publicName: "showColumnGrouped", isSignal: true, isRequired: false, transformFunction: null }, rowsByGroup: { classPropertyName: "rowsByGroup", publicName: "rowsByGroup", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, enableSort: { classPropertyName: "enableSort", publicName: "enableSort", isSignal: true, isRequired: false, transformFunction: null }, enableRowFocus: { classPropertyName: "enableRowFocus", publicName: "enableRowFocus", isSignal: true, isRequired: false, transformFunction: null }, enableNext: { classPropertyName: "enableNext", publicName: "enableNext", 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 }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClickSave: "onClickSave", onClickAdd: "onClickAdd", onClickImport: "onClickImport", onClickExport: "onClickExport", onClickRow: "onClickRow", onDoubleClickRow: "onDoubleClickRow", onClickDeleteRow: "onClickDeleteRow", onClickEditRow: "onClickEditRow", onClickGoRow: "onClickGoRow", onKeyupEnter: "onKeyupEnter", onKeyupEnterLast: "onKeyupEnterLast", onSwitchChange: "onSwitchChange", onTextboxChange: "onTextboxChange", onSelectboxChange: "onSelectboxChange", onCheckboxChange: "onCheckboxChange" }, viewQueries: [{ propertyName: "_inputFile", first: true, predicate: ["inputFileRef"], descendants: true, isSignal: true }, { propertyName: "_inputSearch", first: true, predicate: ["inputSearch"], descendants: true, isSignal: true }, { propertyName: "_coerTextboxList", predicate: CoerTextBox, descendants: true, isSignal: true }, { propertyName: "_coerNumberboxList", predicate: CoerNumberBox, descendants: true, isSignal: true }, { propertyName: "_coerSelectboxList", predicate: CoerSelectbox, descendants: true, isSignal: true }, { propertyName: "_coerCheckboxList", predicate: CoerCheckbox, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
2057
2082
  }
2058
2083
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridExtension, decorators: [{
2059
2084
  type: Component,
@@ -2170,7 +2195,7 @@ class CoerGrid extends CoerGridExtension {
2170
2195
  super(...arguments);
2171
2196
  //computed
2172
2197
  this.dataSource = computed(() => {
2173
- return Tools.BreakReference(this.value_signal()).map(item => {
2198
+ return Tools.BreakReference(this._value_signal()).map(item => {
2174
2199
  if (item.hasOwnProperty('checked'))
2175
2200
  delete item.checked;
2176
2201
  if (item.hasOwnProperty('indexRow'))
@@ -2180,7 +2205,7 @@ class CoerGrid extends CoerGridExtension {
2180
2205
  });
2181
2206
  //computed
2182
2207
  this.selectedItems = computed(() => {
2183
- return Tools.BreakReference(this.value_signal()).filter(item => item.checked).map(item => {
2208
+ return Tools.BreakReference(this._value_signal()).filter(item => item.checked).map(item => {
2184
2209
  if (item.hasOwnProperty('checked'))
2185
2210
  delete item.checked;
2186
2211
  if (item.hasOwnProperty('indexRow'))
@@ -2191,17 +2216,17 @@ class CoerGrid extends CoerGridExtension {
2191
2216
  //computed
2192
2217
  this.gridLength = computed(() => {
2193
2218
  return {
2194
- dataSource: this.value_signal()?.length || 0,
2195
- dataSourceFiltered: this.gridDataSourceFiltered()?.length || 0,
2219
+ dataSource: this._value_signal()?.length || 0,
2220
+ dataSourceFiltered: this._gridDataSourceFiltered()?.length || 0,
2196
2221
  dataSourceSelected: this.selectedItems()?.length || 0
2197
2222
  };
2198
2223
  });
2199
2224
  }
2200
2225
  //getter
2201
2226
  get isValid() {
2202
- return (this.coerTextboxList().length > 0 ? this.coerTextboxList().every(x => !x.isInvalid()) : true)
2203
- && (this.coerNumberboxList().length > 0 ? this.coerNumberboxList().every(x => !x.isInvalid()) : true)
2204
- && (this.coerSelectboxList().length > 0 ? this.coerSelectboxList().every(x => !x.isInvalid()) : true);
2227
+ return (this._coerTextboxList().length > 0 ? this._coerTextboxList().every(x => !x.isInvalid()) : true)
2228
+ && (this._coerNumberboxList().length > 0 ? this._coerNumberboxList().every(x => !x.isInvalid()) : true)
2229
+ && (this._coerSelectboxList().length > 0 ? this._coerSelectboxList().every(x => !x.isInvalid()) : true);
2205
2230
  }
2206
2231
  //computed
2207
2232
  //protected _columnsFiltered = computed<IGridHeader[]>(() => {
@@ -2210,17 +2235,10 @@ class CoerGrid extends CoerGridExtension {
2210
2235
  // : this._columns();
2211
2236
  //});
2212
2237
  /** */
2213
- FocusSearch() {
2214
- Tools.Sleep(0).then(() => {
2215
- if (this.inputSearch)
2216
- this.inputSearch().Focus();
2217
- });
2218
- }
2219
- /** */
2220
- SelectSearch() {
2221
- Tools.Sleep(0).then(() => {
2222
- if (this.inputSearch)
2223
- this.inputSearch().Focus(true);
2238
+ FocusSearch(select = false) {
2239
+ Tools.Sleep().then(() => {
2240
+ if (this._inputSearch)
2241
+ this._inputSearch().Focus(select);
2224
2242
  });
2225
2243
  }
2226
2244
  /** */
@@ -2229,14 +2247,18 @@ class CoerGrid extends CoerGridExtension {
2229
2247
  return (row === undefined) ? null : row;
2230
2248
  }
2231
2249
  /** */
2232
- async Import(event = null) {
2250
+ Import() {
2251
+ this._Import();
2252
+ }
2253
+ /** */
2254
+ async _Import(event = null) {
2233
2255
  if (this.importButton?.preventDefault) {
2234
2256
  this.onClickImport.emit({ data: [], file: null });
2235
2257
  return;
2236
2258
  }
2237
2259
  if (event === null) {
2238
- this.inputFile().nativeElement.value = null;
2239
- this.inputFile().nativeElement.click();
2260
+ this._inputFile().nativeElement.value = null;
2261
+ this._inputFile().nativeElement.click();
2240
2262
  return;
2241
2263
  }
2242
2264
  else if (event.target.files.length > 0) {
@@ -2261,7 +2283,7 @@ class CoerGrid extends CoerGridExtension {
2261
2283
  this.alert.Warning(message, 'Invalid File Type', 'bi bi-filetype-xlsx fa-lg');
2262
2284
  this.onClickImport.emit({ data: [], file: null });
2263
2285
  }
2264
- this.inputFile().nativeElement.value = null;
2286
+ this._inputFile().nativeElement.value = null;
2265
2287
  Tools.Sleep(1000).then(() => this._isLoading.set(false));
2266
2288
  }
2267
2289
  }
@@ -2276,11 +2298,11 @@ class CoerGrid extends CoerGridExtension {
2276
2298
  }
2277
2299
  else {
2278
2300
  ROW_DATA_SOURCE = (this.exportButton.hasOwnProperty('onlyRowFiltered') && !this.exportButton.onlyRowFiltered)
2279
- ? this.value_signal() : this.gridDataSourceFiltered();
2301
+ ? this._value_signal() : this._gridDataSourceFiltered();
2280
2302
  }
2281
2303
  const COLUMN_DATA_SOURCE = new Set();
2282
2304
  if (this.exportButton.hasOwnProperty('onlyColumnFiltered') && !this.exportButton.onlyColumnFiltered) {
2283
- for (const row of this.value_signal()) {
2305
+ for (const row of this._value_signal()) {
2284
2306
  for (const columnName in row) {
2285
2307
  if (columnName == 'indexRow')
2286
2308
  continue;
@@ -2289,7 +2311,7 @@ class CoerGrid extends CoerGridExtension {
2289
2311
  }
2290
2312
  }
2291
2313
  else {
2292
- for (const { columnName } of this.gridColumns()) {
2314
+ for (const { columnName } of this._gridColumns()) {
2293
2315
  if (columnName == 'indexRow')
2294
2316
  continue;
2295
2317
  COLUMN_DATA_SOURCE.add(Tools.FirstCharToLower(columnName));
@@ -2310,7 +2332,7 @@ class CoerGrid extends CoerGridExtension {
2310
2332
  Tools.Sleep(3000).then(() => this._isLoading.set(false));
2311
2333
  }
2312
2334
  /** */
2313
- InputChange(indexRow, columnName, value, input) {
2335
+ _InputChange(indexRow, columnName, value, input) {
2314
2336
  if (input === 'coer-textbox-search') {
2315
2337
  if (this._isLoading())
2316
2338
  return;
@@ -2345,11 +2367,11 @@ class CoerGrid extends CoerGridExtension {
2345
2367
  }
2346
2368
  Tools.Sleep(1000, `coerGridInputChange${indexRow}${columnName}`).then(_ => {
2347
2369
  this._UpdateValue(this._value);
2348
- this.value_signal.set(this._value);
2370
+ this._value_signal.set(this._value);
2349
2371
  });
2350
2372
  }
2351
2373
  /** */
2352
- KeyupEnter(indexColumn, row, input, value) {
2374
+ _KeyupEnter(indexColumn, row, input, value) {
2353
2375
  if (['coer-textbox', 'coer-numberbox', 'coer-selectbox'].includes(input)) {
2354
2376
  this.onKeyupEnter.emit({
2355
2377
  id: this._GetId(indexColumn, row.indexRow, input),
@@ -2374,7 +2396,7 @@ class CoerGrid extends CoerGridExtension {
2374
2396
  let index = 0;
2375
2397
  const COLUMNS = [];
2376
2398
  const INPUT_COLUMNS = [];
2377
- for (const { columnName } of this.gridColumns()) {
2399
+ for (const { columnName } of this._gridColumns()) {
2378
2400
  if (INPUT_TEXT.some(property => property.toUpperCase() == columnName.toUpperCase())) {
2379
2401
  COLUMNS.push({ indexColumn: index, property: columnName, type: 'coerTextbox' });
2380
2402
  INPUT_COLUMNS.push({ indexColumn: index, property: columnName, type: 'coerTextbox' });
@@ -2393,7 +2415,7 @@ class CoerGrid extends CoerGridExtension {
2393
2415
  ++index;
2394
2416
  }
2395
2417
  let lastRow = -1;
2396
- for (const { rows } of this.gridDataSource()) {
2418
+ for (const { rows } of this._gridDataSource()) {
2397
2419
  lastRow += rows.length;
2398
2420
  }
2399
2421
  let firstColumn = -1;
@@ -2435,7 +2457,7 @@ class CoerGrid extends CoerGridExtension {
2435
2457
  const INPUT_SELECT = this.columns().filter(x => Tools.IsNotNull(x.coerSelectbox)).map(x => x.property);
2436
2458
  let index = 0;
2437
2459
  const COLUMNS = [];
2438
- for (const { columnName } of this.gridColumns()) {
2460
+ for (const { columnName } of this._gridColumns()) {
2439
2461
  if (INPUT_TEXT.some(property => property.toUpperCase() == columnName.toUpperCase())) {
2440
2462
  COLUMNS.push({ indexColumn: index, property: columnName, type: 'coerTextbox' });
2441
2463
  }
@@ -2462,19 +2484,19 @@ class CoerGrid extends CoerGridExtension {
2462
2484
  let element;
2463
2485
  this._indexFocus.set(indexRow);
2464
2486
  //Focus Textbox
2465
- element = this.coerTextboxList().find(x => x.id == id);
2487
+ element = this._coerTextboxList().find(x => x.id == id);
2466
2488
  if (element) {
2467
2489
  element.Focus(!onlyFocus);
2468
2490
  return;
2469
2491
  }
2470
2492
  //Focus Numberbox
2471
- element = this.coerNumberboxList().find(x => x.id == id);
2493
+ element = this._coerNumberboxList().find(x => x.id == id);
2472
2494
  if (element) {
2473
2495
  element.Focus(!onlyFocus);
2474
2496
  return;
2475
2497
  }
2476
2498
  //Focus Selectbox
2477
- element = this.coerSelectboxList().find(x => x.id == id);
2499
+ element = this._coerSelectboxList().find(x => x.id == id);
2478
2500
  if (element) {
2479
2501
  Tools.Sleep(100).then(_ => element.Focus(!onlyFocus));
2480
2502
  return;
@@ -2492,7 +2514,7 @@ class CoerGrid extends CoerGridExtension {
2492
2514
  const INPUT_SELECT = this.columns().filter(x => Tools.IsNotNull(x.coerSelectbox)).map(x => x.property);
2493
2515
  let index = 0;
2494
2516
  const COLUMNS = [];
2495
- for (const { columnName } of this.gridColumns()) {
2517
+ for (const { columnName } of this._gridColumns()) {
2496
2518
  if (INPUT_TEXT.some(property => property.toUpperCase() == columnName.toUpperCase())) {
2497
2519
  COLUMNS.push({ indexColumn: index, property: columnName, type: 'coerTextbox' });
2498
2520
  }
@@ -2527,7 +2549,7 @@ class CoerGrid extends CoerGridExtension {
2527
2549
  });
2528
2550
  }
2529
2551
  /** */
2530
- async Sort(columnName) {
2552
+ Sort(columnName) {
2531
2553
  if (this.enableSort()) {
2532
2554
  if (this._isLoading())
2533
2555
  return;
@@ -2535,7 +2557,7 @@ class CoerGrid extends CoerGridExtension {
2535
2557
  this._isLoadingMessage = true;
2536
2558
  const { direction } = this._sort();
2537
2559
  let dataSource = Tools.BreakReference(this._value);
2538
- for (const checkbox of this.coerCheckboxList())
2560
+ for (const checkbox of this._coerCheckboxList())
2539
2561
  checkbox.Uncheck();
2540
2562
  if (direction == 'descendant') {
2541
2563
  Tools.SortByDesc(dataSource, columnName);
@@ -2549,20 +2571,20 @@ class CoerGrid extends CoerGridExtension {
2549
2571
  dataSource = Tools.BreakReference(dataSource).map((item) => Object.assign(item, { indexRow: indexRow++ }));
2550
2572
  this.SetValue(dataSource);
2551
2573
  this._isLoading.set(false);
2552
- await Tools.Sleep();
2553
- for (const row of dataSource.filter((x) => x.checked)) {
2554
- this.CheckBy((x) => x.indexRow == row.indexRow);
2555
- }
2556
- this._isLoadingMessage = false;
2574
+ Tools.Sleep().then(() => {
2575
+ for (const row of dataSource.filter((x) => x.checked)) {
2576
+ this.CheckBy((x) => x.indexRow == row.indexRow);
2577
+ }
2578
+ this._isLoadingMessage = false;
2579
+ });
2557
2580
  }
2558
- return;
2559
2581
  }
2560
2582
  /** */
2561
- ClickCheck(id, checked, all, row = null) {
2583
+ _ClickCheck(id, checked, all, row = null) {
2562
2584
  if (!this._isLoading())
2563
2585
  Tools.Sleep().then(async (_) => {
2564
2586
  this._isLoading.set(true);
2565
- let element = this.coerCheckboxList().find(x => x.id() == id);
2587
+ let element = this._coerCheckboxList().find(x => x.id() == id);
2566
2588
  if (Tools.IsNotNull(element)) {
2567
2589
  let response = { all, checked, rows: [] };
2568
2590
  //All Checkbox
@@ -2581,7 +2603,7 @@ class CoerGrid extends CoerGridExtension {
2581
2603
  for (const row of this._value) {
2582
2604
  row.checked = false;
2583
2605
  }
2584
- for (const checkbox of this.coerCheckboxList()) {
2606
+ for (const checkbox of this._coerCheckboxList()) {
2585
2607
  if (checkbox.id() != id)
2586
2608
  checkbox.Uncheck();
2587
2609
  }
@@ -2589,8 +2611,8 @@ class CoerGrid extends CoerGridExtension {
2589
2611
  this._value[row.indexRow].checked = checked;
2590
2612
  this.SetValue(this._value);
2591
2613
  //Mark All checkbox
2592
- const checkboxAll = this.coerCheckboxList().find(x => x.id() == this._GetId(0, 0, 'checkboxAll'));
2593
- if (this.value_signal().every((x) => x.checked)) {
2614
+ const checkboxAll = this._coerCheckboxList().find(x => x.id() == this._GetId(0, 0, 'checkboxAll'));
2615
+ if (this._value_signal().every((x) => x.checked)) {
2594
2616
  checkboxAll?.Check();
2595
2617
  }
2596
2618
  else {
@@ -2611,7 +2633,7 @@ class CoerGrid extends CoerGridExtension {
2611
2633
  row.checked = true;
2612
2634
  }
2613
2635
  this.SetValue(this._value);
2614
- for (const checkbox of this.coerCheckboxList()) {
2636
+ for (const checkbox of this._coerCheckboxList()) {
2615
2637
  checkbox.Check();
2616
2638
  }
2617
2639
  this._isLoading.set(false);
@@ -2623,7 +2645,7 @@ class CoerGrid extends CoerGridExtension {
2623
2645
  row.checked = false;
2624
2646
  }
2625
2647
  this.SetValue(this._value);
2626
- for (const checkbox of this.coerCheckboxList()) {
2648
+ for (const checkbox of this._coerCheckboxList()) {
2627
2649
  checkbox.Uncheck();
2628
2650
  }
2629
2651
  this._isLoading.set(false);
@@ -2635,7 +2657,7 @@ class CoerGrid extends CoerGridExtension {
2635
2657
  const rowList = Tools.BreakReference(this._value.filter(callback));
2636
2658
  let element;
2637
2659
  for (const { indexRow } of rowList) {
2638
- element = this.coerCheckboxList().find(x => x.id() == this._GetId(indexRow, 0, 'checkbox'));
2660
+ element = this._coerCheckboxList().find(x => x.id() == this._GetId(indexRow, 0, 'checkbox'));
2639
2661
  if (Tools.IsNotNull(element)) {
2640
2662
  element?.Check();
2641
2663
  }
@@ -2650,7 +2672,7 @@ class CoerGrid extends CoerGridExtension {
2650
2672
  const rowList = Tools.BreakReference(this._value.filter(callback));
2651
2673
  let element;
2652
2674
  for (const { indexRow } of rowList) {
2653
- element = this.coerCheckboxList().find(x => x.id() == this._GetId(indexRow, 0, 'checkbox'));
2675
+ element = this._coerCheckboxList().find(x => x.id() == this._GetId(indexRow, 0, 'checkbox'));
2654
2676
  if (Tools.IsNotNull(element)) {
2655
2677
  element?.Uncheck();
2656
2678
  }
@@ -2659,7 +2681,7 @@ class CoerGrid extends CoerGridExtension {
2659
2681
  });
2660
2682
  }
2661
2683
  /** */
2662
- ClickOnRow(row) {
2684
+ _ClickOnRow(row) {
2663
2685
  if (this._isDisabled())
2664
2686
  return;
2665
2687
  if (Tools.IsNotNull(this.checkbox.checkOnRow) && this.checkbox.checkOnRow) {
@@ -2701,11 +2723,11 @@ class CoerGrid extends CoerGridExtension {
2701
2723
  }
2702
2724
  }
2703
2725
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGrid, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2704
- 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 <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 && !isReadonly()) {\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 && !isReadonly()) {\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 <!-- Save Button -->\r\n @if(saveButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"save\"\r\n [tooltip]=\"saveButton.tooltip || 'Save'\"\r\n [path]=\"(saveButton && saveButton.path) ? saveButton.path : []\"\r\n [isDisabled]=\"saveButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickSave.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 @if(!isLoading()) {\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 d-flex align-items-center\">\r\n <span class=\"me-1\"> {{ _GetColumnName(header.columnName) }} </span>\r\n <i [class]=\"_GetShortIcon(header.columnName)\"></i> \r\n <i [class]=\"_GetSearchIcon(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 [isReadonly]=\"isReadonly()\"\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 }\r\n\r\n @else {\r\n <!-- Grid Message -->\r\n <div class=\"loading\" [ngStyle]=\"{ \r\n 'width': '100%', \r\n 'height': '100%',\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 </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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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(--smoke)!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(--primary-inner)!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(--primary-inner)!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", "isReadonly", "isInvisible", "ignoreDataBinding"], outputs: ["onChange"] }, { kind: "component", type: CoerNumberBox, selector: "coer-numberbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "min", "max", "isInvalid", "isValid", "selectOnFocus", "decimals", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput"] }, { kind: "component", type: CoerSelectbox, selector: "coer-selectbox", inputs: ["value", "id", "label", "placeholder", "isInvalid", "isValid", "dataSource", "propDisplay", "rowsByPage", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onSelected", "onUnselect"] }, { kind: "component", type: CoerSwitch, selector: "coer-switch", inputs: ["value", "id", "label", "labelPosition", "isLoading", "isDisabled", "isReadonly", "isInvisible", "tooltipPosition", "tooltip"], outputs: ["onChange"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "minLength", "maxLength", "isInvalid", "isValid", "externalButton", "selectOnFocus", "showClearIcon", "showSearchIcon", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickSearch", "onClickExternalButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }, { kind: "pipe", type: i9.NumericFormatPipe, name: "numericFormat" }] }); }
2726
+ 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 <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]=\"_ColorButton(exportButton)\"\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 && !isReadonly()) {\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=\"primary\"\r\n [color]=\"_ColorButton(importButton)\"\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 && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(addButton)\"\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 <!-- Save Button -->\r\n @if(saveButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(saveButton)\"\r\n icon=\"save\"\r\n [tooltip]=\"saveButton.tooltip || 'Save'\"\r\n [path]=\"(saveButton && saveButton.path) ? saveButton.path : []\"\r\n [isDisabled]=\"saveButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickSave.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 @if(!isLoading()) {\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 d-flex align-items-center\">\r\n <span class=\"me-1\"> {{ _GetColumnName(header.columnName) }} </span>\r\n <i [class]=\"_GetShortIcon(header.columnName)\"></i> \r\n <i [class]=\"_GetSearchIcon(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]=\"_ColorButtonByRow('deleteButtonColor')\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\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]=\"_ColorButtonByRow('editButtonColor')\"\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]=\"_ColorButtonByRow('goButtonColor')\"\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 }\r\n\r\n @else {\r\n <!-- Grid Message -->\r\n <div class=\"loading\" [ngStyle]=\"{ \r\n 'width': '100%', \r\n 'height': '100%',\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 </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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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(--smoke)!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(--primary-inner)!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(--primary-inner)!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", "isReadonly", "isInvisible", "ignoreDataBinding"], outputs: ["onChange"] }, { kind: "component", type: CoerNumberBox, selector: "coer-numberbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "min", "max", "isInvalid", "isValid", "selectOnFocus", "decimals", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput"] }, { kind: "component", type: CoerSelectbox, selector: "coer-selectbox", inputs: ["value", "id", "label", "placeholder", "isInvalid", "isValid", "dataSource", "propDisplay", "rowsByPage", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onSelected", "onUnselect"] }, { kind: "component", type: CoerSwitch, selector: "coer-switch", inputs: ["value", "id", "label", "labelPosition", "isLoading", "isDisabled", "isReadonly", "isInvisible", "tooltipPosition", "tooltip"], outputs: ["onChange"] }, { kind: "component", type: CoerTextBox, selector: "coer-textbox", inputs: ["value", "id", "label", "placeholder", "textPosition", "minLength", "maxLength", "isInvalid", "isValid", "externalButton", "selectOnFocus", "showClearIcon", "showSearchIcon", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickSearch", "onClickExternalButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }, { kind: "pipe", type: i9.NumericFormatPipe, name: "numericFormat" }] }); }
2705
2727
  }
2706
2728
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGrid, decorators: [{
2707
2729
  type: Component,
2708
- 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 <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 && !isReadonly()) {\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 && !isReadonly()) {\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 <!-- Save Button -->\r\n @if(saveButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n color=\"navigation\"\r\n icon=\"save\"\r\n [tooltip]=\"saveButton.tooltip || 'Save'\"\r\n [path]=\"(saveButton && saveButton.path) ? saveButton.path : []\"\r\n [isDisabled]=\"saveButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickSave.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 @if(!isLoading()) {\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 d-flex align-items-center\">\r\n <span class=\"me-1\"> {{ _GetColumnName(header.columnName) }} </span>\r\n <i [class]=\"_GetShortIcon(header.columnName)\"></i> \r\n <i [class]=\"_GetSearchIcon(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 [isReadonly]=\"isReadonly()\"\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 }\r\n\r\n @else {\r\n <!-- Grid Message -->\r\n <div class=\"loading\" [ngStyle]=\"{ \r\n 'width': '100%', \r\n 'height': '100%',\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 </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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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(--smoke)!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(--primary-inner)!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(--primary-inner)!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"] }]
2730
+ 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 <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]=\"_ColorButton(exportButton)\"\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 && !isReadonly()) {\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=\"primary\"\r\n [color]=\"_ColorButton(importButton)\"\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 && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(addButton)\"\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 <!-- Save Button -->\r\n @if(saveButton.show && !isReadonly()) {\r\n <div class=\"col-auto\">\r\n <coer-button\r\n type=\"icon\"\r\n [color]=\"_ColorButton(saveButton)\"\r\n icon=\"save\"\r\n [tooltip]=\"saveButton.tooltip || 'Save'\"\r\n [path]=\"(saveButton && saveButton.path) ? saveButton.path : []\"\r\n [isDisabled]=\"saveButton.isDisabled || false\"\r\n [animation]=\"_enableAnimations\"\r\n (onClick)=\"onClickSave.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 @if(!isLoading()) {\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 d-flex align-items-center\">\r\n <span class=\"me-1\"> {{ _GetColumnName(header.columnName) }} </span>\r\n <i [class]=\"_GetShortIcon(header.columnName)\"></i> \r\n <i [class]=\"_GetSearchIcon(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]=\"_ColorButtonByRow('deleteButtonColor')\"\r\n icon=\"delete\"\r\n [tooltip]=\"_GetTooltip('Delete', row)\"\r\n [isInvisible]=\"_isDisabled()\"\r\n [isReadonly]=\"isReadonly()\"\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]=\"_ColorButtonByRow('editButtonColor')\"\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]=\"_ColorButtonByRow('goButtonColor')\"\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 }\r\n\r\n @else {\r\n <!-- Grid Message -->\r\n <div class=\"loading\" [ngStyle]=\"{ \r\n 'width': '100%', \r\n 'height': '100%',\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 </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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-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(--smoke)!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(--primary-inner)!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(--primary-inner)!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"] }]
2709
2731
  }] });
2710
2732
 
2711
2733
  class CoerList {
@@ -2718,8 +2740,8 @@ class CoerList {
2718
2740
  this.propDisplay = input('name');
2719
2741
  this.header = input('');
2720
2742
  this.headerIcon = input('');
2721
- this.showDeleteButton = input(false);
2722
- this.showGoButton = input(false);
2743
+ this.showDeleteButtonByRow = input(false);
2744
+ this.showGoButtonByRow = input(false);
2723
2745
  this.showBackButton = input(false);
2724
2746
  this.isLoading = input(false);
2725
2747
  this.isDraggable = input(false);
@@ -2762,11 +2784,11 @@ class CoerList {
2762
2784
  return !this.isLoading();
2763
2785
  });
2764
2786
  /** */
2765
- this.GetDisplay = (item) => {
2787
+ this._GetDisplay = (item) => {
2766
2788
  return Tools.IsNotNull(item) ? item[this.propDisplay()] : '';
2767
2789
  };
2768
2790
  /** */
2769
- this.GetIndexRow = (item) => {
2791
+ this._GetIndexRow = (item) => {
2770
2792
  return item['index'];
2771
2793
  };
2772
2794
  /** */
@@ -2775,15 +2797,15 @@ class CoerList {
2775
2797
  && !this.isLoading();
2776
2798
  };
2777
2799
  /** */
2778
- this._showDeleteButton = (item) => {
2779
- const showButton = this.showDeleteButton();
2800
+ this._showDeleteButtonByRow = (item) => {
2801
+ const showButton = this.showDeleteButtonByRow();
2780
2802
  return (typeof showButton === 'boolean')
2781
2803
  ? showButton && !this.isLoading()
2782
2804
  : showButton(item, item.index) === true && !this.isLoading();
2783
2805
  };
2784
2806
  /** */
2785
- this._showGoButton = (item) => {
2786
- const showButton = this.showGoButton();
2807
+ this._showGoButtonByRow = (item) => {
2808
+ const showButton = this.showGoButtonByRow();
2787
2809
  return (typeof showButton === 'boolean')
2788
2810
  ? showButton && !this.isLoading()
2789
2811
  : showButton(item, item.index) === true && !this.isLoading();
@@ -2809,11 +2831,11 @@ class CoerList {
2809
2831
  });
2810
2832
  }
2811
2833
  /** */
2812
- GetTemplate(item) {
2834
+ _GetTemplate(item) {
2813
2835
  return this.template()(item, item.index);
2814
2836
  }
2815
2837
  /** */
2816
- Drop(event) {
2838
+ _Drop(event) {
2817
2839
  const { previousIndex, currentIndex } = event;
2818
2840
  let dataSource = Tools.BreakReference(this.dataSource());
2819
2841
  const item = Tools.BreakReference(dataSource[previousIndex]);
@@ -2823,11 +2845,11 @@ class CoerList {
2823
2845
  this.onDrop.emit(item);
2824
2846
  }
2825
2847
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerList, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2826
- 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:var(--white);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:var(--white);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:var(--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", "label", "placeholder", "textPosition", "minLength", "maxLength", "isInvalid", "isValid", "externalButton", "selectOnFocus", "showClearIcon", "showSearchIcon", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickSearch", "onClickExternalButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }] }); }
2848
+ 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 }, showDeleteButtonByRow: { classPropertyName: "showDeleteButtonByRow", publicName: "showDeleteButtonByRow", isSignal: true, isRequired: false, transformFunction: null }, showGoButtonByRow: { classPropertyName: "showGoButtonByRow", publicName: "showGoButtonByRow", 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(_showDeleteButtonByRow(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(_showGoButtonByRow(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:var(--white);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:var(--white);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:var(--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", "label", "placeholder", "textPosition", "minLength", "maxLength", "isInvalid", "isValid", "externalButton", "selectOnFocus", "showClearIcon", "showSearchIcon", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft"], outputs: ["onKeyupEnter", "onInput", "onClickClear", "onClickSearch", "onClickExternalButton"] }, { kind: "pipe", type: i9.HtmlPipe, name: "html" }] }); }
2827
2849
  }
2828
2850
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerList, decorators: [{
2829
2851
  type: Component,
2830
- args: [{ selector: 'coer-list', standalone: false, 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:var(--white);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:var(--white);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:var(--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"] }]
2852
+ args: [{ selector: 'coer-list', standalone: false, 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(_showDeleteButtonByRow(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(_showGoButtonByRow(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:var(--white);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:var(--white);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:var(--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"] }]
2831
2853
  }] });
2832
2854
 
2833
2855
  class CoerMenuOption {
@@ -3491,7 +3513,7 @@ class CoerDropdown extends ControlValue {
3491
3513
  this._index = signal(-1);
3492
3514
  this._isOpen = signal(false);
3493
3515
  this._isOverMenu = signal(false);
3494
- this.id = '';
3516
+ this.id = input('');
3495
3517
  this.label = input('');
3496
3518
  this.color = input('default');
3497
3519
  this.type = input('filled');
@@ -3502,8 +3524,8 @@ class CoerDropdown extends ControlValue {
3502
3524
  this.isDisabled = input(false);
3503
3525
  this.isReadonly = input(false);
3504
3526
  this.isInvisible = input(false);
3505
- this.width = input('100%');
3506
- this.minWidth = input('190px');
3527
+ this.width = input('190px');
3528
+ this.minWidth = input('150px');
3507
3529
  this.maxWidth = input('100%');
3508
3530
  this.marginTop = input('0px');
3509
3531
  this.marginRight = input('0px');
@@ -3528,19 +3550,19 @@ class CoerDropdown extends ControlValue {
3528
3550
  .map((item) => Object.assign(item, { indexRow: indexRow++ }));
3529
3551
  });
3530
3552
  /** */
3531
- this.GetIndexRow = (item) => {
3553
+ this._GetIndexRow = (item) => {
3532
3554
  return item['indexRow'];
3533
3555
  };
3534
3556
  /** */
3535
- this.GetIcon = (item) => {
3557
+ this._GetIcon = (item) => {
3536
3558
  return Tools.IsNotNull(item) && Tools.IsNotOnlyWhiteSpace(item?.icon) ? item.icon : '';
3537
3559
  };
3538
3560
  /** */
3539
- this.GetDisplay = (item) => {
3561
+ this._GetDisplay = (item) => {
3540
3562
  return Tools.IsNotNull(item) ? item[this.propDisplay()] : '';
3541
3563
  };
3542
3564
  /** */
3543
- this.GetPath = (item) => {
3565
+ this._GetPath = (item) => {
3544
3566
  if (Tools.IsNotNull(item)) {
3545
3567
  if (Tools.IsNotOnlyWhiteSpace(item?.path))
3546
3568
  return item?.path;
@@ -3560,7 +3582,7 @@ class CoerDropdown extends ControlValue {
3560
3582
  }
3561
3583
  async ngAfterViewInit() {
3562
3584
  await Tools.Sleep();
3563
- this.SetEvents();
3585
+ this._SetEvents();
3564
3586
  }
3565
3587
  //getter
3566
3588
  get value() {
@@ -3582,7 +3604,7 @@ class CoerDropdown extends ControlValue {
3582
3604
  return label;
3583
3605
  }
3584
3606
  //getter
3585
- get icon() {
3607
+ get _icon() {
3586
3608
  return Tools.IsNotNull(this.value)
3587
3609
  && Tools.IsNotOnlyWhiteSpace(this.value?.icon)
3588
3610
  ? this.value?.icon || '' : '';
@@ -3605,7 +3627,7 @@ class CoerDropdown extends ControlValue {
3605
3627
  this._value = _value;
3606
3628
  }
3607
3629
  /** */
3608
- SetEvents() {
3630
+ _SetEvents() {
3609
3631
  Tools.Sleep().then(() => {
3610
3632
  //Container
3611
3633
  this._container = document.getElementById(`${this._id}-container`);
@@ -3631,10 +3653,10 @@ class CoerDropdown extends ControlValue {
3631
3653
  });
3632
3654
  }
3633
3655
  /** */
3634
- SelectItem(item) {
3656
+ _SelectItem(item) {
3635
3657
  if (Tools.IsNotNull(item) && this._isEnable()) {
3636
3658
  const _item = Tools.BreakReference(this.dataSource()[item.index]);
3637
- if (Tools.IsNotNull(_item) && Tools.IsNull(this.GetPath(item))) {
3659
+ if (Tools.IsNotNull(_item) && Tools.IsNull(this._GetPath(item))) {
3638
3660
  this.SetValue(Tools.BreakReference(_item));
3639
3661
  }
3640
3662
  delete _item.indexRow;
@@ -3649,7 +3671,7 @@ class CoerDropdown extends ControlValue {
3649
3671
  this.Close();
3650
3672
  }
3651
3673
  /** */
3652
- Toggle() {
3674
+ _Toggle() {
3653
3675
  if (this._isOpen())
3654
3676
  this.Close();
3655
3677
  else
@@ -3676,25 +3698,24 @@ class CoerDropdown extends ControlValue {
3676
3698
  });
3677
3699
  }
3678
3700
  /** */
3679
- async SetValueBy(callback) {
3680
- await Tools.Sleep();
3681
- if (this._dataSource().length > 0) {
3682
- const value = Tools.BreakReference(this._dataSource().find(callback));
3683
- if (Tools.IsNotNull(value)) {
3684
- this.SetValue(value);
3701
+ SetValueBy(callback) {
3702
+ Tools.Sleep().then(_ => {
3703
+ if (this._dataSource().length > 0) {
3704
+ const value = Tools.BreakReference(this._dataSource().find(callback));
3705
+ if (Tools.IsNotNull(value)) {
3706
+ this.SetValue(value);
3707
+ }
3685
3708
  }
3686
- }
3709
+ });
3687
3710
  }
3688
3711
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDropdown, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3689
- 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 }, 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 }, 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 [icon]=\"icon\"\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'\" \r\n class=\"dropdown-menu\"\r\n [ngStyle]=\"{\r\n width: minWidth()\r\n }\">\r\n\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important;display:inline-block!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:var(--white)!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:var(--white)!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:var(--black)!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: 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: 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"] }] }); }
3712
+ 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: true, 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 }, 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 }, 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 [icon]=\"_icon\"\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'\" \r\n class=\"dropdown-menu\"\r\n [ngStyle]=\"{\r\n width: width(),\r\n minWidth: minWidth()\r\n }\">\r\n\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important;display:inline-block!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:var(--white)!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:var(--white)!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:var(--black)!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: 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: 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"] }] }); }
3690
3713
  }
3691
3714
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerDropdown, decorators: [{
3692
3715
  type: Component,
3693
- args: [{ selector: 'coer-dropdown', providers: [CONTROL_VALUE(CoerDropdown)], standalone: false, 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 [icon]=\"icon\"\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'\" \r\n class=\"dropdown-menu\"\r\n [ngStyle]=\"{\r\n width: minWidth()\r\n }\">\r\n\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important;display:inline-block!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:var(--white)!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:var(--white)!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:var(--black)!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"] }]
3716
+ args: [{ selector: 'coer-dropdown', providers: [CONTROL_VALUE(CoerDropdown)], standalone: false, 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 [icon]=\"_icon\"\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'\" \r\n class=\"dropdown-menu\"\r\n [ngStyle]=\"{\r\n width: width(),\r\n minWidth: minWidth()\r\n }\">\r\n\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;--smoke: #f5f5f5;--black: #252525;--orange:#fd6031;--white: #ffffff;--purple:#a615bc;--primary-inner: var(--primary, var(--blue));--secondary-inner: var(--secondary, var(--gray));--success-inner: var(--success, var(--green));--warning-inner: var(--warning, var(--yellow));--danger-inner: var(--danger, var(--red));--background-inner: var(--background, var(--smoke));--sidenav-inner: var(--sidenav, var(--black));--navigation-inner: var(--navigation, var(--orange));--container-inner: var(--container, var(--white))}.text-blue{color:var(--blue)!important}.text-blue-bold{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-primary{color:var(--primary-inner)!important}.text-primary-bold{color:var(--primary-inner)!important;font-weight:700!important}.background-primary{background-color:var(--primary-inner)!important}.background-border-primary{background-color:var(--primary-inner)!important;border-color:var(--primary-inner)!important}.border-primary{border-color:var(--primary-inner)!important}.text-secondary{color:var(--secondary-inner)!important}.text-secondary-bold{color:var(--secondary-inner)!important;font-weight:700!important}.background-secondary{background-color:var(--secondary-inner)!important}.background-border-secondary{background-color:var(--secondary-inner)!important;border-color:var(--secondary-inner)!important}.border-secondary{border-color:var(--secondary-inner)!important}.text-success{color:var(--success-inner)!important}.text-success-bold{color:var(--success-inner)!important;font-weight:700!important}.background-success{background-color:var(--success-inner)!important}.background-border-success{background-color:var(--success-inner)!important;border-color:var(--success-inner)!important}.border-success{border-color:var(--success-inner)!important}.text-warning{color:var(--warning-inner)!important}.text-warning-bold{color:var(--warning-inner)!important;font-weight:700!important}.background-warning{background-color:var(--warning-inner)!important}.background-border-warning{background-color:var(--warning-inner)!important;border-color:var(--warning-inner)!important}.border-warning{border-color:var(--warning-inner)!important}.text-danger{color:var(--danger-inner)!important}.text-danger-bold{color:var(--danger-inner)!important;font-weight:700!important}.background-danger{background-color:var(--danger-inner)!important}.background-border-danger{background-color:var(--danger-inner)!important;border-color:var(--danger-inner)!important}.border-danger{border-color:var(--danger-inner)!important}.text-background{color:var(--background-inner)!important}.text-background-bold{color:var(--background-inner)!important;font-weight:700!important}.background-background{background-color:var(--background-inner)!important}.background-border-background{background-color:var(--background-inner)!important;border-color:var(--background-inner)!important}.border-background{border-color:var(--background-inner)!important}.text-sidenav{color:var(--sidenav-inner)!important}.text-blue-sidenav{color:var(--sidenav-inner)!important;font-weight:700!important}.background-sidenav{background-color:var(--sidenav-inner)!important}.background-border-sidenav{background-color:var(--sidenav-inner)!important;border-color:var(--sidenav-inner)!important}.border-sidenav{border-color:var(--sidenav-inner)!important}.text-navigation{color:var(--navigation-inner)!important}.text-navigation-bold{color:var(--navigation-inner)!important;font-weight:700!important}.background-navigation{background-color:var(--navigation-inner)!important}.background-border-navigation{background-color:var(--navigation-inner)!important;border-color:var(--navigation-inner)!important}.border-navigation{border-color:var(--navigation-inner)!important}.text-container{color:var(--container-inner)!important}.text-container-bold{color:var(--container-inner)!important;font-weight:700!important}.background-container{background-color:var(--container-inner)!important}.background-border-container{background-color:var(--container-inner)!important;border-color:var(--container-inner)!important}.border-container{border-color:var(--container-inner)!important}.text-transparent{color:transparent!important}.background-transparent{background-color:transparent!important}.background-border-transparent{background-color:transparent!important;border-color:transparent!important}.border-transparent{border-color:transparent!important}div.coer-dropdown{position:relative!important;width:fit-content!important;display:inline-block!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:var(--white)!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:var(--white)!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:var(--black)!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"] }]
3694
3717
  }], propDecorators: { value: [{
3695
3718
  type: Input
3696
- }], id: [{
3697
- type: Input
3698
3719
  }] } });
3699
3720
 
3700
3721
  class CoerTab {
@@ -3960,6 +3981,12 @@ class CoerToolbar {
3960
3981
  this.isLoading = false;
3961
3982
  this.awaitSignals = false;
3962
3983
  this._isModalOpen = isModalOpenSIGNAL;
3984
+ //appSettings
3985
+ this.appName = Tools.AvoidNull(appSettings?.appInfo?.name, 'string');
3986
+ this.appLogoPath = Tools.AvoidNull(appSettings?.appInfo?.logoPath, 'string');
3987
+ this.appLogoWidth = Tools.AvoidNull(appSettings?.appInfo?.logoWidth, 'string');
3988
+ this.showAppLogo = Tools.AvoidNull(appSettings?.appInfo?.showLogo, 'boolean');
3989
+ //Inputs
3963
3990
  this.user = input(null);
3964
3991
  this.image = input(null);
3965
3992
  this.menu = input([]);
@@ -3974,12 +4001,8 @@ class CoerToolbar {
3974
4001
  return user?.nickname;
3975
4002
  if (Tools.IsNotOnlyWhiteSpace(user?.fullName))
3976
4003
  return user?.fullName;
3977
- const name = Tools.IsNotOnlyWhiteSpace(this.user()?.name) ? this.user().name : '';
3978
- const firstName = Tools.IsNotOnlyWhiteSpace(this.user()?.firstName) ? this.user().firstName : '';
3979
- const middleName = Tools.IsNotOnlyWhiteSpace(this.user()?.middleName) ? this.user().middleName : '';
3980
- const lastName = Tools.IsNotOnlyWhiteSpace(this.user()?.lastName) ? this.user().lastName : '';
3981
- const secondLastName = Tools.IsNotOnlyWhiteSpace(this.user()?.secondName) ? this.user().secondLastName : '';
3982
- return `${name} ${firstName} ${middleName} ${lastName} ${secondLastName}`;
4004
+ if (Tools.IsNotOnlyWhiteSpace(user?.user))
4005
+ return user?.user;
3983
4006
  }
3984
4007
  return '';
3985
4008
  });
@@ -3987,16 +4010,8 @@ class CoerToolbar {
3987
4010
  this.userTitle = computed(() => {
3988
4011
  const user = this.user();
3989
4012
  if (Tools.IsNotNull(user)) {
3990
- if (Tools.IsNotOnlyWhiteSpace(user?.title))
3991
- return user.title;
3992
- if (Tools.IsNotOnlyWhiteSpace(user?.position))
3993
- return user.position;
3994
- if (Tools.IsNotOnlyWhiteSpace(user?.legend))
3995
- return user.legend;
3996
- if (Tools.IsNotOnlyWhiteSpace(user?.caption))
3997
- return user.caption;
3998
4013
  if (Tools.IsNotOnlyWhiteSpace(user?.role))
3999
- return user.role;
4014
+ return user?.role;
4000
4015
  }
4001
4016
  return '';
4002
4017
  });
@@ -4030,24 +4045,9 @@ class CoerToolbar {
4030
4045
  isMenuOpenSIGNAL.set(!isMenuOpenSIGNAL());
4031
4046
  Tools.Sleep(500, 'ToogleSideNave').then(() => this.isLoading = false);
4032
4047
  }
4033
- //computed
4034
- get appName() {
4035
- return Tools.AvoidNull(appSettings?.info?.name, 'string');
4036
- }
4037
- //computed
4038
- get appLogo() {
4039
- return Tools.AvoidNull(appSettings?.info?.logo, 'string');
4040
- }
4041
- //computed
4042
- get appLogoWidth() {
4043
- return Tools.AvoidNull(appSettings?.info?.logoWidth, 'string');
4044
- }
4045
4048
  //getter
4046
4049
  get showLogo() {
4047
- const showLogo = appSettings?.info?.showLogo;
4048
- return Tools.IsNull(showLogo)
4049
- ? (this.appLogo.length > 0)
4050
- : showLogo && (this.appLogo.length > 0);
4050
+ return this.showAppLogo && (this.appLogoPath.length > 0);
4051
4051
  }
4052
4052
  //getter
4053
4053
  get showUser() {
@@ -4064,11 +4064,11 @@ class CoerToolbar {
4064
4064
  this.dropdown().Open();
4065
4065
  }
4066
4066
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4067
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerToolbar, isStandalone: false, selector: "coer-toolbar", inputs: { 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 @if(showLogo) {\r\n <div class=\"logo-image-container\" (click)=\"ToogleSideNave()\" [ngStyle]=\"{ 'width': appLogoWidth }\">\r\n <div class=\"logo-image\" [ngStyle]=\"{ 'background-image': 'url(' + (appLogo | noImage:'IMAGE') + ')' }\"></div>\r\n </div>\r\n }\r\n\r\n @else {\r\n <coer-button\r\n type=\"icon\"\r\n icon=\"menu\"\r\n [isLoading]=\"isLoading\"\r\n (onClick)=\"ToogleSideNave()\"\r\n ></coer-button>\r\n\r\n <span class=\"app-name\"> {{ appName }} </span> \r\n } \r\n\r\n <span class=\"fill-space\"></span> \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 \r\n @if(!showUser) {\r\n <span class=\"me-2\">\r\n <span class=\"fw-bold fa-fade\"> \r\n Loading <i class=\"fa-solid fa-sync fa-spin\"></i> \r\n </span> \r\n </span>\r\n }\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{height:40px!important;max-width:45%}div#coer-tool-bar mat-toolbar div.logo-image-container{height:45px!important;min-width:100px}div#coer-tool-bar mat-toolbar div.logo-image-container div.logo-image{background-size:contain!important;background-repeat:no-repeat!important;background-position-y:bottom;width:100%!important;height:100%!important;cursor:pointer!important}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;min-width:70px!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", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltip", "tooltipPosition"], outputs: ["onSelected", "onUnselect"] }, { kind: "pipe", type: i9.NoImagePipe, name: "noImage" }] }); }
4067
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerToolbar, isStandalone: false, selector: "coer-toolbar", inputs: { 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 @if(showLogo) {\r\n <div class=\"logo-image-container\" (click)=\"ToogleSideNave()\" [ngStyle]=\"{ 'width': appLogoWidth }\">\r\n <div class=\"logo-image\" [ngStyle]=\"{ 'background-image': 'url(' + (appLogoPath | noImage:'IMAGE') + ')' }\"></div>\r\n </div>\r\n }\r\n\r\n @else {\r\n <coer-button\r\n type=\"icon\"\r\n icon=\"menu\"\r\n [isLoading]=\"isLoading\"\r\n (onClick)=\"ToogleSideNave()\"\r\n ></coer-button>\r\n\r\n <span class=\"app-name\"> {{ appName }} </span> \r\n } \r\n\r\n <span class=\"fill-space\"></span> \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 \r\n @if(!showUser) {\r\n <span class=\"me-2\">\r\n <span class=\"fw-bold fa-fade\"> \r\n Loading <i class=\"fa-solid fa-sync fa-spin\"></i> \r\n </span> \r\n </span>\r\n }\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{height:40px!important;max-width:45%}div#coer-tool-bar mat-toolbar div.logo-image-container{height:45px!important;min-width:100px}div#coer-tool-bar mat-toolbar div.logo-image-container div.logo-image{background-size:contain!important;background-repeat:no-repeat!important;background-position-y:bottom;width:100%!important;height:100%!important;cursor:pointer!important}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;min-width:70px!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", "isLoading", "isDisabled", "isReadonly", "isInvisible", "width", "minWidth", "maxWidth", "marginTop", "marginRight", "marginBottom", "marginLeft", "tooltip", "tooltipPosition"], outputs: ["onSelected", "onUnselect"] }, { kind: "pipe", type: i9.NoImagePipe, name: "noImage" }] }); }
4068
4068
  }
4069
4069
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerToolbar, decorators: [{
4070
4070
  type: Component,
4071
- args: [{ selector: 'coer-toolbar', standalone: false, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n <mat-toolbar> \r\n @if(showLogo) {\r\n <div class=\"logo-image-container\" (click)=\"ToogleSideNave()\" [ngStyle]=\"{ 'width': appLogoWidth }\">\r\n <div class=\"logo-image\" [ngStyle]=\"{ 'background-image': 'url(' + (appLogo | noImage:'IMAGE') + ')' }\"></div>\r\n </div>\r\n }\r\n\r\n @else {\r\n <coer-button\r\n type=\"icon\"\r\n icon=\"menu\"\r\n [isLoading]=\"isLoading\"\r\n (onClick)=\"ToogleSideNave()\"\r\n ></coer-button>\r\n\r\n <span class=\"app-name\"> {{ appName }} </span> \r\n } \r\n\r\n <span class=\"fill-space\"></span> \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 \r\n @if(!showUser) {\r\n <span class=\"me-2\">\r\n <span class=\"fw-bold fa-fade\"> \r\n Loading <i class=\"fa-solid fa-sync fa-spin\"></i> \r\n </span> \r\n </span>\r\n }\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{height:40px!important;max-width:45%}div#coer-tool-bar mat-toolbar div.logo-image-container{height:45px!important;min-width:100px}div#coer-tool-bar mat-toolbar div.logo-image-container div.logo-image{background-size:contain!important;background-repeat:no-repeat!important;background-position-y:bottom;width:100%!important;height:100%!important;cursor:pointer!important}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;min-width:70px!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"] }]
4071
+ args: [{ selector: 'coer-toolbar', standalone: false, template: "<div id=\"coer-tool-bar\" [ngClass]=\"{ 'position-relative': _isModalOpen() }\">\r\n <mat-toolbar> \r\n @if(showLogo) {\r\n <div class=\"logo-image-container\" (click)=\"ToogleSideNave()\" [ngStyle]=\"{ 'width': appLogoWidth }\">\r\n <div class=\"logo-image\" [ngStyle]=\"{ 'background-image': 'url(' + (appLogoPath | noImage:'IMAGE') + ')' }\"></div>\r\n </div>\r\n }\r\n\r\n @else {\r\n <coer-button\r\n type=\"icon\"\r\n icon=\"menu\"\r\n [isLoading]=\"isLoading\"\r\n (onClick)=\"ToogleSideNave()\"\r\n ></coer-button>\r\n\r\n <span class=\"app-name\"> {{ appName }} </span> \r\n } \r\n\r\n <span class=\"fill-space\"></span> \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 \r\n @if(!showUser) {\r\n <span class=\"me-2\">\r\n <span class=\"fw-bold fa-fade\"> \r\n Loading <i class=\"fa-solid fa-sync fa-spin\"></i> \r\n </span> \r\n </span>\r\n }\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{height:40px!important;max-width:45%}div#coer-tool-bar mat-toolbar div.logo-image-container{height:45px!important;min-width:100px}div#coer-tool-bar mat-toolbar div.logo-image-container div.logo-image{background-size:contain!important;background-repeat:no-repeat!important;background-position-y:bottom;width:100%!important;height:100%!important;cursor:pointer!important}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;min-width:70px!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"] }]
4072
4072
  }] });
4073
4073
 
4074
4074
  class ComponentsModule {