coer-elements 2.0.81 → 2.0.83

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.
@@ -1,11 +1,11 @@
1
1
  import { IGridButtonByRow, IGridColumn, IGridImport, IGridHeaderButton, IGridHeaderExportButton, IGridKeyupEnter, IGridSearch, IGridInput, IGridCheckbox, IGridInputCheckbox, IGridHeaderImportButton, IGridDataSource, IGridHeader, IGridFooter } from "coer-elements/interfaces";
2
- import { AfterViewInit } from "@angular/core";
2
+ import { AfterContentChecked, AfterViewInit } from "@angular/core";
3
3
  import { ControlValue } from 'coer-elements/tools';
4
4
  import { CoerGridHeader } from "./coer-grid-header/coer-grid-header.component";
5
5
  import { CoerGridBody } from "./coer-grid-body/coer-grid-body.component";
6
6
  import { CoerGridfooter } from "./coer-grid-footer/coer-grid-footer.component";
7
7
  import * as i0 from "@angular/core";
8
- export declare class CoerGridExtension<T> extends ControlValue implements AfterViewInit {
8
+ export declare class CoerGridExtension<T> extends ControlValue implements AfterViewInit, AfterContentChecked {
9
9
  protected readonly _coerGridHeader: import("@angular/core").Signal<CoerGridHeader<T> | undefined>;
10
10
  protected readonly _coerGridBody: import("@angular/core").Signal<CoerGridBody<T> | undefined>;
11
11
  protected readonly _coerGridFooter: import("@angular/core").Signal<CoerGridfooter<T> | undefined>;
@@ -16,6 +16,7 @@ export declare class CoerGridExtension<T> extends ControlValue implements AfterV
16
16
  protected readonly _id: string;
17
17
  protected readonly _searchInner: import("@angular/core").WritableSignal<string | number>;
18
18
  protected readonly _isLoadingInner: import("@angular/core").WritableSignal<boolean>;
19
+ protected _height: string;
19
20
  columns: import("@angular/core").InputSignal<IGridColumn<T>[]>;
20
21
  cleanColumnName: import("@angular/core").InputSignal<boolean>;
21
22
  search: IGridSearch;
@@ -62,8 +63,10 @@ export declare class CoerGridExtension<T> extends ControlValue implements AfterV
62
63
  protected onNumberboxChange: import("@angular/core").OutputEmitterRef<IGridInput<T>>;
63
64
  protected onSelectboxChange: import("@angular/core").OutputEmitterRef<IGridInput<T>>;
64
65
  ngAfterViewInit(): void;
66
+ ngAfterContentChecked(): void;
65
67
  SetValue(value: T[]): void;
66
- writeValue(value: T[]): void;
68
+ /** */
69
+ protected _SetHeight(): void;
67
70
  protected _SetValueInput(row: IGridInput<T>, input: 'coer-switch' | 'coer-textbox' | 'coer-numberbox' | 'coer-selectbox'): void;
68
71
  protected _columns: import("@angular/core").Signal<IGridHeader<T>[]>;
69
72
  /** */
@@ -81,7 +84,6 @@ export declare class CoerGridExtension<T> extends ControlValue implements AfterV
81
84
  protected _Import(value: IGridImport<T>): void;
82
85
  /** */
83
86
  protected _buildRow<T>(data: any): T;
84
- protected get _height(): string;
85
87
  static ɵfac: i0.ɵɵFactoryDeclaration<CoerGridExtension<any>, never>;
86
88
  static ɵcmp: i0.ɵɵComponentDeclaration<CoerGridExtension<any>, "coer-grid-extension", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "cleanColumnName": { "alias": "cleanColumnName"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; }; "exportButton": { "alias": "exportButton"; "required": false; }; "importButton": { "alias": "importButton"; "required": false; }; "addButton": { "alias": "addButton"; "required": false; }; "saveButton": { "alias": "saveButton"; "required": false; }; "checkbox": { "alias": "checkbox"; "required": false; }; "buttonByRow": { "alias": "buttonByRow"; "required": false; }; "footer": { "alias": "footer"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "isReadonly": { "alias": "isReadonly"; "required": false; "isSignal": true; }; "isInvisible": { "alias": "isInvisible"; "required": false; "isSignal": true; }; "rowsByPage": { "alias": "rowsByPage"; "required": false; "isSignal": true; }; "tooltipByRow": { "alias": "tooltipByRow"; "required": false; "isSignal": true; }; "enableSort": { "alias": "enableSort"; "required": false; "isSignal": true; }; "enableFocusNext": { "alias": "enableFocusNext"; "required": false; "isSignal": true; }; "enableFocusRow": { "alias": "enableFocusRow"; "required": false; "isSignal": true; }; "enableHoverRow": { "alias": "enableHoverRow"; "required": false; "isSignal": true; }; "isStriped": { "alias": "isStriped"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "MinWidth": { "alias": "MinWidth"; "required": false; "isSignal": true; }; "MaxWidth": { "alias": "MaxWidth"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; }, { "onClickExport": "onClickExport"; "onClickImport": "onClickImport"; "onClickAdd": "onClickAdd"; "onClickSave": "onClickSave"; "onClickRow": "onClickRow"; "onDoubleClickRow": "onDoubleClickRow"; "onCheckboxChange": "onCheckboxChange"; "onClickDeleteRow": "onClickDeleteRow"; "onClickEditRow": "onClickEditRow"; "onClickModalRow": "onClickModalRow"; "onClickGoRow": "onClickGoRow"; "onKeyupEnter": "onKeyupEnter"; "onKeyupEnterLast": "onKeyupEnterLast"; "onSwitchChange": "onSwitchChange"; "onTextboxChange": "onTextboxChange"; "onNumberboxChange": "onNumberboxChange"; "onSelectboxChange": "onSelectboxChange"; }, never, never, true, never>;
87
89
  }
@@ -1,9 +1,9 @@
1
1
  declare global {
2
2
  interface Array<T> {
3
3
  /** */
4
- Distinct(): T[];
4
+ distinct(): T[];
5
5
  /** */
6
- Except(exceptions: T[]): T[];
6
+ except(exceptions: T[]): T[];
7
7
  }
8
8
  }
9
9
  export {};
@@ -0,0 +1,61 @@
1
+ declare global {
2
+ interface Date {
3
+ /** */
4
+ getOffset(): number;
5
+ /** */
6
+ getLastDay(): number;
7
+ /** */
8
+ isValidDate(): boolean;
9
+ /** */
10
+ getCurrentDate(): Date;
11
+ /** Convert UTC Date to Local Zone */
12
+ toLocalZone(): Date;
13
+ /** Convert Local Zone Date to UTC */
14
+ toUTC(): Date;
15
+ /** YYYY-MM-DD HH:mm:ss */
16
+ toFormatDB(): string;
17
+ /** */
18
+ toFormatDate(format?: 'MDY' | 'DMY' | 'YMD'): string;
19
+ /** */
20
+ toFormatDateTime(ampm?: boolean, format?: 'MDY' | 'DMY' | 'YMD'): string;
21
+ /** */
22
+ addMilliseconds(milliseconds: number): Date;
23
+ /** */
24
+ addSeconds(seconds: number): Date;
25
+ /** */
26
+ addMinutes(minutes: number): Date;
27
+ /** */
28
+ addHours(hours: number): Date;
29
+ /** */
30
+ addDays(days: number): Date;
31
+ /** */
32
+ addWeeks(weeks: number): Date;
33
+ /** */
34
+ addMonths(months: number): Date;
35
+ /** */
36
+ addYears(years: number): Date;
37
+ /** */
38
+ setMillisecond(millisecond?: number): Date;
39
+ /** */
40
+ setSecond(second?: number): Date;
41
+ /** */
42
+ setMinute(minute?: number): Date;
43
+ /** */
44
+ setHour(hour?: number): Date;
45
+ /** */
46
+ setFirstHour(): Date;
47
+ /** */
48
+ setLastHour(): Date;
49
+ /** */
50
+ setDay(day?: number): Date;
51
+ /** */
52
+ setFirstDay(): Date;
53
+ /** */
54
+ setLastDay(): Date;
55
+ /** */
56
+ getDiffNow(unit?: 'milliseconds' | 'seconds' | 'minutes' | 'hours' | 'days'): number;
57
+ /** */
58
+ getDiff(date: string | Date, unit?: 'milliseconds' | 'seconds' | 'minutes' | 'hours' | 'days'): number;
59
+ }
60
+ }
61
+ export {};
@@ -8,6 +8,8 @@ declare global {
8
8
  cleanUpBlanks(): string;
9
9
  /** Apply title formatting */
10
10
  toTitle(): string;
11
+ /** Remove whitespaces */
12
+ removeWhiteSpaces(): string;
11
13
  /** Removes the last character */
12
14
  removeLastChar(): string;
13
15
  /** Removes accents */
@@ -1,3 +1,4 @@
1
1
  import './lib/array.extension';
2
+ import './lib/date.extension';
2
3
  import './lib/object.extension';
3
4
  import './lib/string.extension';
@@ -303,11 +303,11 @@ class CoerButton {
303
303
  });
304
304
  }
305
305
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
306
- 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 }, typeBreakpoint: { classPropertyName: "typeBreakpoint", publicName: "typeBreakpoint", 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 }, 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 }, isHidde: { classPropertyName: "isHidde", publicName: "isHidde", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, widthBreakpoint: { classPropertyName: "widthBreakpoint", publicName: "widthBreakpoint", 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 }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-button': true, 'display-contents': !isHidde(), 'display-none': isHidde() }\">\r\n <a [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [matTooltip]=\"_tooltip()\"\r\n [matTooltipPosition]=\"_tooltipPosition()\"\r\n [matTooltipDisabled]=\"!_isEnable()\"\r\n [matTooltipHideDelay]=\"0\"\r\n [ngClass]=\"{ \r\n 'loading' : isLoading(),\r\n 'invisible': isInvisible() || isReadonly()\r\n }\"\r\n [ngStyle]=\"{ \r\n 'margin-top' : marginTop(), \r\n 'margin-right' : marginRight(), \r\n 'margin-bottom': marginBottom(), \r\n 'margin-left' : marginLeft(),\r\n 'width' : _showButtonIcon() ? 'auto' : _buttonBreakpointSizeWidth(),\r\n 'min-width' : minWidth(),\r\n 'max-width' : maxWidth(), \r\n }\"> \r\n \r\n <div [class]=\"_showButton() ? '' : 'display-none'\">\r\n <button mat-button type=\"button\" \r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [class]=\"_buttonType()\"\r\n [ngStyle]=\"{ \r\n 'height' : height(),\r\n 'min-height': minHeight()\r\n }\">\r\n\r\n @if(!isLoading()) {\r\n <span class=\"slot\">\r\n @if(iconPosition() == 'left') { \r\n <i [class]=\"_icon()\"></i> \r\n }\r\n \r\n <span [ngClass]=\"{ \r\n 'ms-2': (iconPosition() == 'left' && _icon().length > 0), \r\n 'me-2': (iconPosition() == 'right' && _icon().length > 0) \r\n }\">\r\n <ng-content>Click</ng-content>\r\n </span>\r\n \r\n @if(iconPosition() == 'right') {\r\n <i [class]=\"_icon()\"></i>\r\n }\r\n </span>\r\n }\r\n\r\n @else {\r\n <span class=\"slot animation-appear\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"icon-circle-notch animation-spin\"></i>\r\n </span> \r\n }\r\n </button>\r\n </div> \r\n\r\n \r\n <div [class]=\"_showButtonIcon() ? 'flex-middle-center' : 'display-none'\">\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button-icon'\"\r\n type=\"button\"\r\n (click)=\"_Click()\"\r\n [class]=\"_buttonType()\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n </div>\r\n </a>\r\n</div> ", styles: ["coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important;text-decoration:none!important;color:var(--black)}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%}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.default-filled{color:var(--black)!important;background-color:transparent!important}div.coer-button button.default-outline{color:var(--black)!important;border:1px solid var(--black)!important;background-color:transparent!important}div.coer-button button.default-filled:not(.readonly):focus,div.coer-button button.default-outline:not(.readonly):focus{box-shadow:0 0 20px transparent!important}div.coer-button button.default-filled:not(.readonly):hover,div.coer-button button.default-filled:not(.readonly):focus,div.coer-button button.default-outline:not(.readonly):hover,div.coer-button button.default-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled{color:var(--white)!important;background-color:var(--primary-inner)!important}div.coer-button button.primary-outline{color:var(--primary-inner)!important;border:1px solid var(--primary-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.secondary-filled{color:var(--white)!important;background-color:var(--secondary-inner)!important}div.coer-button button.secondary-outline{color:var(--secondary-inner)!important;border:1px solid var(--secondary-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.success-filled{color:var(--white)!important;background-color:var(--success-inner)!important}div.coer-button button.success-outline{color:var(--success-inner)!important;border:1px solid var(--success-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.warning-filled{color:var(--black)!important;background-color:var(--warning-inner)!important}div.coer-button button.warning-outline{color:var(--warning-inner)!important;border:1px solid var(--warning-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.danger-filled{color:var(--white)!important;background-color:var(--danger-inner)!important}div.coer-button button.danger-outline{color:var(--danger-inner)!important;border:1px solid var(--danger-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.navigation-filled{color:var(--white)!important;background-color:var(--navigation-inner)!important}div.coer-button button.navigation-outline{color:var(--navigation-inner)!important;border:1px solid var(--navigation-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.information-filled{color:var(--white)!important;background-color:var(--information-inner)!important}div.coer-button button.information-outline{color:var(--information-inner)!important;border:1px solid var(--information-inner)!important;background-color:transparent!important}div.coer-button button.information-filled:not(.readonly):focus,div.coer-button button.information-outline:not(.readonly):focus{box-shadow:0 0 20px var(--information-inner)!important}div.coer-button button.information-filled:not(.readonly):hover,div.coer-button button.information-filled:not(.readonly):focus,div.coer-button button.information-outline:not(.readonly):hover,div.coer-button button.information-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.dark-filled{color:var(--white)!important;background-color:var(--black)!important}div.coer-button button.dark-outline{color:var(--black)!important;border:1px solid var(--black)!important;background-color:transparent!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.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.light-filled{color:var(--black)!important;background-color:var(--white)!important}div.coer-button button.light-outline{color:var(--white)!important;border:1px solid var(--white)!important;background-color:transparent!important}div.coer-button button.light-filled:not(.readonly):focus,div.coer-button button.light-outline:not(.readonly):focus{box-shadow:0 0 20px var(--white)!important}div.coer-button button.light-filled:not(.readonly):hover,div.coer-button button.light-filled:not(.readonly):focus,div.coer-button button.light-outline:not(.readonly):hover,div.coer-button button.light-outline:not(.readonly):focus{filter:brightness(1.1)!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 button.mdc-icon-button.mat-mdc-icon-button.icon-no-border.readonly{color:#dfdede!important}div.coer-button a.loading{cursor:wait!important}div.coer-button i{display:flex!important;align-items:center!important;justify-content:center!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}div.coer-button .mat-mdc-icon-button .mat-mdc-button-ripple,div.coer-button .mat-mdc-icon-button .mat-mdc-button-persistent-ripple,div.coer-button .mat-mdc-icon-button .mat-mdc-button-persistent-ripple:before{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$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"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
306
+ 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 }, typeBreakpoint: { classPropertyName: "typeBreakpoint", publicName: "typeBreakpoint", 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 }, 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 }, isHidde: { classPropertyName: "isHidde", publicName: "isHidde", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, widthBreakpoint: { classPropertyName: "widthBreakpoint", publicName: "widthBreakpoint", 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 }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClick: "onClick" }, ngImport: i0, template: "<div [ngClass]=\"{ 'coer-button': true, 'display-contents': !isHidde() && !isReadonly(), 'display-none': isHidde() || isReadonly() }\">\r\n <a [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [matTooltip]=\"_tooltip()\"\r\n [matTooltipPosition]=\"_tooltipPosition()\"\r\n [matTooltipDisabled]=\"!_isEnable()\"\r\n [matTooltipHideDelay]=\"0\"\r\n [ngClass]=\"{ \r\n 'loading' : isLoading(),\r\n 'invisible': isInvisible()\r\n }\"\r\n [ngStyle]=\"{ \r\n 'margin-top' : marginTop(), \r\n 'margin-right' : marginRight(), \r\n 'margin-bottom': marginBottom(), \r\n 'margin-left' : marginLeft(),\r\n 'width' : _showButtonIcon() ? 'auto' : _buttonBreakpointSizeWidth(),\r\n 'min-width' : minWidth(),\r\n 'max-width' : maxWidth(), \r\n }\"> \r\n \r\n <div [class]=\"_showButton() ? '' : 'display-none'\">\r\n <button mat-button type=\"button\" \r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [class]=\"_buttonType()\"\r\n [ngStyle]=\"{ \r\n 'height' : height(),\r\n 'min-height': minHeight()\r\n }\">\r\n\r\n @if(!isLoading()) {\r\n <span class=\"slot\">\r\n @if(iconPosition() == 'left') { \r\n <i [class]=\"_icon()\"></i> \r\n }\r\n \r\n <span [ngClass]=\"{ \r\n 'ms-2': (iconPosition() == 'left' && _icon().length > 0), \r\n 'me-2': (iconPosition() == 'right' && _icon().length > 0) \r\n }\">\r\n <ng-content>Click</ng-content>\r\n </span>\r\n \r\n @if(iconPosition() == 'right') {\r\n <i [class]=\"_icon()\"></i>\r\n }\r\n </span>\r\n }\r\n\r\n @else {\r\n <span class=\"slot animation-appear\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"icon-circle-notch animation-spin\"></i>\r\n </span> \r\n }\r\n </button>\r\n </div> \r\n\r\n \r\n <div [class]=\"_showButtonIcon() ? 'flex-middle-center' : 'display-none'\">\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button-icon'\"\r\n type=\"button\"\r\n (click)=\"_Click()\"\r\n [class]=\"_buttonType()\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n </div>\r\n </a>\r\n</div> ", styles: ["coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important;text-decoration:none!important;color:var(--black)}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%}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.default-filled{color:var(--black)!important;background-color:transparent!important}div.coer-button button.default-outline{color:var(--black)!important;border:1px solid var(--black)!important;background-color:transparent!important}div.coer-button button.default-filled:not(.readonly):focus,div.coer-button button.default-outline:not(.readonly):focus{box-shadow:0 0 20px transparent!important}div.coer-button button.default-filled:not(.readonly):hover,div.coer-button button.default-filled:not(.readonly):focus,div.coer-button button.default-outline:not(.readonly):hover,div.coer-button button.default-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled{color:var(--white)!important;background-color:var(--primary-inner)!important}div.coer-button button.primary-outline{color:var(--primary-inner)!important;border:1px solid var(--primary-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.secondary-filled{color:var(--white)!important;background-color:var(--secondary-inner)!important}div.coer-button button.secondary-outline{color:var(--secondary-inner)!important;border:1px solid var(--secondary-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.success-filled{color:var(--white)!important;background-color:var(--success-inner)!important}div.coer-button button.success-outline{color:var(--success-inner)!important;border:1px solid var(--success-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.warning-filled{color:var(--black)!important;background-color:var(--warning-inner)!important}div.coer-button button.warning-outline{color:var(--warning-inner)!important;border:1px solid var(--warning-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.danger-filled{color:var(--white)!important;background-color:var(--danger-inner)!important}div.coer-button button.danger-outline{color:var(--danger-inner)!important;border:1px solid var(--danger-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.navigation-filled{color:var(--white)!important;background-color:var(--navigation-inner)!important}div.coer-button button.navigation-outline{color:var(--navigation-inner)!important;border:1px solid var(--navigation-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.information-filled{color:var(--white)!important;background-color:var(--information-inner)!important}div.coer-button button.information-outline{color:var(--information-inner)!important;border:1px solid var(--information-inner)!important;background-color:transparent!important}div.coer-button button.information-filled:not(.readonly):focus,div.coer-button button.information-outline:not(.readonly):focus{box-shadow:0 0 20px var(--information-inner)!important}div.coer-button button.information-filled:not(.readonly):hover,div.coer-button button.information-filled:not(.readonly):focus,div.coer-button button.information-outline:not(.readonly):hover,div.coer-button button.information-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.dark-filled{color:var(--white)!important;background-color:var(--black)!important}div.coer-button button.dark-outline{color:var(--black)!important;border:1px solid var(--black)!important;background-color:transparent!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.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.light-filled{color:var(--black)!important;background-color:var(--white)!important}div.coer-button button.light-outline{color:var(--white)!important;border:1px solid var(--white)!important;background-color:transparent!important}div.coer-button button.light-filled:not(.readonly):focus,div.coer-button button.light-outline:not(.readonly):focus{box-shadow:0 0 20px var(--white)!important}div.coer-button button.light-filled:not(.readonly):hover,div.coer-button button.light-filled:not(.readonly):focus,div.coer-button button.light-outline:not(.readonly):hover,div.coer-button button.light-outline:not(.readonly):focus{filter:brightness(1.1)!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 button.mdc-icon-button.mat-mdc-icon-button.icon-no-border.readonly{color:#dfdede!important}div.coer-button a.loading{cursor:wait!important}div.coer-button i{display:flex!important;align-items:center!important;justify-content:center!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}div.coer-button .mat-mdc-icon-button .mat-mdc-button-ripple,div.coer-button .mat-mdc-icon-button .mat-mdc-button-persistent-ripple,div.coer-button .mat-mdc-icon-button .mat-mdc-button-persistent-ripple:before{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$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"] }, { kind: "directive", type: i3$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
307
307
  }
308
308
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerButton, decorators: [{
309
309
  type: Component,
310
- args: [{ selector: 'coer-button', standalone: false, template: "<div [ngClass]=\"{ 'coer-button': true, 'display-contents': !isHidde(), 'display-none': isHidde() }\">\r\n <a [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [matTooltip]=\"_tooltip()\"\r\n [matTooltipPosition]=\"_tooltipPosition()\"\r\n [matTooltipDisabled]=\"!_isEnable()\"\r\n [matTooltipHideDelay]=\"0\"\r\n [ngClass]=\"{ \r\n 'loading' : isLoading(),\r\n 'invisible': isInvisible() || isReadonly()\r\n }\"\r\n [ngStyle]=\"{ \r\n 'margin-top' : marginTop(), \r\n 'margin-right' : marginRight(), \r\n 'margin-bottom': marginBottom(), \r\n 'margin-left' : marginLeft(),\r\n 'width' : _showButtonIcon() ? 'auto' : _buttonBreakpointSizeWidth(),\r\n 'min-width' : minWidth(),\r\n 'max-width' : maxWidth(), \r\n }\"> \r\n \r\n <div [class]=\"_showButton() ? '' : 'display-none'\">\r\n <button mat-button type=\"button\" \r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [class]=\"_buttonType()\"\r\n [ngStyle]=\"{ \r\n 'height' : height(),\r\n 'min-height': minHeight()\r\n }\">\r\n\r\n @if(!isLoading()) {\r\n <span class=\"slot\">\r\n @if(iconPosition() == 'left') { \r\n <i [class]=\"_icon()\"></i> \r\n }\r\n \r\n <span [ngClass]=\"{ \r\n 'ms-2': (iconPosition() == 'left' && _icon().length > 0), \r\n 'me-2': (iconPosition() == 'right' && _icon().length > 0) \r\n }\">\r\n <ng-content>Click</ng-content>\r\n </span>\r\n \r\n @if(iconPosition() == 'right') {\r\n <i [class]=\"_icon()\"></i>\r\n }\r\n </span>\r\n }\r\n\r\n @else {\r\n <span class=\"slot animation-appear\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"icon-circle-notch animation-spin\"></i>\r\n </span> \r\n }\r\n </button>\r\n </div> \r\n\r\n \r\n <div [class]=\"_showButtonIcon() ? 'flex-middle-center' : 'display-none'\">\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button-icon'\"\r\n type=\"button\"\r\n (click)=\"_Click()\"\r\n [class]=\"_buttonType()\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n </div>\r\n </a>\r\n</div> ", styles: ["coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important;text-decoration:none!important;color:var(--black)}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%}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.default-filled{color:var(--black)!important;background-color:transparent!important}div.coer-button button.default-outline{color:var(--black)!important;border:1px solid var(--black)!important;background-color:transparent!important}div.coer-button button.default-filled:not(.readonly):focus,div.coer-button button.default-outline:not(.readonly):focus{box-shadow:0 0 20px transparent!important}div.coer-button button.default-filled:not(.readonly):hover,div.coer-button button.default-filled:not(.readonly):focus,div.coer-button button.default-outline:not(.readonly):hover,div.coer-button button.default-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled{color:var(--white)!important;background-color:var(--primary-inner)!important}div.coer-button button.primary-outline{color:var(--primary-inner)!important;border:1px solid var(--primary-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.secondary-filled{color:var(--white)!important;background-color:var(--secondary-inner)!important}div.coer-button button.secondary-outline{color:var(--secondary-inner)!important;border:1px solid var(--secondary-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.success-filled{color:var(--white)!important;background-color:var(--success-inner)!important}div.coer-button button.success-outline{color:var(--success-inner)!important;border:1px solid var(--success-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.warning-filled{color:var(--black)!important;background-color:var(--warning-inner)!important}div.coer-button button.warning-outline{color:var(--warning-inner)!important;border:1px solid var(--warning-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.danger-filled{color:var(--white)!important;background-color:var(--danger-inner)!important}div.coer-button button.danger-outline{color:var(--danger-inner)!important;border:1px solid var(--danger-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.navigation-filled{color:var(--white)!important;background-color:var(--navigation-inner)!important}div.coer-button button.navigation-outline{color:var(--navigation-inner)!important;border:1px solid var(--navigation-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.information-filled{color:var(--white)!important;background-color:var(--information-inner)!important}div.coer-button button.information-outline{color:var(--information-inner)!important;border:1px solid var(--information-inner)!important;background-color:transparent!important}div.coer-button button.information-filled:not(.readonly):focus,div.coer-button button.information-outline:not(.readonly):focus{box-shadow:0 0 20px var(--information-inner)!important}div.coer-button button.information-filled:not(.readonly):hover,div.coer-button button.information-filled:not(.readonly):focus,div.coer-button button.information-outline:not(.readonly):hover,div.coer-button button.information-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.dark-filled{color:var(--white)!important;background-color:var(--black)!important}div.coer-button button.dark-outline{color:var(--black)!important;border:1px solid var(--black)!important;background-color:transparent!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.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.light-filled{color:var(--black)!important;background-color:var(--white)!important}div.coer-button button.light-outline{color:var(--white)!important;border:1px solid var(--white)!important;background-color:transparent!important}div.coer-button button.light-filled:not(.readonly):focus,div.coer-button button.light-outline:not(.readonly):focus{box-shadow:0 0 20px var(--white)!important}div.coer-button button.light-filled:not(.readonly):hover,div.coer-button button.light-filled:not(.readonly):focus,div.coer-button button.light-outline:not(.readonly):hover,div.coer-button button.light-outline:not(.readonly):focus{filter:brightness(1.1)!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 button.mdc-icon-button.mat-mdc-icon-button.icon-no-border.readonly{color:#dfdede!important}div.coer-button a.loading{cursor:wait!important}div.coer-button i{display:flex!important;align-items:center!important;justify-content:center!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}div.coer-button .mat-mdc-icon-button .mat-mdc-button-ripple,div.coer-button .mat-mdc-icon-button .mat-mdc-button-persistent-ripple,div.coer-button .mat-mdc-icon-button .mat-mdc-button-persistent-ripple:before{position:relative!important}\n"] }]
310
+ args: [{ selector: 'coer-button', standalone: false, template: "<div [ngClass]=\"{ 'coer-button': true, 'display-contents': !isHidde() && !isReadonly(), 'display-none': isHidde() || isReadonly() }\">\r\n <a [routerLink]=\"(path().length > 0 && _isEnable()) ? path() : null\"\r\n [matTooltip]=\"_tooltip()\"\r\n [matTooltipPosition]=\"_tooltipPosition()\"\r\n [matTooltipDisabled]=\"!_isEnable()\"\r\n [matTooltipHideDelay]=\"0\"\r\n [ngClass]=\"{ \r\n 'loading' : isLoading(),\r\n 'invisible': isInvisible()\r\n }\"\r\n [ngStyle]=\"{ \r\n 'margin-top' : marginTop(), \r\n 'margin-right' : marginRight(), \r\n 'margin-bottom': marginBottom(), \r\n 'margin-left' : marginLeft(),\r\n 'width' : _showButtonIcon() ? 'auto' : _buttonBreakpointSizeWidth(),\r\n 'min-width' : minWidth(),\r\n 'max-width' : maxWidth(), \r\n }\"> \r\n \r\n <div [class]=\"_showButton() ? '' : 'display-none'\">\r\n <button mat-button type=\"button\" \r\n [id]=\"_id + '-inner-button'\"\r\n (click)=\"_Click()\"\r\n [class]=\"_buttonType()\"\r\n [ngStyle]=\"{ \r\n 'height' : height(),\r\n 'min-height': minHeight()\r\n }\">\r\n\r\n @if(!isLoading()) {\r\n <span class=\"slot\">\r\n @if(iconPosition() == 'left') { \r\n <i [class]=\"_icon()\"></i> \r\n }\r\n \r\n <span [ngClass]=\"{ \r\n 'ms-2': (iconPosition() == 'left' && _icon().length > 0), \r\n 'me-2': (iconPosition() == 'right' && _icon().length > 0) \r\n }\">\r\n <ng-content>Click</ng-content>\r\n </span>\r\n \r\n @if(iconPosition() == 'right') {\r\n <i [class]=\"_icon()\"></i>\r\n }\r\n </span>\r\n }\r\n\r\n @else {\r\n <span class=\"slot animation-appear\">\r\n <span class=\"me-2\"> Loading </span>\r\n <i class=\"icon-circle-notch animation-spin\"></i>\r\n </span> \r\n }\r\n </button>\r\n </div> \r\n\r\n \r\n <div [class]=\"_showButtonIcon() ? 'flex-middle-center' : 'display-none'\">\r\n <button mat-icon-button\r\n [id]=\"_id + '-inner-button-icon'\"\r\n type=\"button\"\r\n (click)=\"_Click()\"\r\n [class]=\"_buttonType()\">\r\n <i [class]=\"_icon()\"></i>\r\n </button>\r\n </div>\r\n </a>\r\n</div> ", styles: ["coer-button{display:contents!important}div.coer-button a{display:inline-block!important;height:fit-content!important;text-decoration:none!important;color:var(--black)}div.coer-button button{font-size:17px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%}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.default-filled{color:var(--black)!important;background-color:transparent!important}div.coer-button button.default-outline{color:var(--black)!important;border:1px solid var(--black)!important;background-color:transparent!important}div.coer-button button.default-filled:not(.readonly):focus,div.coer-button button.default-outline:not(.readonly):focus{box-shadow:0 0 20px transparent!important}div.coer-button button.default-filled:not(.readonly):hover,div.coer-button button.default-filled:not(.readonly):focus,div.coer-button button.default-outline:not(.readonly):hover,div.coer-button button.default-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.primary-filled{color:var(--white)!important;background-color:var(--primary-inner)!important}div.coer-button button.primary-outline{color:var(--primary-inner)!important;border:1px solid var(--primary-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.secondary-filled{color:var(--white)!important;background-color:var(--secondary-inner)!important}div.coer-button button.secondary-outline{color:var(--secondary-inner)!important;border:1px solid var(--secondary-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.success-filled{color:var(--white)!important;background-color:var(--success-inner)!important}div.coer-button button.success-outline{color:var(--success-inner)!important;border:1px solid var(--success-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.warning-filled{color:var(--black)!important;background-color:var(--warning-inner)!important}div.coer-button button.warning-outline{color:var(--warning-inner)!important;border:1px solid var(--warning-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.danger-filled{color:var(--white)!important;background-color:var(--danger-inner)!important}div.coer-button button.danger-outline{color:var(--danger-inner)!important;border:1px solid var(--danger-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.navigation-filled{color:var(--white)!important;background-color:var(--navigation-inner)!important}div.coer-button button.navigation-outline{color:var(--navigation-inner)!important;border:1px solid var(--navigation-inner)!important;background-color:transparent!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.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{filter:brightness(1.1)!important}div.coer-button button.information-filled{color:var(--white)!important;background-color:var(--information-inner)!important}div.coer-button button.information-outline{color:var(--information-inner)!important;border:1px solid var(--information-inner)!important;background-color:transparent!important}div.coer-button button.information-filled:not(.readonly):focus,div.coer-button button.information-outline:not(.readonly):focus{box-shadow:0 0 20px var(--information-inner)!important}div.coer-button button.information-filled:not(.readonly):hover,div.coer-button button.information-filled:not(.readonly):focus,div.coer-button button.information-outline:not(.readonly):hover,div.coer-button button.information-outline:not(.readonly):focus{filter:brightness(1.1)!important}div.coer-button button.dark-filled{color:var(--white)!important;background-color:var(--black)!important}div.coer-button button.dark-outline{color:var(--black)!important;border:1px solid var(--black)!important;background-color:transparent!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.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.light-filled{color:var(--black)!important;background-color:var(--white)!important}div.coer-button button.light-outline{color:var(--white)!important;border:1px solid var(--white)!important;background-color:transparent!important}div.coer-button button.light-filled:not(.readonly):focus,div.coer-button button.light-outline:not(.readonly):focus{box-shadow:0 0 20px var(--white)!important}div.coer-button button.light-filled:not(.readonly):hover,div.coer-button button.light-filled:not(.readonly):focus,div.coer-button button.light-outline:not(.readonly):hover,div.coer-button button.light-outline:not(.readonly):focus{filter:brightness(1.1)!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 button.mdc-icon-button.mat-mdc-icon-button.icon-no-border.readonly{color:#dfdede!important}div.coer-button a.loading{cursor:wait!important}div.coer-button i{display:flex!important;align-items:center!important;justify-content:center!important}div.coer-button span{font-weight:700!important}div.coer-button .mat-mdc-button-touch-target{width:0px!important;height:0px!important}div.coer-button .mat-mdc-icon-button .mat-mdc-button-ripple,div.coer-button .mat-mdc-icon-button .mat-mdc-button-persistent-ripple,div.coer-button .mat-mdc-icon-button .mat-mdc-button-persistent-ripple:before{position:relative!important}\n"] }]
311
311
  }] });
312
312
 
313
313
  class CoerCard {
@@ -415,7 +415,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImpor
415
415
 
416
416
  class DATE_ADAPTER extends NativeDateAdapter {
417
417
  format(date) {
418
- return Dates.GetFormatDate(date);
418
+ return Dates.ToFormatDate(date);
419
419
  }
420
420
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DATE_ADAPTER, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
421
421
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: DATE_ADAPTER }); }
@@ -585,7 +585,7 @@ class CoerDateBox extends ControlValue {
585
585
  //ControlValueAccessor
586
586
  SetValue(value) {
587
587
  this._value = Tools.IsNotOnlyWhiteSpace(value) && Dates.IsValidDate(value)
588
- ? Dates.GetFormatDB(value) : null;
588
+ ? Dates.ToFormatDB(value) : null;
589
589
  if (typeof this._UpdateValue === 'function') {
590
590
  this._UpdateValue(this._value);
591
591
  this.onChangeValue.emit(this._value);
@@ -1091,6 +1091,7 @@ class CoerGridExtension extends ControlValue {
1091
1091
  this._id = Tools.GetGuid('coer-grid');
1092
1092
  this._searchInner = signal('');
1093
1093
  this._isLoadingInner = signal(true);
1094
+ this._height = '0px';
1094
1095
  // protected _expandedGroups: string[] = [];
1095
1096
  //Inputs
1096
1097
  this.columns = input([]);
@@ -1237,6 +1238,10 @@ class CoerGridExtension extends ControlValue {
1237
1238
  this._isLoadingInner.set(false);
1238
1239
  });
1239
1240
  }
1241
+ //AfterViewChecked
1242
+ ngAfterContentChecked() {
1243
+ this._SetHeight();
1244
+ }
1240
1245
  //ControlValueAccessor
1241
1246
  SetValue(value) {
1242
1247
  if (Tools.IsNull(value))
@@ -1247,9 +1252,17 @@ class CoerGridExtension extends ControlValue {
1247
1252
  }
1248
1253
  this._valueSignal.set(this._value);
1249
1254
  }
1250
- //ControlValueAccessor
1251
- writeValue(value) {
1252
- this.SetValue(value);
1255
+ /** */
1256
+ _SetHeight() {
1257
+ this._height = (this.height() == 'full')
1258
+ ? (Screen.WINDOW_HEIGHT - (45 //Toolbar
1259
+ + Screen.BREAKPOINT == 'mv' ? 5 : 15
1260
+ + (this._coerGridHeader()?.heigth || 0)
1261
+ + (this._coerGridFooter()?.heigth || 0)
1262
+ + HTMLElements.GetOffsetTop(this._grid)
1263
+ + Number(HTMLElements.GetCssValue(this._gridGrandFather, 'padding-top').split('px')[0])
1264
+ + Number(HTMLElements.GetCssValue(this._gridGrandFather, 'padding-bottom').split('px')[0]))) + 'px'
1265
+ : this.height();
1253
1266
  }
1254
1267
  //ControlValueAccessor
1255
1268
  _SetValueInput(row, input) {
@@ -1297,17 +1310,6 @@ class CoerGridExtension extends ControlValue {
1297
1310
  }
1298
1311
  return { ...row };
1299
1312
  }
1300
- //getter
1301
- get _height() {
1302
- return (this.height() == 'full')
1303
- ? (Screen.WINDOW_HEIGHT - (45 //Toolbar
1304
- + (this._coerGridHeader()?.heigth || 0)
1305
- + (this._coerGridFooter()?.heigth || 0)
1306
- + HTMLElements.GetOffsetTop(this._grid)
1307
- + Number(HTMLElements.GetCssValue(this._gridGrandFather, 'padding-top').split('px')[0])
1308
- + Number(HTMLElements.GetCssValue(this._gridGrandFather, 'padding-bottom').split('px')[0]))) + 'px'
1309
- : this.height();
1310
- }
1311
1313
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridExtension, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1312
1314
  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 }, search: { classPropertyName: "search", publicName: "search", 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 }, addButton: { classPropertyName: "addButton", publicName: "addButton", isSignal: false, isRequired: false, transformFunction: null }, saveButton: { classPropertyName: "saveButton", publicName: "saveButton", isSignal: false, isRequired: false, transformFunction: null }, checkbox: { classPropertyName: "checkbox", publicName: "checkbox", isSignal: false, isRequired: false, transformFunction: null }, buttonByRow: { classPropertyName: "buttonByRow", publicName: "buttonByRow", isSignal: false, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: false, 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 }, tooltipByRow: { classPropertyName: "tooltipByRow", publicName: "tooltipByRow", isSignal: true, isRequired: false, transformFunction: null }, enableSort: { classPropertyName: "enableSort", publicName: "enableSort", isSignal: true, isRequired: false, transformFunction: null }, enableFocusNext: { classPropertyName: "enableFocusNext", publicName: "enableFocusNext", isSignal: true, isRequired: false, transformFunction: null }, enableFocusRow: { classPropertyName: "enableFocusRow", publicName: "enableFocusRow", isSignal: true, isRequired: false, transformFunction: null }, enableHoverRow: { classPropertyName: "enableHoverRow", publicName: "enableHoverRow", isSignal: true, isRequired: false, transformFunction: null }, isStriped: { classPropertyName: "isStriped", publicName: "isStriped", 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: { onClickExport: "onClickExport", onClickImport: "onClickImport", onClickAdd: "onClickAdd", onClickSave: "onClickSave", onClickRow: "onClickRow", onDoubleClickRow: "onDoubleClickRow", onCheckboxChange: "onCheckboxChange", onClickDeleteRow: "onClickDeleteRow", onClickEditRow: "onClickEditRow", onClickModalRow: "onClickModalRow", onClickGoRow: "onClickGoRow", onKeyupEnter: "onKeyupEnter", onKeyupEnterLast: "onKeyupEnterLast", onSwitchChange: "onSwitchChange", onTextboxChange: "onTextboxChange", onNumberboxChange: "onNumberboxChange", onSelectboxChange: "onSelectboxChange" }, viewQueries: [{ propertyName: "_coerGridHeader", first: true, predicate: ["coerGridHeader"], descendants: true, isSignal: true }, { propertyName: "_coerGridBody", first: true, predicate: ["coerGridBody"], descendants: true, isSignal: true }, { propertyName: "_coerGridFooter", first: true, predicate: ["coerGridFooter"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
1313
1315
  }
@@ -1660,7 +1662,7 @@ class CoerGridHeader {
1660
1662
  };
1661
1663
  }
1662
1664
  ngAfterViewInit() {
1663
- Tools.Sleep(1000).then(_ => {
1665
+ Tools.Sleep().then(_ => {
1664
1666
  this._header = HTMLElements.GetElement(`#${this.GetIdCalculated()(-1, -1, 'header')}`);
1665
1667
  this._headerSlots = HTMLElements.GetElement(`#${this.GetIdCalculated()(-1, -1, 'header-slots')}`);
1666
1668
  this._headerButtons = HTMLElements.GetElement(`#${this.GetIdCalculated()(-1, -1, 'header-buttons')}`);
@@ -2428,7 +2430,7 @@ class CoerSwitch extends ControlValue {
2428
2430
  });
2429
2431
  //computed
2430
2432
  this._isEnable = computed(() => {
2431
- return !this.isLoading() && !this.isDisabled() && !this.isInvisible();
2433
+ return !this.isLoading() && !this.isReadonly() && !this.isDisabled() && !this.isInvisible();
2432
2434
  });
2433
2435
  this._effectValue = effect(() => {
2434
2436
  Tools.Sleep().then(() => {
@@ -2486,72 +2488,71 @@ class CoerGridCell {
2486
2488
  this.onKeyupEnter = output();
2487
2489
  /** */
2488
2490
  this._GetCellValue = computed(() => {
2491
+ let value = this.row()[Strings.FirstCharToLower(this.header().property)];
2489
2492
  //Template
2490
2493
  if (Tools.IsNotNull(this.header().config?.template)) {
2491
2494
  if (typeof this.header()?.config?.template === 'string') {
2492
- return this.header()?.config?.template;
2495
+ value = this.header()?.config?.template;
2493
2496
  }
2494
- else if (typeof this.header()?.config?.template === 'function') {
2495
- return this.header()?.config?.template({
2497
+ else if (Tools.IsFunction(this.header()?.config?.template)) {
2498
+ value = this.header()?.config?.template({
2496
2499
  indexRow: this.row().indexRow,
2497
2500
  property: this.header()?.config?.property,
2498
2501
  row: { ...this.row() },
2499
- value: this.row()[Strings.FirstCharToLower(this.header().property)]
2502
+ value: value
2500
2503
  });
2501
2504
  }
2502
2505
  }
2503
2506
  //Currency
2504
2507
  else if (Tools.IsNotNull(this.header().config?.typeCurrency)) {
2505
- return (typeof this.header()?.config?.typeCurrency === 'boolean' && this.header()?.config?.typeCurrency === true) ||
2506
- typeof this.header()?.config?.typeCurrency === 'function' && this.header()?.config?.typeCurrency({
2508
+ value = Tools.IsBooleanTrue(this.header()?.config?.typeCurrency) ||
2509
+ Tools.IsFunction(this.header()?.config?.typeCurrency) && this.header()?.config?.typeCurrency({
2507
2510
  indexRow: this.row().indexRow,
2508
2511
  property: this.header()?.config?.property,
2509
2512
  row: { ...this.row() },
2510
- value: this.row()[Strings.FirstCharToLower(this.header().property)]
2511
- }) ? Numbers.GetCurrencyFormat(this.row()[Strings.FirstCharToLower(this.header().property)]) : this.row()[Strings.FirstCharToLower(this.header().property)];
2513
+ value: value
2514
+ }) ? Numbers.GetCurrencyFormat(value) : value;
2512
2515
  }
2513
2516
  //Number
2514
2517
  else if (Tools.IsNotNull(this.header().config?.typeNumber)) {
2515
- return (typeof this.header()?.config?.typeNumber === 'boolean' && this.header()?.config?.typeNumber === true) ||
2516
- typeof this.header()?.config?.typeNumber === 'function' && this.header()?.config?.typeNumber({
2518
+ value = Tools.IsBooleanTrue(this.header()?.config?.typeNumber) ||
2519
+ Tools.IsFunction(this.header()?.config?.typeNumber) && this.header()?.config?.typeNumber({
2517
2520
  indexRow: this.row().indexRow,
2518
2521
  property: this.header()?.config?.property,
2519
2522
  row: { ...this.row() },
2520
- value: this.row()[Strings.FirstCharToLower(this.header().property)]
2521
- }) ? Numbers.GetNumericFormat(this.row()[Strings.FirstCharToLower(this.header().property)]) : this.row()[Strings.FirstCharToLower(this.header().property)];
2523
+ value: value
2524
+ }) ? Numbers.GetNumericFormat(value) : value;
2522
2525
  }
2523
2526
  //Date - Time
2524
2527
  else if (Tools.IsNotNull(this.header().config?.typeDate) || Tools.IsNotNull(this.header().config?.typeDateTime)) {
2525
- let response = this.row()[Strings.FirstCharToLower(this.header().property)];
2526
- response = Tools.IsNull(this.header()?.config?.toLocalZone) ||
2527
- (typeof this.header()?.config?.toLocalZone === 'boolean' && this.header()?.config?.toLocalZone === true) ||
2528
- typeof this.header()?.config?.toLocalZone === 'function' && this.header()?.config?.toLocalZone({
2528
+ value = Tools.IsNull(this.header()?.config?.toLocalZone) ||
2529
+ Tools.IsBooleanTrue(this.header()?.config?.toLocalZone) ||
2530
+ Tools.IsFunction(this.header()?.config?.toLocalZone) && this.header()?.config?.toLocalZone({
2529
2531
  indexRow: this.row().indexRow,
2530
2532
  property: this.header()?.config?.property,
2531
2533
  row: { ...this.row() },
2532
- value: this.row()[Strings.FirstCharToLower(this.header().property)]
2533
- }) ? Dates.ToLocalZone(response) : response;
2534
+ value: value
2535
+ }) ? Dates.ToLocalZone(value) : value;
2534
2536
  if (Tools.IsNotNull(this.header().config?.typeDateTime)) {
2535
- response = (typeof this.header()?.config?.typeDateTime === 'boolean' && this.header()?.config?.typeDateTime === true) ||
2536
- typeof this.header()?.config?.typeDateTime === 'function' && this.header()?.config?.typeDateTime({
2537
+ value = Tools.IsBooleanTrue(this.header()?.config?.typeDateTime) ||
2538
+ Tools.IsFunction(this.header()?.config?.typeDateTime) && this.header()?.config?.typeDateTime({
2537
2539
  indexRow: this.row().indexRow,
2538
2540
  property: this.header()?.config?.property,
2539
2541
  row: { ...this.row() },
2540
- value: this.row()[Strings.FirstCharToLower(this.header().property)]
2541
- }) ? Dates.GetFormatDateTime(response) : response;
2542
+ value: value
2543
+ }) ? Dates.ToFormatDateTime(value) : value;
2542
2544
  }
2543
- if (Tools.IsNotNull(this.header().config?.typeDate)) {
2544
- response = (typeof this.header()?.config?.typeDate === 'boolean' && this.header()?.config?.typeDate === true) ||
2545
- typeof this.header()?.config?.typeDate === 'function' && this.header()?.config?.typeDate({
2545
+ else if (Tools.IsNotNull(this.header().config?.typeDate)) {
2546
+ value = Tools.IsBooleanTrue(this.header()?.config?.typeDate) ||
2547
+ Tools.IsFunction(this.header()?.config?.typeDate) && this.header()?.config?.typeDate({
2546
2548
  indexRow: this.row().indexRow,
2547
2549
  property: this.header()?.config?.property,
2548
2550
  row: { ...this.row() },
2549
- value: this.row()[Strings.FirstCharToLower(this.header().property)]
2550
- }) ? Dates.GetFormatDate(response) : response;
2551
+ value: value
2552
+ }) ? Dates.ToFormatDate(value) : value;
2551
2553
  }
2552
- return response;
2553
2554
  }
2554
- return this.row()[Strings.FirstCharToLower(this.header().property)];
2555
+ return Tools.IsOnlyWhiteSpace(value) ? '' : `${value}`;
2555
2556
  });
2556
2557
  /** */
2557
2558
  this._GetTextAlignX = computed(() => {
@@ -3207,7 +3208,7 @@ class CoerGridfooter {
3207
3208
  this.isLoadingInner = input(true);
3208
3209
  }
3209
3210
  ngAfterViewInit() {
3210
- Tools.Sleep(1000).then(_ => {
3211
+ Tools.Sleep().then(_ => {
3211
3212
  this._footer = HTMLElements.GetElement(`#${this.GetIdCalculated()(-1, -1, 'footer')}`);
3212
3213
  });
3213
3214
  }
@@ -3216,11 +3217,11 @@ class CoerGridfooter {
3216
3217
  return Number(HTMLElements.GetElementHeight(this._footer).split('px')[0]);
3217
3218
  }
3218
3219
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridfooter, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3219
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGridfooter, isStandalone: false, selector: "coer-grid-footer", inputs: { GetIdCalculated: { classPropertyName: "GetIdCalculated", publicName: "GetIdCalculated", isSignal: true, isRequired: true, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, dataSourceFiltered: { classPropertyName: "dataSourceFiltered", publicName: "dataSourceFiltered", isSignal: true, isRequired: false, transformFunction: null }, dataSourceSelected: { classPropertyName: "dataSourceSelected", publicName: "dataSourceSelected", isSignal: true, isRequired: false, transformFunction: null }, isLoadingInner: { classPropertyName: "isLoadingInner", publicName: "isLoadingInner", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if(footer().show) {\r\n <footer [id]=\"GetIdCalculated()(-1, -1, 'footer')\" class=\"flex-middle-between padding-top-5px\">\r\n <span>\r\n @if(isLoadingInner()) {\r\n <span class=\"animation-fade\"> Loading </span>\r\n }\r\n\r\n @else if(dataSourceSelected().length > 0) {\r\n <span class=\"margin-left-5px text-gray\">\r\n <i class=\"bi bi-check2-square\"></i>\r\n {{ dataSourceSelected().length | numericFormat }}\r\n </span>\r\n }\r\n </span>\r\n\r\n @if(dataSource().length > 0) {\r\n <span class=\"margin-right-5px text-gray\"> {{ dataSource().length | numericFormat }} Rows </span>\r\n } \r\n </footer>\r\n}", dependencies: [{ kind: "pipe", type: i5.NumericFormatPipe, name: "numericFormat" }] }); }
3220
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.1", type: CoerGridfooter, isStandalone: false, selector: "coer-grid-footer", inputs: { GetIdCalculated: { classPropertyName: "GetIdCalculated", publicName: "GetIdCalculated", isSignal: true, isRequired: true, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: false, transformFunction: null }, dataSourceFiltered: { classPropertyName: "dataSourceFiltered", publicName: "dataSourceFiltered", isSignal: true, isRequired: false, transformFunction: null }, dataSourceSelected: { classPropertyName: "dataSourceSelected", publicName: "dataSourceSelected", isSignal: true, isRequired: false, transformFunction: null }, isLoadingInner: { classPropertyName: "isLoadingInner", publicName: "isLoadingInner", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if(footer().show) {\r\n <footer [id]=\"GetIdCalculated()(-1, -1, 'footer')\" class=\"flex-middle-between padding-top-5px\">\r\n <span>\r\n @if(isLoadingInner()) {\r\n <span class=\"animation-fade\"> Loading </span>\r\n }\r\n\r\n @else if(dataSourceSelected().length > 0) {\r\n <span class=\"margin-left-5px text-gray\">\r\n <i class=\"bi bi-check2-square\"></i>\r\n {{ dataSourceSelected().length | numericFormat }}\r\n </span>\r\n }\r\n </span>\r\n\r\n @if(dataSource().length > 0) {\r\n <span class=\"margin-right-5px text-gray\"> {{ dataSource().length | numericFormat }} Rows </span>\r\n } \r\n </footer>\r\n} ", dependencies: [{ kind: "pipe", type: i5.NumericFormatPipe, name: "numericFormat" }] }); }
3220
3221
  }
3221
3222
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.1", ngImport: i0, type: CoerGridfooter, decorators: [{
3222
3223
  type: Component,
3223
- args: [{ selector: 'coer-grid-footer', standalone: false, template: "@if(footer().show) {\r\n <footer [id]=\"GetIdCalculated()(-1, -1, 'footer')\" class=\"flex-middle-between padding-top-5px\">\r\n <span>\r\n @if(isLoadingInner()) {\r\n <span class=\"animation-fade\"> Loading </span>\r\n }\r\n\r\n @else if(dataSourceSelected().length > 0) {\r\n <span class=\"margin-left-5px text-gray\">\r\n <i class=\"bi bi-check2-square\"></i>\r\n {{ dataSourceSelected().length | numericFormat }}\r\n </span>\r\n }\r\n </span>\r\n\r\n @if(dataSource().length > 0) {\r\n <span class=\"margin-right-5px text-gray\"> {{ dataSource().length | numericFormat }} Rows </span>\r\n } \r\n </footer>\r\n}" }]
3224
+ args: [{ selector: 'coer-grid-footer', standalone: false, template: "@if(footer().show) {\r\n <footer [id]=\"GetIdCalculated()(-1, -1, 'footer')\" class=\"flex-middle-between padding-top-5px\">\r\n <span>\r\n @if(isLoadingInner()) {\r\n <span class=\"animation-fade\"> Loading </span>\r\n }\r\n\r\n @else if(dataSourceSelected().length > 0) {\r\n <span class=\"margin-left-5px text-gray\">\r\n <i class=\"bi bi-check2-square\"></i>\r\n {{ dataSourceSelected().length | numericFormat }}\r\n </span>\r\n }\r\n </span>\r\n\r\n @if(dataSource().length > 0) {\r\n <span class=\"margin-right-5px text-gray\"> {{ dataSource().length | numericFormat }} Rows </span>\r\n } \r\n </footer>\r\n} " }]
3224
3225
  }] });
3225
3226
 
3226
3227
  class CoerGrid extends CoerGridExtension {