lightning-tec-br-angular-components 2.8.1 → 2.8.2
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.
|
@@ -579,11 +579,11 @@ class ButtonComponent {
|
|
|
579
579
|
}
|
|
580
580
|
}
|
|
581
581
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
582
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.0", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<button\r\n[style.background-color]=\"_BackGroundColor\"\r\n[style.border-radius]=\"(BorderRadius ?? 5).toString()+'px'\"\r\n[style.border]=\"ButtonType == ButtonTypeEnum.Outline && EnabledState ? `${OutlineBorderSize}px solid ${BorderColor}` : '' \"\r\n[style.width]=\"Width + 'px'\"\r\n[style.height]=\"Height + 'px'\"\r\n[style.flex-direction]=\"this._IconOrientation\"\r\n[style.align-items]=\"AlignItems\"\r\n[style.justify-content]=\"JustifyContent\"\r\n[style.padding]=\"Padding\"\r\n[style.cursor]=\"(EnabledState ?? true) ? 'pointer' : 'default'\"\r\n[style.--transition]=\"!EnabledState ? '0s' : '0.05s'\"\r\n[style.--transformHover]=\"!EnabledState ? '1' : '1.05'\"\r\n[style.--transformActive]=\"!EnabledState ? '1' : '0.95'\"\r\n(mouseover)=\"OnMouseOver()\"\r\n(mouseout)=\"OnMouseOut()\"\r\n(click)=\"OnClick()\"\r\ntype=\"button\"\r\n>\r\n <i\r\n class=\"{{Icon}}\"\r\n [style.color]=\"EnabledState ? _IconColor : 'gray'\"\r\n [style.font-size]=\"IconFontSize +'px'\"\r\n [style.display]=\"IconEnabled && !LoadingState ? '' : 'none'\"\r\n [ngStyle]=\"_IconDistanceFromTextObject\"\r\n >\r\n </i>\r\n\r\n <i\r\n class=\"loader\"\r\n [style.width]=\"IconFontSize +'px'\"\r\n [style.height]=\"IconFontSize +'px'\"\r\n [style.display]=\"LoadingState ? 'inline-block' : 'none'\"\r\n [style.--loaderColor]=\"_TextColor\"\r\n [style.--loaderBorderSize]=\"((IconFontSize ?? 12) *0.15)+'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-size]=\"TextFontSize +'px'\"\r\n [style.font-family]=\"TextFontFamily\"\r\n [style.font-weight]=\"TextFontWeight\"\r\n [style.color]=\"EnabledState ? _TextColor : 'gray'\"\r\n [style.display]=\"TextEnabled && !LoadingState ? '' : 'none'\"\r\n >{{Text}}\r\n </p>\r\n\r\n</button>\r\n \r\n", styles: [":host{display:inline-block;vertical-align:top;line-height:0px;--transition: .05s;--transformHover:1.05;--transformActive:.95}button{display:flex;align-items:center;justify-content:center;border:none;padding:0;text-decoration:none;box-shadow:1px 1px 3px 1px #00000059;box-sizing:border-box}button:hover{transition:var(--transition);transform:scale(var(--transformHover))}button:active{transform:scale(var(--transformActive))}button>i{line-height:0px}button>p{margin:0;line-height:0px}button>.loader{border:var(--loaderBorderSize) solid var(--loaderColor);border-bottom-color:transparent;border-radius:50%;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
582
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.0", type: ButtonComponent, isStandalone: true, selector: "app-button", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<button\r\n[style.background-color]=\"_BackGroundColor\"\r\n[style.border-radius]=\"(BorderRadius ?? 5).toString()+'px'\"\r\n[style.border]=\"ButtonType == ButtonTypeEnum.Outline && EnabledState ? `${OutlineBorderSize}px solid ${BorderColor}` : '' \"\r\n[style.width]=\"Width + 'px'\"\r\n[style.height]=\"Height + 'px'\"\r\n[style.flex-direction]=\"this._IconOrientation\"\r\n[style.align-items]=\"AlignItems\"\r\n[style.justify-content]=\"JustifyContent\"\r\n[style.padding]=\"Padding\"\r\n[style.cursor]=\"(EnabledState ?? true) ? 'pointer' : 'default'\"\r\n[style.--transition]=\"!EnabledState ? '0s' : '0.05s'\"\r\n[style.--transformHover]=\"!EnabledState ? '1' : '1.05'\"\r\n[style.--transformActive]=\"!EnabledState ? '1' : '0.95'\"\r\n(mouseover)=\"OnMouseOver()\"\r\n(mouseout)=\"OnMouseOut()\"\r\n(click)=\"OnClick()\"\r\ntype=\"button\"\r\n>\r\n <i\r\n class=\"{{Icon}}\"\r\n [style.color]=\"EnabledState ? _IconColor : 'gray'\"\r\n [style.font-size]=\"IconFontSize +'px'\"\r\n [style.display]=\"IconEnabled && !LoadingState ? '' : 'none'\"\r\n [ngStyle]=\"_IconDistanceFromTextObject\"\r\n >\r\n </i>\r\n\r\n <i\r\n class=\"loader\"\r\n [style.width]=\"IconFontSize +'px'\"\r\n [style.height]=\"IconFontSize +'px'\"\r\n [style.display]=\"LoadingState ? 'inline-block' : 'none'\"\r\n [style.--loaderColor]=\"_TextColor\"\r\n [style.--loaderBorderSize]=\"((IconFontSize ?? 12) *0.15)+'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-size]=\"TextFontSize +'px'\"\r\n [style.font-family]=\"TextFontFamily\"\r\n [style.font-weight]=\"TextFontWeight\"\r\n [style.color]=\"EnabledState ? _TextColor : 'gray'\"\r\n [style.display]=\"TextEnabled && !LoadingState ? '' : 'none'\"\r\n >{{Text}}\r\n </p>\r\n\r\n</button>\r\n \r\n", styles: [":host{display:inline-block;vertical-align:top;line-height:0px;--transition: .05s;--transformHover:1.05;--transformActive:.95}button{display:flex;align-items:center;justify-content:center;border:none;padding:0;text-decoration:none;box-shadow:1px 1px 3px 1px #00000059;box-sizing:border-box;transition:.2s}button:hover{transition:var(--transition);transform:scale(var(--transformHover))}button:active{transform:scale(var(--transformActive))}button>i{line-height:0px}button>p{margin:0;line-height:0px}button>.loader{border:var(--loaderBorderSize) solid var(--loaderColor);border-bottom-color:transparent;border-radius:50%;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
583
583
|
}
|
|
584
584
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
585
585
|
type: Component,
|
|
586
|
-
args: [{ selector: 'app-button', standalone: true, imports: [CommonModule], template: "<button\r\n[style.background-color]=\"_BackGroundColor\"\r\n[style.border-radius]=\"(BorderRadius ?? 5).toString()+'px'\"\r\n[style.border]=\"ButtonType == ButtonTypeEnum.Outline && EnabledState ? `${OutlineBorderSize}px solid ${BorderColor}` : '' \"\r\n[style.width]=\"Width + 'px'\"\r\n[style.height]=\"Height + 'px'\"\r\n[style.flex-direction]=\"this._IconOrientation\"\r\n[style.align-items]=\"AlignItems\"\r\n[style.justify-content]=\"JustifyContent\"\r\n[style.padding]=\"Padding\"\r\n[style.cursor]=\"(EnabledState ?? true) ? 'pointer' : 'default'\"\r\n[style.--transition]=\"!EnabledState ? '0s' : '0.05s'\"\r\n[style.--transformHover]=\"!EnabledState ? '1' : '1.05'\"\r\n[style.--transformActive]=\"!EnabledState ? '1' : '0.95'\"\r\n(mouseover)=\"OnMouseOver()\"\r\n(mouseout)=\"OnMouseOut()\"\r\n(click)=\"OnClick()\"\r\ntype=\"button\"\r\n>\r\n <i\r\n class=\"{{Icon}}\"\r\n [style.color]=\"EnabledState ? _IconColor : 'gray'\"\r\n [style.font-size]=\"IconFontSize +'px'\"\r\n [style.display]=\"IconEnabled && !LoadingState ? '' : 'none'\"\r\n [ngStyle]=\"_IconDistanceFromTextObject\"\r\n >\r\n </i>\r\n\r\n <i\r\n class=\"loader\"\r\n [style.width]=\"IconFontSize +'px'\"\r\n [style.height]=\"IconFontSize +'px'\"\r\n [style.display]=\"LoadingState ? 'inline-block' : 'none'\"\r\n [style.--loaderColor]=\"_TextColor\"\r\n [style.--loaderBorderSize]=\"((IconFontSize ?? 12) *0.15)+'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-size]=\"TextFontSize +'px'\"\r\n [style.font-family]=\"TextFontFamily\"\r\n [style.font-weight]=\"TextFontWeight\"\r\n [style.color]=\"EnabledState ? _TextColor : 'gray'\"\r\n [style.display]=\"TextEnabled && !LoadingState ? '' : 'none'\"\r\n >{{Text}}\r\n </p>\r\n\r\n</button>\r\n \r\n", styles: [":host{display:inline-block;vertical-align:top;line-height:0px;--transition: .05s;--transformHover:1.05;--transformActive:.95}button{display:flex;align-items:center;justify-content:center;border:none;padding:0;text-decoration:none;box-shadow:1px 1px 3px 1px #00000059;box-sizing:border-box}button:hover{transition:var(--transition);transform:scale(var(--transformHover))}button:active{transform:scale(var(--transformActive))}button>i{line-height:0px}button>p{margin:0;line-height:0px}button>.loader{border:var(--loaderBorderSize) solid var(--loaderColor);border-bottom-color:transparent;border-radius:50%;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
586
|
+
args: [{ selector: 'app-button', standalone: true, imports: [CommonModule], template: "<button\r\n[style.background-color]=\"_BackGroundColor\"\r\n[style.border-radius]=\"(BorderRadius ?? 5).toString()+'px'\"\r\n[style.border]=\"ButtonType == ButtonTypeEnum.Outline && EnabledState ? `${OutlineBorderSize}px solid ${BorderColor}` : '' \"\r\n[style.width]=\"Width + 'px'\"\r\n[style.height]=\"Height + 'px'\"\r\n[style.flex-direction]=\"this._IconOrientation\"\r\n[style.align-items]=\"AlignItems\"\r\n[style.justify-content]=\"JustifyContent\"\r\n[style.padding]=\"Padding\"\r\n[style.cursor]=\"(EnabledState ?? true) ? 'pointer' : 'default'\"\r\n[style.--transition]=\"!EnabledState ? '0s' : '0.05s'\"\r\n[style.--transformHover]=\"!EnabledState ? '1' : '1.05'\"\r\n[style.--transformActive]=\"!EnabledState ? '1' : '0.95'\"\r\n(mouseover)=\"OnMouseOver()\"\r\n(mouseout)=\"OnMouseOut()\"\r\n(click)=\"OnClick()\"\r\ntype=\"button\"\r\n>\r\n <i\r\n class=\"{{Icon}}\"\r\n [style.color]=\"EnabledState ? _IconColor : 'gray'\"\r\n [style.font-size]=\"IconFontSize +'px'\"\r\n [style.display]=\"IconEnabled && !LoadingState ? '' : 'none'\"\r\n [ngStyle]=\"_IconDistanceFromTextObject\"\r\n >\r\n </i>\r\n\r\n <i\r\n class=\"loader\"\r\n [style.width]=\"IconFontSize +'px'\"\r\n [style.height]=\"IconFontSize +'px'\"\r\n [style.display]=\"LoadingState ? 'inline-block' : 'none'\"\r\n [style.--loaderColor]=\"_TextColor\"\r\n [style.--loaderBorderSize]=\"((IconFontSize ?? 12) *0.15)+'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-size]=\"TextFontSize +'px'\"\r\n [style.font-family]=\"TextFontFamily\"\r\n [style.font-weight]=\"TextFontWeight\"\r\n [style.color]=\"EnabledState ? _TextColor : 'gray'\"\r\n [style.display]=\"TextEnabled && !LoadingState ? '' : 'none'\"\r\n >{{Text}}\r\n </p>\r\n\r\n</button>\r\n \r\n", styles: [":host{display:inline-block;vertical-align:top;line-height:0px;--transition: .05s;--transformHover:1.05;--transformActive:.95}button{display:flex;align-items:center;justify-content:center;border:none;padding:0;text-decoration:none;box-shadow:1px 1px 3px 1px #00000059;box-sizing:border-box;transition:.2s}button:hover{transition:var(--transition);transform:scale(var(--transformHover))}button:active{transform:scale(var(--transformActive))}button>i{line-height:0px}button>p{margin:0;line-height:0px}button>.loader{border:var(--loaderBorderSize) solid var(--loaderColor);border-bottom-color:transparent;border-radius:50%;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
587
587
|
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
588
588
|
|
|
589
589
|
class ListItemService {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightning-tec-br-angular-components.mjs","sources":["../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/icons.enum.ts.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/modal/modal.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/modal/modal.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/fontWeights.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/modal/modal.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/modal/modal.component.html","../../../projects/lightning-tec-br-angular-components/src/public-api.ts","../../../projects/lightning-tec-br-angular-components/src/lightning-tec-br-angular-components.ts"],"sourcesContent":["export enum FormFieldTxtInputTypesEnum{\r\n Text ,\r\n Password ,\r\n Email ,\r\n Number,\r\n Date ,\r\n DateTime,\r\n CellPhone,\r\n}\r\nexport enum FormFieldTypes{\r\n TxtBox,\r\n ComboBox,\r\n}\r\nexport enum FormFieldCountryDataFormat{\r\n Estados_Unidos,\r\n Brasil\r\n}\r\nexport enum FormFieldFontWeights{\r\n Thin = 100,\r\n ExtraLight = 200,\r\n Light = 300,\r\n Regular = 400,\r\n Medium = 500,\r\n SemiBold = 600,\r\n Bold = 700,\r\n Extrabold = 800,\r\n Black = 900,\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { FormFieldModel } from \"./form-field.model\";\r\nimport { AlertModel } from \"../alert/alert.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class FormFieldService{\r\n\r\n public valueChanged = new Subject<FormFieldModel>();\r\n public alertState = new Subject<AlertModel>();\r\n public enterPressed = new Subject<FormFieldModel>();\r\n\r\n}","export class FormFieldModel{\r\n name : string = '';\r\n field : object = {};\r\n internalCall : boolean = false;\r\n}\r\n\r\nexport class FormFielTxtModel{\r\n value : string = '';\r\n}\r\nexport class FormFieldComboModel{\r\n id: number = 0;\r\n value : string = '';\r\n}","\r\nexport enum AlertTypesEnum{\r\n Done,\r\n Alert,\r\n NotDone\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { AlertModel } from \"./alert.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class AlertService{\r\n\r\n public wasOpenned = new Subject<AlertModel>();\r\n public wasClosed = new Subject<AlertModel>();\r\n \r\n}","import { AlertTypesEnum } from \"./alert.enum\";\r\n\r\nexport class AlertModel{\r\n alertsName_DontSet : string = '';\r\n alertsFatherName : string = ''; \r\n top_DontSet : number = 0;\r\n left_DontSet : number = 0\r\n type! : AlertTypesEnum ; \r\n text : string = ''; \r\n isFixPosition : boolean = false; \r\n wasClosed_DontSet: boolean = false;\r\n}\r\n","export enum IconsEnum {\r\n Add = \"fi fi-br-plus\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n AddUser = \"fi fi-sr-user-add\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Box = \"fi fi-tr-box-open\",\r\n Bug = \"fi fi-sr-bug-fix\",\r\n Calendar = \"fi fi-br-calendar\",\r\n CalendarTime = \"fi fi-rr-calendar-clock\",\r\n Camera = \"fi fi-rr-camera\",\r\n Clock = \"fi fi-rr-clock-three\",\r\n Close = \"fi fi-br-cross\",\r\n Close_02 = \"fi fi-sc-cross\",\r\n Company = \"fi fi-rs-building\",\r\n Customize = \"fi fi-ss-customize\",\r\n Dashboard = \"fi fi-sr-chart-simple\",\r\n Delete = \"fi fi-sr-trash\",\r\n Doing_Pending_Fill = \"fi fi-ss-duration-alt\",\r\n Doing_Pending_Outline = \"fi fi-br-duration-alt\",\r\n Done_Fill = \"fi fi-sr-octagon-check\",\r\n Done_OutLine = \"fi fi-rr-check-circle\",\r\n DowloadFile = \"fi fi-sr-file-download\",\r\n Edit = \"fi fi-sr-pencil\",\r\n EditFile = \"fi fi-rr-file-edit\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n FileAlert = \"fi fi-ss-file-circle-info\",\r\n Filter = \"fi fi-sr-filter\",\r\n Hamburger = \"fi fi-br-menu-burger\",\r\n History = \"fi fi-rr-time-past\",\r\n Home = \"fi fi-sr-home\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Key = \"fi fi-sr-key\",\r\n Layers = \"fi fi-rr-layers\",\r\n LayersAdd = \"fi fi-rr-layer-plus\",\r\n Lubrificacao = \"fi fi-rr-oil-can\",\r\n Message = \"fi fi-rr-comment\",\r\n Money = \"fi fi-ss-dollar\",\r\n Money_02 = \"fi fi-ts-sack-dollar\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n Phone = \"fi fi-sr-phone-call\",\r\n Prazo_Atencao = \"fi fi-ss-deadline\",\r\n Refresh = \"fi fi-rr-rotate-right\",\r\n Rotas = \"fi fi-br-route\",\r\n Sales = \"fi fi-rr-shopping-cart\",\r\n Save = \"fi fi-ss-disk\",\r\n Save_Outline = \"fi fi-br-disk\",\r\n Search = \"fi fi-br-search\",\r\n Tools = \"fi fi-br-tools\",\r\n User = \"fi fi-sr-user\",\r\n Users = \"fi fi-sr-users\",\r\n Wallet = \"fi fi-rr-wallet\"\r\n}","import { Component,HostListener,inject,input, OnInit } from '@angular/core';\r\nimport { AlertTypesEnum } from './alert.enum';\r\nimport { AlertService } from './alert.service';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { AlertModel } from './alert.model';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\n\r\n@Component({\r\n selector: 'app-alert',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './alert.component.html',\r\n styleUrl: './alert.component.css'\r\n})\r\nexport class AlertComponent implements OnInit {\r\n\r\n\r\n Name = input.required<string>();\r\n _FontSize = input.required<number>();\r\n _FontFamily = input.required<string>();\r\n _FontWeight = input.required<number>();\r\n _FontColor :string ='white';\r\n _Text : string = '';\r\n\r\n _PositionY : number = 0;\r\n _PositionX : number = 0;\r\n\r\n AlertType! : AlertTypesEnum ;\r\n _Icon : string = '';\r\n BackgroundColor : string = '';\r\n _IconClose : string = '';\r\n\r\n\r\n isVisible : boolean = false;\r\n isFixPosition! : boolean;\r\n\r\n\r\n AlertService = inject(AlertService);\r\n AlertModel! : AlertModel;\r\n\r\n constructor(private cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this._PositionX = 0;\r\n this._PositionY = 0;\r\n this._FontColor = 'white';\r\n this._Icon = '';\r\n this.BackgroundColor = '';\r\n this._IconClose ='';\r\n this.AlertModel = new AlertModel();\r\n\r\n\r\n this._IconClose = IconsEnum.Close;\r\n\r\n\r\n this.startListenToAlertShowed();\r\n\r\n \r\n }\r\n\r\n OnClose(){\r\n this.isVisible = false;\r\n this.AlertModel.alertsName_DontSet = this.Name();\r\n this.AlertModel.wasClosed_DontSet = true;\r\n this.AlertService.wasClosed.next(this.AlertModel);\r\n }\r\n\r\n startListenToAlertShowed(){\r\n this.AlertService.wasOpenned.subscribe((AlertModel : AlertModel)=>{\r\n if(this.Name() == AlertModel.alertsName_DontSet){\r\n this._Text = AlertModel.text;\r\n this.AlertType = AlertModel.type;\r\n this.isFixPosition = AlertModel.isFixPosition;\r\n this.isVisible = true;\r\n switch(this.AlertType){\r\n case (AlertTypesEnum.Done):\r\n this._Icon = IconsEnum.Done_Fill;\r\n this.BackgroundColor = '#008B10';\r\n this._FontColor = 'white'\r\n break;\r\n case (AlertTypesEnum.Alert):\r\n this._Icon = IconsEnum.Alert;\r\n this.BackgroundColor = '#DFCD00';\r\n this._FontColor = 'black'\r\n break;\r\n case (AlertTypesEnum.NotDone):\r\n this._Icon = IconsEnum.NotDone;\r\n this.BackgroundColor = '#D40000';\r\n this._FontColor = 'white'\r\n break;\r\n }\r\n if(this.isFixPosition){\r\n\r\n }else{\r\n this._PositionY = AlertModel.top_DontSet;\r\n this._PositionX = AlertModel.left_DontSet;\r\n }\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n \r\n\r\n\r\n}\r\n","\r\n<div class=\"container\"\r\n[style.display]=\"isFixPosition ? 'flex' : ''\"\r\n[style.position]=\"isFixPosition ? 'fixed' : 'absolute'\"\r\n[style.z-index]=\"1000000000\"\r\n[style.width]=\"isFixPosition ? '100%' : ''\"\r\n[style.padding-top]=\" isFixPosition ? '100px' : '0'\"\r\n[style.top]=\"isFixPosition?'0px':_PositionY+'px'\"\r\n[style.left]=\"isFixPosition?'0px':_PositionX+'px'\"\r\n>\r\n <div class=\"body\"\r\n [style.background-color]=\"BackgroundColor\"\r\n [style.border-radius]=\"(_FontSize()*0.5) + 'px'\"\r\n [style.color]=\"_FontColor\"\r\n [style.display]=\"isVisible ? '' : 'none'\"\r\n\r\n >\r\n \r\n <i class=\"{{_IconClose}}\"\r\n [style.font-size]=\"(_FontSize()*1) + 'px'\"\r\n [style.padding-top]=\"(_FontSize()*0.6) + 'px'\"\r\n [style.padding-right]=\"(_FontSize()*0.6) + 'px'\"\r\n (click)=\"OnClose()\"\r\n >\r\n \r\n </i>\r\n \r\n <div class=\"container-text\"\r\n [style.margin-right]=\"_FontSize() + 'px'\"\r\n [style.padding-top]=\"(_FontSize()*0.4) + 'px'\"\r\n [style.padding-bottom]=\"(_FontSize()*1) + 'px'\"\r\n [style.padding-right]=\"(_FontSize()*1) + 'px'\"\r\n [style.padding-left]=\"(_FontSize()*1) + 'px'\"\r\n >\r\n <i class=\"{{_Icon}}\"\r\n [style.font-size]=\"(_FontSize()*1.2) + 'px'\"\r\n [style.margin-right]=\"(_FontSize()*0.5) + 'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.font-size]=\"_FontSize() + 'px'\"\r\n >\r\n {{_Text}}\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n","import { Component,ElementRef,inject,input, OnInit } from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {FormFieldTxtInputTypesEnum, FormFieldFontWeights,FormFieldCountryDataFormat, FormFieldTypes } from './form-field.enum';\r\nimport { FormFieldService } from './form-field.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormFieldModel,FormFielTxtModel,FormFieldComboModel } from './form-field.model';\r\nimport { AlertComponent } from '../alert/alert.component';\r\nimport { AlertTypesEnum } from '../alert/alert.enum';\r\nimport { AlertService } from '../alert/alert.service';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { AlertModel } from '../alert/alert.model';\r\nimport * as ngxMask from 'ngx-mask';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-form-field',\r\n standalone: true,\r\n imports: [FormsModule,CommonModule,AlertComponent,ngxMask.NgxMaskDirective],\r\n templateUrl: './form-field.component.html',\r\n styleUrl: './form-field.component.css',\r\n})\r\nexport class FormFieldComponent implements OnInit {\r\n\r\n //Template Properties\r\n _Icon = input.required<IconsEnum>();\r\n Name = input.required<string>();\r\n _placeHolderType : string = '';\r\n _placeHolderValue = input.required<string>();\r\n _PasswordIcon :string = IconsEnum.EyeOpen;\r\n _IconColor = input.required<string>();\r\n _FontColor = input.required<string>();\r\n _FontSize = input.required<number>();\r\n _FontFamily = input.required<string>();\r\n _FontWeight = input.required<FormFieldFontWeights>();\r\n _Options = input.required<FormFieldComboModel[]>();\r\n _Width = input.required<number>();\r\n _Height = input.required<number>();\r\n _Border = input.required<string>();\r\n _BorderRadius = input.required<number>();\r\n _BoxShadowsEnabled = input.required<boolean>();\r\n \r\n \r\n //Internal Properties\r\n TxtInputType = input.required<FormFieldTxtInputTypesEnum>();\r\n IconEnabled = input.required<boolean>();\r\n CountryDataFormat = input.required<FormFieldCountryDataFormat>();\r\n text : string = '';\r\n _AlertState : boolean = false;\r\n FieldType = input.required<FormFieldTypes>()\r\n valueFromService! : string;\r\n\r\n //ngxMask\r\n Mask : string = \"\";\r\n NumberMaskPrefix =input.required<string>();\r\n Sufixo : string = \"\";\r\n NumberMaskSufix =input.required<string>();\r\n showMaskTyped : boolean = false;\r\n thousandSeparator : string = \".\";\r\n NCasasDecimais = input.required<number>();\r\n\r\n\r\n FormFieldModel = new FormFieldModel();\r\n FormFielTxtModel = new FormFielTxtModel();\r\n FormFieldComboModel = new FormFieldComboModel();\r\n readonly AlertTypesEnum = AlertTypesEnum;\r\n readonly IconsEnum = IconsEnum;\r\n readonly FormFieldTxtInputTypesEnum = FormFieldTxtInputTypesEnum;\r\n readonly FormFieldDataFormat = FormFieldCountryDataFormat;\r\n readonly FormFieldTypes = FormFieldTypes;\r\n\r\n //Services\r\n FormFieldService = inject(FormFieldService);\r\n AlertService = inject(AlertService);\r\n\r\n\r\n constructor(private element : ElementRef, private cd : ChangeDetectorRef){}\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n //Limpa as Memórias de Estado\r\n this._placeHolderType = '';\r\n this._AlertState = false;\r\n this.FormFieldModel.name = '';\r\n\r\n\r\n this.FormFieldModel.name = this.Name();\r\n\r\n this.startListenToAlertState();\r\n this.startListenToTextChange();\r\n\r\n if(this.FieldType() == FormFieldTypes.TxtBox) this.configMask();\r\n\r\n }\r\n\r\n onTxtChange(){\r\n //this.FormFielTxtModel.value está mudando no template pelo ngModel\r\n this.FormFieldModel.name = this.Name();\r\n this.FormFieldModel.field = this.FormFielTxtModel;\r\n this.FormFieldModel.internalCall = true;\r\n this.FormFieldService.valueChanged.next(this.FormFieldModel);\r\n }\r\n onComboChange(){\r\n //this.FormFielComboModel.value está mudando no template pelo ngModel\r\n this.FormFieldModel.name = this.Name();\r\n this.FormFieldComboModel.id = this.getIDFromOption(this.FormFieldComboModel.value);\r\n this.FormFieldModel.field = this.FormFieldComboModel;\r\n this.FormFieldModel.internalCall = true;\r\n this.FormFieldService.valueChanged.next(this.FormFieldModel);\r\n }\r\n\r\n startListenToTextChange(){\r\n this.FormFieldService.valueChanged.subscribe((model:FormFieldModel)=>{\r\n\r\n if(model.name == this.Name() && !model.internalCall){\r\n\r\n if(this.FieldType() == FormFieldTypes.TxtBox){\r\n this.FormFielTxtModel.value = (model.field as FormFielTxtModel).value\r\n this.onTxtChange();\r\n }\r\n\r\n if(this.FieldType() == FormFieldTypes.ComboBox){\r\n for(let i=0; i<this._Options().length;i++){\r\n if(this._Options()[i].value.includes((model.field as FormFieldComboModel).value)){\r\n this.FormFieldComboModel.value = this._Options()[i].value;\r\n break;\r\n }\r\n this.FormFieldComboModel.value = '';\r\n\r\n }\r\n this.onComboChange()\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n \r\n\r\n startListenToAlertState(){\r\n this.FormFieldService.alertState.subscribe((callerData:AlertModel)=>{\r\n if(this.Name() == callerData.alertsFatherName){\r\n callerData.top_DontSet = this.element.nativeElement.getBoundingClientRect().top - (this.element.nativeElement.offsetHeight*1.5)\r\n callerData.left_DontSet = this.element.nativeElement.getBoundingClientRect().left\r\n callerData.alertsName_DontSet = this.FormFieldModel.name +'-alert';\r\n this.AlertService.wasOpenned.next(callerData);\r\n } \r\n })\r\n }\r\n\r\n togglePasswordView(){\r\n\r\n if(this._PasswordIcon == IconsEnum.EyeClose){\r\n\r\n this._PasswordIcon = IconsEnum.EyeOpen\r\n this._placeHolderType = 'password';\r\n\r\n }else{\r\n\r\n this._PasswordIcon = IconsEnum.EyeClose\r\n this._placeHolderType = 'text';\r\n \r\n }\r\n \r\n }\r\n\r\n configMask(){\r\n\r\n switch(this.TxtInputType()){\r\n\r\n case (FormFieldTxtInputTypesEnum.Text):\r\n this._placeHolderType = 'text';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = false;\r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.Password):\r\n this._placeHolderType = 'password';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = false;\r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.Email):\r\n this._placeHolderType = 'text';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = false;\r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.Number):\r\n this._placeHolderType = 'text';\r\n this.Mask = \"separator.\"+this.NCasasDecimais().toString()\r\n this.Sufixo = this.NumberMaskSufix();\r\n this.showMaskTyped = false;\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Brasil){\r\n this.thousandSeparator = \".\"\r\n }\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Estados_Unidos){\r\n this.thousandSeparator = \",\"\r\n } \r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.Date):\r\n this._placeHolderType = 'date';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = true;\r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.DateTime):\r\n this._placeHolderType = 'datetime-local';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = true;\r\n break;\r\n\r\n case(FormFieldTxtInputTypesEnum.CellPhone):\r\n this._placeHolderType = 'tel';\r\n this.showMaskTyped = true;\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Brasil){\r\n this.Mask = \"(00) 0 0000-0000\"\r\n }\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Estados_Unidos){\r\n this.Mask = \"(000) 000-0000\"\r\n } \r\n break;\r\n }\r\n }\r\n\r\n getIDFromOption(valueText : string) : number{\r\n\r\n for(var i=0; i< this._Options().length;i++){\r\n if(valueText == this._Options()[i].value) return this._Options()[i].id\r\n }\r\n return 0\r\n }\r\n\r\n enterPressed(){\r\n this.FormFieldModel.name = this.Name();\r\n this.FormFieldService.enterPressed.next(this.FormFieldModel);\r\n }\r\n\r\n\r\n \r\n}\r\n\r\n\r\n\r\n\r\n","\r\n@if(FieldType() == FormFieldTypes.TxtBox){\r\n\r\n <div class=\"container\" \r\n [style.width]=\"_Width() +'px'\"\r\n [style.height]=\"_Height() +'px'\"\r\n [style.border-radius]=\" _BorderRadius() +'px'\"\r\n [style.border]=\"_Border()\"\r\n [ngStyle]=\" _BoxShadowsEnabled() ?\r\n {'box-shadow':'\r\n rgb(204, 219, 232)'+ (_FontSize()*0.1875) + 'px '+ (_FontSize()*0.1875) + 'px '+ (_FontSize()*0.375) + 'px 0px inset' + ',' + \r\n 'rgba(255, 255, 255, 0.5)'+ (_FontSize()*-0.1875) + 'px '+ (_FontSize()*-0.1875) + 'px '+ (_FontSize()*0.375) + 'px '+ (_FontSize()*0.0625) + 'px inset'\r\n } : {}\r\n \">\r\n\r\n <i class=\"{{_Icon()}} icon\"\r\n [style.color]=\"_IconColor()\"\r\n [style.font-size]=\"(_FontSize()*1.25) +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.5625) +'px'\"\r\n [style.display]=\"IconEnabled() ? '' : 'none'\"\r\n ></i>\r\n\r\n <input\r\n\r\n [(ngModel)]=\"this.FormFielTxtModel.value\"\r\n (ngModelChange)=\"onTxtChange()\"\r\n prefix=\"{{NumberMaskPrefix()}}\"\r\n suffix=\"{{Sufixo}}\"\r\n mask=\"{{Mask}}\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [allowNegativeNumbers]=\"TxtInputType() == FormFieldTxtInputTypesEnum.Number ? true : false\"\r\n thousandSeparator=\"{{thousandSeparator}}\"\r\n (keydown.enter)=\"enterPressed()\"\r\n\r\n type=\"{{_placeHolderType}}\"\r\n name=\"{{Name()}}\"\r\n placeholder=\"{{_placeHolderValue()}}\"\r\n [style.color]=\"_FontColor()\"\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.font-size]=\"_FontSize()+'px'\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.width]=\"_Width() +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.500) +'px'\"\r\n >\r\n\r\n <i class=\"{{_PasswordIcon}}\"\r\n (click)=\"togglePasswordView()\"\r\n [style.cursor]=\"'pointer'\"\r\n [style.color]=\"_IconColor()\"\r\n [style.font-size]=\"(_FontSize()*1.25) +'px'\"\r\n [style.margin-right]=\"(_FontSize()*0.5625) +'px'\"\r\n [style.display]=\"TxtInputType() == FormFieldTxtInputTypesEnum.Password ? '' : 'none'\"\r\n ></i>\r\n </div>\r\n}@else {\r\n\r\n <div class=\"container\"\r\n [style.width]=\"_Width() +'px'\"\r\n [style.height]=\"_Height() +'px'\"\r\n [style.padding]=\"(_FontSize()*0.4) +'px' + ' ' + (_FontSize()*0.8) +'px'\" \r\n [style.border-radius]=\" _BorderRadius() +'px'\"\r\n [style.border]=\"_Border()\"\r\n [ngStyle]=\" _BoxShadowsEnabled() ?\r\n {'box-shadow':'\r\n rgb(204, 219, 232)'+ (_FontSize()*0.1875) + 'px '+ (_FontSize()*0.1875) + 'px '+ (_FontSize()*0.375) + 'px 0px inset' + ',' + \r\n 'rgba(255, 255, 255, 0.5)'+ (_FontSize()*-0.1875) + 'px '+ (_FontSize()*-0.1875) + 'px '+ (_FontSize()*0.375) + 'px '+ (_FontSize()*0.0625) + 'px inset'\r\n } : {}\r\n \">\r\n <select\r\n [(ngModel)]=\"this.FormFieldComboModel.value\"\r\n (ngModelChange)=\"onComboChange()\"\r\n [style.color]=\"_FontColor()\"\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.font-size]=\"_FontSize()+'px'\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.width]=\"_Width() +'px'\"\r\n [style.height]=\"_Height() +'px'\"\r\n\r\n >\r\n @for(option of _Options() ; track $index ){\r\n <option>{{option.value}}</option>\r\n }\r\n </select>\r\n </div>\r\n}\r\n\r\n\r\n<app-alert\r\n[Name]=\"Name()+'-alert'\"\r\n[_FontSize]=\"_FontSize()\"\r\n[_FontFamily]=\"_FontFamily()\"\r\n[_FontWeight]=\"_FontWeight()\"\r\n/>\r\n\r\n\r\n\r\n\r\n","export enum ButtonTypeEnum{\r\n Normal,\r\n Outline\r\n}\r\nexport enum ButtonIconPositionEnum{\r\n Top,\r\n Right,\r\n Bottom,\r\n Left\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { ButtonConfigModel } from \"./button.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ButtonService{\r\n\r\n public click = new Subject<string>();\r\n public stateChanged = new Subject<ButtonConfigModel>();\r\n\r\n}","import { ButtonIconPositionEnum, ButtonTypeEnum } from \"../button/button.enum\";\r\nimport { FontWeights } from \"../fontWeights.enum\";\r\nimport { IconsEnum } from \"../icons.enum.ts\";\r\nexport class ButtonConfigModel{\r\n constructor(params:{\r\n Name:string,\r\n Width?:number,\r\n Height?:number,\r\n ButtonType?:ButtonTypeEnum,\r\n BorderRadius?:number,\r\n AlignItems?:string,\r\n JustifyContent?:string,\r\n Padding?:string,\r\n IconEnabled?:boolean,\r\n Icon?:IconsEnum,\r\n IconFontSize?:number,\r\n IconDistanceFromtext?:number,\r\n IconColorNormal?:string,\r\n IconColorHover?:string,\r\n IconOrientation?:ButtonIconPositionEnum,\r\n TextEnabled?:boolean,\r\n Text?:string,\r\n TextFontSize?:number,\r\n TextFontWeight?:FontWeights,\r\n TextFontFamily?:string,\r\n TextColorNormal?:string,\r\n TextColorHover?:string,\r\n BackGroundColorNormal?:string,\r\n BackGroundColorHover?:string,\r\n LoadingState?:boolean,\r\n EnabledState?:boolean,\r\n OutlineBorderSize?:number\r\n }){\r\n\r\n this.Name = params.Name;\r\n this.Width = params.Width;\r\n this.Height = params.Height;\r\n this.ButtonType = params.ButtonType;\r\n this.BorderRadius = params.BorderRadius;\r\n this.AlignItems = params.AlignItems;\r\n this.JustifyContent = params.JustifyContent;\r\n this.Padding = params.Padding;\r\n this.IconEnabled = params.IconEnabled;\r\n this.Icon = params.Icon;\r\n this.IconFontSize = params.IconFontSize;\r\n this.IconDistanceFromtext = params.IconDistanceFromtext;\r\n this.IconColorNormal = params.IconColorNormal;\r\n this.IconColorHover = params.IconColorHover;\r\n this.IconOrientation = params.IconOrientation;\r\n this.TextEnabled = params.TextEnabled;\r\n this.Text = params.Text;\r\n this.TextFontSize = params.TextFontSize;\r\n this.TextFontWeight = params.TextFontWeight;\r\n this.TextFontFamily = params.TextFontFamily;\r\n this.TextColorNormal = params.TextColorNormal;\r\n this.TextColorHover = params.TextColorHover;\r\n this.BackGroundColorNormal = params.BackGroundColorNormal;\r\n this.BackGroundColorHover = params.BackGroundColorHover;\r\n this.LoadingState = params.LoadingState;\r\n this.EnabledState = params.EnabledState;\r\n this.OutlineBorderSize = params.OutlineBorderSize;\r\n \r\n }\r\n public Name?:string;\r\n public Width?:number;\r\n public Height?:number;\r\n public ButtonType?:ButtonTypeEnum;\r\n public BorderRadius?:number;\r\n public AlignItems?:string;\r\n public JustifyContent?:string;\r\n public Padding?:string;\r\n public IconEnabled?:boolean;\r\n public Icon?:IconsEnum;\r\n public IconFontSize?:number;\r\n public IconDistanceFromtext?:number;\r\n public IconColorNormal?:string;\r\n public IconColorHover?:string;\r\n public IconOrientation?:ButtonIconPositionEnum;\r\n public TextEnabled?:boolean;\r\n public Text?:string;\r\n public TextFontSize?:number;\r\n public TextFontWeight?:FontWeights;\r\n public TextFontFamily?:string;\r\n public TextColorNormal?:string;\r\n public TextColorHover?:string;\r\n public BackGroundColorNormal?:string;\r\n public BackGroundColorHover?:string;\r\n public LoadingState?:boolean;\r\n public EnabledState?:boolean;\r\n public OutlineBorderSize?:number;\r\n}","import { Component, ElementRef, OnDestroy, OnInit, inject, input } from '@angular/core';\r\nimport { ButtonIconPositionEnum, ButtonTypeEnum } from './button.enum';\r\nimport { ButtonService } from './button.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonConfigModel } from './button.model';\r\nimport { AlertService } from '../alert/alert.service';\r\nimport { AlertTypesEnum } from '../alert/alert.enum';\r\nimport { AlertModel } from '../alert/alert.model';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\nimport { FontWeights } from '../fontWeights.enum';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.css'\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n\r\n name = input.required<string>();\r\n _name! : string;\r\n ButtonService = inject(ButtonService);\r\n AlertService = inject(AlertService);\r\n AlertModel = new AlertModel();\r\n readonly AlertTypesEnum = AlertTypesEnum;\r\n readonly ButtonTypeEnum = ButtonTypeEnum;\r\n\r\n configModel:ButtonConfigModel = new ButtonConfigModel({\r\n Name:''\r\n });\r\n\r\n _IconOrientation!:string;\r\n _IconDistanceFromTextObject!:object;\r\n _BackGroundColor!:string;\r\n _IconColor!:string;\r\n _TextColor!:string;\r\n\r\n Width?:number;\r\n Height?:number;\r\n ButtonType?:ButtonTypeEnum;\r\n BorderRadius?:number;\r\n AlignItems?:string;\r\n JustifyContent?:string;\r\n Padding?:string;\r\n IconEnabled?:boolean;\r\n Icon?:IconsEnum;\r\n IconFontSize?:number;\r\n IconDistanceFromtext?:number;\r\n IconColorNormal?:string;\r\n IconColorHover?:string;\r\n IconOrientation?:ButtonIconPositionEnum;\r\n TextEnabled?:boolean;\r\n Text?:string;\r\n TextFontSize?:number;\r\n TextFontWeight?:FontWeights;\r\n TextFontFamily?:string;\r\n TextColorNormal?:string;\r\n TextColorHover?:string;\r\n BackGroundColorNormal?:string;\r\n BackGroundColorHover?:string;\r\n LoadingState?:boolean;\r\n EnabledState?:boolean;\r\n OutlineBorderSize?:number;\r\n\r\n BorderColor?:string;\r\n\r\n \r\n constructor(private element : ElementRef){}\r\n\r\n ngOnInit(): void {\r\n this._name = this.name();\r\n this.startListenToStateChanged();\r\n }\r\n OnMouseOver(){\r\n\r\n this._BackGroundColor = this.BackGroundColorHover ?? 'white';\r\n this._IconColor = this.IconColorHover ?? 'white';\r\n this._TextColor = this.TextColorHover ?? 'white';\r\n this.BorderColor = this.BackGroundColorHover;\r\n\r\n }\r\n OnMouseOut(){\r\n\r\n if(this.ButtonType == ButtonTypeEnum.Normal){\r\n this._BackGroundColor = this.BackGroundColorNormal ?? 'white';\r\n }else{\r\n this._BackGroundColor = 'transparent';\r\n this.BorderColor = this.BackGroundColorNormal;\r\n }\r\n\r\n this._IconColor = this.IconColorNormal ?? 'white';\r\n this._TextColor = this.TextColorNormal ?? 'white';\r\n }\r\n OnClick(){\r\n if(this.EnabledState) this.ButtonService.click.next(this._name);\r\n }\r\n startListenToStateChanged(){\r\n this.ButtonService.stateChanged\r\n .subscribe((config:ButtonConfigModel)=>{\r\n if(config.Name == this.name()){\r\n this.Width = config.Width ?? this.Width;\r\n this.Height = config.Height ?? this.Height;\r\n this.ButtonType = config.ButtonType ?? this.ButtonType;\r\n this.BorderRadius = config.BorderRadius ?? this.BorderRadius;\r\n this.AlignItems = config.AlignItems ?? this.AlignItems;\r\n this.JustifyContent = config.JustifyContent ?? this.JustifyContent;\r\n this.Padding = config.Padding ?? this.Padding;\r\n this.IconEnabled = config.IconEnabled ?? this.IconEnabled;\r\n this.Icon = config.Icon ?? this.Icon;\r\n this.IconFontSize = config.IconFontSize ?? this.IconFontSize;\r\n this.IconDistanceFromtext = config.IconDistanceFromtext ?? this.IconDistanceFromtext;\r\n this.IconColorNormal = config.IconColorNormal ?? this.IconColorNormal;\r\n this.IconColorHover = config.IconColorHover ?? this.IconColorHover;\r\n this.IconOrientation = config.IconOrientation ?? this.IconOrientation;\r\n this.TextEnabled = config.TextEnabled ?? this.TextEnabled;\r\n this.Text = config.Text ?? this.Text;\r\n this.TextFontSize = config.TextFontSize ?? this.TextFontSize;\r\n this.TextFontWeight = config.TextFontWeight ?? this.TextFontWeight;\r\n this.TextFontFamily = config.TextFontFamily ?? this.TextFontFamily;\r\n this.TextColorNormal = config.TextColorNormal ?? this.TextColorNormal;\r\n this.TextColorHover = config.TextColorHover ?? this.TextColorHover;\r\n this.BackGroundColorNormal = config.BackGroundColorNormal ?? this.BackGroundColorNormal;\r\n this.BackGroundColorHover = config.BackGroundColorHover ?? this.BackGroundColorHover;\r\n this.LoadingState = config.LoadingState ?? this.LoadingState;\r\n this.EnabledState = config.EnabledState ?? this.EnabledState;\r\n this.OutlineBorderSize = config.OutlineBorderSize ?? this.OutlineBorderSize;\r\n this.defineIconOrientation();\r\n this.OnMouseOut();\r\n }\r\n })\r\n }\r\n defineIconOrientation(){\r\n switch (this.IconOrientation){\r\n case (ButtonIconPositionEnum.Top):\r\n this._IconOrientation = 'column'\r\n this._IconDistanceFromTextObject = this.TextEnabled ? {'margin-bottom': (this.IconDistanceFromtext ?? 5).toString() + 'px'} : {};\r\n break\r\n case (ButtonIconPositionEnum.Right):\r\n this._IconOrientation = 'row-reverse'\r\n this._IconDistanceFromTextObject = this.TextEnabled ? {'margin-left': (this.IconDistanceFromtext ?? 5).toString() + 'px'} : {}\r\n break\r\n case (ButtonIconPositionEnum.Bottom):\r\n this._IconOrientation = 'column-reverse'\r\n this._IconDistanceFromTextObject = this.TextEnabled ? {'margin-top': (this.IconDistanceFromtext ?? 5).toString() + 'px'} : {}\r\n break\r\n case (ButtonIconPositionEnum.Left):\r\n this._IconDistanceFromTextObject = this.TextEnabled ? {'margin-right': (this.IconDistanceFromtext ?? 5).toString() + 'px'} : {}\r\n break\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","<button\r\n[style.background-color]=\"_BackGroundColor\"\r\n[style.border-radius]=\"(BorderRadius ?? 5).toString()+'px'\"\r\n[style.border]=\"ButtonType == ButtonTypeEnum.Outline && EnabledState ? `${OutlineBorderSize}px solid ${BorderColor}` : '' \"\r\n[style.width]=\"Width + 'px'\"\r\n[style.height]=\"Height + 'px'\"\r\n[style.flex-direction]=\"this._IconOrientation\"\r\n[style.align-items]=\"AlignItems\"\r\n[style.justify-content]=\"JustifyContent\"\r\n[style.padding]=\"Padding\"\r\n[style.cursor]=\"(EnabledState ?? true) ? 'pointer' : 'default'\"\r\n[style.--transition]=\"!EnabledState ? '0s' : '0.05s'\"\r\n[style.--transformHover]=\"!EnabledState ? '1' : '1.05'\"\r\n[style.--transformActive]=\"!EnabledState ? '1' : '0.95'\"\r\n(mouseover)=\"OnMouseOver()\"\r\n(mouseout)=\"OnMouseOut()\"\r\n(click)=\"OnClick()\"\r\ntype=\"button\"\r\n>\r\n <i\r\n class=\"{{Icon}}\"\r\n [style.color]=\"EnabledState ? _IconColor : 'gray'\"\r\n [style.font-size]=\"IconFontSize +'px'\"\r\n [style.display]=\"IconEnabled && !LoadingState ? '' : 'none'\"\r\n [ngStyle]=\"_IconDistanceFromTextObject\"\r\n >\r\n </i>\r\n\r\n <i\r\n class=\"loader\"\r\n [style.width]=\"IconFontSize +'px'\"\r\n [style.height]=\"IconFontSize +'px'\"\r\n [style.display]=\"LoadingState ? 'inline-block' : 'none'\"\r\n [style.--loaderColor]=\"_TextColor\"\r\n [style.--loaderBorderSize]=\"((IconFontSize ?? 12) *0.15)+'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-size]=\"TextFontSize +'px'\"\r\n [style.font-family]=\"TextFontFamily\"\r\n [style.font-weight]=\"TextFontWeight\"\r\n [style.color]=\"EnabledState ? _TextColor : 'gray'\"\r\n [style.display]=\"TextEnabled && !LoadingState ? '' : 'none'\"\r\n >{{Text}}\r\n </p>\r\n\r\n</button>\r\n \r\n","import {Injectable } from \"@angular/core\";\r\nimport { Subject, Subscriber } from 'rxjs';\r\nimport { ListItemConfigModel } from \"./list-item.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ListItemService{\r\n public stateChanged = new Subject<ListItemConfigModel>();\r\n public onClick = new Subject<string>();\r\n}","export enum ListItemTypeEnum{\r\n Normal = 'row',\r\n Reverse = 'row-reverse'\r\n}\r\nexport enum ListItemTextAlignEnum{\r\n Left = 'left',\r\n Center = 'center',\r\n Right = 'right'\r\n}\r\nexport enum ListItemItemNumberPositionEnum{\r\n Top = 'flex-start',\r\n Middle = 'center'\r\n}","import { Component,input, OnInit,inject } from '@angular/core';\r\nimport { ListItemService } from './list-item.service';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\nimport { ListItemConfigModel } from './list-item.model';\r\nimport { ListItemTextAlignEnum, ListItemTypeEnum } from './list-item.enum';\r\nimport { FontWeights } from '../fontWeights.enum';\r\nimport { ListItemItemNumberPositionEnum } from '../list-item/list-item.enum';\r\n\r\n\r\n@Component({\r\n selector: 'app-list-item',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './list-item.component.html',\r\n styleUrl: './list-item.component.css'\r\n})\r\nexport class ListItemComponent implements OnInit {\r\n\r\n //Internas\r\n _mouseover : boolean = false;\r\n\r\n readonly ListItemTypesEnum = ListItemTypeEnum;\r\n readonly ListItemItemNumberPositionEnum = ListItemItemNumberPositionEnum;\r\n\r\n //Services\r\n ListItemService = inject(ListItemService);\r\n\r\n //Model\r\n name = input.required<string>();\r\n ListItemType?: ListItemTypeEnum;\r\n OpenState?:boolean;\r\n Width?:number;\r\n Height?:number;\r\n BorderRadius?:number;\r\n\r\n ItemNumberIconContainerWidth?:number;\r\n ItemNumberIconBackGroundColorNormal?:string;\r\n ItemNumberIconBackGroundColorHover?:string;\r\n\r\n TitlesContainerWidth?:number;\r\n TitlesBackGroundColorNormal?:string;\r\n TitlesBackGroundColorHover?:string;\r\n TitlesContainerPadding?:number;\r\n\r\n TriggerIconContainerWidth?:number;\r\n TriggerIconBackGroundColorNormal?:string;\r\n TriggerIconBackGroundColorHover?:string;\r\n\r\n ItemNumberEnabled?: boolean;\r\n ItemNumberText?: string;\r\n ItemNumberFontFamily?: string;\r\n ItemNumberFontWeight?: FontWeights;\r\n ItemNumberFontColorNormal?: string;\r\n ItemNumberFontColorHover?: string;\r\n ItemNumberFontSize?: number;\r\n ItemNumberPosition?: ListItemItemNumberPositionEnum;\r\n\r\n IconEnabled?: boolean;\r\n Icon?: IconsEnum;\r\n IconFontColorNormal?: string;\r\n IconFontColorHover?: string;\r\n IconFontSize?: number;\r\n\r\n TitleEnabled?: boolean;\r\n TitleText?: string;\r\n TitleFontFamily?: string;\r\n TitleFontWeight?: FontWeights;\r\n TitleFontColorNormal?: string;\r\n TitleFontColorHover?: string;\r\n TitleFontSize?: number;\r\n TitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n SubTitleEnabled?: boolean;\r\n SubTitleText?: string;\r\n SubTitleFontFamily?: string;\r\n SubTitleFontWeight?: FontWeights;\r\n SubTitleFontColorNormal?: string;\r\n SubTitleFontColorHover?: string;\r\n SubTitleFontSize?: number;\r\n SubTitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n TriggerIconEnabled?: boolean;\r\n TriggerIconClose?: IconsEnum;\r\n TriggerIconOpen?: IconsEnum;\r\n TriggerIconFontColorNormal?: string;\r\n TriggerIconFontColorHover?: string;\r\n TriggerIconFontSize?: number;\r\n TriggerIconRotationEnabled?:boolean;\r\n\r\n ContainerWrappedBackGroundColor?:string;\r\n\r\n ngOnInit(): void {\r\n\r\n this.startListenToStateChanged();\r\n\r\n }\r\n onClick(){\r\n this.ListItemService.onClick.next(this.name())\r\n }\r\n\r\n startListenToStateChanged(): void {\r\n this.ListItemService.stateChanged\r\n .subscribe((config: ListItemConfigModel) => {\r\n if (config.Name === this.name()) {\r\n\r\n this.ListItemType = config.ListItemType ?? this.ListItemType;\r\n this.OpenState = config.OpenState ?? this.OpenState;\r\n this.Width = config.Width ?? this.Width;\r\n this.Height = config.Height ?? this.Height;\r\n this.BorderRadius = config.BorderRadius ?? this.BorderRadius;\r\n\r\n this.ItemNumberIconContainerWidth = config.ItemNumberIconContainerWidth ?? this.ItemNumberIconContainerWidth;\r\n this.ItemNumberIconBackGroundColorNormal = config.ItemNumberIconBackGroundColorNormal ?? this.ItemNumberIconBackGroundColorNormal;\r\n this.ItemNumberIconBackGroundColorHover = config.ItemNumberIconBackGroundColorHover ?? this.ItemNumberIconBackGroundColorHover;\r\n\r\n this.TitlesContainerWidth = config.TitlesContainerWidth ?? this.TitlesContainerWidth;\r\n this.TitlesBackGroundColorNormal = config.TitlesBackGroundColorNormal ?? this.TitlesBackGroundColorNormal;\r\n this.TitlesBackGroundColorHover = config.TitlesBackGroundColorHover ?? this.TitlesBackGroundColorHover;\r\n this.TitlesContainerPadding = config.TitlesContainerPadding ?? this.TitlesContainerPadding;\r\n\r\n this.TriggerIconContainerWidth = config.TriggerIconContainerWidth ?? this.TriggerIconContainerWidth;\r\n this.TriggerIconBackGroundColorNormal = config.TriggerIconBackGroundColorNormal ?? this.TriggerIconBackGroundColorNormal;\r\n this.TriggerIconBackGroundColorHover = config.TriggerIconBackGroundColorHover ?? this.TriggerIconBackGroundColorHover;\r\n\r\n this.ItemNumberEnabled = config.ItemNumberEnabled ?? this.ItemNumberEnabled;\r\n this.ItemNumberText = config.ItemNumberText ?? this.ItemNumberText;\r\n this.ItemNumberFontFamily = config.ItemNumberFontFamily ?? this.ItemNumberFontFamily;\r\n this.ItemNumberFontWeight = config.ItemNumberFontWeight ?? this.ItemNumberFontWeight;\r\n this.ItemNumberFontColorNormal = config.ItemNumberFontColorNormal ?? this.ItemNumberFontColorNormal;\r\n this.ItemNumberFontColorHover = config.ItemNumberFontColorHover ?? this.ItemNumberFontColorHover;\r\n this.ItemNumberFontSize = config.ItemNumberFontSize ?? this.ItemNumberFontSize;\r\n this.ItemNumberPosition = config.ItemNumberPosition ?? this.ItemNumberPosition;\r\n\r\n this.IconEnabled = config.IconEnabled ?? this.IconEnabled;\r\n this.Icon = config.Icon ?? this.Icon;\r\n this.IconFontColorNormal = config.IconFontColorNormal ?? this.IconFontColorNormal;\r\n this.IconFontColorHover = config.IconFontColorHover ?? this.IconFontColorHover;\r\n this.IconFontSize = config.IconFontSize ?? this.IconFontSize;\r\n\r\n this.TitleEnabled = config.TitleEnabled ?? this.TitleEnabled;\r\n this.TitleText = config.TitleText ?? this.TitleText;\r\n this.TitleFontFamily = config.TitleFontFamily ?? this.TitleFontFamily;\r\n this.TitleFontWeight = config.TitleFontWeight ?? this.TitleFontWeight;\r\n this.TitleFontColorNormal = config.TitleFontColorNormal ?? this.TitleFontColorNormal;\r\n this.TitleFontColorHover = config.TitleFontColorHover ?? this.TitleFontColorHover;\r\n this.TitleFontSize = config.TitleFontSize ?? this.TitleFontSize;\r\n this.TitleTextAlign = config.TitleTextAlign ?? this.TitleTextAlign;\r\n\r\n\r\n this.SubTitleEnabled = config.SubTitleEnabled ?? this.SubTitleEnabled;\r\n this.SubTitleText = config.SubTitleText ?? this.SubTitleText;\r\n this.SubTitleFontFamily = config.SubTitleFontFamily ?? this.SubTitleFontFamily;\r\n this.SubTitleFontWeight = config.SubTitleFontWeight ?? this.SubTitleFontWeight;\r\n this.SubTitleFontColorNormal = config.SubTitleFontColorNormal ?? this.SubTitleFontColorNormal;\r\n this.SubTitleFontColorHover = config.SubTitleFontColorHover ?? this.SubTitleFontColorHover;\r\n this.SubTitleFontSize = config.SubTitleFontSize ?? this.SubTitleFontSize;\r\n this.SubTitleTextAlign = config.SubTitleTextAlign ?? this.SubTitleTextAlign;\r\n\r\n this.TriggerIconEnabled = config.TriggerIconEnabled ?? this.TriggerIconEnabled;\r\n this.TriggerIconClose = config.TriggerIconClose ?? this.TriggerIconClose;\r\n this.TriggerIconOpen = config.TriggerIconOpen ?? this.TriggerIconOpen;\r\n this.TriggerIconFontColorNormal = config.TriggerIconFontColorNormal ?? this.TriggerIconFontColorNormal;\r\n this.TriggerIconFontColorHover = config.TriggerIconFontColorHover ?? this.TriggerIconFontColorHover;\r\n this.TriggerIconFontSize = config.TriggerIconFontSize ?? this.TriggerIconFontSize;\r\n this.TriggerIconRotationEnabled = config.TriggerIconRotationEnabled ?? this.TriggerIconRotationEnabled;\r\n\r\n this.ContainerWrappedBackGroundColor = config.ContainerWrappedBackGroundColor ?? this.ContainerWrappedBackGroundColor;\r\n\r\n }\r\n });\r\n }\r\n\r\n setMouseOver(state:boolean){\r\n this._mouseover = state;\r\n }\r\n\r\n}\r\n","<div class=\"wrapper\"\r\n[style.width]=\"Width+'px'\"\r\n[style.border-radius]=\"BorderRadius+'px'\"\r\n[style.box-shadow]=\"'rgba(0, 0, 0, 0.24) 0px 3px 8px'\"\r\n>\r\n <div class=\"container\"\r\n [style.height]=\"Height+'px'\"\r\n [style.border-radius]=\"BorderRadius+'px'\"\r\n [style.flex-direction]=\"ListItemType?.toString()\"\r\n (mouseover)=\"setMouseOver(true)\"\r\n (mouseout)=\"setMouseOver(false)\"\r\n (click)=\"onClick()\"\r\n >\r\n\r\n <div class=\"iconContainer\"\r\n [style.width]=\"ItemNumberIconContainerWidth+'px'\"\r\n [style.background-color]=\"_mouseover ? ItemNumberIconBackGroundColorHover : ItemNumberIconBackGroundColorNormal\"\r\n >\r\n <p class=\"ItemNumber\"\r\n [style.display]=\"ItemNumberEnabled ? '' : 'none'\"\r\n [style.font-family]=\"ItemNumberFontFamily\"\r\n [style.font-weight]=\"ItemNumberFontWeight\"\r\n [style.color]=\"_mouseover ? ItemNumberFontColorHover : ItemNumberFontColorNormal\"\r\n [style.font-size]=\"ItemNumberFontSize + 'px' \"\r\n [style.align-self]=\"ItemNumberPosition?.toString()\"\r\n [style.margin-top]=\"ItemNumberPosition == ListItemItemNumberPositionEnum.Top ? '5px': '' \"\r\n [style.margin-right]=\"IconEnabled ? 'auto' : ''\"\r\n [style.margin-left]=\"IconEnabled ? '5px' : ''\"\r\n >\r\n {{ItemNumberText}}\r\n </p>\r\n\r\n <i class=\"{{Icon}}\"\r\n [style.display]=\"IconEnabled ? '' : 'none'\"\r\n [style.color]=\"_mouseover ? IconFontColorHover : IconFontColorNormal\"\r\n [style.font-size]=\"IconFontSize +'px'\"\r\n [style.margin-left]=\"ItemNumberEnabled ? 'auto' : ''\"\r\n [style.margin-right]=\"ItemNumberEnabled ? '10px' : ''\"\r\n ></i>\r\n </div>\r\n\r\n\r\n <div class=\"TextContainer\"\r\n [style.width]=\"TitlesContainerWidth+'px'\"\r\n [style.background-color]=\"_mouseover ? TitlesBackGroundColorHover : TitlesBackGroundColorNormal\"\r\n [style.padding]=\"`0px ${TitlesContainerPadding}px`\"\r\n >\r\n\r\n <h1 class=\"title\"\r\n [style.display]=\"TitleEnabled ? '' : 'none'\"\r\n [style.font-family]=\"TitleFontFamily\"\r\n [style.font-weight]=\"TitleFontWeight\"\r\n [style.color]=\"_mouseover ? TitleFontColorHover : TitleFontColorNormal\"\r\n [style.font-size]=\"TitleFontSize +'px'\"\r\n [style.text-align]=\"TitleTextAlign?.toString()\"\r\n >\r\n {{TitleText}}\r\n </h1>\r\n\r\n <h2 class=\"sub-title\"\r\n [style.display]=\"SubTitleEnabled ? '' : 'none'\"\r\n [style.font-family]=\"SubTitleFontFamily\"\r\n [style.font-weight]=\"SubTitleFontWeight\"\r\n [style.color]=\"_mouseover ? SubTitleFontColorHover : SubTitleFontColorNormal\"\r\n [style.font-size]=\"SubTitleFontSize +'px'\"\r\n [style.text-align]=\"SubTitleTextAlign?.toString()\"\r\n >\r\n {{SubTitleText}}\r\n </h2>\r\n\r\n </div>\r\n\r\n <div class=\"ItemOpenIconContainer\"\r\n [style.background-color]=\"_mouseover ? TriggerIconBackGroundColorHover : TriggerIconBackGroundColorNormal\"\r\n [style.width]=\"TriggerIconContainerWidth+'px'\"\r\n >\r\n <i class=\"{{OpenState? TriggerIconOpen : TriggerIconClose}}\"\r\n [style.display]=\"TriggerIconEnabled ? '' : 'none'\"\r\n [class.ItemOpenState]=\"OpenState\"\r\n [class.ItemCloseState]=\"!OpenState\"\r\n [style.color]=\"_mouseover ? TriggerIconFontColorHover : TriggerIconFontColorNormal\"\r\n [style.font-size]=\"TriggerIconFontSize +'px'\"\r\n [style.transform]=\"\r\n TriggerIconRotationEnabled == true \r\n ? ListItemType == ListItemTypesEnum.Normal\r\n ? OpenState \r\n ? '' \r\n : 'rotate(90deg)' \r\n : OpenState \r\n ? '' \r\n : 'rotate(-90deg)'\r\n : ''\r\n \"\r\n ></i>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"containerWrapped\"\r\n [style.display]=\"OpenState ? '' : 'none'\"\r\n [style.background-color]=\"ContainerWrappedBackGroundColor\"\r\n >\r\n <ng-content/>\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n","import { FontWeights } from \"../fontWeights.enum.js\";\r\nimport { IconsEnum } from \"../icons.enum.ts\";\r\nimport { ListItemItemNumberPositionEnum, ListItemTextAlignEnum, ListItemTypeEnum } from \"./list-item.enum.js\";\r\nexport class ListItemConfigModel {\r\n constructor(params: {\r\n\r\n Name: string;\r\n ListItemType?: ListItemTypeEnum;\r\n OpenState?:boolean;\r\n Width?:number;\r\n Height?:number;\r\n BorderRadius?:number;\r\n\r\n ItemNumberIconContainerWidth?:number;\r\n ItemNumberIconBackGroundColorNormal?: string;\r\n ItemNumberIconBackGroundColorHover?: string;\r\n\r\n TitlesContainerWidth?:number;\r\n TitlesBackGroundColorNormal?: string;\r\n TitlesBackGroundColorHover?: string;\r\n TitlesContainerPadding?:number;\r\n\r\n TriggerIconContainerWidth?:number;\r\n TriggerIconBackGroundColorNormal?: string;\r\n TriggerIconBackGroundColorHover?: string;\r\n\r\n ItemNumberEnabled?: boolean;\r\n ItemNumberText?: string;\r\n ItemNumberFontFamily?: string;\r\n ItemNumberFontWeight?: FontWeights;\r\n ItemNumberFontColorNormal?: string;\r\n ItemNumberFontColorHover?: string;\r\n ItemNumberFontSize?: number;\r\n ItemNumberPosition?: ListItemItemNumberPositionEnum;\r\n\r\n IconEnabled?: boolean;\r\n Icon?: IconsEnum;\r\n IconFontColorNormal?: string;\r\n IconFontColorHover?: string;\r\n IconFontSize?: number;\r\n\r\n TitleEnabled?: boolean;\r\n TitleText?: string;\r\n TitleFontFamily?: string;\r\n TitleFontWeight?: FontWeights;\r\n TitleFontColorNormal?: string;\r\n TitleFontColorHover?: string;\r\n TitleFontSize?: number;\r\n TitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n SubTitleEnabled?: boolean;\r\n SubTitleText?: string;\r\n SubTitleFontFamily?: string;\r\n SubTitleFontWeight?: FontWeights;\r\n SubTitleFontColorNormal?: string;\r\n SubTitleFontColorHover?: string;\r\n SubTitleFontSize?: number;\r\n SubTitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n TriggerIconEnabled?: boolean;\r\n TriggerIconClose?: IconsEnum;\r\n TriggerIconOpen?: IconsEnum;\r\n TriggerIconFontColorNormal?: string;\r\n TriggerIconFontColorHover?: string;\r\n TriggerIconFontSize?: number;\r\n TriggerIconRotationEnabled?:boolean;\r\n\r\n ContainerWrappedBackGroundColor?:string;\r\n\r\n }) {\r\n this.Name = params.Name;\r\n this.ListItemType = params.ListItemType;\r\n this.OpenState = params.OpenState;\r\n this.Width = params.Width;\r\n this.Height = params.Height;\r\n this.BorderRadius = params.BorderRadius;\r\n\r\n this.ItemNumberIconContainerWidth = params.ItemNumberIconContainerWidth;\r\n this.ItemNumberIconBackGroundColorNormal = params.ItemNumberIconBackGroundColorNormal;\r\n this.ItemNumberIconBackGroundColorHover = params.ItemNumberIconBackGroundColorHover;\r\n\r\n this.TitlesContainerWidth= params.TitlesContainerWidth;\r\n this.TitlesBackGroundColorNormal= params.TitlesBackGroundColorNormal;\r\n this.TitlesBackGroundColorHover= params.TitlesBackGroundColorHover;\r\n this.TitlesContainerPadding = params.TitlesContainerPadding;\r\n\r\n this.TriggerIconContainerWidth = params.TriggerIconContainerWidth;\r\n this.TriggerIconBackGroundColorNormal = params.TriggerIconBackGroundColorNormal;\r\n this.TriggerIconBackGroundColorHover = params.TriggerIconBackGroundColorHover;\r\n\r\n this.ItemNumberEnabled = params.ItemNumberEnabled;\r\n this.ItemNumberText = params.ItemNumberText;\r\n this.ItemNumberFontFamily = params.ItemNumberFontFamily;\r\n this.ItemNumberFontWeight = params.ItemNumberFontWeight;\r\n this.ItemNumberFontColorNormal = params.ItemNumberFontColorNormal;\r\n this.ItemNumberFontColorHover = params.ItemNumberFontColorHover;\r\n this.ItemNumberFontSize = params.ItemNumberFontSize;\r\n this.ItemNumberPosition = params.ItemNumberPosition;\r\n\r\n this.IconEnabled = params.IconEnabled;\r\n this.Icon = params.Icon;\r\n this.IconFontColorNormal = params.IconFontColorNormal;\r\n this.IconFontColorHover = params.IconFontColorHover;\r\n this.IconFontSize = params.IconFontSize;\r\n\r\n this.TitleEnabled = params.TitleEnabled;\r\n this.TitleText = params.TitleText;\r\n this.TitleFontFamily = params.TitleFontFamily;\r\n this.TitleFontWeight = params.TitleFontWeight;\r\n this.TitleFontColorNormal = params.TitleFontColorNormal;\r\n this.TitleFontColorHover = params.TitleFontColorHover;\r\n this.TitleFontSize = params.TitleFontSize;\r\n this.TitleTextAlign= params.TitleTextAlign;\r\n\r\n this.SubTitleEnabled = params.SubTitleEnabled;\r\n this.SubTitleText = params.SubTitleText;\r\n this.SubTitleFontFamily = params.SubTitleFontFamily;\r\n this.SubTitleFontWeight = params.SubTitleFontWeight;\r\n this.SubTitleFontColorNormal = params.SubTitleFontColorNormal;\r\n this.SubTitleFontColorHover = params.SubTitleFontColorHover;\r\n this.SubTitleFontSize = params.SubTitleFontSize;\r\n this.SubTitleTextAlign= params.SubTitleTextAlign;\r\n\r\n this.TriggerIconEnabled = params.TriggerIconEnabled;\r\n this.TriggerIconClose = params.TriggerIconClose;\r\n this.TriggerIconOpen = params.TriggerIconOpen;\r\n this.TriggerIconFontColorNormal = params.TriggerIconFontColorNormal;\r\n this.TriggerIconFontColorHover = params.TriggerIconFontColorHover;\r\n this.TriggerIconFontSize = params.TriggerIconFontSize;\r\n this.TriggerIconRotationEnabled = params.TriggerIconRotationEnabled;\r\n\r\n this.ContainerWrappedBackGroundColor = params.ContainerWrappedBackGroundColor;\r\n }\r\n\r\n public Name?: string;\r\n public ListItemType?: ListItemTypeEnum;\r\n public OpenState?:boolean;\r\n public Width?:number;\r\n public Height?:number;\r\n public BorderRadius?:number;\r\n\r\n public ItemNumberIconContainerWidth?:number;\r\n public ItemNumberIconBackGroundColorNormal?: string;\r\n public ItemNumberIconBackGroundColorHover?: string;\r\n\r\n public TitlesContainerWidth?:number;\r\n public TitlesBackGroundColorNormal?: string;\r\n public TitlesBackGroundColorHover?: string;\r\n public TitlesContainerPadding?:number;\r\n\r\n public TriggerIconContainerWidth?:number;\r\n public TriggerIconBackGroundColorNormal?: string;\r\n public TriggerIconBackGroundColorHover?: string;\r\n\r\n public ItemNumberEnabled?: boolean;\r\n public ItemNumberText?: string;\r\n public ItemNumberFontFamily?: string;\r\n public ItemNumberFontWeight?: FontWeights;\r\n public ItemNumberFontColorNormal?: string;\r\n public ItemNumberFontColorHover?: string;\r\n public ItemNumberFontSize?: number;\r\n public ItemNumberPosition?: ListItemItemNumberPositionEnum;\r\n\r\n public IconEnabled?: boolean;\r\n public Icon?: IconsEnum;\r\n public IconFontColorNormal?: string;\r\n public IconFontColorHover?: string;\r\n public IconFontSize?: number;\r\n\r\n public TitleEnabled?: boolean;\r\n public TitleText?: string;\r\n public TitleFontFamily?: string;\r\n public TitleFontWeight?: FontWeights;\r\n public TitleFontColorNormal?: string;\r\n public TitleFontColorHover?: string;\r\n public TitleFontSize?: number;\r\n public TitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n public SubTitleEnabled?: boolean;\r\n public SubTitleText?: string;\r\n public SubTitleFontFamily?: string;\r\n public SubTitleFontWeight?: FontWeights;\r\n public SubTitleFontColorNormal?: string;\r\n public SubTitleFontColorHover?: string;\r\n public SubTitleFontSize?: number;\r\n public SubTitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n public TriggerIconEnabled?: boolean;\r\n public TriggerIconClose?: IconsEnum;\r\n public TriggerIconOpen?: IconsEnum;\r\n public TriggerIconFontColorNormal?: string;\r\n public TriggerIconFontColorHover?: string;\r\n public TriggerIconFontSize?: number;\r\n public TriggerIconRotationEnabled?:boolean;\r\n\r\n public ContainerWrappedBackGroundColor?:string;\r\n}","import { LabelIconPositionEnum,LabelFontWeights } from \"./label.enum\";\r\n\r\nexport class LabelModel{\r\n\r\n name : string = '';\r\n\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { LabelModel } from \"./label.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class LabelService{\r\n\r\n stateChanger = new Subject<LabelModel>();\r\n\r\n}","export enum LabelIconPositionEnum{\r\n Top,\r\n Right,\r\n Bottom,\r\n Left\r\n}\r\nexport enum LabelFontWeights{\r\n Thin = 100,\r\n ExtraLight = 200,\r\n Light = 300,\r\n Regular = 400,\r\n Medium = 500,\r\n SemiBold = 600,\r\n Bold = 700,\r\n Extrabold = 800,\r\n Black = 900,\r\n}","import { Component, OnInit,input,inject } from '@angular/core';\r\nimport { LabelModel } from './label.model';\r\nimport { LabelService } from './label.service';\r\nimport { LabelFontWeights,LabelIconPositionEnum } from './label.enum';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\n\r\n@Component({\r\n selector: 'app-label',\r\n imports: [CommonModule],\r\n templateUrl: './label.component.html',\r\n styleUrl: './label.component.css'\r\n})\r\nexport class LabelComponent implements OnInit {\r\n\r\n ngOnInit(): void {\r\n\r\n this.LabelModel = new LabelModel();\r\n\r\n this.setIconOrientationOnTemplate();\r\n }\r\n\r\n Name = input.required<string>();\r\n\r\n _IconEnabled = input.required<boolean>() ;\r\n _Icon= input.required<IconsEnum>();\r\n _IconColor= input.required<string>();\r\n IconOrientation= input.required<LabelIconPositionEnum>() ;\r\n _IconOrientation! : string;\r\n _IconDistanceFromTextObject! : object;\r\n IconDistanceFromText= input.required<number>(); \r\n\r\n _TextEnabled= input.required<boolean>();\r\n _TextFontFamily= input.required<string>() ;\r\n _Text= input.required<string>();\r\n _TextColor= input.required<string>();\r\n _TextFontWeight = input.required<LabelFontWeights>();\r\n _TextFontSize= input.required<number>();\r\n\r\n\r\n\r\n LabelModel! : LabelModel;\r\n LabelService = inject(LabelService)\r\n\r\n\r\n setIconOrientationOnTemplate(){\r\n switch (this.IconOrientation()){\r\n case (LabelIconPositionEnum.Top):\r\n this._IconOrientation = 'column'\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-bottom': this.IconDistanceFromText().toString() + 'px'} : {};\r\n break\r\n case (LabelIconPositionEnum.Right):\r\n this._IconOrientation = 'row-reverse'\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-left': this.IconDistanceFromText().toString() + 'px'} : {}\r\n break\r\n case (LabelIconPositionEnum.Bottom):\r\n this._IconOrientation = 'column-reverse'\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-top': this.IconDistanceFromText().toString() + 'px'} : {}\r\n break\r\n case (LabelIconPositionEnum.Left):\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-right': this.IconDistanceFromText().toString() + 'px'} : {}\r\n break\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"container\"\r\n[ngStyle]=\"{'flex-direction':_IconOrientation}\"\r\n>\r\n\r\n <i\r\n class=\"{{_Icon()}}\"\r\n [style.color]=\"_IconColor()\"\r\n [style.font-size]=\"(_TextFontSize() *1.25)+'px'\"\r\n [style.display]=\"_IconEnabled() ? '' : 'none'\"\r\n [ngStyle]=\"_IconDistanceFromTextObject\"\r\n >\r\n </i>\r\n\r\n\r\n <p\r\n [style.font-size]=\"_TextFontSize() +'px'\"\r\n [style.font-family]=\"_TextFontFamily()\"\r\n [style.font-weight]=\"_TextFontWeight()\"\r\n [style.color]=\"_TextColor()\"\r\n [style.display]=\"_TextEnabled() ? '' : 'none'\"\r\n >{{_Text()}}\r\n </p>\r\n</div>","export enum TableFontWeights{\r\n Thin = 100,\r\n ExtraLight = 200,\r\n Light = 300,\r\n Regular = 400,\r\n Medium = 500,\r\n SemiBold = 600,\r\n Bold = 700,\r\n Extrabold = 800,\r\n Black = 900,\r\n}\r\nexport enum TableModes{\r\n ReadOnly,\r\n Display\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { TableModel } from \"./table.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class TableService{\r\n\r\n public dataChange = new Subject<TableModel>();\r\n public rowOnSelect = new Subject<number>();\r\n}","import { Component,input,inject, OnInit, OnDestroy,ElementRef, ViewChild, viewChild, AfterViewInit } from '@angular/core';\r\nimport { TableFontWeights,TableModes } from './table.enum';\r\nimport { TableService } from './table.service';\r\nimport { TableModel } from './table.model';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-table',\r\n imports: [],\r\n templateUrl: './table.component.html',\r\n styleUrl: './table.component.css'\r\n})\r\nexport class TableComponent implements OnInit,OnDestroy,AfterViewInit {\r\n\r\n @ViewChild('tbody') tbody!:ElementRef\r\n nodes! :NodeList;\r\n nodeSelectedIndex! : number;\r\n ngAfterViewInit(): void {\r\n setTimeout(()=>{\r\n for(var i=0; i<this.nodes.length-1; i++) {\r\n if (i % 2 == 0){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor01();\r\n }else{\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor02();\r\n }\r\n \r\n }\r\n },1000)\r\n\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.destroy.next(true);\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.startListenToDataChange();\r\n\r\n\r\n }\r\n\r\n private destroy = new Subject<boolean>();\r\n \r\n name = input.required<string>();\r\n\r\n TableMode = input.required<TableModes>();\r\n\r\n _FontFamily = input.required<string>();\r\n\r\n _FontSize = input.required<number>();\r\n\r\n _Header_FontColor = input.required<string>();\r\n _Header_FontWeight = input.required<TableFontWeights>();\r\n _Header_BackGroundColor = input.required<string>();\r\n\r\n _Body_FontColor = input.required<string>();\r\n _Body_FontWeight = input.required<TableFontWeights>();\r\n _Body_BackGroundColor01 = input.required<string>();\r\n _Body_BackGroundColor02 = input.required<string>();\r\n _Body_BackGroundColorHover = input.required<string>();\r\n\r\n _BorderVerticalON = input.required<boolean>();\r\n _BorderHorizontalON = input.required<boolean>();\r\n _BorderColor = input.required<string>();\r\n _BorderSize = input.required<number>();\r\n\r\n _ContainerWidth = input.required<number>();\r\n _ContainerHeight = input.required<number>();\r\n\r\n NomeColunaJSONID = input.required<string>();\r\n NomeColunasJSON = input.required<string[]>();\r\n NomeColunasDisplay = input.required<string[]>();\r\n UnidadesDeMedidaDasColunas = input.required<string[]>();\r\n NCasasDecimaisDasColunas = input.required<number[]>();\r\n UnidadesDeMedidaNosDados = input.required<boolean>();\r\n\r\n rowsOnDisplay! :any[];\r\n rowsOnMemory! :any[];\r\n headers! : string[];\r\n TableService = inject(TableService);\r\n rowSelected : boolean =false;\r\n\r\n readonly TableModes = TableModes;\r\n\r\n\r\n startListenToDataChange(){\r\n this.TableService.dataChange.pipe(takeUntil(this.destroy)).subscribe((model:TableModel)=>{\r\n if(model.name == this.name()){\r\n\r\n this.rowsOnMemory = JSON.parse(JSON.stringify(model.data))\r\n\r\n if(this.VerificarSeENecessarioDeletarColunasDeUmObjeto(model.data,this.NomeColunasDisplay())){\r\n var ObjetosComNovosNomes = this.MudaNomesDasPropriedadesDeUmObjeto(model.data,this.NomeColunasDisplay(),this.NomeColunasJSON());\r\n var ObjetosArredondados = this.ListaDeObjetosComCamposNumericosArredondados(ObjetosComNovosNomes,this.NCasasDecimaisDasColunas());\r\n if(this.UnidadesDeMedidaNosDados()){\r\n var ObjetosComUnidadesDeMedida = this.ListaDeObjetosComUnidadesDeMedidas(ObjetosArredondados,this.UnidadesDeMedidaDasColunas());\r\n this.rowsOnDisplay = ObjetosComUnidadesDeMedida;\r\n }else{\r\n this.rowsOnDisplay = ObjetosArredondados;\r\n }\r\n this.headers = Object.keys(this.rowsOnDisplay[0]);\r\n }else{\r\n this.rowsOnDisplay = model.data;\r\n this.headers = Object.keys(this.rowsOnDisplay[0]);\r\n }\r\n\r\n this.nodes = this.tbody.nativeElement.childNodes;\r\n }\r\n });\r\n \r\n \r\n \r\n \r\n }\r\n\r\n\r\n OnLineSelected(row :object){\r\n if(this.TableMode() == this.TableModes.Display){\r\n\r\n this.nodeSelectedIndex = this.rowsOnDisplay.indexOf(row);\r\n var id = this.rowsOnMemory[this.nodeSelectedIndex][this.NomeColunaJSONID()];\r\n this.TableService.rowOnSelect.next(id);\r\n\r\n for(var i=0; i<this.nodes.length-1; i++) {\r\n if (i % 2 == 0){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor01();\r\n }else{\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor02();\r\n }\r\n \r\n }\r\n\r\n (this.nodes[this.nodeSelectedIndex] as HTMLElement).style.background = this._Body_BackGroundColorHover();\r\n }\r\n }\r\n OnMouseEnter(row:object){\r\n var index = this.rowsOnDisplay.indexOf(row);\r\n for(var i=0; i<this.nodes.length-1; i++) {\r\n if (i % 2 == 0 && i!= this.nodeSelectedIndex){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor01();\r\n }else if(i % 2 == 0 && i!= this.nodeSelectedIndex){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor02();\r\n \r\n }\r\n (this.nodes[index] as HTMLElement).style.background = this._Body_BackGroundColorHover();\r\n }\r\n }\r\n OnMouseLeave(row:object){\r\n for(var i=0; i<this.nodes.length-1; i++) {\r\n if (i % 2 == 0 && i!= this.nodeSelectedIndex){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor01();\r\n }else if(i % 2 != 0 && i!= this.nodeSelectedIndex){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor02();\r\n \r\n }\r\n }}\r\n\r\n VerificarSeENecessarioDeletarColunasDeUmObjeto(listaObjetos : object[],ListaDeNovosNomes : string[]) : boolean{\r\n\r\n for(var i=0 ; i< Object.keys(listaObjetos[0]).length ; i++){\r\n if(ListaDeNovosNomes.includes(Object.keys(listaObjetos[0])[i])){\r\n }else{\r\n return true;\r\n }\r\n }\r\n return false;\r\n\r\n }\r\n\r\n MudaNomesDasPropriedadesDeUmObjeto(listaObjetos : object[], ListaDeNovosNomes : string[] , ListaDeNomesAntigosParaManter : string[]):object[]{\r\n\r\n var listaObjetosColunasDeletadas = this.DeletaPropriedadesDeCadaObjetoDeUmaLista(listaObjetos,ListaDeNomesAntigosParaManter);\r\n //Muda os nomes das colunas de acordo com configuração\r\n for(var z = 0; z<ListaDeNovosNomes.length;z++){\r\n for(var y =0; y<listaObjetosColunasDeletadas.length;y++){\r\n (listaObjetosColunasDeletadas[y] as any)[ListaDeNovosNomes[z]] = (listaObjetosColunasDeletadas[y] as any)[ListaDeNomesAntigosParaManter[z]]\r\n delete (listaObjetosColunasDeletadas[y] as any)[ListaDeNomesAntigosParaManter[z]];\r\n }\r\n }\r\n return listaObjetosColunasDeletadas;\r\n\r\n }\r\n\r\n DeletaPropriedadesDeCadaObjetoDeUmaLista(listaObjetos : object[], ListaColunasParaManter : string[]):object[]{\r\n\r\n const ListaColunasParaDeletar = this.ListaNomesColunasDeletadas(listaObjetos[0],ListaColunasParaManter)\r\n //Deleta propriedades do objeto que estão definidas na lista de configuração\r\n for(var i =0 ; i < ListaColunasParaDeletar.length;i++){\r\n listaObjetos.forEach((obj:any)=>{\r\n delete obj[ListaColunasParaDeletar[i]]\r\n })\r\n }\r\n i=0;\r\n return listaObjetos;\r\n }\r\n\r\n ListaNomesColunasDeletadas(objOriginal : object,ListaColunasParaManter : string[]) : string[]{\r\n \r\n var newArray : string[] = [];\r\n\r\n for(var i =0 ; i< Object.keys(objOriginal).length;i++){\r\n if(ListaColunasParaManter.includes(Object.keys(objOriginal)[i])){\r\n }else{\r\n newArray.push(Object.keys(objOriginal)[i]);\r\n }\r\n }\r\n\r\n i=0;\r\n\r\n return newArray;\r\n\r\n }\r\n\r\n ListaDeObjetosComUnidadesDeMedidas(listaObjetos : object[],listaUnidadesMedida : string[]) : object[]{\r\n\r\n for(var i = 0; i< listaObjetos.length ; i++){\r\n for(var y = 0; y< Object.keys(listaObjetos[0]).length ; y++){\r\n (listaObjetos[i]as any)[(Object.keys(listaObjetos[0]))[y]] = (listaObjetos[i] as any)[(Object.keys(listaObjetos[0]))[y]] + listaUnidadesMedida[y]\r\n }\r\n }\r\n\r\n return listaObjetos;\r\n\r\n }\r\n\r\n ListaDeObjetosComCamposNumericosArredondados(listaObjetos : any[],listadeArredondamentos : number[]) : object[]{\r\n\r\n for(var i = 0; i< listaObjetos.length ; i++){\r\n for(var y = 0; y< Object.keys(listaObjetos[0]).length ; y++){\r\n if(isNaN(listaObjetos[i][(Object.keys(listaObjetos[0]))[y]])){\r\n\r\n }else{\r\n listaObjetos[i][(Object.keys(listaObjetos[0]))[y]] = parseFloat(listaObjetos[i][(Object.keys(listaObjetos[0]))[y]]).toFixed(listadeArredondamentos[y])\r\n }\r\n \r\n\r\n \r\n }\r\n }\r\n\r\n return listaObjetos;\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<div class=\"container\" style=\"overflow-x:auto;\"\r\n[style.width]=\"_ContainerWidth()+'px'\"\r\n[style.height]=\"_ContainerHeight()+'px'\"\r\n>\r\n <table\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.--padding]=\"(_FontSize()*0.5+'px')+' ' + (_FontSize()*0.625+'px')\"\r\n [style.--borderLeft]=\"(_BorderVerticalON() ? _BorderSize()+'px' : '0px') + ' solid '+_BorderColor()\"\r\n [style.--borderBottom]=\"(_BorderHorizontalON() ? _BorderSize()+'px' : '0px') + ' solid '+_BorderColor()\"\r\n >\r\n \r\n <thead\r\n [style.font-size]=\"_FontSize()*1.1 + 'px'\"\r\n [style.font-weight]=\"_Header_FontWeight()\"\r\n [style.background-color]=\"_Header_BackGroundColor()\"\r\n [style.color]=\"_Header_FontColor()\"\r\n >\r\n <tr>\r\n @for(_header of headers ; track $index){\r\n <th>{{_header}}</th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <tbody\r\n #tbody\r\n [style.font-size]=\"_FontSize() + 'px'\"\r\n [style.font-weight]=\"_Body_FontWeight()\"\r\n [style.--Body_FontColor]=\"_Body_FontColor()\"\r\n [style.--Body_BackGroundColor01]=\"_Body_BackGroundColor01()\"\r\n [style.--Body_BackGroundColor02]=\"_Body_BackGroundColor02()\"\r\n [style.--Body_BackGroundColorHover]=\"_Body_BackGroundColorHover()\"\r\n [style.cursor]=\"TableMode() == TableModes.ReadOnly ? 'default' : 'pointer'\"\r\n >\r\n @for(row of rowsOnDisplay ; track $index){\r\n <tr\r\n (click)=\"OnLineSelected(row)\"\r\n (mouseenter)=\"OnMouseEnter(row)\"\r\n (mouseleave)=\"OnMouseLeave(row)\"\r\n >\r\n @for(_header of headers; track $index){\r\n <td\r\n \r\n >{{row[_header]}}</td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n \r\n </table>\r\n</div>\r\n\r\n\r\n\r\n\r\n","export class TableModel{\r\n name: string = '';\r\n data! : object[];\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { ModalModel } from \"./modal.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ModalService{\r\n\r\n public stateChanged = new Subject<ModalModel>();\r\n \r\n}","export class ModalModel{\r\n constructor(params:{\r\n Name: string,\r\n OnlyOkButtonEnabled : boolean,\r\n ModalMessageText: string,\r\n ModalMessageFontFamily: string,\r\n ModalMessageFontSize: number,\r\n ModalMessageFontWeight: number,\r\n ModalMessageColor: string,\r\n IsVisible:boolean,\r\n BtnCancelName:string,\r\n BtnOkName:string,\r\n })\r\n {\r\n this.Name = params.Name;\r\n this.OnlyOkButtonEnabled = params.OnlyOkButtonEnabled;\r\n this.ModalMessageText = params.ModalMessageText;\r\n this.ModalMessageFontFamily = params.ModalMessageFontFamily;\r\n this.ModalMessageFontSize = params.ModalMessageFontSize;\r\n this.ModalMessageFontWeight = params.ModalMessageFontWeight;\r\n this.ModalMessageColor = params.ModalMessageColor;\r\n this.IsVisible = params.IsVisible;\r\n this.BtnCancelName = params.BtnCancelName;\r\n this.BtnOkName = params.BtnOkName;\r\n\r\n }\r\n public Name :string = '';\r\n public OnlyOkButtonEnabled : boolean = false;\r\n public ModalMessageText: string = '';\r\n public ModalMessageFontFamily: string='';\r\n public ModalMessageFontSize: number=0;\r\n public ModalMessageFontWeight: number=0;\r\n public ModalMessageColor: string='';\r\n public IsVisible : boolean = false;\r\n public BtnCancelName :string = '';\r\n public BtnOkName :string = '';\r\n\r\n\r\n\r\n}","export enum FontWeights{\r\n UltraExtraLight = 100,\r\n ExtraLight = 200,\r\n Light = 300,\r\n Regular = 400,\r\n Medium = 500,\r\n SemiBold = 600,\r\n Bold = 700,\r\n ExtraBold = 800,\r\n UltraExtraBold = 900,\r\n}","import { AfterViewInit, Component, inject, input, OnInit } from '@angular/core';\r\nimport { ModalService } from './modal.service';\r\nimport { ModalModel } from './modal.model';\r\n//Button\r\nimport {ButtonComponent}from '../button/button.component';\r\nimport { ButtonIconPositionEnum,ButtonTypeEnum } from '../button/button.enum';\r\nimport { ButtonService } from '../button/button.service';\r\nimport { ButtonConfigModel } from '../button/button.model';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\nimport { FontWeights } from '../fontWeights.enum';\r\n\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n imports: [ButtonComponent],\r\n templateUrl: './modal.component.html',\r\n styleUrl: './modal.component.css'\r\n})\r\nexport class ModalComponent implements OnInit {\r\n ngOnInit(): void {\r\n this.startListenToStateChanged();\r\n }\r\n\r\n ModalService = inject(ModalService);\r\n\r\n name = input.required<string>();\r\n\r\n configModel : ModalModel = new ModalModel({\r\n Name: '',\r\n OnlyOkButtonEnabled : false,\r\n ModalMessageText: '',\r\n ModalMessageFontFamily: '',\r\n ModalMessageFontSize: 0,\r\n ModalMessageFontWeight: 0,\r\n ModalMessageColor: '',\r\n IsVisible:false,\r\n BtnCancelName:'',\r\n BtnOkName:''\r\n });\r\n\r\n\r\n _ButtonService = inject(ButtonService);\r\n readonly ButtonTypes = ButtonTypeEnum;\r\n readonly ButtonIconPositions = ButtonIconPositionEnum;\r\n readonly FontWeights = FontWeights;\r\n\r\n readonly IconsEnum = IconsEnum;\r\n\r\n displayOn :boolean = false;\r\n\r\n startListenToStateChanged(){\r\n this.ModalService.stateChanged.subscribe((modalModel:ModalModel)=>{\r\n if(this.name() == modalModel.Name){\r\n this.configModel = modalModel;\r\n this.displayOn = this.configModel.IsVisible;\r\n }\r\n\r\n });\r\n }\r\n\r\n onAnimationEnd(event:AnimationEvent){\r\n if(!this.configModel.IsVisible){\r\n this.displayOn = false\r\n };\r\n }\r\n\r\n}\r\n","<section\r\n[style.display]=\"displayOn ? 'flex' : 'none'\"\r\n>\r\n\r\n <form\r\n [style.padding]=\"'32px ' + '32px'\"\r\n [style.border-radius]=\"'10px'\"\r\n [class.animation-slide-down]=\"configModel.IsVisible\"\r\n [class.animation-slide-up]=\"!configModel.IsVisible\"\r\n [style.display]=\"displayOn ? 'flex' : 'none'\"\r\n (animationend)=\"onAnimationEnd($event)\"\r\n >\r\n <p\r\n [style.font-family]=\"configModel.ModalMessageFontFamily\"\r\n [style.font-size]=\"configModel.ModalMessageFontSize + 'px'\"\r\n [style.font-weight]=\"configModel.ModalMessageFontWeight\"\r\n [style.color]=\"configModel.ModalMessageColor\"\r\n >{{configModel.ModalMessageText}}</p>\r\n\r\n <div class=\"btns-container\"\r\n [style.padding-top]=\"'10px'\"\r\n >\r\n\r\n @if(this.displayOn){\r\n @if(!configModel.OnlyOkButtonEnabled){\r\n <app-button\r\n [name]=\"configModel.BtnCancelName\"\r\n />\r\n }\r\n \r\n <app-button [name]=\"configModel.BtnOkName\"/>\r\n }\r\n\r\n\r\n </div>\r\n \r\n </form>\r\n</section>\r\n","/*\r\n * Public API Surface of lightning-tec-br-angular-components\r\n */\r\n\r\nexport * from './lib/form-field/form-field.component';\r\nexport * from './lib/form-field/form-field.enum';\r\nexport * from './lib/form-field/form-field.model';\r\nexport * from './lib/form-field/form-field.service';\r\n\r\nexport * from './lib/button/button.component';\r\nexport * from './lib/button/button.enum';\r\nexport * from './lib/button/button.model';\r\nexport * from './lib/button/button.service';\r\n\r\nexport * from './lib/list-item/list-item.component';\r\nexport * from './lib/list-item/list-item.enum';\r\nexport * from './lib/list-item/list-item.model';\r\nexport * from './lib/list-item/list-item.service';\r\n\r\nexport * from './lib/alert/alert.component';\r\nexport * from './lib/alert/alert.enum';\r\nexport * from './lib/alert/alert.model';\r\nexport * from './lib/alert/alert.service';\r\n\r\nexport * from './lib/label/label.component';\r\nexport * from './lib/label/label.enum';\r\nexport * from './lib/label/label.model';\r\nexport * from './lib/label/label.service';\r\n\r\nexport * from './lib/table/table.component';\r\nexport * from './lib/table/table.enum';\r\nexport * from './lib/table/table.model';\r\nexport * from './lib/table/table.service';\r\n\r\nexport * from './lib/modal/modal.component';\r\nexport * from './lib/modal/modal.model';\r\nexport * from './lib/modal/modal.service';\r\n\r\nexport * from './lib/icons.enum.ts';\r\n\r\nexport * from './lib/fontWeights.enum';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ngxMask","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lightning-tec-br-angular-components.mjs","sources":["../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/icons.enum.ts.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/form-field/form-field.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/button/button.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/list-item/list-item.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/table/table.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/modal/modal.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/modal/modal.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/fontWeights.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/modal/modal.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/modal/modal.component.html","../../../projects/lightning-tec-br-angular-components/src/public-api.ts","../../../projects/lightning-tec-br-angular-components/src/lightning-tec-br-angular-components.ts"],"sourcesContent":["export enum FormFieldTxtInputTypesEnum{\r\n Text ,\r\n Password ,\r\n Email ,\r\n Number,\r\n Date ,\r\n DateTime,\r\n CellPhone,\r\n}\r\nexport enum FormFieldTypes{\r\n TxtBox,\r\n ComboBox,\r\n}\r\nexport enum FormFieldCountryDataFormat{\r\n Estados_Unidos,\r\n Brasil\r\n}\r\nexport enum FormFieldFontWeights{\r\n Thin = 100,\r\n ExtraLight = 200,\r\n Light = 300,\r\n Regular = 400,\r\n Medium = 500,\r\n SemiBold = 600,\r\n Bold = 700,\r\n Extrabold = 800,\r\n Black = 900,\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { FormFieldModel } from \"./form-field.model\";\r\nimport { AlertModel } from \"../alert/alert.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class FormFieldService{\r\n\r\n public valueChanged = new Subject<FormFieldModel>();\r\n public alertState = new Subject<AlertModel>();\r\n public enterPressed = new Subject<FormFieldModel>();\r\n\r\n}","export class FormFieldModel{\r\n name : string = '';\r\n field : object = {};\r\n internalCall : boolean = false;\r\n}\r\n\r\nexport class FormFielTxtModel{\r\n value : string = '';\r\n}\r\nexport class FormFieldComboModel{\r\n id: number = 0;\r\n value : string = '';\r\n}","\r\nexport enum AlertTypesEnum{\r\n Done,\r\n Alert,\r\n NotDone\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { AlertModel } from \"./alert.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class AlertService{\r\n\r\n public wasOpenned = new Subject<AlertModel>();\r\n public wasClosed = new Subject<AlertModel>();\r\n \r\n}","import { AlertTypesEnum } from \"./alert.enum\";\r\n\r\nexport class AlertModel{\r\n alertsName_DontSet : string = '';\r\n alertsFatherName : string = ''; \r\n top_DontSet : number = 0;\r\n left_DontSet : number = 0\r\n type! : AlertTypesEnum ; \r\n text : string = ''; \r\n isFixPosition : boolean = false; \r\n wasClosed_DontSet: boolean = false;\r\n}\r\n","export enum IconsEnum {\r\n Add = \"fi fi-br-plus\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n AddUser = \"fi fi-sr-user-add\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Box = \"fi fi-tr-box-open\",\r\n Bug = \"fi fi-sr-bug-fix\",\r\n Calendar = \"fi fi-br-calendar\",\r\n CalendarTime = \"fi fi-rr-calendar-clock\",\r\n Camera = \"fi fi-rr-camera\",\r\n Clock = \"fi fi-rr-clock-three\",\r\n Close = \"fi fi-br-cross\",\r\n Close_02 = \"fi fi-sc-cross\",\r\n Company = \"fi fi-rs-building\",\r\n Customize = \"fi fi-ss-customize\",\r\n Dashboard = \"fi fi-sr-chart-simple\",\r\n Delete = \"fi fi-sr-trash\",\r\n Doing_Pending_Fill = \"fi fi-ss-duration-alt\",\r\n Doing_Pending_Outline = \"fi fi-br-duration-alt\",\r\n Done_Fill = \"fi fi-sr-octagon-check\",\r\n Done_OutLine = \"fi fi-rr-check-circle\",\r\n DowloadFile = \"fi fi-sr-file-download\",\r\n Edit = \"fi fi-sr-pencil\",\r\n EditFile = \"fi fi-rr-file-edit\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n FileAlert = \"fi fi-ss-file-circle-info\",\r\n Filter = \"fi fi-sr-filter\",\r\n Hamburger = \"fi fi-br-menu-burger\",\r\n History = \"fi fi-rr-time-past\",\r\n Home = \"fi fi-sr-home\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Key = \"fi fi-sr-key\",\r\n Layers = \"fi fi-rr-layers\",\r\n LayersAdd = \"fi fi-rr-layer-plus\",\r\n Lubrificacao = \"fi fi-rr-oil-can\",\r\n Message = \"fi fi-rr-comment\",\r\n Money = \"fi fi-ss-dollar\",\r\n Money_02 = \"fi fi-ts-sack-dollar\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n Phone = \"fi fi-sr-phone-call\",\r\n Prazo_Atencao = \"fi fi-ss-deadline\",\r\n Refresh = \"fi fi-rr-rotate-right\",\r\n Rotas = \"fi fi-br-route\",\r\n Sales = \"fi fi-rr-shopping-cart\",\r\n Save = \"fi fi-ss-disk\",\r\n Save_Outline = \"fi fi-br-disk\",\r\n Search = \"fi fi-br-search\",\r\n Tools = \"fi fi-br-tools\",\r\n User = \"fi fi-sr-user\",\r\n Users = \"fi fi-sr-users\",\r\n Wallet = \"fi fi-rr-wallet\"\r\n}","import { Component,HostListener,inject,input, OnInit } from '@angular/core';\r\nimport { AlertTypesEnum } from './alert.enum';\r\nimport { AlertService } from './alert.service';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { AlertModel } from './alert.model';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\n\r\n@Component({\r\n selector: 'app-alert',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './alert.component.html',\r\n styleUrl: './alert.component.css'\r\n})\r\nexport class AlertComponent implements OnInit {\r\n\r\n\r\n Name = input.required<string>();\r\n _FontSize = input.required<number>();\r\n _FontFamily = input.required<string>();\r\n _FontWeight = input.required<number>();\r\n _FontColor :string ='white';\r\n _Text : string = '';\r\n\r\n _PositionY : number = 0;\r\n _PositionX : number = 0;\r\n\r\n AlertType! : AlertTypesEnum ;\r\n _Icon : string = '';\r\n BackgroundColor : string = '';\r\n _IconClose : string = '';\r\n\r\n\r\n isVisible : boolean = false;\r\n isFixPosition! : boolean;\r\n\r\n\r\n AlertService = inject(AlertService);\r\n AlertModel! : AlertModel;\r\n\r\n constructor(private cd: ChangeDetectorRef) {}\r\n\r\n ngOnInit(): void {\r\n this._PositionX = 0;\r\n this._PositionY = 0;\r\n this._FontColor = 'white';\r\n this._Icon = '';\r\n this.BackgroundColor = '';\r\n this._IconClose ='';\r\n this.AlertModel = new AlertModel();\r\n\r\n\r\n this._IconClose = IconsEnum.Close;\r\n\r\n\r\n this.startListenToAlertShowed();\r\n\r\n \r\n }\r\n\r\n OnClose(){\r\n this.isVisible = false;\r\n this.AlertModel.alertsName_DontSet = this.Name();\r\n this.AlertModel.wasClosed_DontSet = true;\r\n this.AlertService.wasClosed.next(this.AlertModel);\r\n }\r\n\r\n startListenToAlertShowed(){\r\n this.AlertService.wasOpenned.subscribe((AlertModel : AlertModel)=>{\r\n if(this.Name() == AlertModel.alertsName_DontSet){\r\n this._Text = AlertModel.text;\r\n this.AlertType = AlertModel.type;\r\n this.isFixPosition = AlertModel.isFixPosition;\r\n this.isVisible = true;\r\n switch(this.AlertType){\r\n case (AlertTypesEnum.Done):\r\n this._Icon = IconsEnum.Done_Fill;\r\n this.BackgroundColor = '#008B10';\r\n this._FontColor = 'white'\r\n break;\r\n case (AlertTypesEnum.Alert):\r\n this._Icon = IconsEnum.Alert;\r\n this.BackgroundColor = '#DFCD00';\r\n this._FontColor = 'black'\r\n break;\r\n case (AlertTypesEnum.NotDone):\r\n this._Icon = IconsEnum.NotDone;\r\n this.BackgroundColor = '#D40000';\r\n this._FontColor = 'white'\r\n break;\r\n }\r\n if(this.isFixPosition){\r\n\r\n }else{\r\n this._PositionY = AlertModel.top_DontSet;\r\n this._PositionX = AlertModel.left_DontSet;\r\n }\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n \r\n\r\n\r\n}\r\n","\r\n<div class=\"container\"\r\n[style.display]=\"isFixPosition ? 'flex' : ''\"\r\n[style.position]=\"isFixPosition ? 'fixed' : 'absolute'\"\r\n[style.z-index]=\"1000000000\"\r\n[style.width]=\"isFixPosition ? '100%' : ''\"\r\n[style.padding-top]=\" isFixPosition ? '100px' : '0'\"\r\n[style.top]=\"isFixPosition?'0px':_PositionY+'px'\"\r\n[style.left]=\"isFixPosition?'0px':_PositionX+'px'\"\r\n>\r\n <div class=\"body\"\r\n [style.background-color]=\"BackgroundColor\"\r\n [style.border-radius]=\"(_FontSize()*0.5) + 'px'\"\r\n [style.color]=\"_FontColor\"\r\n [style.display]=\"isVisible ? '' : 'none'\"\r\n\r\n >\r\n \r\n <i class=\"{{_IconClose}}\"\r\n [style.font-size]=\"(_FontSize()*1) + 'px'\"\r\n [style.padding-top]=\"(_FontSize()*0.6) + 'px'\"\r\n [style.padding-right]=\"(_FontSize()*0.6) + 'px'\"\r\n (click)=\"OnClose()\"\r\n >\r\n \r\n </i>\r\n \r\n <div class=\"container-text\"\r\n [style.margin-right]=\"_FontSize() + 'px'\"\r\n [style.padding-top]=\"(_FontSize()*0.4) + 'px'\"\r\n [style.padding-bottom]=\"(_FontSize()*1) + 'px'\"\r\n [style.padding-right]=\"(_FontSize()*1) + 'px'\"\r\n [style.padding-left]=\"(_FontSize()*1) + 'px'\"\r\n >\r\n <i class=\"{{_Icon}}\"\r\n [style.font-size]=\"(_FontSize()*1.2) + 'px'\"\r\n [style.margin-right]=\"(_FontSize()*0.5) + 'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.font-size]=\"_FontSize() + 'px'\"\r\n >\r\n {{_Text}}\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n","import { Component,ElementRef,inject,input, OnInit } from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {FormFieldTxtInputTypesEnum, FormFieldFontWeights,FormFieldCountryDataFormat, FormFieldTypes } from './form-field.enum';\r\nimport { FormFieldService } from './form-field.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormFieldModel,FormFielTxtModel,FormFieldComboModel } from './form-field.model';\r\nimport { AlertComponent } from '../alert/alert.component';\r\nimport { AlertTypesEnum } from '../alert/alert.enum';\r\nimport { AlertService } from '../alert/alert.service';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { AlertModel } from '../alert/alert.model';\r\nimport * as ngxMask from 'ngx-mask';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-form-field',\r\n standalone: true,\r\n imports: [FormsModule,CommonModule,AlertComponent,ngxMask.NgxMaskDirective],\r\n templateUrl: './form-field.component.html',\r\n styleUrl: './form-field.component.css',\r\n})\r\nexport class FormFieldComponent implements OnInit {\r\n\r\n //Template Properties\r\n _Icon = input.required<IconsEnum>();\r\n Name = input.required<string>();\r\n _placeHolderType : string = '';\r\n _placeHolderValue = input.required<string>();\r\n _PasswordIcon :string = IconsEnum.EyeOpen;\r\n _IconColor = input.required<string>();\r\n _FontColor = input.required<string>();\r\n _FontSize = input.required<number>();\r\n _FontFamily = input.required<string>();\r\n _FontWeight = input.required<FormFieldFontWeights>();\r\n _Options = input.required<FormFieldComboModel[]>();\r\n _Width = input.required<number>();\r\n _Height = input.required<number>();\r\n _Border = input.required<string>();\r\n _BorderRadius = input.required<number>();\r\n _BoxShadowsEnabled = input.required<boolean>();\r\n \r\n \r\n //Internal Properties\r\n TxtInputType = input.required<FormFieldTxtInputTypesEnum>();\r\n IconEnabled = input.required<boolean>();\r\n CountryDataFormat = input.required<FormFieldCountryDataFormat>();\r\n text : string = '';\r\n _AlertState : boolean = false;\r\n FieldType = input.required<FormFieldTypes>()\r\n valueFromService! : string;\r\n\r\n //ngxMask\r\n Mask : string = \"\";\r\n NumberMaskPrefix =input.required<string>();\r\n Sufixo : string = \"\";\r\n NumberMaskSufix =input.required<string>();\r\n showMaskTyped : boolean = false;\r\n thousandSeparator : string = \".\";\r\n NCasasDecimais = input.required<number>();\r\n\r\n\r\n FormFieldModel = new FormFieldModel();\r\n FormFielTxtModel = new FormFielTxtModel();\r\n FormFieldComboModel = new FormFieldComboModel();\r\n readonly AlertTypesEnum = AlertTypesEnum;\r\n readonly IconsEnum = IconsEnum;\r\n readonly FormFieldTxtInputTypesEnum = FormFieldTxtInputTypesEnum;\r\n readonly FormFieldDataFormat = FormFieldCountryDataFormat;\r\n readonly FormFieldTypes = FormFieldTypes;\r\n\r\n //Services\r\n FormFieldService = inject(FormFieldService);\r\n AlertService = inject(AlertService);\r\n\r\n\r\n constructor(private element : ElementRef, private cd : ChangeDetectorRef){}\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n //Limpa as Memórias de Estado\r\n this._placeHolderType = '';\r\n this._AlertState = false;\r\n this.FormFieldModel.name = '';\r\n\r\n\r\n this.FormFieldModel.name = this.Name();\r\n\r\n this.startListenToAlertState();\r\n this.startListenToTextChange();\r\n\r\n if(this.FieldType() == FormFieldTypes.TxtBox) this.configMask();\r\n\r\n }\r\n\r\n onTxtChange(){\r\n //this.FormFielTxtModel.value está mudando no template pelo ngModel\r\n this.FormFieldModel.name = this.Name();\r\n this.FormFieldModel.field = this.FormFielTxtModel;\r\n this.FormFieldModel.internalCall = true;\r\n this.FormFieldService.valueChanged.next(this.FormFieldModel);\r\n }\r\n onComboChange(){\r\n //this.FormFielComboModel.value está mudando no template pelo ngModel\r\n this.FormFieldModel.name = this.Name();\r\n this.FormFieldComboModel.id = this.getIDFromOption(this.FormFieldComboModel.value);\r\n this.FormFieldModel.field = this.FormFieldComboModel;\r\n this.FormFieldModel.internalCall = true;\r\n this.FormFieldService.valueChanged.next(this.FormFieldModel);\r\n }\r\n\r\n startListenToTextChange(){\r\n this.FormFieldService.valueChanged.subscribe((model:FormFieldModel)=>{\r\n\r\n if(model.name == this.Name() && !model.internalCall){\r\n\r\n if(this.FieldType() == FormFieldTypes.TxtBox){\r\n this.FormFielTxtModel.value = (model.field as FormFielTxtModel).value\r\n this.onTxtChange();\r\n }\r\n\r\n if(this.FieldType() == FormFieldTypes.ComboBox){\r\n for(let i=0; i<this._Options().length;i++){\r\n if(this._Options()[i].value.includes((model.field as FormFieldComboModel).value)){\r\n this.FormFieldComboModel.value = this._Options()[i].value;\r\n break;\r\n }\r\n this.FormFieldComboModel.value = '';\r\n\r\n }\r\n this.onComboChange()\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n \r\n\r\n startListenToAlertState(){\r\n this.FormFieldService.alertState.subscribe((callerData:AlertModel)=>{\r\n if(this.Name() == callerData.alertsFatherName){\r\n callerData.top_DontSet = this.element.nativeElement.getBoundingClientRect().top - (this.element.nativeElement.offsetHeight*1.5)\r\n callerData.left_DontSet = this.element.nativeElement.getBoundingClientRect().left\r\n callerData.alertsName_DontSet = this.FormFieldModel.name +'-alert';\r\n this.AlertService.wasOpenned.next(callerData);\r\n } \r\n })\r\n }\r\n\r\n togglePasswordView(){\r\n\r\n if(this._PasswordIcon == IconsEnum.EyeClose){\r\n\r\n this._PasswordIcon = IconsEnum.EyeOpen\r\n this._placeHolderType = 'password';\r\n\r\n }else{\r\n\r\n this._PasswordIcon = IconsEnum.EyeClose\r\n this._placeHolderType = 'text';\r\n \r\n }\r\n \r\n }\r\n\r\n configMask(){\r\n\r\n switch(this.TxtInputType()){\r\n\r\n case (FormFieldTxtInputTypesEnum.Text):\r\n this._placeHolderType = 'text';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = false;\r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.Password):\r\n this._placeHolderType = 'password';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = false;\r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.Email):\r\n this._placeHolderType = 'text';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = false;\r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.Number):\r\n this._placeHolderType = 'text';\r\n this.Mask = \"separator.\"+this.NCasasDecimais().toString()\r\n this.Sufixo = this.NumberMaskSufix();\r\n this.showMaskTyped = false;\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Brasil){\r\n this.thousandSeparator = \".\"\r\n }\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Estados_Unidos){\r\n this.thousandSeparator = \",\"\r\n } \r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.Date):\r\n this._placeHolderType = 'date';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = true;\r\n break;\r\n\r\n case (FormFieldTxtInputTypesEnum.DateTime):\r\n this._placeHolderType = 'datetime-local';\r\n this.Mask = \"\"\r\n this.Sufixo = \"\";\r\n this.showMaskTyped = true;\r\n break;\r\n\r\n case(FormFieldTxtInputTypesEnum.CellPhone):\r\n this._placeHolderType = 'tel';\r\n this.showMaskTyped = true;\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Brasil){\r\n this.Mask = \"(00) 0 0000-0000\"\r\n }\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Estados_Unidos){\r\n this.Mask = \"(000) 000-0000\"\r\n } \r\n break;\r\n }\r\n }\r\n\r\n getIDFromOption(valueText : string) : number{\r\n\r\n for(var i=0; i< this._Options().length;i++){\r\n if(valueText == this._Options()[i].value) return this._Options()[i].id\r\n }\r\n return 0\r\n }\r\n\r\n enterPressed(){\r\n this.FormFieldModel.name = this.Name();\r\n this.FormFieldService.enterPressed.next(this.FormFieldModel);\r\n }\r\n\r\n\r\n \r\n}\r\n\r\n\r\n\r\n\r\n","\r\n@if(FieldType() == FormFieldTypes.TxtBox){\r\n\r\n <div class=\"container\" \r\n [style.width]=\"_Width() +'px'\"\r\n [style.height]=\"_Height() +'px'\"\r\n [style.border-radius]=\" _BorderRadius() +'px'\"\r\n [style.border]=\"_Border()\"\r\n [ngStyle]=\" _BoxShadowsEnabled() ?\r\n {'box-shadow':'\r\n rgb(204, 219, 232)'+ (_FontSize()*0.1875) + 'px '+ (_FontSize()*0.1875) + 'px '+ (_FontSize()*0.375) + 'px 0px inset' + ',' + \r\n 'rgba(255, 255, 255, 0.5)'+ (_FontSize()*-0.1875) + 'px '+ (_FontSize()*-0.1875) + 'px '+ (_FontSize()*0.375) + 'px '+ (_FontSize()*0.0625) + 'px inset'\r\n } : {}\r\n \">\r\n\r\n <i class=\"{{_Icon()}} icon\"\r\n [style.color]=\"_IconColor()\"\r\n [style.font-size]=\"(_FontSize()*1.25) +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.5625) +'px'\"\r\n [style.display]=\"IconEnabled() ? '' : 'none'\"\r\n ></i>\r\n\r\n <input\r\n\r\n [(ngModel)]=\"this.FormFielTxtModel.value\"\r\n (ngModelChange)=\"onTxtChange()\"\r\n prefix=\"{{NumberMaskPrefix()}}\"\r\n suffix=\"{{Sufixo}}\"\r\n mask=\"{{Mask}}\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n [allowNegativeNumbers]=\"TxtInputType() == FormFieldTxtInputTypesEnum.Number ? true : false\"\r\n thousandSeparator=\"{{thousandSeparator}}\"\r\n (keydown.enter)=\"enterPressed()\"\r\n\r\n type=\"{{_placeHolderType}}\"\r\n name=\"{{Name()}}\"\r\n placeholder=\"{{_placeHolderValue()}}\"\r\n [style.color]=\"_FontColor()\"\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.font-size]=\"_FontSize()+'px'\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.width]=\"_Width() +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.500) +'px'\"\r\n >\r\n\r\n <i class=\"{{_PasswordIcon}}\"\r\n (click)=\"togglePasswordView()\"\r\n [style.cursor]=\"'pointer'\"\r\n [style.color]=\"_IconColor()\"\r\n [style.font-size]=\"(_FontSize()*1.25) +'px'\"\r\n [style.margin-right]=\"(_FontSize()*0.5625) +'px'\"\r\n [style.display]=\"TxtInputType() == FormFieldTxtInputTypesEnum.Password ? '' : 'none'\"\r\n ></i>\r\n </div>\r\n}@else {\r\n\r\n <div class=\"container\"\r\n [style.width]=\"_Width() +'px'\"\r\n [style.height]=\"_Height() +'px'\"\r\n [style.padding]=\"(_FontSize()*0.4) +'px' + ' ' + (_FontSize()*0.8) +'px'\" \r\n [style.border-radius]=\" _BorderRadius() +'px'\"\r\n [style.border]=\"_Border()\"\r\n [ngStyle]=\" _BoxShadowsEnabled() ?\r\n {'box-shadow':'\r\n rgb(204, 219, 232)'+ (_FontSize()*0.1875) + 'px '+ (_FontSize()*0.1875) + 'px '+ (_FontSize()*0.375) + 'px 0px inset' + ',' + \r\n 'rgba(255, 255, 255, 0.5)'+ (_FontSize()*-0.1875) + 'px '+ (_FontSize()*-0.1875) + 'px '+ (_FontSize()*0.375) + 'px '+ (_FontSize()*0.0625) + 'px inset'\r\n } : {}\r\n \">\r\n <select\r\n [(ngModel)]=\"this.FormFieldComboModel.value\"\r\n (ngModelChange)=\"onComboChange()\"\r\n [style.color]=\"_FontColor()\"\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.font-size]=\"_FontSize()+'px'\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.width]=\"_Width() +'px'\"\r\n [style.height]=\"_Height() +'px'\"\r\n\r\n >\r\n @for(option of _Options() ; track $index ){\r\n <option>{{option.value}}</option>\r\n }\r\n </select>\r\n </div>\r\n}\r\n\r\n\r\n<app-alert\r\n[Name]=\"Name()+'-alert'\"\r\n[_FontSize]=\"_FontSize()\"\r\n[_FontFamily]=\"_FontFamily()\"\r\n[_FontWeight]=\"_FontWeight()\"\r\n/>\r\n\r\n\r\n\r\n\r\n","export enum ButtonTypeEnum{\r\n Normal,\r\n Outline\r\n}\r\nexport enum ButtonIconPositionEnum{\r\n Top,\r\n Right,\r\n Bottom,\r\n Left\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { ButtonConfigModel } from \"./button.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ButtonService{\r\n\r\n public click = new Subject<string>();\r\n public stateChanged = new Subject<ButtonConfigModel>();\r\n\r\n}","import { ButtonIconPositionEnum, ButtonTypeEnum } from \"../button/button.enum\";\r\nimport { FontWeights } from \"../fontWeights.enum\";\r\nimport { IconsEnum } from \"../icons.enum.ts\";\r\nexport class ButtonConfigModel{\r\n constructor(params:{\r\n Name:string,\r\n Width?:number,\r\n Height?:number,\r\n ButtonType?:ButtonTypeEnum,\r\n BorderRadius?:number,\r\n AlignItems?:string,\r\n JustifyContent?:string,\r\n Padding?:string,\r\n IconEnabled?:boolean,\r\n Icon?:IconsEnum,\r\n IconFontSize?:number,\r\n IconDistanceFromtext?:number,\r\n IconColorNormal?:string,\r\n IconColorHover?:string,\r\n IconOrientation?:ButtonIconPositionEnum,\r\n TextEnabled?:boolean,\r\n Text?:string,\r\n TextFontSize?:number,\r\n TextFontWeight?:FontWeights,\r\n TextFontFamily?:string,\r\n TextColorNormal?:string,\r\n TextColorHover?:string,\r\n BackGroundColorNormal?:string,\r\n BackGroundColorHover?:string,\r\n LoadingState?:boolean,\r\n EnabledState?:boolean,\r\n OutlineBorderSize?:number\r\n }){\r\n\r\n this.Name = params.Name;\r\n this.Width = params.Width;\r\n this.Height = params.Height;\r\n this.ButtonType = params.ButtonType;\r\n this.BorderRadius = params.BorderRadius;\r\n this.AlignItems = params.AlignItems;\r\n this.JustifyContent = params.JustifyContent;\r\n this.Padding = params.Padding;\r\n this.IconEnabled = params.IconEnabled;\r\n this.Icon = params.Icon;\r\n this.IconFontSize = params.IconFontSize;\r\n this.IconDistanceFromtext = params.IconDistanceFromtext;\r\n this.IconColorNormal = params.IconColorNormal;\r\n this.IconColorHover = params.IconColorHover;\r\n this.IconOrientation = params.IconOrientation;\r\n this.TextEnabled = params.TextEnabled;\r\n this.Text = params.Text;\r\n this.TextFontSize = params.TextFontSize;\r\n this.TextFontWeight = params.TextFontWeight;\r\n this.TextFontFamily = params.TextFontFamily;\r\n this.TextColorNormal = params.TextColorNormal;\r\n this.TextColorHover = params.TextColorHover;\r\n this.BackGroundColorNormal = params.BackGroundColorNormal;\r\n this.BackGroundColorHover = params.BackGroundColorHover;\r\n this.LoadingState = params.LoadingState;\r\n this.EnabledState = params.EnabledState;\r\n this.OutlineBorderSize = params.OutlineBorderSize;\r\n \r\n }\r\n public Name?:string;\r\n public Width?:number;\r\n public Height?:number;\r\n public ButtonType?:ButtonTypeEnum;\r\n public BorderRadius?:number;\r\n public AlignItems?:string;\r\n public JustifyContent?:string;\r\n public Padding?:string;\r\n public IconEnabled?:boolean;\r\n public Icon?:IconsEnum;\r\n public IconFontSize?:number;\r\n public IconDistanceFromtext?:number;\r\n public IconColorNormal?:string;\r\n public IconColorHover?:string;\r\n public IconOrientation?:ButtonIconPositionEnum;\r\n public TextEnabled?:boolean;\r\n public Text?:string;\r\n public TextFontSize?:number;\r\n public TextFontWeight?:FontWeights;\r\n public TextFontFamily?:string;\r\n public TextColorNormal?:string;\r\n public TextColorHover?:string;\r\n public BackGroundColorNormal?:string;\r\n public BackGroundColorHover?:string;\r\n public LoadingState?:boolean;\r\n public EnabledState?:boolean;\r\n public OutlineBorderSize?:number;\r\n}","import { Component, ElementRef, OnDestroy, OnInit, inject, input } from '@angular/core';\r\nimport { ButtonIconPositionEnum, ButtonTypeEnum } from './button.enum';\r\nimport { ButtonService } from './button.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonConfigModel } from './button.model';\r\nimport { AlertService } from '../alert/alert.service';\r\nimport { AlertTypesEnum } from '../alert/alert.enum';\r\nimport { AlertModel } from '../alert/alert.model';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\nimport { FontWeights } from '../fontWeights.enum';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.css'\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n\r\n name = input.required<string>();\r\n _name! : string;\r\n ButtonService = inject(ButtonService);\r\n AlertService = inject(AlertService);\r\n AlertModel = new AlertModel();\r\n readonly AlertTypesEnum = AlertTypesEnum;\r\n readonly ButtonTypeEnum = ButtonTypeEnum;\r\n\r\n configModel:ButtonConfigModel = new ButtonConfigModel({\r\n Name:''\r\n });\r\n\r\n _IconOrientation!:string;\r\n _IconDistanceFromTextObject!:object;\r\n _BackGroundColor!:string;\r\n _IconColor!:string;\r\n _TextColor!:string;\r\n\r\n Width?:number;\r\n Height?:number;\r\n ButtonType?:ButtonTypeEnum;\r\n BorderRadius?:number;\r\n AlignItems?:string;\r\n JustifyContent?:string;\r\n Padding?:string;\r\n IconEnabled?:boolean;\r\n Icon?:IconsEnum;\r\n IconFontSize?:number;\r\n IconDistanceFromtext?:number;\r\n IconColorNormal?:string;\r\n IconColorHover?:string;\r\n IconOrientation?:ButtonIconPositionEnum;\r\n TextEnabled?:boolean;\r\n Text?:string;\r\n TextFontSize?:number;\r\n TextFontWeight?:FontWeights;\r\n TextFontFamily?:string;\r\n TextColorNormal?:string;\r\n TextColorHover?:string;\r\n BackGroundColorNormal?:string;\r\n BackGroundColorHover?:string;\r\n LoadingState?:boolean;\r\n EnabledState?:boolean;\r\n OutlineBorderSize?:number;\r\n\r\n BorderColor?:string;\r\n\r\n \r\n constructor(private element : ElementRef){}\r\n\r\n ngOnInit(): void {\r\n this._name = this.name();\r\n this.startListenToStateChanged();\r\n }\r\n OnMouseOver(){\r\n\r\n this._BackGroundColor = this.BackGroundColorHover ?? 'white';\r\n this._IconColor = this.IconColorHover ?? 'white';\r\n this._TextColor = this.TextColorHover ?? 'white';\r\n this.BorderColor = this.BackGroundColorHover;\r\n\r\n }\r\n OnMouseOut(){\r\n\r\n if(this.ButtonType == ButtonTypeEnum.Normal){\r\n this._BackGroundColor = this.BackGroundColorNormal ?? 'white';\r\n }else{\r\n this._BackGroundColor = 'transparent';\r\n this.BorderColor = this.BackGroundColorNormal;\r\n }\r\n\r\n this._IconColor = this.IconColorNormal ?? 'white';\r\n this._TextColor = this.TextColorNormal ?? 'white';\r\n }\r\n OnClick(){\r\n if(this.EnabledState) this.ButtonService.click.next(this._name);\r\n }\r\n startListenToStateChanged(){\r\n this.ButtonService.stateChanged\r\n .subscribe((config:ButtonConfigModel)=>{\r\n if(config.Name == this.name()){\r\n this.Width = config.Width ?? this.Width;\r\n this.Height = config.Height ?? this.Height;\r\n this.ButtonType = config.ButtonType ?? this.ButtonType;\r\n this.BorderRadius = config.BorderRadius ?? this.BorderRadius;\r\n this.AlignItems = config.AlignItems ?? this.AlignItems;\r\n this.JustifyContent = config.JustifyContent ?? this.JustifyContent;\r\n this.Padding = config.Padding ?? this.Padding;\r\n this.IconEnabled = config.IconEnabled ?? this.IconEnabled;\r\n this.Icon = config.Icon ?? this.Icon;\r\n this.IconFontSize = config.IconFontSize ?? this.IconFontSize;\r\n this.IconDistanceFromtext = config.IconDistanceFromtext ?? this.IconDistanceFromtext;\r\n this.IconColorNormal = config.IconColorNormal ?? this.IconColorNormal;\r\n this.IconColorHover = config.IconColorHover ?? this.IconColorHover;\r\n this.IconOrientation = config.IconOrientation ?? this.IconOrientation;\r\n this.TextEnabled = config.TextEnabled ?? this.TextEnabled;\r\n this.Text = config.Text ?? this.Text;\r\n this.TextFontSize = config.TextFontSize ?? this.TextFontSize;\r\n this.TextFontWeight = config.TextFontWeight ?? this.TextFontWeight;\r\n this.TextFontFamily = config.TextFontFamily ?? this.TextFontFamily;\r\n this.TextColorNormal = config.TextColorNormal ?? this.TextColorNormal;\r\n this.TextColorHover = config.TextColorHover ?? this.TextColorHover;\r\n this.BackGroundColorNormal = config.BackGroundColorNormal ?? this.BackGroundColorNormal;\r\n this.BackGroundColorHover = config.BackGroundColorHover ?? this.BackGroundColorHover;\r\n this.LoadingState = config.LoadingState ?? this.LoadingState;\r\n this.EnabledState = config.EnabledState ?? this.EnabledState;\r\n this.OutlineBorderSize = config.OutlineBorderSize ?? this.OutlineBorderSize;\r\n this.defineIconOrientation();\r\n this.OnMouseOut();\r\n }\r\n })\r\n }\r\n defineIconOrientation(){\r\n switch (this.IconOrientation){\r\n case (ButtonIconPositionEnum.Top):\r\n this._IconOrientation = 'column'\r\n this._IconDistanceFromTextObject = this.TextEnabled ? {'margin-bottom': (this.IconDistanceFromtext ?? 5).toString() + 'px'} : {};\r\n break\r\n case (ButtonIconPositionEnum.Right):\r\n this._IconOrientation = 'row-reverse'\r\n this._IconDistanceFromTextObject = this.TextEnabled ? {'margin-left': (this.IconDistanceFromtext ?? 5).toString() + 'px'} : {}\r\n break\r\n case (ButtonIconPositionEnum.Bottom):\r\n this._IconOrientation = 'column-reverse'\r\n this._IconDistanceFromTextObject = this.TextEnabled ? {'margin-top': (this.IconDistanceFromtext ?? 5).toString() + 'px'} : {}\r\n break\r\n case (ButtonIconPositionEnum.Left):\r\n this._IconDistanceFromTextObject = this.TextEnabled ? {'margin-right': (this.IconDistanceFromtext ?? 5).toString() + 'px'} : {}\r\n break\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","<button\r\n[style.background-color]=\"_BackGroundColor\"\r\n[style.border-radius]=\"(BorderRadius ?? 5).toString()+'px'\"\r\n[style.border]=\"ButtonType == ButtonTypeEnum.Outline && EnabledState ? `${OutlineBorderSize}px solid ${BorderColor}` : '' \"\r\n[style.width]=\"Width + 'px'\"\r\n[style.height]=\"Height + 'px'\"\r\n[style.flex-direction]=\"this._IconOrientation\"\r\n[style.align-items]=\"AlignItems\"\r\n[style.justify-content]=\"JustifyContent\"\r\n[style.padding]=\"Padding\"\r\n[style.cursor]=\"(EnabledState ?? true) ? 'pointer' : 'default'\"\r\n[style.--transition]=\"!EnabledState ? '0s' : '0.05s'\"\r\n[style.--transformHover]=\"!EnabledState ? '1' : '1.05'\"\r\n[style.--transformActive]=\"!EnabledState ? '1' : '0.95'\"\r\n(mouseover)=\"OnMouseOver()\"\r\n(mouseout)=\"OnMouseOut()\"\r\n(click)=\"OnClick()\"\r\ntype=\"button\"\r\n>\r\n <i\r\n class=\"{{Icon}}\"\r\n [style.color]=\"EnabledState ? _IconColor : 'gray'\"\r\n [style.font-size]=\"IconFontSize +'px'\"\r\n [style.display]=\"IconEnabled && !LoadingState ? '' : 'none'\"\r\n [ngStyle]=\"_IconDistanceFromTextObject\"\r\n >\r\n </i>\r\n\r\n <i\r\n class=\"loader\"\r\n [style.width]=\"IconFontSize +'px'\"\r\n [style.height]=\"IconFontSize +'px'\"\r\n [style.display]=\"LoadingState ? 'inline-block' : 'none'\"\r\n [style.--loaderColor]=\"_TextColor\"\r\n [style.--loaderBorderSize]=\"((IconFontSize ?? 12) *0.15)+'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-size]=\"TextFontSize +'px'\"\r\n [style.font-family]=\"TextFontFamily\"\r\n [style.font-weight]=\"TextFontWeight\"\r\n [style.color]=\"EnabledState ? _TextColor : 'gray'\"\r\n [style.display]=\"TextEnabled && !LoadingState ? '' : 'none'\"\r\n >{{Text}}\r\n </p>\r\n\r\n</button>\r\n \r\n","import {Injectable } from \"@angular/core\";\r\nimport { Subject, Subscriber } from 'rxjs';\r\nimport { ListItemConfigModel } from \"./list-item.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ListItemService{\r\n public stateChanged = new Subject<ListItemConfigModel>();\r\n public onClick = new Subject<string>();\r\n}","export enum ListItemTypeEnum{\r\n Normal = 'row',\r\n Reverse = 'row-reverse'\r\n}\r\nexport enum ListItemTextAlignEnum{\r\n Left = 'left',\r\n Center = 'center',\r\n Right = 'right'\r\n}\r\nexport enum ListItemItemNumberPositionEnum{\r\n Top = 'flex-start',\r\n Middle = 'center'\r\n}","import { Component,input, OnInit,inject } from '@angular/core';\r\nimport { ListItemService } from './list-item.service';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\nimport { ListItemConfigModel } from './list-item.model';\r\nimport { ListItemTextAlignEnum, ListItemTypeEnum } from './list-item.enum';\r\nimport { FontWeights } from '../fontWeights.enum';\r\nimport { ListItemItemNumberPositionEnum } from '../list-item/list-item.enum';\r\n\r\n\r\n@Component({\r\n selector: 'app-list-item',\r\n standalone: true,\r\n imports: [],\r\n templateUrl: './list-item.component.html',\r\n styleUrl: './list-item.component.css'\r\n})\r\nexport class ListItemComponent implements OnInit {\r\n\r\n //Internas\r\n _mouseover : boolean = false;\r\n\r\n readonly ListItemTypesEnum = ListItemTypeEnum;\r\n readonly ListItemItemNumberPositionEnum = ListItemItemNumberPositionEnum;\r\n\r\n //Services\r\n ListItemService = inject(ListItemService);\r\n\r\n //Model\r\n name = input.required<string>();\r\n ListItemType?: ListItemTypeEnum;\r\n OpenState?:boolean;\r\n Width?:number;\r\n Height?:number;\r\n BorderRadius?:number;\r\n\r\n ItemNumberIconContainerWidth?:number;\r\n ItemNumberIconBackGroundColorNormal?:string;\r\n ItemNumberIconBackGroundColorHover?:string;\r\n\r\n TitlesContainerWidth?:number;\r\n TitlesBackGroundColorNormal?:string;\r\n TitlesBackGroundColorHover?:string;\r\n TitlesContainerPadding?:number;\r\n\r\n TriggerIconContainerWidth?:number;\r\n TriggerIconBackGroundColorNormal?:string;\r\n TriggerIconBackGroundColorHover?:string;\r\n\r\n ItemNumberEnabled?: boolean;\r\n ItemNumberText?: string;\r\n ItemNumberFontFamily?: string;\r\n ItemNumberFontWeight?: FontWeights;\r\n ItemNumberFontColorNormal?: string;\r\n ItemNumberFontColorHover?: string;\r\n ItemNumberFontSize?: number;\r\n ItemNumberPosition?: ListItemItemNumberPositionEnum;\r\n\r\n IconEnabled?: boolean;\r\n Icon?: IconsEnum;\r\n IconFontColorNormal?: string;\r\n IconFontColorHover?: string;\r\n IconFontSize?: number;\r\n\r\n TitleEnabled?: boolean;\r\n TitleText?: string;\r\n TitleFontFamily?: string;\r\n TitleFontWeight?: FontWeights;\r\n TitleFontColorNormal?: string;\r\n TitleFontColorHover?: string;\r\n TitleFontSize?: number;\r\n TitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n SubTitleEnabled?: boolean;\r\n SubTitleText?: string;\r\n SubTitleFontFamily?: string;\r\n SubTitleFontWeight?: FontWeights;\r\n SubTitleFontColorNormal?: string;\r\n SubTitleFontColorHover?: string;\r\n SubTitleFontSize?: number;\r\n SubTitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n TriggerIconEnabled?: boolean;\r\n TriggerIconClose?: IconsEnum;\r\n TriggerIconOpen?: IconsEnum;\r\n TriggerIconFontColorNormal?: string;\r\n TriggerIconFontColorHover?: string;\r\n TriggerIconFontSize?: number;\r\n TriggerIconRotationEnabled?:boolean;\r\n\r\n ContainerWrappedBackGroundColor?:string;\r\n\r\n ngOnInit(): void {\r\n\r\n this.startListenToStateChanged();\r\n\r\n }\r\n onClick(){\r\n this.ListItemService.onClick.next(this.name())\r\n }\r\n\r\n startListenToStateChanged(): void {\r\n this.ListItemService.stateChanged\r\n .subscribe((config: ListItemConfigModel) => {\r\n if (config.Name === this.name()) {\r\n\r\n this.ListItemType = config.ListItemType ?? this.ListItemType;\r\n this.OpenState = config.OpenState ?? this.OpenState;\r\n this.Width = config.Width ?? this.Width;\r\n this.Height = config.Height ?? this.Height;\r\n this.BorderRadius = config.BorderRadius ?? this.BorderRadius;\r\n\r\n this.ItemNumberIconContainerWidth = config.ItemNumberIconContainerWidth ?? this.ItemNumberIconContainerWidth;\r\n this.ItemNumberIconBackGroundColorNormal = config.ItemNumberIconBackGroundColorNormal ?? this.ItemNumberIconBackGroundColorNormal;\r\n this.ItemNumberIconBackGroundColorHover = config.ItemNumberIconBackGroundColorHover ?? this.ItemNumberIconBackGroundColorHover;\r\n\r\n this.TitlesContainerWidth = config.TitlesContainerWidth ?? this.TitlesContainerWidth;\r\n this.TitlesBackGroundColorNormal = config.TitlesBackGroundColorNormal ?? this.TitlesBackGroundColorNormal;\r\n this.TitlesBackGroundColorHover = config.TitlesBackGroundColorHover ?? this.TitlesBackGroundColorHover;\r\n this.TitlesContainerPadding = config.TitlesContainerPadding ?? this.TitlesContainerPadding;\r\n\r\n this.TriggerIconContainerWidth = config.TriggerIconContainerWidth ?? this.TriggerIconContainerWidth;\r\n this.TriggerIconBackGroundColorNormal = config.TriggerIconBackGroundColorNormal ?? this.TriggerIconBackGroundColorNormal;\r\n this.TriggerIconBackGroundColorHover = config.TriggerIconBackGroundColorHover ?? this.TriggerIconBackGroundColorHover;\r\n\r\n this.ItemNumberEnabled = config.ItemNumberEnabled ?? this.ItemNumberEnabled;\r\n this.ItemNumberText = config.ItemNumberText ?? this.ItemNumberText;\r\n this.ItemNumberFontFamily = config.ItemNumberFontFamily ?? this.ItemNumberFontFamily;\r\n this.ItemNumberFontWeight = config.ItemNumberFontWeight ?? this.ItemNumberFontWeight;\r\n this.ItemNumberFontColorNormal = config.ItemNumberFontColorNormal ?? this.ItemNumberFontColorNormal;\r\n this.ItemNumberFontColorHover = config.ItemNumberFontColorHover ?? this.ItemNumberFontColorHover;\r\n this.ItemNumberFontSize = config.ItemNumberFontSize ?? this.ItemNumberFontSize;\r\n this.ItemNumberPosition = config.ItemNumberPosition ?? this.ItemNumberPosition;\r\n\r\n this.IconEnabled = config.IconEnabled ?? this.IconEnabled;\r\n this.Icon = config.Icon ?? this.Icon;\r\n this.IconFontColorNormal = config.IconFontColorNormal ?? this.IconFontColorNormal;\r\n this.IconFontColorHover = config.IconFontColorHover ?? this.IconFontColorHover;\r\n this.IconFontSize = config.IconFontSize ?? this.IconFontSize;\r\n\r\n this.TitleEnabled = config.TitleEnabled ?? this.TitleEnabled;\r\n this.TitleText = config.TitleText ?? this.TitleText;\r\n this.TitleFontFamily = config.TitleFontFamily ?? this.TitleFontFamily;\r\n this.TitleFontWeight = config.TitleFontWeight ?? this.TitleFontWeight;\r\n this.TitleFontColorNormal = config.TitleFontColorNormal ?? this.TitleFontColorNormal;\r\n this.TitleFontColorHover = config.TitleFontColorHover ?? this.TitleFontColorHover;\r\n this.TitleFontSize = config.TitleFontSize ?? this.TitleFontSize;\r\n this.TitleTextAlign = config.TitleTextAlign ?? this.TitleTextAlign;\r\n\r\n\r\n this.SubTitleEnabled = config.SubTitleEnabled ?? this.SubTitleEnabled;\r\n this.SubTitleText = config.SubTitleText ?? this.SubTitleText;\r\n this.SubTitleFontFamily = config.SubTitleFontFamily ?? this.SubTitleFontFamily;\r\n this.SubTitleFontWeight = config.SubTitleFontWeight ?? this.SubTitleFontWeight;\r\n this.SubTitleFontColorNormal = config.SubTitleFontColorNormal ?? this.SubTitleFontColorNormal;\r\n this.SubTitleFontColorHover = config.SubTitleFontColorHover ?? this.SubTitleFontColorHover;\r\n this.SubTitleFontSize = config.SubTitleFontSize ?? this.SubTitleFontSize;\r\n this.SubTitleTextAlign = config.SubTitleTextAlign ?? this.SubTitleTextAlign;\r\n\r\n this.TriggerIconEnabled = config.TriggerIconEnabled ?? this.TriggerIconEnabled;\r\n this.TriggerIconClose = config.TriggerIconClose ?? this.TriggerIconClose;\r\n this.TriggerIconOpen = config.TriggerIconOpen ?? this.TriggerIconOpen;\r\n this.TriggerIconFontColorNormal = config.TriggerIconFontColorNormal ?? this.TriggerIconFontColorNormal;\r\n this.TriggerIconFontColorHover = config.TriggerIconFontColorHover ?? this.TriggerIconFontColorHover;\r\n this.TriggerIconFontSize = config.TriggerIconFontSize ?? this.TriggerIconFontSize;\r\n this.TriggerIconRotationEnabled = config.TriggerIconRotationEnabled ?? this.TriggerIconRotationEnabled;\r\n\r\n this.ContainerWrappedBackGroundColor = config.ContainerWrappedBackGroundColor ?? this.ContainerWrappedBackGroundColor;\r\n\r\n }\r\n });\r\n }\r\n\r\n setMouseOver(state:boolean){\r\n this._mouseover = state;\r\n }\r\n\r\n}\r\n","<div class=\"wrapper\"\r\n[style.width]=\"Width+'px'\"\r\n[style.border-radius]=\"BorderRadius+'px'\"\r\n[style.box-shadow]=\"'rgba(0, 0, 0, 0.24) 0px 3px 8px'\"\r\n>\r\n <div class=\"container\"\r\n [style.height]=\"Height+'px'\"\r\n [style.border-radius]=\"BorderRadius+'px'\"\r\n [style.flex-direction]=\"ListItemType?.toString()\"\r\n (mouseover)=\"setMouseOver(true)\"\r\n (mouseout)=\"setMouseOver(false)\"\r\n (click)=\"onClick()\"\r\n >\r\n\r\n <div class=\"iconContainer\"\r\n [style.width]=\"ItemNumberIconContainerWidth+'px'\"\r\n [style.background-color]=\"_mouseover ? ItemNumberIconBackGroundColorHover : ItemNumberIconBackGroundColorNormal\"\r\n >\r\n <p class=\"ItemNumber\"\r\n [style.display]=\"ItemNumberEnabled ? '' : 'none'\"\r\n [style.font-family]=\"ItemNumberFontFamily\"\r\n [style.font-weight]=\"ItemNumberFontWeight\"\r\n [style.color]=\"_mouseover ? ItemNumberFontColorHover : ItemNumberFontColorNormal\"\r\n [style.font-size]=\"ItemNumberFontSize + 'px' \"\r\n [style.align-self]=\"ItemNumberPosition?.toString()\"\r\n [style.margin-top]=\"ItemNumberPosition == ListItemItemNumberPositionEnum.Top ? '5px': '' \"\r\n [style.margin-right]=\"IconEnabled ? 'auto' : ''\"\r\n [style.margin-left]=\"IconEnabled ? '5px' : ''\"\r\n >\r\n {{ItemNumberText}}\r\n </p>\r\n\r\n <i class=\"{{Icon}}\"\r\n [style.display]=\"IconEnabled ? '' : 'none'\"\r\n [style.color]=\"_mouseover ? IconFontColorHover : IconFontColorNormal\"\r\n [style.font-size]=\"IconFontSize +'px'\"\r\n [style.margin-left]=\"ItemNumberEnabled ? 'auto' : ''\"\r\n [style.margin-right]=\"ItemNumberEnabled ? '10px' : ''\"\r\n ></i>\r\n </div>\r\n\r\n\r\n <div class=\"TextContainer\"\r\n [style.width]=\"TitlesContainerWidth+'px'\"\r\n [style.background-color]=\"_mouseover ? TitlesBackGroundColorHover : TitlesBackGroundColorNormal\"\r\n [style.padding]=\"`0px ${TitlesContainerPadding}px`\"\r\n >\r\n\r\n <h1 class=\"title\"\r\n [style.display]=\"TitleEnabled ? '' : 'none'\"\r\n [style.font-family]=\"TitleFontFamily\"\r\n [style.font-weight]=\"TitleFontWeight\"\r\n [style.color]=\"_mouseover ? TitleFontColorHover : TitleFontColorNormal\"\r\n [style.font-size]=\"TitleFontSize +'px'\"\r\n [style.text-align]=\"TitleTextAlign?.toString()\"\r\n >\r\n {{TitleText}}\r\n </h1>\r\n\r\n <h2 class=\"sub-title\"\r\n [style.display]=\"SubTitleEnabled ? '' : 'none'\"\r\n [style.font-family]=\"SubTitleFontFamily\"\r\n [style.font-weight]=\"SubTitleFontWeight\"\r\n [style.color]=\"_mouseover ? SubTitleFontColorHover : SubTitleFontColorNormal\"\r\n [style.font-size]=\"SubTitleFontSize +'px'\"\r\n [style.text-align]=\"SubTitleTextAlign?.toString()\"\r\n >\r\n {{SubTitleText}}\r\n </h2>\r\n\r\n </div>\r\n\r\n <div class=\"ItemOpenIconContainer\"\r\n [style.background-color]=\"_mouseover ? TriggerIconBackGroundColorHover : TriggerIconBackGroundColorNormal\"\r\n [style.width]=\"TriggerIconContainerWidth+'px'\"\r\n >\r\n <i class=\"{{OpenState? TriggerIconOpen : TriggerIconClose}}\"\r\n [style.display]=\"TriggerIconEnabled ? '' : 'none'\"\r\n [class.ItemOpenState]=\"OpenState\"\r\n [class.ItemCloseState]=\"!OpenState\"\r\n [style.color]=\"_mouseover ? TriggerIconFontColorHover : TriggerIconFontColorNormal\"\r\n [style.font-size]=\"TriggerIconFontSize +'px'\"\r\n [style.transform]=\"\r\n TriggerIconRotationEnabled == true \r\n ? ListItemType == ListItemTypesEnum.Normal\r\n ? OpenState \r\n ? '' \r\n : 'rotate(90deg)' \r\n : OpenState \r\n ? '' \r\n : 'rotate(-90deg)'\r\n : ''\r\n \"\r\n ></i>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"containerWrapped\"\r\n [style.display]=\"OpenState ? '' : 'none'\"\r\n [style.background-color]=\"ContainerWrappedBackGroundColor\"\r\n >\r\n <ng-content/>\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n","import { FontWeights } from \"../fontWeights.enum.js\";\r\nimport { IconsEnum } from \"../icons.enum.ts\";\r\nimport { ListItemItemNumberPositionEnum, ListItemTextAlignEnum, ListItemTypeEnum } from \"./list-item.enum.js\";\r\nexport class ListItemConfigModel {\r\n constructor(params: {\r\n\r\n Name: string;\r\n ListItemType?: ListItemTypeEnum;\r\n OpenState?:boolean;\r\n Width?:number;\r\n Height?:number;\r\n BorderRadius?:number;\r\n\r\n ItemNumberIconContainerWidth?:number;\r\n ItemNumberIconBackGroundColorNormal?: string;\r\n ItemNumberIconBackGroundColorHover?: string;\r\n\r\n TitlesContainerWidth?:number;\r\n TitlesBackGroundColorNormal?: string;\r\n TitlesBackGroundColorHover?: string;\r\n TitlesContainerPadding?:number;\r\n\r\n TriggerIconContainerWidth?:number;\r\n TriggerIconBackGroundColorNormal?: string;\r\n TriggerIconBackGroundColorHover?: string;\r\n\r\n ItemNumberEnabled?: boolean;\r\n ItemNumberText?: string;\r\n ItemNumberFontFamily?: string;\r\n ItemNumberFontWeight?: FontWeights;\r\n ItemNumberFontColorNormal?: string;\r\n ItemNumberFontColorHover?: string;\r\n ItemNumberFontSize?: number;\r\n ItemNumberPosition?: ListItemItemNumberPositionEnum;\r\n\r\n IconEnabled?: boolean;\r\n Icon?: IconsEnum;\r\n IconFontColorNormal?: string;\r\n IconFontColorHover?: string;\r\n IconFontSize?: number;\r\n\r\n TitleEnabled?: boolean;\r\n TitleText?: string;\r\n TitleFontFamily?: string;\r\n TitleFontWeight?: FontWeights;\r\n TitleFontColorNormal?: string;\r\n TitleFontColorHover?: string;\r\n TitleFontSize?: number;\r\n TitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n SubTitleEnabled?: boolean;\r\n SubTitleText?: string;\r\n SubTitleFontFamily?: string;\r\n SubTitleFontWeight?: FontWeights;\r\n SubTitleFontColorNormal?: string;\r\n SubTitleFontColorHover?: string;\r\n SubTitleFontSize?: number;\r\n SubTitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n TriggerIconEnabled?: boolean;\r\n TriggerIconClose?: IconsEnum;\r\n TriggerIconOpen?: IconsEnum;\r\n TriggerIconFontColorNormal?: string;\r\n TriggerIconFontColorHover?: string;\r\n TriggerIconFontSize?: number;\r\n TriggerIconRotationEnabled?:boolean;\r\n\r\n ContainerWrappedBackGroundColor?:string;\r\n\r\n }) {\r\n this.Name = params.Name;\r\n this.ListItemType = params.ListItemType;\r\n this.OpenState = params.OpenState;\r\n this.Width = params.Width;\r\n this.Height = params.Height;\r\n this.BorderRadius = params.BorderRadius;\r\n\r\n this.ItemNumberIconContainerWidth = params.ItemNumberIconContainerWidth;\r\n this.ItemNumberIconBackGroundColorNormal = params.ItemNumberIconBackGroundColorNormal;\r\n this.ItemNumberIconBackGroundColorHover = params.ItemNumberIconBackGroundColorHover;\r\n\r\n this.TitlesContainerWidth= params.TitlesContainerWidth;\r\n this.TitlesBackGroundColorNormal= params.TitlesBackGroundColorNormal;\r\n this.TitlesBackGroundColorHover= params.TitlesBackGroundColorHover;\r\n this.TitlesContainerPadding = params.TitlesContainerPadding;\r\n\r\n this.TriggerIconContainerWidth = params.TriggerIconContainerWidth;\r\n this.TriggerIconBackGroundColorNormal = params.TriggerIconBackGroundColorNormal;\r\n this.TriggerIconBackGroundColorHover = params.TriggerIconBackGroundColorHover;\r\n\r\n this.ItemNumberEnabled = params.ItemNumberEnabled;\r\n this.ItemNumberText = params.ItemNumberText;\r\n this.ItemNumberFontFamily = params.ItemNumberFontFamily;\r\n this.ItemNumberFontWeight = params.ItemNumberFontWeight;\r\n this.ItemNumberFontColorNormal = params.ItemNumberFontColorNormal;\r\n this.ItemNumberFontColorHover = params.ItemNumberFontColorHover;\r\n this.ItemNumberFontSize = params.ItemNumberFontSize;\r\n this.ItemNumberPosition = params.ItemNumberPosition;\r\n\r\n this.IconEnabled = params.IconEnabled;\r\n this.Icon = params.Icon;\r\n this.IconFontColorNormal = params.IconFontColorNormal;\r\n this.IconFontColorHover = params.IconFontColorHover;\r\n this.IconFontSize = params.IconFontSize;\r\n\r\n this.TitleEnabled = params.TitleEnabled;\r\n this.TitleText = params.TitleText;\r\n this.TitleFontFamily = params.TitleFontFamily;\r\n this.TitleFontWeight = params.TitleFontWeight;\r\n this.TitleFontColorNormal = params.TitleFontColorNormal;\r\n this.TitleFontColorHover = params.TitleFontColorHover;\r\n this.TitleFontSize = params.TitleFontSize;\r\n this.TitleTextAlign= params.TitleTextAlign;\r\n\r\n this.SubTitleEnabled = params.SubTitleEnabled;\r\n this.SubTitleText = params.SubTitleText;\r\n this.SubTitleFontFamily = params.SubTitleFontFamily;\r\n this.SubTitleFontWeight = params.SubTitleFontWeight;\r\n this.SubTitleFontColorNormal = params.SubTitleFontColorNormal;\r\n this.SubTitleFontColorHover = params.SubTitleFontColorHover;\r\n this.SubTitleFontSize = params.SubTitleFontSize;\r\n this.SubTitleTextAlign= params.SubTitleTextAlign;\r\n\r\n this.TriggerIconEnabled = params.TriggerIconEnabled;\r\n this.TriggerIconClose = params.TriggerIconClose;\r\n this.TriggerIconOpen = params.TriggerIconOpen;\r\n this.TriggerIconFontColorNormal = params.TriggerIconFontColorNormal;\r\n this.TriggerIconFontColorHover = params.TriggerIconFontColorHover;\r\n this.TriggerIconFontSize = params.TriggerIconFontSize;\r\n this.TriggerIconRotationEnabled = params.TriggerIconRotationEnabled;\r\n\r\n this.ContainerWrappedBackGroundColor = params.ContainerWrappedBackGroundColor;\r\n }\r\n\r\n public Name?: string;\r\n public ListItemType?: ListItemTypeEnum;\r\n public OpenState?:boolean;\r\n public Width?:number;\r\n public Height?:number;\r\n public BorderRadius?:number;\r\n\r\n public ItemNumberIconContainerWidth?:number;\r\n public ItemNumberIconBackGroundColorNormal?: string;\r\n public ItemNumberIconBackGroundColorHover?: string;\r\n\r\n public TitlesContainerWidth?:number;\r\n public TitlesBackGroundColorNormal?: string;\r\n public TitlesBackGroundColorHover?: string;\r\n public TitlesContainerPadding?:number;\r\n\r\n public TriggerIconContainerWidth?:number;\r\n public TriggerIconBackGroundColorNormal?: string;\r\n public TriggerIconBackGroundColorHover?: string;\r\n\r\n public ItemNumberEnabled?: boolean;\r\n public ItemNumberText?: string;\r\n public ItemNumberFontFamily?: string;\r\n public ItemNumberFontWeight?: FontWeights;\r\n public ItemNumberFontColorNormal?: string;\r\n public ItemNumberFontColorHover?: string;\r\n public ItemNumberFontSize?: number;\r\n public ItemNumberPosition?: ListItemItemNumberPositionEnum;\r\n\r\n public IconEnabled?: boolean;\r\n public Icon?: IconsEnum;\r\n public IconFontColorNormal?: string;\r\n public IconFontColorHover?: string;\r\n public IconFontSize?: number;\r\n\r\n public TitleEnabled?: boolean;\r\n public TitleText?: string;\r\n public TitleFontFamily?: string;\r\n public TitleFontWeight?: FontWeights;\r\n public TitleFontColorNormal?: string;\r\n public TitleFontColorHover?: string;\r\n public TitleFontSize?: number;\r\n public TitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n public SubTitleEnabled?: boolean;\r\n public SubTitleText?: string;\r\n public SubTitleFontFamily?: string;\r\n public SubTitleFontWeight?: FontWeights;\r\n public SubTitleFontColorNormal?: string;\r\n public SubTitleFontColorHover?: string;\r\n public SubTitleFontSize?: number;\r\n public SubTitleTextAlign?: ListItemTextAlignEnum;\r\n\r\n public TriggerIconEnabled?: boolean;\r\n public TriggerIconClose?: IconsEnum;\r\n public TriggerIconOpen?: IconsEnum;\r\n public TriggerIconFontColorNormal?: string;\r\n public TriggerIconFontColorHover?: string;\r\n public TriggerIconFontSize?: number;\r\n public TriggerIconRotationEnabled?:boolean;\r\n\r\n public ContainerWrappedBackGroundColor?:string;\r\n}","import { LabelIconPositionEnum,LabelFontWeights } from \"./label.enum\";\r\n\r\nexport class LabelModel{\r\n\r\n name : string = '';\r\n\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { LabelModel } from \"./label.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class LabelService{\r\n\r\n stateChanger = new Subject<LabelModel>();\r\n\r\n}","export enum LabelIconPositionEnum{\r\n Top,\r\n Right,\r\n Bottom,\r\n Left\r\n}\r\nexport enum LabelFontWeights{\r\n Thin = 100,\r\n ExtraLight = 200,\r\n Light = 300,\r\n Regular = 400,\r\n Medium = 500,\r\n SemiBold = 600,\r\n Bold = 700,\r\n Extrabold = 800,\r\n Black = 900,\r\n}","import { Component, OnInit,input,inject } from '@angular/core';\r\nimport { LabelModel } from './label.model';\r\nimport { LabelService } from './label.service';\r\nimport { LabelFontWeights,LabelIconPositionEnum } from './label.enum';\r\nimport { CommonModule } from '@angular/common';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\n\r\n@Component({\r\n selector: 'app-label',\r\n imports: [CommonModule],\r\n templateUrl: './label.component.html',\r\n styleUrl: './label.component.css'\r\n})\r\nexport class LabelComponent implements OnInit {\r\n\r\n ngOnInit(): void {\r\n\r\n this.LabelModel = new LabelModel();\r\n\r\n this.setIconOrientationOnTemplate();\r\n }\r\n\r\n Name = input.required<string>();\r\n\r\n _IconEnabled = input.required<boolean>() ;\r\n _Icon= input.required<IconsEnum>();\r\n _IconColor= input.required<string>();\r\n IconOrientation= input.required<LabelIconPositionEnum>() ;\r\n _IconOrientation! : string;\r\n _IconDistanceFromTextObject! : object;\r\n IconDistanceFromText= input.required<number>(); \r\n\r\n _TextEnabled= input.required<boolean>();\r\n _TextFontFamily= input.required<string>() ;\r\n _Text= input.required<string>();\r\n _TextColor= input.required<string>();\r\n _TextFontWeight = input.required<LabelFontWeights>();\r\n _TextFontSize= input.required<number>();\r\n\r\n\r\n\r\n LabelModel! : LabelModel;\r\n LabelService = inject(LabelService)\r\n\r\n\r\n setIconOrientationOnTemplate(){\r\n switch (this.IconOrientation()){\r\n case (LabelIconPositionEnum.Top):\r\n this._IconOrientation = 'column'\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-bottom': this.IconDistanceFromText().toString() + 'px'} : {};\r\n break\r\n case (LabelIconPositionEnum.Right):\r\n this._IconOrientation = 'row-reverse'\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-left': this.IconDistanceFromText().toString() + 'px'} : {}\r\n break\r\n case (LabelIconPositionEnum.Bottom):\r\n this._IconOrientation = 'column-reverse'\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-top': this.IconDistanceFromText().toString() + 'px'} : {}\r\n break\r\n case (LabelIconPositionEnum.Left):\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-right': this.IconDistanceFromText().toString() + 'px'} : {}\r\n break\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"container\"\r\n[ngStyle]=\"{'flex-direction':_IconOrientation}\"\r\n>\r\n\r\n <i\r\n class=\"{{_Icon()}}\"\r\n [style.color]=\"_IconColor()\"\r\n [style.font-size]=\"(_TextFontSize() *1.25)+'px'\"\r\n [style.display]=\"_IconEnabled() ? '' : 'none'\"\r\n [ngStyle]=\"_IconDistanceFromTextObject\"\r\n >\r\n </i>\r\n\r\n\r\n <p\r\n [style.font-size]=\"_TextFontSize() +'px'\"\r\n [style.font-family]=\"_TextFontFamily()\"\r\n [style.font-weight]=\"_TextFontWeight()\"\r\n [style.color]=\"_TextColor()\"\r\n [style.display]=\"_TextEnabled() ? '' : 'none'\"\r\n >{{_Text()}}\r\n </p>\r\n</div>","export enum TableFontWeights{\r\n Thin = 100,\r\n ExtraLight = 200,\r\n Light = 300,\r\n Regular = 400,\r\n Medium = 500,\r\n SemiBold = 600,\r\n Bold = 700,\r\n Extrabold = 800,\r\n Black = 900,\r\n}\r\nexport enum TableModes{\r\n ReadOnly,\r\n Display\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { TableModel } from \"./table.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class TableService{\r\n\r\n public dataChange = new Subject<TableModel>();\r\n public rowOnSelect = new Subject<number>();\r\n}","import { Component,input,inject, OnInit, OnDestroy,ElementRef, ViewChild, viewChild, AfterViewInit } from '@angular/core';\r\nimport { TableFontWeights,TableModes } from './table.enum';\r\nimport { TableService } from './table.service';\r\nimport { TableModel } from './table.model';\r\nimport { Subject, takeUntil } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-table',\r\n imports: [],\r\n templateUrl: './table.component.html',\r\n styleUrl: './table.component.css'\r\n})\r\nexport class TableComponent implements OnInit,OnDestroy,AfterViewInit {\r\n\r\n @ViewChild('tbody') tbody!:ElementRef\r\n nodes! :NodeList;\r\n nodeSelectedIndex! : number;\r\n ngAfterViewInit(): void {\r\n setTimeout(()=>{\r\n for(var i=0; i<this.nodes.length-1; i++) {\r\n if (i % 2 == 0){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor01();\r\n }else{\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor02();\r\n }\r\n \r\n }\r\n },1000)\r\n\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n this.destroy.next(true);\r\n }\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n this.startListenToDataChange();\r\n\r\n\r\n }\r\n\r\n private destroy = new Subject<boolean>();\r\n \r\n name = input.required<string>();\r\n\r\n TableMode = input.required<TableModes>();\r\n\r\n _FontFamily = input.required<string>();\r\n\r\n _FontSize = input.required<number>();\r\n\r\n _Header_FontColor = input.required<string>();\r\n _Header_FontWeight = input.required<TableFontWeights>();\r\n _Header_BackGroundColor = input.required<string>();\r\n\r\n _Body_FontColor = input.required<string>();\r\n _Body_FontWeight = input.required<TableFontWeights>();\r\n _Body_BackGroundColor01 = input.required<string>();\r\n _Body_BackGroundColor02 = input.required<string>();\r\n _Body_BackGroundColorHover = input.required<string>();\r\n\r\n _BorderVerticalON = input.required<boolean>();\r\n _BorderHorizontalON = input.required<boolean>();\r\n _BorderColor = input.required<string>();\r\n _BorderSize = input.required<number>();\r\n\r\n _ContainerWidth = input.required<number>();\r\n _ContainerHeight = input.required<number>();\r\n\r\n NomeColunaJSONID = input.required<string>();\r\n NomeColunasJSON = input.required<string[]>();\r\n NomeColunasDisplay = input.required<string[]>();\r\n UnidadesDeMedidaDasColunas = input.required<string[]>();\r\n NCasasDecimaisDasColunas = input.required<number[]>();\r\n UnidadesDeMedidaNosDados = input.required<boolean>();\r\n\r\n rowsOnDisplay! :any[];\r\n rowsOnMemory! :any[];\r\n headers! : string[];\r\n TableService = inject(TableService);\r\n rowSelected : boolean =false;\r\n\r\n readonly TableModes = TableModes;\r\n\r\n\r\n startListenToDataChange(){\r\n this.TableService.dataChange.pipe(takeUntil(this.destroy)).subscribe((model:TableModel)=>{\r\n if(model.name == this.name()){\r\n\r\n this.rowsOnMemory = JSON.parse(JSON.stringify(model.data))\r\n\r\n if(this.VerificarSeENecessarioDeletarColunasDeUmObjeto(model.data,this.NomeColunasDisplay())){\r\n var ObjetosComNovosNomes = this.MudaNomesDasPropriedadesDeUmObjeto(model.data,this.NomeColunasDisplay(),this.NomeColunasJSON());\r\n var ObjetosArredondados = this.ListaDeObjetosComCamposNumericosArredondados(ObjetosComNovosNomes,this.NCasasDecimaisDasColunas());\r\n if(this.UnidadesDeMedidaNosDados()){\r\n var ObjetosComUnidadesDeMedida = this.ListaDeObjetosComUnidadesDeMedidas(ObjetosArredondados,this.UnidadesDeMedidaDasColunas());\r\n this.rowsOnDisplay = ObjetosComUnidadesDeMedida;\r\n }else{\r\n this.rowsOnDisplay = ObjetosArredondados;\r\n }\r\n this.headers = Object.keys(this.rowsOnDisplay[0]);\r\n }else{\r\n this.rowsOnDisplay = model.data;\r\n this.headers = Object.keys(this.rowsOnDisplay[0]);\r\n }\r\n\r\n this.nodes = this.tbody.nativeElement.childNodes;\r\n }\r\n });\r\n \r\n \r\n \r\n \r\n }\r\n\r\n\r\n OnLineSelected(row :object){\r\n if(this.TableMode() == this.TableModes.Display){\r\n\r\n this.nodeSelectedIndex = this.rowsOnDisplay.indexOf(row);\r\n var id = this.rowsOnMemory[this.nodeSelectedIndex][this.NomeColunaJSONID()];\r\n this.TableService.rowOnSelect.next(id);\r\n\r\n for(var i=0; i<this.nodes.length-1; i++) {\r\n if (i % 2 == 0){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor01();\r\n }else{\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor02();\r\n }\r\n \r\n }\r\n\r\n (this.nodes[this.nodeSelectedIndex] as HTMLElement).style.background = this._Body_BackGroundColorHover();\r\n }\r\n }\r\n OnMouseEnter(row:object){\r\n var index = this.rowsOnDisplay.indexOf(row);\r\n for(var i=0; i<this.nodes.length-1; i++) {\r\n if (i % 2 == 0 && i!= this.nodeSelectedIndex){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor01();\r\n }else if(i % 2 == 0 && i!= this.nodeSelectedIndex){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor02();\r\n \r\n }\r\n (this.nodes[index] as HTMLElement).style.background = this._Body_BackGroundColorHover();\r\n }\r\n }\r\n OnMouseLeave(row:object){\r\n for(var i=0; i<this.nodes.length-1; i++) {\r\n if (i % 2 == 0 && i!= this.nodeSelectedIndex){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor01();\r\n }else if(i % 2 != 0 && i!= this.nodeSelectedIndex){\r\n (this.nodes[i] as HTMLElement).style.background = this._Body_BackGroundColor02();\r\n \r\n }\r\n }}\r\n\r\n VerificarSeENecessarioDeletarColunasDeUmObjeto(listaObjetos : object[],ListaDeNovosNomes : string[]) : boolean{\r\n\r\n for(var i=0 ; i< Object.keys(listaObjetos[0]).length ; i++){\r\n if(ListaDeNovosNomes.includes(Object.keys(listaObjetos[0])[i])){\r\n }else{\r\n return true;\r\n }\r\n }\r\n return false;\r\n\r\n }\r\n\r\n MudaNomesDasPropriedadesDeUmObjeto(listaObjetos : object[], ListaDeNovosNomes : string[] , ListaDeNomesAntigosParaManter : string[]):object[]{\r\n\r\n var listaObjetosColunasDeletadas = this.DeletaPropriedadesDeCadaObjetoDeUmaLista(listaObjetos,ListaDeNomesAntigosParaManter);\r\n //Muda os nomes das colunas de acordo com configuração\r\n for(var z = 0; z<ListaDeNovosNomes.length;z++){\r\n for(var y =0; y<listaObjetosColunasDeletadas.length;y++){\r\n (listaObjetosColunasDeletadas[y] as any)[ListaDeNovosNomes[z]] = (listaObjetosColunasDeletadas[y] as any)[ListaDeNomesAntigosParaManter[z]]\r\n delete (listaObjetosColunasDeletadas[y] as any)[ListaDeNomesAntigosParaManter[z]];\r\n }\r\n }\r\n return listaObjetosColunasDeletadas;\r\n\r\n }\r\n\r\n DeletaPropriedadesDeCadaObjetoDeUmaLista(listaObjetos : object[], ListaColunasParaManter : string[]):object[]{\r\n\r\n const ListaColunasParaDeletar = this.ListaNomesColunasDeletadas(listaObjetos[0],ListaColunasParaManter)\r\n //Deleta propriedades do objeto que estão definidas na lista de configuração\r\n for(var i =0 ; i < ListaColunasParaDeletar.length;i++){\r\n listaObjetos.forEach((obj:any)=>{\r\n delete obj[ListaColunasParaDeletar[i]]\r\n })\r\n }\r\n i=0;\r\n return listaObjetos;\r\n }\r\n\r\n ListaNomesColunasDeletadas(objOriginal : object,ListaColunasParaManter : string[]) : string[]{\r\n \r\n var newArray : string[] = [];\r\n\r\n for(var i =0 ; i< Object.keys(objOriginal).length;i++){\r\n if(ListaColunasParaManter.includes(Object.keys(objOriginal)[i])){\r\n }else{\r\n newArray.push(Object.keys(objOriginal)[i]);\r\n }\r\n }\r\n\r\n i=0;\r\n\r\n return newArray;\r\n\r\n }\r\n\r\n ListaDeObjetosComUnidadesDeMedidas(listaObjetos : object[],listaUnidadesMedida : string[]) : object[]{\r\n\r\n for(var i = 0; i< listaObjetos.length ; i++){\r\n for(var y = 0; y< Object.keys(listaObjetos[0]).length ; y++){\r\n (listaObjetos[i]as any)[(Object.keys(listaObjetos[0]))[y]] = (listaObjetos[i] as any)[(Object.keys(listaObjetos[0]))[y]] + listaUnidadesMedida[y]\r\n }\r\n }\r\n\r\n return listaObjetos;\r\n\r\n }\r\n\r\n ListaDeObjetosComCamposNumericosArredondados(listaObjetos : any[],listadeArredondamentos : number[]) : object[]{\r\n\r\n for(var i = 0; i< listaObjetos.length ; i++){\r\n for(var y = 0; y< Object.keys(listaObjetos[0]).length ; y++){\r\n if(isNaN(listaObjetos[i][(Object.keys(listaObjetos[0]))[y]])){\r\n\r\n }else{\r\n listaObjetos[i][(Object.keys(listaObjetos[0]))[y]] = parseFloat(listaObjetos[i][(Object.keys(listaObjetos[0]))[y]]).toFixed(listadeArredondamentos[y])\r\n }\r\n \r\n\r\n \r\n }\r\n }\r\n\r\n return listaObjetos;\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","<div class=\"container\" style=\"overflow-x:auto;\"\r\n[style.width]=\"_ContainerWidth()+'px'\"\r\n[style.height]=\"_ContainerHeight()+'px'\"\r\n>\r\n <table\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.--padding]=\"(_FontSize()*0.5+'px')+' ' + (_FontSize()*0.625+'px')\"\r\n [style.--borderLeft]=\"(_BorderVerticalON() ? _BorderSize()+'px' : '0px') + ' solid '+_BorderColor()\"\r\n [style.--borderBottom]=\"(_BorderHorizontalON() ? _BorderSize()+'px' : '0px') + ' solid '+_BorderColor()\"\r\n >\r\n \r\n <thead\r\n [style.font-size]=\"_FontSize()*1.1 + 'px'\"\r\n [style.font-weight]=\"_Header_FontWeight()\"\r\n [style.background-color]=\"_Header_BackGroundColor()\"\r\n [style.color]=\"_Header_FontColor()\"\r\n >\r\n <tr>\r\n @for(_header of headers ; track $index){\r\n <th>{{_header}}</th>\r\n }\r\n </tr>\r\n </thead>\r\n \r\n <tbody\r\n #tbody\r\n [style.font-size]=\"_FontSize() + 'px'\"\r\n [style.font-weight]=\"_Body_FontWeight()\"\r\n [style.--Body_FontColor]=\"_Body_FontColor()\"\r\n [style.--Body_BackGroundColor01]=\"_Body_BackGroundColor01()\"\r\n [style.--Body_BackGroundColor02]=\"_Body_BackGroundColor02()\"\r\n [style.--Body_BackGroundColorHover]=\"_Body_BackGroundColorHover()\"\r\n [style.cursor]=\"TableMode() == TableModes.ReadOnly ? 'default' : 'pointer'\"\r\n >\r\n @for(row of rowsOnDisplay ; track $index){\r\n <tr\r\n (click)=\"OnLineSelected(row)\"\r\n (mouseenter)=\"OnMouseEnter(row)\"\r\n (mouseleave)=\"OnMouseLeave(row)\"\r\n >\r\n @for(_header of headers; track $index){\r\n <td\r\n \r\n >{{row[_header]}}</td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n \r\n </table>\r\n</div>\r\n\r\n\r\n\r\n\r\n","export class TableModel{\r\n name: string = '';\r\n data! : object[];\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { ModalModel } from \"./modal.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ModalService{\r\n\r\n public stateChanged = new Subject<ModalModel>();\r\n \r\n}","export class ModalModel{\r\n constructor(params:{\r\n Name: string,\r\n OnlyOkButtonEnabled : boolean,\r\n ModalMessageText: string,\r\n ModalMessageFontFamily: string,\r\n ModalMessageFontSize: number,\r\n ModalMessageFontWeight: number,\r\n ModalMessageColor: string,\r\n IsVisible:boolean,\r\n BtnCancelName:string,\r\n BtnOkName:string,\r\n })\r\n {\r\n this.Name = params.Name;\r\n this.OnlyOkButtonEnabled = params.OnlyOkButtonEnabled;\r\n this.ModalMessageText = params.ModalMessageText;\r\n this.ModalMessageFontFamily = params.ModalMessageFontFamily;\r\n this.ModalMessageFontSize = params.ModalMessageFontSize;\r\n this.ModalMessageFontWeight = params.ModalMessageFontWeight;\r\n this.ModalMessageColor = params.ModalMessageColor;\r\n this.IsVisible = params.IsVisible;\r\n this.BtnCancelName = params.BtnCancelName;\r\n this.BtnOkName = params.BtnOkName;\r\n\r\n }\r\n public Name :string = '';\r\n public OnlyOkButtonEnabled : boolean = false;\r\n public ModalMessageText: string = '';\r\n public ModalMessageFontFamily: string='';\r\n public ModalMessageFontSize: number=0;\r\n public ModalMessageFontWeight: number=0;\r\n public ModalMessageColor: string='';\r\n public IsVisible : boolean = false;\r\n public BtnCancelName :string = '';\r\n public BtnOkName :string = '';\r\n\r\n\r\n\r\n}","export enum FontWeights{\r\n UltraExtraLight = 100,\r\n ExtraLight = 200,\r\n Light = 300,\r\n Regular = 400,\r\n Medium = 500,\r\n SemiBold = 600,\r\n Bold = 700,\r\n ExtraBold = 800,\r\n UltraExtraBold = 900,\r\n}","import { AfterViewInit, Component, inject, input, OnInit } from '@angular/core';\r\nimport { ModalService } from './modal.service';\r\nimport { ModalModel } from './modal.model';\r\n//Button\r\nimport {ButtonComponent}from '../button/button.component';\r\nimport { ButtonIconPositionEnum,ButtonTypeEnum } from '../button/button.enum';\r\nimport { ButtonService } from '../button/button.service';\r\nimport { ButtonConfigModel } from '../button/button.model';\r\nimport { IconsEnum } from '../icons.enum.ts';\r\nimport { FontWeights } from '../fontWeights.enum';\r\n\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n imports: [ButtonComponent],\r\n templateUrl: './modal.component.html',\r\n styleUrl: './modal.component.css'\r\n})\r\nexport class ModalComponent implements OnInit {\r\n ngOnInit(): void {\r\n this.startListenToStateChanged();\r\n }\r\n\r\n ModalService = inject(ModalService);\r\n\r\n name = input.required<string>();\r\n\r\n configModel : ModalModel = new ModalModel({\r\n Name: '',\r\n OnlyOkButtonEnabled : false,\r\n ModalMessageText: '',\r\n ModalMessageFontFamily: '',\r\n ModalMessageFontSize: 0,\r\n ModalMessageFontWeight: 0,\r\n ModalMessageColor: '',\r\n IsVisible:false,\r\n BtnCancelName:'',\r\n BtnOkName:''\r\n });\r\n\r\n\r\n _ButtonService = inject(ButtonService);\r\n readonly ButtonTypes = ButtonTypeEnum;\r\n readonly ButtonIconPositions = ButtonIconPositionEnum;\r\n readonly FontWeights = FontWeights;\r\n\r\n readonly IconsEnum = IconsEnum;\r\n\r\n displayOn :boolean = false;\r\n\r\n startListenToStateChanged(){\r\n this.ModalService.stateChanged.subscribe((modalModel:ModalModel)=>{\r\n if(this.name() == modalModel.Name){\r\n this.configModel = modalModel;\r\n this.displayOn = this.configModel.IsVisible;\r\n }\r\n\r\n });\r\n }\r\n\r\n onAnimationEnd(event:AnimationEvent){\r\n if(!this.configModel.IsVisible){\r\n this.displayOn = false\r\n };\r\n }\r\n\r\n}\r\n","<section\r\n[style.display]=\"displayOn ? 'flex' : 'none'\"\r\n>\r\n\r\n <form\r\n [style.padding]=\"'32px ' + '32px'\"\r\n [style.border-radius]=\"'10px'\"\r\n [class.animation-slide-down]=\"configModel.IsVisible\"\r\n [class.animation-slide-up]=\"!configModel.IsVisible\"\r\n [style.display]=\"displayOn ? 'flex' : 'none'\"\r\n (animationend)=\"onAnimationEnd($event)\"\r\n >\r\n <p\r\n [style.font-family]=\"configModel.ModalMessageFontFamily\"\r\n [style.font-size]=\"configModel.ModalMessageFontSize + 'px'\"\r\n [style.font-weight]=\"configModel.ModalMessageFontWeight\"\r\n [style.color]=\"configModel.ModalMessageColor\"\r\n >{{configModel.ModalMessageText}}</p>\r\n\r\n <div class=\"btns-container\"\r\n [style.padding-top]=\"'10px'\"\r\n >\r\n\r\n @if(this.displayOn){\r\n @if(!configModel.OnlyOkButtonEnabled){\r\n <app-button\r\n [name]=\"configModel.BtnCancelName\"\r\n />\r\n }\r\n \r\n <app-button [name]=\"configModel.BtnOkName\"/>\r\n }\r\n\r\n\r\n </div>\r\n \r\n </form>\r\n</section>\r\n","/*\r\n * Public API Surface of lightning-tec-br-angular-components\r\n */\r\n\r\nexport * from './lib/form-field/form-field.component';\r\nexport * from './lib/form-field/form-field.enum';\r\nexport * from './lib/form-field/form-field.model';\r\nexport * from './lib/form-field/form-field.service';\r\n\r\nexport * from './lib/button/button.component';\r\nexport * from './lib/button/button.enum';\r\nexport * from './lib/button/button.model';\r\nexport * from './lib/button/button.service';\r\n\r\nexport * from './lib/list-item/list-item.component';\r\nexport * from './lib/list-item/list-item.enum';\r\nexport * from './lib/list-item/list-item.model';\r\nexport * from './lib/list-item/list-item.service';\r\n\r\nexport * from './lib/alert/alert.component';\r\nexport * from './lib/alert/alert.enum';\r\nexport * from './lib/alert/alert.model';\r\nexport * from './lib/alert/alert.service';\r\n\r\nexport * from './lib/label/label.component';\r\nexport * from './lib/label/label.enum';\r\nexport * from './lib/label/label.model';\r\nexport * from './lib/label/label.service';\r\n\r\nexport * from './lib/table/table.component';\r\nexport * from './lib/table/table.enum';\r\nexport * from './lib/table/table.model';\r\nexport * from './lib/table/table.service';\r\n\r\nexport * from './lib/modal/modal.component';\r\nexport * from './lib/modal/modal.model';\r\nexport * from './lib/modal/modal.service';\r\n\r\nexport * from './lib/icons.enum.ts';\r\n\r\nexport * from './lib/fontWeights.enum';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ngxMask","i1"],"mappings":"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"}
|