lightning-tec-br-angular-components 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/lightning-tec-br-angular-components.mjs +197 -102
- package/fesm2022/lightning-tec-br-angular-components.mjs.map +1 -1
- package/lib/button/button.component.d.ts +2 -2
- package/lib/form-field/form-field.component.d.ts +56 -0
- package/lib/{txt-box/txt-box.enum.d.ts → form-field/form-field.enum.d.ts} +16 -8
- package/lib/form-field/form-field.model.d.ts +11 -0
- package/lib/form-field/form-field.service.d.ts +10 -0
- package/package.json +1 -1
- package/public-api.d.ts +4 -4
- package/lib/txt-box/txt-box.component.d.ts +0 -39
- package/lib/txt-box/txt-box.model.d.ts +0 -4
- package/lib/txt-box/txt-box.service.d.ts +0 -10
|
@@ -5,69 +5,90 @@ import { FormsModule } from '@angular/forms';
|
|
|
5
5
|
import { Subject, takeUntil } from 'rxjs';
|
|
6
6
|
import * as i1$1 from '@angular/common';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
|
+
import * as i3 from 'ngx-mask';
|
|
8
9
|
|
|
9
|
-
var
|
|
10
|
-
(function (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
10
|
+
var FormFieldTxtInputTypesEnum;
|
|
11
|
+
(function (FormFieldTxtInputTypesEnum) {
|
|
12
|
+
FormFieldTxtInputTypesEnum[FormFieldTxtInputTypesEnum["Text"] = 0] = "Text";
|
|
13
|
+
FormFieldTxtInputTypesEnum[FormFieldTxtInputTypesEnum["Password"] = 1] = "Password";
|
|
14
|
+
FormFieldTxtInputTypesEnum[FormFieldTxtInputTypesEnum["Email"] = 2] = "Email";
|
|
15
|
+
FormFieldTxtInputTypesEnum[FormFieldTxtInputTypesEnum["Number"] = 3] = "Number";
|
|
16
|
+
FormFieldTxtInputTypesEnum[FormFieldTxtInputTypesEnum["Date"] = 4] = "Date";
|
|
17
|
+
FormFieldTxtInputTypesEnum[FormFieldTxtInputTypesEnum["CellPhone"] = 5] = "CellPhone";
|
|
18
|
+
})(FormFieldTxtInputTypesEnum || (FormFieldTxtInputTypesEnum = {}));
|
|
19
|
+
var FormFieldTypes;
|
|
20
|
+
(function (FormFieldTypes) {
|
|
21
|
+
FormFieldTypes[FormFieldTypes["TxtBox"] = 0] = "TxtBox";
|
|
22
|
+
FormFieldTypes[FormFieldTypes["ComboBox"] = 1] = "ComboBox";
|
|
23
|
+
})(FormFieldTypes || (FormFieldTypes = {}));
|
|
24
|
+
var FormFieldCountryDataFormat;
|
|
25
|
+
(function (FormFieldCountryDataFormat) {
|
|
26
|
+
FormFieldCountryDataFormat[FormFieldCountryDataFormat["Estados_Unidos"] = 0] = "Estados_Unidos";
|
|
27
|
+
FormFieldCountryDataFormat[FormFieldCountryDataFormat["Brasil"] = 1] = "Brasil";
|
|
28
|
+
})(FormFieldCountryDataFormat || (FormFieldCountryDataFormat = {}));
|
|
29
|
+
var FormFieldIconsEnum;
|
|
30
|
+
(function (FormFieldIconsEnum) {
|
|
31
|
+
FormFieldIconsEnum["AddUser"] = "fi fi-sr-user-add";
|
|
32
|
+
FormFieldIconsEnum["User"] = "fi fi-sr-user";
|
|
33
|
+
FormFieldIconsEnum["Lock"] = "fi fi-sr-lock";
|
|
34
|
+
FormFieldIconsEnum["EyeOpen"] = "fi fi-ss-eye";
|
|
35
|
+
FormFieldIconsEnum["EyeClose"] = "fi fi-ss-eye-crossed";
|
|
36
|
+
FormFieldIconsEnum["ItemClosed"] = "fi fi-tr-caret-down";
|
|
37
|
+
FormFieldIconsEnum["ItemOpenned"] = "fi fi-rr-caret-down";
|
|
38
|
+
FormFieldIconsEnum["Done"] = "fi fi-sr-octagon-check";
|
|
39
|
+
FormFieldIconsEnum["Doing"] = "fi fi-br-duration-alt";
|
|
40
|
+
FormFieldIconsEnum["NotDone"] = "fi fi-sr-cross-circle";
|
|
41
|
+
FormFieldIconsEnum["Alert"] = "fi fi-sr-exclamation";
|
|
42
|
+
FormFieldIconsEnum["Close"] = "fi fi-br-cross";
|
|
43
|
+
FormFieldIconsEnum["Home"] = "fi fi-sr-home";
|
|
44
|
+
FormFieldIconsEnum["Key"] = "fi fi-sr-key";
|
|
45
|
+
FormFieldIconsEnum["Company"] = "fi fi-rs-building";
|
|
46
|
+
FormFieldIconsEnum["NoteBook"] = "fi fi-br-notebook-alt";
|
|
47
|
+
FormFieldIconsEnum["AddFile"] = "fi fi-rr-add-document";
|
|
48
|
+
FormFieldIconsEnum["PageGoBack"] = "fi fi-rr-angle-circle-left";
|
|
49
|
+
FormFieldIconsEnum["PDFFile"] = "fi fi-sr-file-pdf";
|
|
50
|
+
FormFieldIconsEnum["DowloadFile"] = "fi fi-sr-file-download";
|
|
51
|
+
})(FormFieldIconsEnum || (FormFieldIconsEnum = {}));
|
|
52
|
+
var FormFieldFontWeights;
|
|
53
|
+
(function (FormFieldFontWeights) {
|
|
54
|
+
FormFieldFontWeights[FormFieldFontWeights["Thin"] = 100] = "Thin";
|
|
55
|
+
FormFieldFontWeights[FormFieldFontWeights["ExtraLight"] = 200] = "ExtraLight";
|
|
56
|
+
FormFieldFontWeights[FormFieldFontWeights["Light"] = 300] = "Light";
|
|
57
|
+
FormFieldFontWeights[FormFieldFontWeights["Regular"] = 400] = "Regular";
|
|
58
|
+
FormFieldFontWeights[FormFieldFontWeights["Medium"] = 500] = "Medium";
|
|
59
|
+
FormFieldFontWeights[FormFieldFontWeights["SemiBold"] = 600] = "SemiBold";
|
|
60
|
+
FormFieldFontWeights[FormFieldFontWeights["Bold"] = 700] = "Bold";
|
|
61
|
+
FormFieldFontWeights[FormFieldFontWeights["Extrabold"] = 800] = "Extrabold";
|
|
62
|
+
FormFieldFontWeights[FormFieldFontWeights["Black"] = 900] = "Black";
|
|
63
|
+
})(FormFieldFontWeights || (FormFieldFontWeights = {}));
|
|
54
64
|
|
|
55
|
-
class
|
|
65
|
+
class FormFieldService {
|
|
56
66
|
constructor() {
|
|
57
|
-
this.
|
|
67
|
+
this.valueChanged = new Subject();
|
|
58
68
|
this.alertState = new Subject();
|
|
59
69
|
}
|
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type:
|
|
61
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type:
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: FormFieldService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: FormFieldService, providedIn: 'root' }); }
|
|
62
72
|
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type:
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: FormFieldService, decorators: [{
|
|
64
74
|
type: Injectable,
|
|
65
75
|
args: [{ providedIn: 'root' }]
|
|
66
76
|
}] });
|
|
67
77
|
|
|
68
|
-
class
|
|
78
|
+
class FormFieldModel {
|
|
69
79
|
constructor() {
|
|
70
80
|
this.name = '';
|
|
81
|
+
this.field = {};
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
class FormFielTxtModel {
|
|
85
|
+
constructor() {
|
|
86
|
+
this.value = '';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
class FormFieldComboModel {
|
|
90
|
+
constructor() {
|
|
91
|
+
this.id = 0;
|
|
71
92
|
this.value = '';
|
|
72
93
|
}
|
|
73
94
|
}
|
|
@@ -118,10 +139,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
|
|
|
118
139
|
class AlertModel {
|
|
119
140
|
constructor() {
|
|
120
141
|
this.alertsName = '';
|
|
121
|
-
this.alertsFatherName = '';
|
|
142
|
+
this.alertsFatherName = ''; //caller
|
|
122
143
|
this.top = 0;
|
|
123
144
|
this.left = 0;
|
|
124
|
-
this.text = '';
|
|
145
|
+
this.text = ''; //caller
|
|
125
146
|
this.wasClosed = false;
|
|
126
147
|
}
|
|
127
148
|
}
|
|
@@ -196,88 +217,162 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImpor
|
|
|
196
217
|
args: [{ selector: 'app-alert', standalone: true, imports: [], template: "<div class=\"container\"\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[style.top]=\"_PositionY + 'px'\"\r\n[style.left]=\"_PositionX + 'px'\"\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 \r\n </i>\r\n <h1\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 </h1>\r\n </div>\r\n\r\n\r\n\r\n\r\n</div>\r\n", styles: [".container{width:fit-content;height:fit-content;max-width:70vw;position:absolute}.container>i{display:block;line-height:0px;text-align:end}.container>i:hover{cursor:pointer}.container>.container-text{display:flex;align-items:center;justify-content:center}.container>.container-text>i{line-height:0px;text-align:center}.container>.container-text>h1{margin:0;word-break:break-word}\n"] }]
|
|
197
218
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
198
219
|
|
|
199
|
-
class
|
|
200
|
-
constructor(element) {
|
|
220
|
+
class FormFieldComponent {
|
|
221
|
+
constructor(element, cd) {
|
|
201
222
|
this.element = element;
|
|
223
|
+
this.cd = cd;
|
|
202
224
|
//Template Properties
|
|
203
|
-
this.
|
|
204
|
-
this.
|
|
205
|
-
this._idInput = input();
|
|
225
|
+
this._Icon = input.required();
|
|
226
|
+
this.Name = input.required();
|
|
206
227
|
this._placeHolderType = '';
|
|
207
228
|
this._placeHolderValue = input.required();
|
|
208
|
-
this._PasswordIcon =
|
|
209
|
-
this.
|
|
210
|
-
this.
|
|
229
|
+
this._PasswordIcon = FormFieldIconsEnum.EyeOpen;
|
|
230
|
+
this._IconColor = input.required();
|
|
231
|
+
this._FontColor = input.required();
|
|
211
232
|
this._FontSize = input.required();
|
|
212
|
-
this._IconEnabled = '';
|
|
213
233
|
this._FontFamily = input.required();
|
|
214
234
|
this._FontWeight = input.required();
|
|
235
|
+
this._Options = input.required();
|
|
215
236
|
//Internal Properties
|
|
216
|
-
this.
|
|
237
|
+
this.TxtInputType = input.required();
|
|
217
238
|
this.IconEnabled = input.required();
|
|
239
|
+
this.CountryDataFormat = input.required();
|
|
218
240
|
this.text = '';
|
|
219
|
-
this.TxtBoxModel = new TxtBoxModel();
|
|
220
241
|
this._AlertState = false;
|
|
242
|
+
this.FieldType = input.required();
|
|
243
|
+
//ngxMask
|
|
244
|
+
this.Mask = "";
|
|
245
|
+
this.Prefixo = "";
|
|
246
|
+
this.Sufixo = "";
|
|
247
|
+
this.NumberMaskSufix = input.required();
|
|
248
|
+
this.showMaskTyped = false;
|
|
249
|
+
this.thousandSeparator = ".";
|
|
250
|
+
this.NCasasDecimais = input.required();
|
|
251
|
+
this.FormFieldModel = new FormFieldModel();
|
|
252
|
+
this.FormFielTxtModel = new FormFielTxtModel();
|
|
253
|
+
this.FormFieldComboModel = new FormFieldComboModel();
|
|
221
254
|
this.AlertTypesEnum = AlertTypesEnum;
|
|
222
|
-
this.
|
|
223
|
-
this.
|
|
255
|
+
this.FormFieldIconsEnum = FormFieldIconsEnum;
|
|
256
|
+
this.FormFieldTxtInputTypesEnum = FormFieldTxtInputTypesEnum;
|
|
257
|
+
this.FormFieldDataFormat = FormFieldCountryDataFormat;
|
|
258
|
+
this.FormFieldTypes = FormFieldTypes;
|
|
224
259
|
//Services
|
|
225
|
-
this.
|
|
260
|
+
this.FormFieldService = inject(FormFieldService);
|
|
226
261
|
this.AlertService = inject(AlertService);
|
|
227
262
|
}
|
|
228
263
|
ngOnInit() {
|
|
229
264
|
//Limpa as Memórias de Estado
|
|
230
|
-
this._IconEnabled = '';
|
|
231
265
|
this._placeHolderType = '';
|
|
232
266
|
this._AlertState = false;
|
|
233
|
-
this.
|
|
234
|
-
this.
|
|
235
|
-
this._IconEnabled = this.IconEnabled() ? '' : 'none';
|
|
267
|
+
this.FormFieldModel.name = '';
|
|
268
|
+
this.FormFieldModel.name = this.Name();
|
|
236
269
|
this.startListenToAlertState();
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
{
|
|
240
|
-
this._placeHolderType = TxtBoxInputTypesEnum.Text;
|
|
241
|
-
break;
|
|
242
|
-
}
|
|
243
|
-
case (TxtBoxTypesEnum.Password):
|
|
244
|
-
{
|
|
245
|
-
this._placeHolderType = TxtBoxInputTypesEnum.Password;
|
|
246
|
-
break;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
270
|
+
if (this.FieldType() == FormFieldTypes.TxtBox)
|
|
271
|
+
this.configMask();
|
|
249
272
|
}
|
|
250
|
-
|
|
251
|
-
this.
|
|
252
|
-
this.
|
|
273
|
+
onTxtChange() {
|
|
274
|
+
//this.FormFielTxtModel.value está mudando no template pelo ngModel
|
|
275
|
+
this.FormFieldModel.name = this.Name();
|
|
276
|
+
this.FormFieldModel.field = this.FormFielTxtModel;
|
|
277
|
+
this.FormFieldService.valueChanged.next(this.FormFieldModel);
|
|
278
|
+
}
|
|
279
|
+
onComboChange() {
|
|
280
|
+
this.FormFieldModel.name = this.Name();
|
|
281
|
+
this.FormFieldComboModel.id = this.getIDFromOption(this.FormFieldComboModel.value);
|
|
282
|
+
this.FormFieldModel.field = this.FormFieldComboModel;
|
|
283
|
+
this.FormFieldService.valueChanged.next(this.FormFieldModel);
|
|
253
284
|
}
|
|
254
285
|
startListenToAlertState() {
|
|
255
|
-
this.
|
|
256
|
-
if (this.
|
|
286
|
+
this.FormFieldService.alertState.subscribe((callerData) => {
|
|
287
|
+
if (this.Name() == callerData.alertsFatherName) {
|
|
257
288
|
callerData.top = this.element.nativeElement.getBoundingClientRect().top - (this.element.nativeElement.offsetHeight * 1.5);
|
|
258
289
|
callerData.left = this.element.nativeElement.getBoundingClientRect().left;
|
|
259
|
-
callerData.alertsName = this.
|
|
290
|
+
callerData.alertsName = this.FormFieldModel.name + '-alert';
|
|
260
291
|
this.AlertService.wasOpenned.next(callerData);
|
|
261
292
|
}
|
|
262
293
|
});
|
|
263
294
|
}
|
|
264
295
|
togglePasswordView() {
|
|
265
|
-
if (this._PasswordIcon ==
|
|
266
|
-
this._PasswordIcon =
|
|
267
|
-
this._placeHolderType =
|
|
296
|
+
if (this._PasswordIcon == FormFieldIconsEnum.EyeClose) {
|
|
297
|
+
this._PasswordIcon = FormFieldIconsEnum.EyeOpen;
|
|
298
|
+
this._placeHolderType = 'password';
|
|
268
299
|
}
|
|
269
300
|
else {
|
|
270
|
-
this._PasswordIcon =
|
|
271
|
-
this._placeHolderType =
|
|
301
|
+
this._PasswordIcon = FormFieldIconsEnum.EyeClose;
|
|
302
|
+
this._placeHolderType = 'text';
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
configMask() {
|
|
306
|
+
switch (this.TxtInputType()) {
|
|
307
|
+
case (FormFieldTxtInputTypesEnum.Text):
|
|
308
|
+
this._placeHolderType = 'text';
|
|
309
|
+
this.Prefixo = "";
|
|
310
|
+
this.Mask = "";
|
|
311
|
+
this.Sufixo = "";
|
|
312
|
+
this.showMaskTyped = false;
|
|
313
|
+
break;
|
|
314
|
+
case (FormFieldTxtInputTypesEnum.Password):
|
|
315
|
+
this._placeHolderType = 'password';
|
|
316
|
+
this.Prefixo = "";
|
|
317
|
+
this.Mask = "";
|
|
318
|
+
this.Sufixo = "";
|
|
319
|
+
this.showMaskTyped = false;
|
|
320
|
+
break;
|
|
321
|
+
case (FormFieldTxtInputTypesEnum.Email):
|
|
322
|
+
this._placeHolderType = 'text';
|
|
323
|
+
this.Prefixo = "";
|
|
324
|
+
this.Mask = "";
|
|
325
|
+
this.Sufixo = "";
|
|
326
|
+
this.showMaskTyped = false;
|
|
327
|
+
break;
|
|
328
|
+
case (FormFieldTxtInputTypesEnum.Number):
|
|
329
|
+
this._placeHolderType = 'text';
|
|
330
|
+
this.Prefixo = "";
|
|
331
|
+
this.Mask = "separator." + this.NCasasDecimais().toString();
|
|
332
|
+
this.Sufixo = this.NumberMaskSufix();
|
|
333
|
+
this.showMaskTyped = false;
|
|
334
|
+
if (this.CountryDataFormat() == FormFieldCountryDataFormat.Brasil) {
|
|
335
|
+
this.thousandSeparator = ".";
|
|
336
|
+
}
|
|
337
|
+
if (this.CountryDataFormat() == FormFieldCountryDataFormat.Estados_Unidos) {
|
|
338
|
+
this.thousandSeparator = ",";
|
|
339
|
+
}
|
|
340
|
+
break;
|
|
341
|
+
case (FormFieldTxtInputTypesEnum.Date):
|
|
342
|
+
this._placeHolderType = 'date';
|
|
343
|
+
this.Prefixo = "";
|
|
344
|
+
this.Mask = "";
|
|
345
|
+
this.Sufixo = "";
|
|
346
|
+
this.showMaskTyped = true;
|
|
347
|
+
break;
|
|
348
|
+
case (FormFieldTxtInputTypesEnum.CellPhone):
|
|
349
|
+
this._placeHolderType = 'tel';
|
|
350
|
+
this.showMaskTyped = true;
|
|
351
|
+
if (this.CountryDataFormat() == FormFieldCountryDataFormat.Brasil) {
|
|
352
|
+
this.Prefixo = "+55 ";
|
|
353
|
+
this.Mask = "(00) 0 0000-0000";
|
|
354
|
+
}
|
|
355
|
+
if (this.CountryDataFormat() == FormFieldCountryDataFormat.Estados_Unidos) {
|
|
356
|
+
this.Prefixo = "+1 ";
|
|
357
|
+
this.Mask = "(000) 000-0000";
|
|
358
|
+
}
|
|
359
|
+
break;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
getIDFromOption(valueText) {
|
|
363
|
+
for (var i = 0; i < this._Options().length; i++) {
|
|
364
|
+
if (valueText == this._Options()[i].value)
|
|
365
|
+
return this._Options()[i].id;
|
|
272
366
|
}
|
|
367
|
+
return 0;
|
|
273
368
|
}
|
|
274
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type:
|
|
275
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
369
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: FormFieldComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
370
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.0", type: FormFieldComponent, isStandalone: true, selector: "app-form-field", inputs: { _Icon: { classPropertyName: "_Icon", publicName: "_Icon", isSignal: true, isRequired: true, transformFunction: null }, Name: { classPropertyName: "Name", publicName: "Name", isSignal: true, isRequired: true, transformFunction: null }, _placeHolderValue: { classPropertyName: "_placeHolderValue", publicName: "_placeHolderValue", isSignal: true, isRequired: true, transformFunction: null }, _IconColor: { classPropertyName: "_IconColor", publicName: "_IconColor", isSignal: true, isRequired: true, transformFunction: null }, _FontColor: { classPropertyName: "_FontColor", publicName: "_FontColor", isSignal: true, isRequired: true, transformFunction: null }, _FontSize: { classPropertyName: "_FontSize", publicName: "_FontSize", isSignal: true, isRequired: true, transformFunction: null }, _FontFamily: { classPropertyName: "_FontFamily", publicName: "_FontFamily", isSignal: true, isRequired: true, transformFunction: null }, _FontWeight: { classPropertyName: "_FontWeight", publicName: "_FontWeight", isSignal: true, isRequired: true, transformFunction: null }, _Options: { classPropertyName: "_Options", publicName: "_Options", isSignal: true, isRequired: true, transformFunction: null }, TxtInputType: { classPropertyName: "TxtInputType", publicName: "TxtInputType", isSignal: true, isRequired: true, transformFunction: null }, IconEnabled: { classPropertyName: "IconEnabled", publicName: "IconEnabled", isSignal: true, isRequired: true, transformFunction: null }, CountryDataFormat: { classPropertyName: "CountryDataFormat", publicName: "CountryDataFormat", isSignal: true, isRequired: true, transformFunction: null }, FieldType: { classPropertyName: "FieldType", publicName: "FieldType", isSignal: true, isRequired: true, transformFunction: null }, NumberMaskSufix: { classPropertyName: "NumberMaskSufix", publicName: "NumberMaskSufix", isSignal: true, isRequired: true, transformFunction: null }, NCasasDecimais: { classPropertyName: "NCasasDecimais", publicName: "NCasasDecimais", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "\r\n@if(FieldType() == FormFieldTypes.TxtBox){\r\n\r\n <div class=\"container\" \r\n [style.width]=\"(_FontSize()*19.375) +'px'\"\r\n [style.height]=\"(_FontSize()*2.5) +'px'\"\r\n [style.border-radius]=\"(_FontSize()*0.3125) +'px'\"\r\n [ngStyle]=\"\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 (keyup)=\"onTxtChange()\"\r\n prefix=\"{{Prefixo}}\"\r\n suffix=\"{{Sufixo}}\"\r\n mask=\"{{Mask}}\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n thousandSeparator=\"{{thousandSeparator}}\"\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]=\"(_FontSize()*15.3125) +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.375) +'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.padding]=\"(_FontSize()*0.4) +'px' + ' ' + (_FontSize()*0.8) +'px'\" \r\n [style.border-radius]=\"(_FontSize()*0.3125) +'px'\"\r\n [ngStyle]=\"\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.padding-right]=\"(_FontSize()*0.8) +'px'\"\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", styles: [":host{display:inline-block}.container{display:flex;align-items:center}i{line-height:0px}input,select{background-color:transparent;border:none;padding:0}input,select:focus{outline:none;box-sizing:content-box}select{height:100%}select:hover{cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: AlertComponent, selector: "app-alert", inputs: ["Name", "_FontSize", "_FontFamily", "_FontWeight"] }, { kind: "directive", type: i3.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions", "instantPrefix"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }] }); }
|
|
276
371
|
}
|
|
277
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type:
|
|
372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
278
373
|
type: Component,
|
|
279
|
-
args: [{ selector: 'app-
|
|
280
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }] });
|
|
374
|
+
args: [{ selector: 'app-form-field', standalone: true, imports: [FormsModule, CommonModule, AlertComponent, i3.NgxMaskDirective], template: "\r\n@if(FieldType() == FormFieldTypes.TxtBox){\r\n\r\n <div class=\"container\" \r\n [style.width]=\"(_FontSize()*19.375) +'px'\"\r\n [style.height]=\"(_FontSize()*2.5) +'px'\"\r\n [style.border-radius]=\"(_FontSize()*0.3125) +'px'\"\r\n [ngStyle]=\"\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 (keyup)=\"onTxtChange()\"\r\n prefix=\"{{Prefixo}}\"\r\n suffix=\"{{Sufixo}}\"\r\n mask=\"{{Mask}}\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n thousandSeparator=\"{{thousandSeparator}}\"\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]=\"(_FontSize()*15.3125) +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.375) +'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.padding]=\"(_FontSize()*0.4) +'px' + ' ' + (_FontSize()*0.8) +'px'\" \r\n [style.border-radius]=\"(_FontSize()*0.3125) +'px'\"\r\n [ngStyle]=\"\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.padding-right]=\"(_FontSize()*0.8) +'px'\"\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", styles: [":host{display:inline-block}.container{display:flex;align-items:center}i{line-height:0px}input,select{background-color:transparent;border:none;padding:0}input,select:focus{outline:none;box-sizing:content-box}select{height:100%}select:hover{cursor:pointer}\n"] }]
|
|
375
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }] });
|
|
281
376
|
|
|
282
377
|
var ButtonTypeEnum;
|
|
283
378
|
(function (ButtonTypeEnum) {
|
|
@@ -404,7 +499,7 @@ class ButtonComponent {
|
|
|
404
499
|
this.ButtonModel = new ButtonModel();
|
|
405
500
|
this.ButtonService = inject(ButtonService);
|
|
406
501
|
this.AlertService = inject(AlertService);
|
|
407
|
-
this.
|
|
502
|
+
this.FormFieldService = inject(FormFieldService);
|
|
408
503
|
this.AlertModel = new AlertModel();
|
|
409
504
|
this.LabelService = inject(LabelService);
|
|
410
505
|
this.LabelModel = new LabelModel();
|
|
@@ -474,7 +569,7 @@ class ButtonComponent {
|
|
|
474
569
|
});
|
|
475
570
|
}
|
|
476
571
|
startListenToAlertState() {
|
|
477
|
-
this.
|
|
572
|
+
this.FormFieldService.alertState.subscribe((callerData) => {
|
|
478
573
|
if (this.name() == callerData.alertsFatherName) {
|
|
479
574
|
callerData.top = this.element.nativeElement.getBoundingClientRect().top - this.element.nativeElement.offsetHeight;
|
|
480
575
|
callerData.left = this.element.nativeElement.getBoundingClientRect().left + this.element.nativeElement.offsetWidth;
|
|
@@ -904,5 +999,5 @@ class TableModel {
|
|
|
904
999
|
* Generated bundle index. Do not edit.
|
|
905
1000
|
*/
|
|
906
1001
|
|
|
907
|
-
export { AlertComponent, AlertIconsEnum, AlertModel, AlertService, AlertTypesEnum, ButtonComponent, ButtonFontWeights, ButtonIconEnum, ButtonIconPositionEnum, ButtonModel, ButtonService, ButtonTypeEnum, LabelComponent, LabelFontWeights, LabelIconEnum, LabelIconPositionEnum, LabelModel, LabelService, ListItemComponent, ListItemFontWeights, ListItemIcons, ListItemModel, ListItemPositions, ListItemService, TableComponent, TableFontWeights, TableModel, TableModes, TableService
|
|
1002
|
+
export { AlertComponent, AlertIconsEnum, AlertModel, AlertService, AlertTypesEnum, ButtonComponent, ButtonFontWeights, ButtonIconEnum, ButtonIconPositionEnum, ButtonModel, ButtonService, ButtonTypeEnum, FormFielTxtModel, FormFieldComboModel, FormFieldComponent, FormFieldCountryDataFormat, FormFieldFontWeights, FormFieldIconsEnum, FormFieldModel, FormFieldService, FormFieldTxtInputTypesEnum, FormFieldTypes, LabelComponent, LabelFontWeights, LabelIconEnum, LabelIconPositionEnum, LabelModel, LabelService, ListItemComponent, ListItemFontWeights, ListItemIcons, ListItemModel, ListItemPositions, ListItemService, TableComponent, TableFontWeights, TableModel, TableModes, TableService };
|
|
908
1003
|
//# sourceMappingURL=lightning-tec-br-angular-components.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightning-tec-br-angular-components.mjs","sources":["../../../projects/lightning-tec-br-angular-components/src/lib/txt-box/txt-box.enum.ts","../../../projects/lightning-tec-br-angular-components/src/lib/txt-box/txt-box.service.ts","../../../projects/lightning-tec-br-angular-components/src/lib/txt-box/txt-box.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/alert/alert.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/alert/alert.component.html","../../../projects/lightning-tec-br-angular-components/src/lib/txt-box/txt-box.component.ts","../../../projects/lightning-tec-br-angular-components/src/lib/txt-box/txt-box.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/label/label.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.service.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.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/list-item/list-item.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/public-api.ts","../../../projects/lightning-tec-br-angular-components/src/lightning-tec-br-angular-components.ts"],"sourcesContent":["export enum TxtBoxTypesEnum{\r\n Email,\r\n Password\r\n}\r\nexport enum TxtBoxInputTypesEnum{\r\n Text = 'text',\r\n Password = 'password'\r\n}\r\nexport enum TxtBoxIconsEnum{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\r\n}\r\nexport enum TxtBoxFontWeights{\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 { TxtBoxModel } from \"./txt-box.model\";\r\nimport { AlertModel } from \"../alert/alert.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class TxtBoxService{\r\n\r\n public value = new Subject<TxtBoxModel>();\r\n public alertState = new Subject<AlertModel>()\r\n\r\n}","export class TxtBoxModel{\r\n name : string = '';\r\n value : string = '';\r\n}","export enum AlertIconsEnum{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\r\n}\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 : string = '';\r\n alertsFatherName : string = '';\r\n top : number = 0;\r\n left : number = 0\r\n type! : AlertTypesEnum ;\r\n text : string = '';\r\n wasClosed: boolean = false;\r\n}\r\n","import { Component,HostListener,inject,input, OnInit } from '@angular/core';\r\nimport { AlertTypesEnum,AlertIconsEnum } from './alert.enum';\r\nimport { AlertService } from './alert.service';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { AlertModel } from './alert.model';\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\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 = AlertIconsEnum.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 = this.Name();\r\n this.AlertModel.wasClosed = 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){\r\n this._Text = AlertModel.text;\r\n this.AlertType = AlertModel.type;\r\n this._PositionY = AlertModel.top;\r\n this._PositionX = AlertModel.left;\r\n this.isVisible = true;\r\n switch(this.AlertType){\r\n case (AlertTypesEnum.Done):\r\n this._Icon = AlertIconsEnum.Done;\r\n this.BackgroundColor = '#008B10';\r\n this._FontColor = 'white'\r\n break;\r\n case (AlertTypesEnum.Alert):\r\n this._Icon = AlertIconsEnum.Alert;\r\n this.BackgroundColor = '#DFCD00';\r\n this._FontColor = 'black'\r\n break;\r\n case (AlertTypesEnum.NotDone):\r\n this._Icon = AlertIconsEnum.NotDone;\r\n this.BackgroundColor = '#D40000';\r\n this._FontColor = 'white'\r\n break;\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.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[style.top]=\"_PositionY + 'px'\"\r\n[style.left]=\"_PositionX + 'px'\"\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 \r\n </i>\r\n <h1\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 </h1>\r\n </div>\r\n\r\n\r\n\r\n\r\n</div>\r\n","import { Component,ElementRef,inject,input, OnInit } from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport { TxtBoxTypesEnum, TxtBoxIconsEnum, TxtBoxInputTypesEnum, TxtBoxFontWeights } from './txt-box.enum';\r\nimport { TxtBoxService } from './txt-box.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TxtBoxModel } from './txt-box.model';\r\nimport { AlertComponent } from '../alert/alert.component';\r\nimport { AlertTypesEnum } from '../alert/alert.enum';\r\nimport { AlertService } from '../alert/alert.service';\r\nimport { AlertModel } from '../alert/alert.model';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-txt-box',\r\n standalone: true,\r\n imports: [FormsModule,CommonModule,AlertComponent],\r\n templateUrl: './txt-box.component.html',\r\n styleUrl: './txt-box.component.css',\r\n})\r\nexport class TxtBoxComponent implements OnInit {\r\n\r\n //Template Properties\r\n _iconInput = input.required<TxtBoxIconsEnum>();\r\n _nameInput = input.required<string>();\r\n _idInput = input<string>();\r\n _placeHolderType : string = '';\r\n _placeHolderValue = input.required<string>();\r\n _PasswordIcon :string = TxtBoxIconsEnum.EyeOpen;\r\n _CorIcone = input.required<string>();\r\n _CorFont = input.required<string>();\r\n _FontSize = input.required<number>();\r\n _IconEnabled : string = '';\r\n _FontFamily = input.required<string>();\r\n _FontWeight = input.required<TxtBoxFontWeights>();\r\n \r\n \r\n\r\n\r\n\r\n //Internal Properties\r\n typeInput = input.required<TxtBoxTypesEnum>();\r\n IconEnabled = input.required<boolean>();\r\n text : string = '';\r\n TxtBoxModel = new TxtBoxModel();\r\n _AlertState : boolean = false;\r\n \r\n readonly AlertTypesEnum = AlertTypesEnum;\r\n readonly TxtBoxIconsEnum = TxtBoxIconsEnum;\r\n readonly TxtBoxTypesEnum = TxtBoxTypesEnum;\r\n\r\n //Services\r\n TxtBoxService = inject(TxtBoxService);\r\n AlertService = inject(AlertService);\r\n\r\n\r\n constructor(private element : ElementRef){}\r\n\r\n\r\n\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n //Limpa as Memórias de Estado\r\n this._IconEnabled = '';\r\n this._placeHolderType = '';\r\n this._AlertState = false;\r\n this.TxtBoxModel.name = '';\r\n\r\n\r\n this.TxtBoxModel.name = this._nameInput();\r\n this._IconEnabled = this.IconEnabled() ? '' : 'none';\r\n\r\n this.startListenToAlertState();\r\n\r\n switch (this.typeInput()){\r\n\r\n case (TxtBoxTypesEnum.Email):\r\n {\r\n this._placeHolderType = TxtBoxInputTypesEnum.Text;\r\n break;\r\n }\r\n\r\n case (TxtBoxTypesEnum.Password):\r\n {\r\n this._placeHolderType = TxtBoxInputTypesEnum.Password;\r\n break;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n onValueChanged(){\r\n \r\n this.TxtBoxModel.name = this._nameInput();\r\n this.TxtBoxService.value.next(this.TxtBoxModel);\r\n\r\n }\r\n\r\n startListenToAlertState(){\r\n this.TxtBoxService.alertState.subscribe((callerData:AlertModel)=>{\r\n if(this._nameInput() == callerData.alertsFatherName){\r\n callerData.top = this.element.nativeElement.getBoundingClientRect().top - (this.element.nativeElement.offsetHeight*1.5)\r\n callerData.left = this.element.nativeElement.getBoundingClientRect().left\r\n callerData.alertsName = this.TxtBoxModel.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 == TxtBoxIconsEnum.EyeClose){\r\n\r\n this._PasswordIcon = TxtBoxIconsEnum.EyeOpen\r\n this._placeHolderType = TxtBoxInputTypesEnum.Password;\r\n\r\n }else{\r\n\r\n this._PasswordIcon = TxtBoxIconsEnum.EyeClose\r\n this._placeHolderType = TxtBoxInputTypesEnum.Text;\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.width]=\"(_FontSize()*19.375) +'px'\"\r\n[style.height]=\"(_FontSize()*2.5) +'px'\"\r\n[style.border-radius]=\"(_FontSize()*0.3125) +'px'\"\r\n[ngStyle]=\"\r\n{'box-shadow':'\r\nrgb(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\r\n <i class=\"{{_iconInput()}} icon\"\r\n [style.color]=\"_CorIcone()\"\r\n [style.font-size]=\"(_FontSize()*1.25) +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.5625) +'px'\"\r\n [style.display]=\"_IconEnabled\"\r\n ></i>\r\n\r\n <input\r\n type=\"{{_placeHolderType}}\"\r\n name=\"{{_nameInput()}}\"\r\n id=\"{{_idInput()}}\"\r\n placeholder=\"{{_placeHolderValue()}}\"\r\n [(ngModel)]=\"TxtBoxModel.value\"\r\n (ngModelChange)=\"onValueChanged()\"\r\n\r\n [style.color]=\"_CorFont()\"\r\n [style.font-family]=\"_FontFamily()\"\r\n [style.font-size]=\"_FontSize()+'px'\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.width]=\"(_FontSize()*15.3125) +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.375) +'px'\"\r\n >\r\n\r\n <i class=\"{{_PasswordIcon}}\"\r\n (click)=\"togglePasswordView()\"\r\n [style.cursor]=\"'pointer'\"\r\n [style.color]=\"_CorIcone()\"\r\n [style.font-size]=\"(_FontSize()*1.25) +'px'\"\r\n [style.margin-right]=\"(_FontSize()*0.5625) +'px'\"\r\n [style.display]=\"typeInput() == TxtBoxTypesEnum.Password ? '' : 'none'\"\r\n ></i>\r\n \r\n\r\n</div>\r\n\r\n<app-alert\r\n[Name]=\"_nameInput()+'-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 Button = 'button',\r\n Menu = 'menu',\r\n Reset = 'reset',\r\n Submit = 'submit'\r\n\r\n}\r\nexport enum ButtonIconPositionEnum{\r\n Top,\r\n Right,\r\n Bottom,\r\n Left\r\n}\r\nexport enum ButtonIconEnum{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\r\n}\r\nexport enum ButtonFontWeights{\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 { ButtonModel } from \"./button.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ButtonService{\r\n\r\n public click = new Subject<ButtonModel>();\r\n public loadingState = new Subject<ButtonModel>();\r\n public alertState = new Subject<ButtonModel>()\r\n\r\n}","export class ButtonModel{\r\n name : string = '';\r\n state : boolean = false;\r\n}","import { LabelIconPositionEnum,LabelFontWeights,LabelIconEnum } 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}","import { Component, ElementRef, OnInit, inject, input } from '@angular/core';\r\nimport { ButtonTypeEnum, ButtonIconEnum, ButtonIconPositionEnum,ButtonFontWeights } from './button.enum';\r\nimport { ButtonService } from './button.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonModel } from './button.model';\r\nimport { AlertService } from '../alert/alert.service';\r\nimport { AlertComponent } from '../alert/alert.component';\r\nimport { AlertTypesEnum } from '../alert/alert.enum';\r\nimport { AlertModel } from '../alert/alert.model';\r\n\r\nimport { TxtBoxService } from '../txt-box/txt-box.service';\r\n\r\nimport { LabelModel } from '../label/label.model';\r\nimport { LabelService } from '../label/label.service';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n standalone: true,\r\n imports: [CommonModule,AlertComponent],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.css'\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n\r\n\r\n _BackGroundColor : string = '';\r\n _ButtonType = input.required<ButtonTypeEnum>();\r\n _BorderRadius = input.required<number>();\r\n _Width = input.required<number>();\r\n _Height= input.required<number>();\r\n ngStyle! : object;\r\n\r\n _Icon = input.required<ButtonIconEnum>();\r\n _IconFontSize :number = 0;\r\n _IconOrientation : string = '';\r\n _IconMarginType : string = '';\r\n _IconDistanceFromTextObject : object = {};\r\n _IconColor :string = '';\r\n _IconDistanceFromText = input.required<number>();\r\n _IconEnabled = input.required<boolean>();\r\n\r\n _TextColor : string = '';\r\n _Text = input.required<string>();\r\n _FontSize = input.required<number>();\r\n _FontWeight = input.required<ButtonFontWeights>();\r\n _TextFontFamily =input.required<string>();\r\n _TextEnabled = input.required<boolean>();\r\n\r\n name = input.required<string>();\r\n BackGroundColorNormal = input.required<string>();\r\n BackGroundColorHover = input.required<string>();\r\n IconColorNormal = input.required<string>();\r\n IconColorHover = input.required<string>();\r\n TextColorNormal = input.required<string>();\r\n TextColorHover = input.required<string>();\r\n IconOrientation = input.required<ButtonIconPositionEnum>();\r\n \r\n\r\n\r\n _LoadingState :boolean = false; ;\r\n _AlertState : boolean = false;\r\n\r\n ButtonModel = new ButtonModel();\r\n\r\n ButtonService = inject(ButtonService);\r\n AlertService = inject(AlertService);\r\n\r\n TxtBoxService = inject(TxtBoxService);\r\n AlertModel = new AlertModel();\r\n\r\n LabelService = inject(LabelService);\r\n LabelModel = new LabelModel();\r\n\r\n readonly AlertTypesEnum = AlertTypesEnum;\r\n\r\n \r\n constructor(private element : ElementRef){}\r\n\r\n\r\n \r\n\r\n ngOnInit(): void {\r\n //Limpa as Memórias de Estado\r\n this._BackGroundColor = '';\r\n this._IconColor = '';\r\n this._TextColor = '';\r\n this._IconDistanceFromTextObject = {};\r\n this._IconFontSize = 0;\r\n this._IconOrientation = '';\r\n this.ButtonModel = new ButtonModel();\r\n this._LoadingState = false;\r\n this._AlertState = false;\r\n this.ngStyle = {};\r\n\r\n\r\n this._BackGroundColor = this.BackGroundColorNormal();\r\n this._IconColor = this.IconColorNormal();\r\n this._TextColor = this.TextColorNormal();\r\n this._IconFontSize = this._FontSize() *1.25;\r\n\r\n this.startListenToLoadingState();\r\n this.startListenToAlertState();\r\n \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().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().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().toString() + 'px'} : {}\r\n break\r\n case (ButtonIconPositionEnum.Left):\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-right': this._IconDistanceFromText().toString() + 'px'} : {}\r\n break\r\n }\r\n this.ngStyle = {\r\n 'box-shadow': (this._FontSize()/8)+'px' + (this._FontSize()/4)+'px' + (this._FontSize()/4)+'px' + '0px' + 'rgba(0, 0, 0, 0.25)',\r\n 'flex-direction':this._IconOrientation\r\n }\r\n \r\n }\r\n\r\n OnMouseOver(){\r\n this._BackGroundColor = this.BackGroundColorHover();\r\n this._IconColor = this.IconColorHover();\r\n this._TextColor = this.TextColorHover();\r\n }\r\n\r\n OnMouseOut(){\r\n this._BackGroundColor = this.BackGroundColorNormal();\r\n this._IconColor = this.IconColorNormal();\r\n this._TextColor = this.TextColorNormal();\r\n }\r\n\r\n OnClick(){\r\n\r\n this.ButtonModel.name = this.name();\r\n this.ButtonModel.state = true;\r\n\r\n this.ButtonService.click.next(this.ButtonModel);\r\n this.ButtonService.loadingState.next(this.ButtonModel);\r\n \r\n }\r\n \r\n\r\n startListenToLoadingState(){\r\n this.ButtonService.loadingState.subscribe((callerData:ButtonModel)=>{\r\n if(this.name() == callerData.name){\r\n this._LoadingState = callerData.state;\r\n } \r\n })\r\n }\r\n\r\n startListenToAlertState(){\r\n this.TxtBoxService.alertState.subscribe((callerData:AlertModel)=>{\r\n if(this.name() == callerData.alertsFatherName){\r\n callerData.top = this.element.nativeElement.getBoundingClientRect().top - this.element.nativeElement.offsetHeight\r\n callerData.left = this.element.nativeElement.getBoundingClientRect().left + this.element.nativeElement.offsetWidth\r\n callerData.alertsName = this.ButtonModel.name +'-alert';\r\n this.AlertService.wasOpenned.next(callerData);\r\n } \r\n })\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n<button\r\ntype=\"{{_ButtonType()}}\"\r\n[style.background-color]=\"_BackGroundColor\"\r\n[style.border-radius]=\"_BorderRadius().toString()+'px'\"\r\n[style.width]=\"_Width()+ 'px'\"\r\n[style.height]=\"_Height()+ 'px'\"\r\n[ngStyle]=\"ngStyle\"\r\n(mouseover)=\"OnMouseOver()\"\r\n(mouseout)=\"OnMouseOut()\"\r\n(click)=\"OnClick()\"\r\n\r\n>\r\n \r\n <i\r\n class=\"{{_Icon()}}\"\r\n [style.color]=\"_IconColor\"\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]=\"_FontSize()+'px'\"\r\n [style.height]=\"_FontSize()+'px'\"\r\n [style.display]=\"_LoadingState ? 'inline-block' : 'none'\"\r\n [style.--loaderColor]=\"_TextColor\"\r\n [style.--loaderBorderSize]=\"(_FontSize()*0.15)+'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-size]=\"_FontSize() +'px'\"\r\n [style.font-family]=\"_TextFontFamily()\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.color]=\"_TextColor\"\r\n [style.display]=\"_TextEnabled() && !_LoadingState ? '' : 'none'\"\r\n >{{_Text()}}\r\n </p>\r\n\r\n</button>\r\n<app-alert\r\n[Name]=\"name()+'-alert'\"\r\n[_FontSize]=\"_FontSize()\"\r\n[_FontFamily]=\"_TextFontFamily()\"\r\n[_FontWeight]=\"_FontWeight()\"\r\n/>\r\n \r\n","export enum ListItemIcons{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\r\n\r\n}\r\nexport enum ListItemPositions{\r\n Top,\r\n Center\r\n}\r\nexport enum ListItemFontWeights{\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,input, OnInit,inject } from '@angular/core';\r\nimport { ListItemIcons, ListItemPositions, ListItemFontWeights } from './list-item.enum';\r\nimport { ButtonModel } from '../button/button.model';\r\nimport { ButtonService } from '../button/button.service';\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 \r\n Name = input.required<string>();\r\n\r\n //Container\r\n _ItemBackGroundColorNormal = input.required<string>();\r\n _ItemBackGroundColorHover = input.required<string>();\r\n\r\n //ItemNumber\r\n _ItemNumberEnabled = input.required<boolean>();\r\n _ItemNumberText = input.required<string>();\r\n _ItemNumberFontFamily = input.required<string>();\r\n _ItemNumberFontWeight = input.required<ListItemFontWeights>();\r\n _ItemNumberFontColor = input.required<string>();\r\n _ItemNumberPosition = input.required<ListItemPositions>();\r\n _ItemNumberMarginTop : number = 0;\r\n _ItemNumberMarginLeft : number = 0;\r\n _ItemNumberMarginRight : number = 0;\r\n\r\n //IconStatus]\r\n _IconEnabled = input.required<boolean>();\r\n _Icon = input.required<ListItemIcons>();\r\n _IconColor = input.required<string>();\r\n _IconMarginLeft : number = 0;\r\n _IconMarginRight : number = 0;\r\n\r\n //TextContainer\r\n _TextContainerMarginLeft : number = 0;\r\n _TextContainerMarginRight : number = 0;\r\n\r\n //Title\r\n _TitleText = input.required<string>();\r\n _TitleFontFamily = input.required<string>();\r\n _TitleFontColor = input.required<string>();\r\n _TitleFontWeight = input.required<ListItemFontWeights>();\r\n\r\n //SubTitle\r\n _SubTitleEnabled = input.required<boolean>();\r\n _SubTitleText = input.required<string>();\r\n _SubTitleFontFamily = input.required<string>();\r\n _SubTitleFontColor = input.required<string>();\r\n _SubTitleFontWeight = input.required<ListItemFontWeights>();\r\n\r\n //iconOpenItem\r\n _IconOpenItemColor = input.required<string>();\r\n\r\n _FontSize = input.required<number>();\r\n \r\n\r\n //Internals\r\n readonly _ListItemIcons = ListItemIcons;\r\n readonly ListItePositions = ListItemPositions;\r\n ItemStateOpen : boolean = false;\r\n\r\n ButtonModel! : ButtonModel;\r\n ButtonService = inject(ButtonService);\r\n\r\n ngOnInit(): void {\r\n\r\n this.ButtonModel = new ButtonModel();\r\n \r\n \r\n //Zera Memorias\r\n this._ItemNumberMarginTop = 0;\r\n this._ItemNumberMarginLeft = 0;\r\n this._ItemNumberMarginRight = 0;\r\n this._IconMarginLeft = 0;\r\n this._IconMarginRight = 0;\r\n this._TextContainerMarginLeft = 0;\r\n\r\n if(this._ItemNumberEnabled()){\r\n this._ItemNumberMarginTop = this._ItemNumberPosition() == this.ListItePositions.Top ? (this._FontSize()*0.5) : ((this._FontSize()*3.777/2)-this._FontSize()/2);\r\n this._ItemNumberMarginLeft = this._FontSize()*0.5;\r\n this._ItemNumberMarginRight = this._FontSize()*0.361;\r\n this._IconMarginLeft = this._FontSize()*0.361;\r\n this._IconMarginRight = this._FontSize()*0.361;\r\n this._TextContainerMarginLeft = this._FontSize()*0.722;\r\n\r\n }else{\r\n if(this._IconEnabled()){\r\n this._IconMarginLeft = this._FontSize()*0.722;\r\n this._IconMarginRight = this._FontSize()*0.722;\r\n this._TextContainerMarginLeft = this._FontSize()*0.722;\r\n }else{\r\n this._TextContainerMarginLeft = this._FontSize()*2;\r\n }\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n OnClick(){\r\n this.ItemStateOpen = this.ItemStateOpen ? false : true;\r\n\r\n this.ButtonModel.name = 'btn01';\r\n this.ButtonModel.state = false;\r\n\r\n this.ButtonService.loadingState.next(this.ButtonModel);\r\n }\r\n\r\n}\r\n","\r\n<div class=\"wrapper\"\r\n[style.width]=\"(_FontSize()*18.611)+'px'\"\r\n[style.height]=\"ItemStateOpen? 'auto' : (_FontSize()*3.777)+'px'\"\r\n>\r\n <div class=\"container\"\r\n (click)=\"OnClick()\"\r\n [style.width]=\"(_FontSize()*18.611)+'px'\"\r\n [style.height]=\"(_FontSize()*3.777)+'px'\"\r\n >\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]=\"_ItemNumberFontColor()\"\r\n [style.font-size]=\"_ItemNumberPosition() == ListItePositions.Top ? (_FontSize()*0.833)+'px' : (_FontSize())+'px' \"\r\n [style.margin-top]=\"_ItemNumberMarginTop +'px'\"\r\n [style.margin-left]=\"_ItemNumberMarginLeft+'px'\"\r\n [style.margin-right]=\"_ItemNumberMarginRight+'px'\"\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]=\"_IconColor()\"\r\n [style.font-size]=\"(_FontSize()*1.111)+'px'\"\r\n [style.margin-left]=\"_IconMarginLeft+'px'\"\r\n [style.margin-right]=\"_IconMarginRight+'px'\"\r\n ></i>\r\n\r\n <div class=\"TextContainer\"\r\n [style.margin-left]=\"_TextContainerMarginLeft +'px'\"\r\n >\r\n\r\n <h1 class=\"title\"\r\n [style.font-family]=\"_TitleFontFamily()\"\r\n [style.color]=\"_TitleFontColor()\"\r\n [style.font-size]=\"_FontSize()+'px'\"\r\n [style.font-weight]=\"_TitleFontWeight()\"\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.color]=\"_SubTitleFontColor()\"\r\n [style.font-size]=\"(_FontSize()*0.833)+'px'\"\r\n [style.font-weight]=\"_SubTitleFontWeight()\"\r\n >\r\n {{_SubTitleText()}}\r\n </h2>\r\n\r\n </div>\r\n\r\n <div class=\"IconOpenItemContainer\">\r\n <i class=\"{{ItemStateOpen? _ListItemIcons.ItemOpenned : _ListItemIcons.ItemClosed}} ItemOpenState\"\r\n [class.ItemOpenState]=\"ItemStateOpen\"\r\n [class.ItemCloseState]=\"!ItemStateOpen\"\r\n [style.color]=\"_IconOpenItemColor()\"\r\n [style.font-size]=\"(_FontSize()*1.666)+'px'\"\r\n ></i>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"containerWrapped\"\r\n [style.display]=\"ItemStateOpen ? '' : 'none'\"\r\n >\r\n <ng-content/>\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n","export class ListItemModel{\r\n name : string ='';\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { ListItemModel } from \"./list-item.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ListItemService{\r\n\r\n public open = new Subject<ListItemModel>();\r\n\r\n}","export enum LabelIconPositionEnum{\r\n Top,\r\n Right,\r\n Bottom,\r\n Left\r\n}\r\nexport enum LabelIconEnum{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\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,LabelIconEnum,LabelIconPositionEnum } from './label.enum';\r\nimport { CommonModule } from '@angular/common';\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<LabelIconEnum>();\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 } 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 {\r\n ngOnDestroy(): void {\r\n this.destroy.next(true);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.startListenToDataChange();\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\r\n\r\n rowsOnDisplay! :any[];\r\n rowsOnMemory! :any[];\r\n headers! : string[];\r\n TableService = inject(TableService);\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 var ObjetosComUnidadesDeMedida = this.ListaDeObjetosComUnidadesDeMedidas(ObjetosArredondados,this.UnidadesDeMedidaDasColunas());\r\n this.rowsOnDisplay = ObjetosComUnidadesDeMedida;\r\n this.headers = Object.keys(this.rowsOnDisplay[0]);\r\n \r\n }else{\r\n this.rowsOnDisplay = model.data;\r\n this.headers = Object.keys(this.rowsOnDisplay[0]);\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 OnLineSelected(row :object){\r\n if(this.TableMode() == this.TableModes.Display){\r\n var index = this.rowsOnDisplay.indexOf(row);\r\n var id = this.rowsOnMemory[index]['usinaId'];\r\n this.TableService.rowOnSelect.next(id);\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 [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 \r\n >\r\n @for(_header of headers; track $index){\r\n <td>{{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}","/*\r\n * Public API Surface of lightning-tec-br-angular-components\r\n */\r\n\r\nexport * from './lib/txt-box/txt-box.component';\r\nexport * from './lib/txt-box/txt-box.enum';\r\nexport * from './lib/txt-box/txt-box.model';\r\nexport * from './lib/txt-box/txt-box.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\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["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/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/label/label.model.ts","../../../projects/lightning-tec-br-angular-components/src/lib/label/label.service.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.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/list-item/list-item.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/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 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 FormFieldIconsEnum{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\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\r\n}","export class FormFieldModel{\r\n name : string = '';\r\n field : object = {};\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}","export enum AlertIconsEnum{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\r\n}\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 : string = '';\r\n alertsFatherName : string = ''; //caller\r\n top : number = 0;\r\n left : number = 0\r\n type! : AlertTypesEnum ; //caller\r\n text : string = ''; //caller\r\n wasClosed: boolean = false;\r\n}\r\n","import { Component,HostListener,inject,input, OnInit } from '@angular/core';\r\nimport { AlertTypesEnum,AlertIconsEnum } from './alert.enum';\r\nimport { AlertService } from './alert.service';\r\nimport { ChangeDetectorRef } from '@angular/core';\r\nimport { AlertModel } from './alert.model';\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\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 = AlertIconsEnum.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 = this.Name();\r\n this.AlertModel.wasClosed = 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){\r\n this._Text = AlertModel.text;\r\n this.AlertType = AlertModel.type;\r\n this._PositionY = AlertModel.top;\r\n this._PositionX = AlertModel.left;\r\n this.isVisible = true;\r\n switch(this.AlertType){\r\n case (AlertTypesEnum.Done):\r\n this._Icon = AlertIconsEnum.Done;\r\n this.BackgroundColor = '#008B10';\r\n this._FontColor = 'white'\r\n break;\r\n case (AlertTypesEnum.Alert):\r\n this._Icon = AlertIconsEnum.Alert;\r\n this.BackgroundColor = '#DFCD00';\r\n this._FontColor = 'black'\r\n break;\r\n case (AlertTypesEnum.NotDone):\r\n this._Icon = AlertIconsEnum.NotDone;\r\n this.BackgroundColor = '#D40000';\r\n this._FontColor = 'white'\r\n break;\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.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[style.top]=\"_PositionY + 'px'\"\r\n[style.left]=\"_PositionX + 'px'\"\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 \r\n </i>\r\n <h1\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 </h1>\r\n </div>\r\n\r\n\r\n\r\n\r\n</div>\r\n","import { Component,ElementRef,inject,input, OnInit } from '@angular/core';\r\nimport {FormsModule} from '@angular/forms';\r\nimport {FormFieldIconsEnum, 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\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<FormFieldIconsEnum>();\r\n Name = input.required<string>();\r\n _placeHolderType : string = '';\r\n _placeHolderValue = input.required<string>();\r\n _PasswordIcon :string = FormFieldIconsEnum.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 \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\r\n //ngxMask\r\n Mask : string = \"\";\r\n Prefixo : 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 FormFieldIconsEnum = FormFieldIconsEnum;\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\r\n if(this.FieldType() == FormFieldTypes.TxtBox) this.configMask();\r\n\r\n }\r\n\r\n onTxtChange(){\r\n\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.FormFieldService.valueChanged.next(this.FormFieldModel);\r\n }\r\n\r\n onComboChange(){\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.FormFieldService.valueChanged.next(this.FormFieldModel);\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 = this.element.nativeElement.getBoundingClientRect().top - (this.element.nativeElement.offsetHeight*1.5)\r\n callerData.left = this.element.nativeElement.getBoundingClientRect().left\r\n callerData.alertsName = 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 == FormFieldIconsEnum.EyeClose){\r\n\r\n this._PasswordIcon = FormFieldIconsEnum.EyeOpen\r\n this._placeHolderType = 'password';\r\n\r\n }else{\r\n\r\n this._PasswordIcon = FormFieldIconsEnum.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.Prefixo=\"\"\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.Prefixo=\"\"\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.Prefixo=\"\"\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.Prefixo=\"\"\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.Prefixo=\"\"\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.Prefixo = \"+55 \"\r\n this.Mask = \"(00) 0 0000-0000\"\r\n }\r\n if(this.CountryDataFormat() == FormFieldCountryDataFormat.Estados_Unidos){\r\n this.Prefixo = \"+1 \"\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\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]=\"(_FontSize()*19.375) +'px'\"\r\n [style.height]=\"(_FontSize()*2.5) +'px'\"\r\n [style.border-radius]=\"(_FontSize()*0.3125) +'px'\"\r\n [ngStyle]=\"\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 (keyup)=\"onTxtChange()\"\r\n prefix=\"{{Prefixo}}\"\r\n suffix=\"{{Sufixo}}\"\r\n mask=\"{{Mask}}\"\r\n [showMaskTyped]=\"showMaskTyped\"\r\n thousandSeparator=\"{{thousandSeparator}}\"\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]=\"(_FontSize()*15.3125) +'px'\"\r\n [style.margin-left]=\"(_FontSize()*0.375) +'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.padding]=\"(_FontSize()*0.4) +'px' + ' ' + (_FontSize()*0.8) +'px'\" \r\n [style.border-radius]=\"(_FontSize()*0.3125) +'px'\"\r\n [ngStyle]=\"\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.padding-right]=\"(_FontSize()*0.8) +'px'\"\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 Button = 'button',\r\n Menu = 'menu',\r\n Reset = 'reset',\r\n Submit = 'submit'\r\n\r\n}\r\nexport enum ButtonIconPositionEnum{\r\n Top,\r\n Right,\r\n Bottom,\r\n Left\r\n}\r\nexport enum ButtonIconEnum{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\r\n}\r\nexport enum ButtonFontWeights{\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 { ButtonModel } from \"./button.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ButtonService{\r\n\r\n public click = new Subject<ButtonModel>();\r\n public loadingState = new Subject<ButtonModel>();\r\n public alertState = new Subject<ButtonModel>()\r\n\r\n}","export class ButtonModel{\r\n name : string = '';\r\n state : boolean = false;\r\n}","import { LabelIconPositionEnum,LabelFontWeights,LabelIconEnum } 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}","import { Component, ElementRef, OnInit, inject, input } from '@angular/core';\r\nimport { ButtonTypeEnum, ButtonIconEnum, ButtonIconPositionEnum,ButtonFontWeights } from './button.enum';\r\nimport { ButtonService } from './button.service';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ButtonModel } from './button.model';\r\nimport { AlertService } from '../alert/alert.service';\r\nimport { AlertComponent } from '../alert/alert.component';\r\nimport { AlertTypesEnum } from '../alert/alert.enum';\r\nimport { AlertModel } from '../alert/alert.model';\r\nimport { LabelModel } from '../label/label.model';\r\nimport { LabelService } from '../label/label.service';\r\nimport { FormFieldService } from '../form-field/form-field.service';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n standalone: true,\r\n imports: [CommonModule,AlertComponent],\r\n templateUrl: './button.component.html',\r\n styleUrl: './button.component.css'\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n\r\n\r\n _BackGroundColor : string = '';\r\n _ButtonType = input.required<ButtonTypeEnum>();\r\n _BorderRadius = input.required<number>();\r\n _Width = input.required<number>();\r\n _Height= input.required<number>();\r\n ngStyle! : object;\r\n\r\n _Icon = input.required<ButtonIconEnum>();\r\n _IconFontSize :number = 0;\r\n _IconOrientation : string = '';\r\n _IconMarginType : string = '';\r\n _IconDistanceFromTextObject : object = {};\r\n _IconColor :string = '';\r\n _IconDistanceFromText = input.required<number>();\r\n _IconEnabled = input.required<boolean>();\r\n\r\n _TextColor : string = '';\r\n _Text = input.required<string>();\r\n _FontSize = input.required<number>();\r\n _FontWeight = input.required<ButtonFontWeights>();\r\n _TextFontFamily =input.required<string>();\r\n _TextEnabled = input.required<boolean>();\r\n\r\n name = input.required<string>();\r\n BackGroundColorNormal = input.required<string>();\r\n BackGroundColorHover = input.required<string>();\r\n IconColorNormal = input.required<string>();\r\n IconColorHover = input.required<string>();\r\n TextColorNormal = input.required<string>();\r\n TextColorHover = input.required<string>();\r\n IconOrientation = input.required<ButtonIconPositionEnum>();\r\n \r\n\r\n\r\n _LoadingState :boolean = false; ;\r\n _AlertState : boolean = false;\r\n\r\n ButtonModel = new ButtonModel();\r\n\r\n ButtonService = inject(ButtonService);\r\n AlertService = inject(AlertService);\r\n\r\n FormFieldService = inject(FormFieldService);\r\n AlertModel = new AlertModel();\r\n\r\n LabelService = inject(LabelService);\r\n LabelModel = new LabelModel();\r\n\r\n readonly AlertTypesEnum = AlertTypesEnum;\r\n\r\n \r\n constructor(private element : ElementRef){}\r\n\r\n\r\n \r\n\r\n ngOnInit(): void {\r\n //Limpa as Memórias de Estado\r\n this._BackGroundColor = '';\r\n this._IconColor = '';\r\n this._TextColor = '';\r\n this._IconDistanceFromTextObject = {};\r\n this._IconFontSize = 0;\r\n this._IconOrientation = '';\r\n this.ButtonModel = new ButtonModel();\r\n this._LoadingState = false;\r\n this._AlertState = false;\r\n this.ngStyle = {};\r\n\r\n\r\n this._BackGroundColor = this.BackGroundColorNormal();\r\n this._IconColor = this.IconColorNormal();\r\n this._TextColor = this.TextColorNormal();\r\n this._IconFontSize = this._FontSize() *1.25;\r\n\r\n this.startListenToLoadingState();\r\n this.startListenToAlertState();\r\n \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().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().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().toString() + 'px'} : {}\r\n break\r\n case (ButtonIconPositionEnum.Left):\r\n this._IconDistanceFromTextObject = this._TextEnabled() ? {'margin-right': this._IconDistanceFromText().toString() + 'px'} : {}\r\n break\r\n }\r\n this.ngStyle = {\r\n 'box-shadow': (this._FontSize()/8)+'px' + (this._FontSize()/4)+'px' + (this._FontSize()/4)+'px' + '0px' + 'rgba(0, 0, 0, 0.25)',\r\n 'flex-direction':this._IconOrientation\r\n }\r\n \r\n }\r\n\r\n OnMouseOver(){\r\n this._BackGroundColor = this.BackGroundColorHover();\r\n this._IconColor = this.IconColorHover();\r\n this._TextColor = this.TextColorHover();\r\n }\r\n\r\n OnMouseOut(){\r\n this._BackGroundColor = this.BackGroundColorNormal();\r\n this._IconColor = this.IconColorNormal();\r\n this._TextColor = this.TextColorNormal();\r\n }\r\n\r\n OnClick(){\r\n\r\n this.ButtonModel.name = this.name();\r\n this.ButtonModel.state = true;\r\n\r\n this.ButtonService.click.next(this.ButtonModel);\r\n this.ButtonService.loadingState.next(this.ButtonModel);\r\n \r\n }\r\n \r\n\r\n startListenToLoadingState(){\r\n this.ButtonService.loadingState.subscribe((callerData:ButtonModel)=>{\r\n if(this.name() == callerData.name){\r\n this._LoadingState = callerData.state;\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 = this.element.nativeElement.getBoundingClientRect().top - this.element.nativeElement.offsetHeight\r\n callerData.left = this.element.nativeElement.getBoundingClientRect().left + this.element.nativeElement.offsetWidth\r\n callerData.alertsName = this.ButtonModel.name +'-alert';\r\n this.AlertService.wasOpenned.next(callerData);\r\n } \r\n })\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n<button\r\ntype=\"{{_ButtonType()}}\"\r\n[style.background-color]=\"_BackGroundColor\"\r\n[style.border-radius]=\"_BorderRadius().toString()+'px'\"\r\n[style.width]=\"_Width()+ 'px'\"\r\n[style.height]=\"_Height()+ 'px'\"\r\n[ngStyle]=\"ngStyle\"\r\n(mouseover)=\"OnMouseOver()\"\r\n(mouseout)=\"OnMouseOut()\"\r\n(click)=\"OnClick()\"\r\n\r\n>\r\n \r\n <i\r\n class=\"{{_Icon()}}\"\r\n [style.color]=\"_IconColor\"\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]=\"_FontSize()+'px'\"\r\n [style.height]=\"_FontSize()+'px'\"\r\n [style.display]=\"_LoadingState ? 'inline-block' : 'none'\"\r\n [style.--loaderColor]=\"_TextColor\"\r\n [style.--loaderBorderSize]=\"(_FontSize()*0.15)+'px'\"\r\n >\r\n </i>\r\n\r\n <p\r\n [style.font-size]=\"_FontSize() +'px'\"\r\n [style.font-family]=\"_TextFontFamily()\"\r\n [style.font-weight]=\"_FontWeight()\"\r\n [style.color]=\"_TextColor\"\r\n [style.display]=\"_TextEnabled() && !_LoadingState ? '' : 'none'\"\r\n >{{_Text()}}\r\n </p>\r\n\r\n</button>\r\n<app-alert\r\n[Name]=\"name()+'-alert'\"\r\n[_FontSize]=\"_FontSize()\"\r\n[_FontFamily]=\"_TextFontFamily()\"\r\n[_FontWeight]=\"_FontWeight()\"\r\n/>\r\n \r\n","export enum ListItemIcons{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\r\n\r\n}\r\nexport enum ListItemPositions{\r\n Top,\r\n Center\r\n}\r\nexport enum ListItemFontWeights{\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,input, OnInit,inject } from '@angular/core';\r\nimport { ListItemIcons, ListItemPositions, ListItemFontWeights } from './list-item.enum';\r\nimport { ButtonModel } from '../button/button.model';\r\nimport { ButtonService } from '../button/button.service';\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 \r\n Name = input.required<string>();\r\n\r\n //Container\r\n _ItemBackGroundColorNormal = input.required<string>();\r\n _ItemBackGroundColorHover = input.required<string>();\r\n\r\n //ItemNumber\r\n _ItemNumberEnabled = input.required<boolean>();\r\n _ItemNumberText = input.required<string>();\r\n _ItemNumberFontFamily = input.required<string>();\r\n _ItemNumberFontWeight = input.required<ListItemFontWeights>();\r\n _ItemNumberFontColor = input.required<string>();\r\n _ItemNumberPosition = input.required<ListItemPositions>();\r\n _ItemNumberMarginTop : number = 0;\r\n _ItemNumberMarginLeft : number = 0;\r\n _ItemNumberMarginRight : number = 0;\r\n\r\n //IconStatus]\r\n _IconEnabled = input.required<boolean>();\r\n _Icon = input.required<ListItemIcons>();\r\n _IconColor = input.required<string>();\r\n _IconMarginLeft : number = 0;\r\n _IconMarginRight : number = 0;\r\n\r\n //TextContainer\r\n _TextContainerMarginLeft : number = 0;\r\n _TextContainerMarginRight : number = 0;\r\n\r\n //Title\r\n _TitleText = input.required<string>();\r\n _TitleFontFamily = input.required<string>();\r\n _TitleFontColor = input.required<string>();\r\n _TitleFontWeight = input.required<ListItemFontWeights>();\r\n\r\n //SubTitle\r\n _SubTitleEnabled = input.required<boolean>();\r\n _SubTitleText = input.required<string>();\r\n _SubTitleFontFamily = input.required<string>();\r\n _SubTitleFontColor = input.required<string>();\r\n _SubTitleFontWeight = input.required<ListItemFontWeights>();\r\n\r\n //iconOpenItem\r\n _IconOpenItemColor = input.required<string>();\r\n\r\n _FontSize = input.required<number>();\r\n \r\n\r\n //Internals\r\n readonly _ListItemIcons = ListItemIcons;\r\n readonly ListItePositions = ListItemPositions;\r\n ItemStateOpen : boolean = false;\r\n\r\n ButtonModel! : ButtonModel;\r\n ButtonService = inject(ButtonService);\r\n\r\n ngOnInit(): void {\r\n\r\n this.ButtonModel = new ButtonModel();\r\n \r\n \r\n //Zera Memorias\r\n this._ItemNumberMarginTop = 0;\r\n this._ItemNumberMarginLeft = 0;\r\n this._ItemNumberMarginRight = 0;\r\n this._IconMarginLeft = 0;\r\n this._IconMarginRight = 0;\r\n this._TextContainerMarginLeft = 0;\r\n\r\n if(this._ItemNumberEnabled()){\r\n this._ItemNumberMarginTop = this._ItemNumberPosition() == this.ListItePositions.Top ? (this._FontSize()*0.5) : ((this._FontSize()*3.777/2)-this._FontSize()/2);\r\n this._ItemNumberMarginLeft = this._FontSize()*0.5;\r\n this._ItemNumberMarginRight = this._FontSize()*0.361;\r\n this._IconMarginLeft = this._FontSize()*0.361;\r\n this._IconMarginRight = this._FontSize()*0.361;\r\n this._TextContainerMarginLeft = this._FontSize()*0.722;\r\n\r\n }else{\r\n if(this._IconEnabled()){\r\n this._IconMarginLeft = this._FontSize()*0.722;\r\n this._IconMarginRight = this._FontSize()*0.722;\r\n this._TextContainerMarginLeft = this._FontSize()*0.722;\r\n }else{\r\n this._TextContainerMarginLeft = this._FontSize()*2;\r\n }\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n OnClick(){\r\n this.ItemStateOpen = this.ItemStateOpen ? false : true;\r\n\r\n this.ButtonModel.name = 'btn01';\r\n this.ButtonModel.state = false;\r\n\r\n this.ButtonService.loadingState.next(this.ButtonModel);\r\n }\r\n\r\n}\r\n","\r\n<div class=\"wrapper\"\r\n[style.width]=\"(_FontSize()*18.611)+'px'\"\r\n[style.height]=\"ItemStateOpen? 'auto' : (_FontSize()*3.777)+'px'\"\r\n>\r\n <div class=\"container\"\r\n (click)=\"OnClick()\"\r\n [style.width]=\"(_FontSize()*18.611)+'px'\"\r\n [style.height]=\"(_FontSize()*3.777)+'px'\"\r\n >\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]=\"_ItemNumberFontColor()\"\r\n [style.font-size]=\"_ItemNumberPosition() == ListItePositions.Top ? (_FontSize()*0.833)+'px' : (_FontSize())+'px' \"\r\n [style.margin-top]=\"_ItemNumberMarginTop +'px'\"\r\n [style.margin-left]=\"_ItemNumberMarginLeft+'px'\"\r\n [style.margin-right]=\"_ItemNumberMarginRight+'px'\"\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]=\"_IconColor()\"\r\n [style.font-size]=\"(_FontSize()*1.111)+'px'\"\r\n [style.margin-left]=\"_IconMarginLeft+'px'\"\r\n [style.margin-right]=\"_IconMarginRight+'px'\"\r\n ></i>\r\n\r\n <div class=\"TextContainer\"\r\n [style.margin-left]=\"_TextContainerMarginLeft +'px'\"\r\n >\r\n\r\n <h1 class=\"title\"\r\n [style.font-family]=\"_TitleFontFamily()\"\r\n [style.color]=\"_TitleFontColor()\"\r\n [style.font-size]=\"_FontSize()+'px'\"\r\n [style.font-weight]=\"_TitleFontWeight()\"\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.color]=\"_SubTitleFontColor()\"\r\n [style.font-size]=\"(_FontSize()*0.833)+'px'\"\r\n [style.font-weight]=\"_SubTitleFontWeight()\"\r\n >\r\n {{_SubTitleText()}}\r\n </h2>\r\n\r\n </div>\r\n\r\n <div class=\"IconOpenItemContainer\">\r\n <i class=\"{{ItemStateOpen? _ListItemIcons.ItemOpenned : _ListItemIcons.ItemClosed}} ItemOpenState\"\r\n [class.ItemOpenState]=\"ItemStateOpen\"\r\n [class.ItemCloseState]=\"!ItemStateOpen\"\r\n [style.color]=\"_IconOpenItemColor()\"\r\n [style.font-size]=\"(_FontSize()*1.666)+'px'\"\r\n ></i>\r\n </div>\r\n\r\n\r\n </div>\r\n <div class=\"containerWrapped\"\r\n [style.display]=\"ItemStateOpen ? '' : 'none'\"\r\n >\r\n <ng-content/>\r\n </div>\r\n\r\n\r\n</div>\r\n\r\n","export class ListItemModel{\r\n name : string ='';\r\n}","import {Injectable } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { ListItemModel } from \"./list-item.model\";\r\n\r\n@Injectable({providedIn:'root'})\r\nexport class ListItemService{\r\n\r\n public open = new Subject<ListItemModel>();\r\n\r\n}","export enum LabelIconPositionEnum{\r\n Top,\r\n Right,\r\n Bottom,\r\n Left\r\n}\r\nexport enum LabelIconEnum{\r\n AddUser = 'fi fi-sr-user-add',\r\n User = \"fi fi-sr-user\",\r\n Lock = \"fi fi-sr-lock\",\r\n EyeOpen = \"fi fi-ss-eye\",\r\n EyeClose = \"fi fi-ss-eye-crossed\",\r\n ItemClosed = \"fi fi-tr-caret-down\",\r\n ItemOpenned = \"fi fi-rr-caret-down\",\r\n Done = \"fi fi-sr-octagon-check\",\r\n Doing = \"fi fi-br-duration-alt\",\r\n NotDone = \"fi fi-sr-cross-circle\",\r\n Alert = \"fi fi-sr-exclamation\",\r\n Close = \"fi fi-br-cross\",\r\n Home = \"fi fi-sr-home\",\r\n Key = \"fi fi-sr-key\",\r\n Company = \"fi fi-rs-building\",\r\n NoteBook = \"fi fi-br-notebook-alt\",\r\n AddFile = \"fi fi-rr-add-document\",\r\n PageGoBack = \"fi fi-rr-angle-circle-left\",\r\n PDFFile = \"fi fi-sr-file-pdf\",\r\n DowloadFile = \"fi fi-sr-file-download\"\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,LabelIconEnum,LabelIconPositionEnum } from './label.enum';\r\nimport { CommonModule } from '@angular/common';\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<LabelIconEnum>();\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 } 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 {\r\n ngOnDestroy(): void {\r\n this.destroy.next(true);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.startListenToDataChange();\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\r\n\r\n rowsOnDisplay! :any[];\r\n rowsOnMemory! :any[];\r\n headers! : string[];\r\n TableService = inject(TableService);\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 var ObjetosComUnidadesDeMedida = this.ListaDeObjetosComUnidadesDeMedidas(ObjetosArredondados,this.UnidadesDeMedidaDasColunas());\r\n this.rowsOnDisplay = ObjetosComUnidadesDeMedida;\r\n this.headers = Object.keys(this.rowsOnDisplay[0]);\r\n \r\n }else{\r\n this.rowsOnDisplay = model.data;\r\n this.headers = Object.keys(this.rowsOnDisplay[0]);\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 OnLineSelected(row :object){\r\n if(this.TableMode() == this.TableModes.Display){\r\n var index = this.rowsOnDisplay.indexOf(row);\r\n var id = this.rowsOnMemory[index]['usinaId'];\r\n this.TableService.rowOnSelect.next(id);\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 [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 \r\n >\r\n @for(_header of headers; track $index){\r\n <td>{{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}","/*\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\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ngxMask","i1"],"mappings":";;;;;;;;;IAAY;AAAZ,CAAA,UAAY,0BAA0B,EAAA;AAClC,IAAA,0BAAA,CAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,0BAAA,CAAA,0BAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ;AACR,IAAA,0BAAA,CAAA,0BAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,0BAAA,CAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,0BAAA,CAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,0BAAA,CAAA,0BAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAS;AACb,CAAC,EAPW,0BAA0B,KAA1B,0BAA0B,GAOrC,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,cAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,cAAA,CAAA,cAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ;AACZ,CAAC,EAHW,cAAc,KAAd,cAAc,GAGzB,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,0BAA0B,EAAA;AAClC,IAAA,0BAAA,CAAA,0BAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAc;AACd,IAAA,0BAAA,CAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACV,CAAC,EAHW,0BAA0B,KAA1B,0BAA0B,GAGrC,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,kBAAkB,EAAA;AAC1B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,cAAwB;AACxB,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,sBAAiC;AACjC,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,qBAAkC;AAClC,IAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,qBAAmC;AACnC,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,wBAA+B;AAC/B,IAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,uBAA+B;AAC/B,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,sBAA8B;AAC9B,IAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,gBAAwB;AACxB,IAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,kBAAA,CAAA,KAAA,CAAA,GAAA,cAAoB;AACpB,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,uBAAkC;AAClC,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,kBAAA,CAAA,YAAA,CAAA,GAAA,4BAAyC;AACzC,IAAA,kBAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,kBAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AAC1C,CAAC,EArBW,kBAAkB,KAAlB,kBAAkB,GAqB7B,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC5B,IAAA,oBAAA,CAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,oBAAA,CAAA,oBAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,oBAAA,CAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,oBAAA,CAAA,oBAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,oBAAA,CAAA,oBAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,oBAAA,CAAA,oBAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,oBAAA,CAAA,oBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,oBAAA,CAAA,oBAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,oBAAA,CAAA,oBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACf,CAAC,EAVW,oBAAoB,KAApB,oBAAoB,GAU/B,EAAA,CAAA,CAAA;;MC1CY,gBAAgB,CAAA;AAD7B,IAAA,WAAA,GAAA;AAGW,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAkB;AAC5C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAc;AAEhD;8GALY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADL,MAAM,EAAA,CAAA,CAAA;;2FACjB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAC,UAAU,EAAC,MAAM,EAAC;;;MCLlB,cAAc,CAAA;AAA3B,IAAA,WAAA,GAAA;QACI,IAAI,CAAA,IAAA,GAAY,EAAE;QAClB,IAAK,CAAA,KAAA,GAAY,EAAE;;AACtB;MAEY,gBAAgB,CAAA;AAA7B,IAAA,WAAA,GAAA;QACI,IAAK,CAAA,KAAA,GAAY,EAAE;;AACtB;MACY,mBAAmB,CAAA;AAAhC,IAAA,WAAA,GAAA;QACI,IAAE,CAAA,EAAA,GAAW,CAAC;QACd,IAAK,CAAA,KAAA,GAAY,EAAE;;AACtB;;ICXW;AAAZ,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,cAAwB;AACxB,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,sBAAiC;AACjC,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,qBAAkC;AAClC,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,qBAAmC;AACnC,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,wBAA+B;AAC/B,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,uBAA+B;AAC/B,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,sBAA8B;AAC9B,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,gBAAwB;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,cAAA,CAAA,KAAA,CAAA,GAAA,cAAoB;AACpB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,uBAAkC;AAClC,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,4BAAyC;AACzC,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AAC1C,CAAC,EArBW,cAAc,KAAd,cAAc,GAqBzB,EAAA,CAAA,CAAA;IAEW;AAAZ,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,cAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACJ,IAAA,cAAA,CAAA,cAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,cAAA,CAAA,cAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACX,CAAC,EAJW,cAAc,KAAd,cAAc,GAIzB,EAAA,CAAA,CAAA;;MCtBY,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;AAGW,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAc;AACtC,QAAA,IAAA,CAAA,SAAS,GAAI,IAAI,OAAO,EAAc;AAEhD;8GALY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADD,MAAM,EAAA,CAAA,CAAA;;2FACjB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAC,UAAU,EAAC,MAAM,EAAC;;;MCFlB,UAAU,CAAA;AAAvB,IAAA,WAAA,GAAA;QACI,IAAU,CAAA,UAAA,GAAY,EAAE;AACxB,QAAA,IAAA,CAAA,gBAAgB,GAAY,EAAE,CAAC;QAC/B,IAAG,CAAA,GAAA,GAAY,CAAC;QAChB,IAAI,CAAA,IAAA,GAAY,CAAC;AAEjB,QAAA,IAAA,CAAA,IAAI,GAAY,EAAE,CAAC;QACnB,IAAS,CAAA,SAAA,GAAY,KAAK;;AAC7B;;MCGY,cAAc,CAAA;AAyBzB,IAAA,WAAA,CAAoB,EAAqB,EAAA;QAArB,IAAE,CAAA,EAAA,GAAF,EAAE;AAtBtB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC/B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAU;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAU;AACtC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAU;QACtC,IAAU,CAAA,UAAA,GAAU,OAAO;QAC3B,IAAK,CAAA,KAAA,GAAY,EAAE;QAEnB,IAAU,CAAA,UAAA,GAAY,CAAC;QACvB,IAAU,CAAA,UAAA,GAAY,CAAC;QAGvB,IAAK,CAAA,KAAA,GAAY,EAAE;QACnB,IAAe,CAAA,eAAA,GAAY,EAAE;QAC7B,IAAU,CAAA,UAAA,GAAY,EAAE;QAGxB,IAAS,CAAA,SAAA,GAAa,KAAK;AAG3B,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;;IAKnC,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,OAAO;AACzB,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE;AACf,QAAA,IAAI,CAAC,eAAe,GAAG,EAAE;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE;AAGlC,QAAA,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,KAAK;QAGtC,IAAI,CAAC,wBAAwB,EAAE;;IAKjC,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;QACtB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE;AACxC,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI;QAChC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;;IAGnD,wBAAwB,GAAA;QACtB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAuB,KAAG;YAChE,IAAG,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,UAAU,EAAC;AACtC,gBAAA,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI;AAC5B,gBAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI;AAChC,gBAAA,IAAI,CAAC,UAAU,GAAI,UAAU,CAAC,GAAG;AACjC,gBAAA,IAAI,CAAC,UAAU,GAAI,UAAU,CAAC,IAAI;AAClC,gBAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,gBAAA,QAAO,IAAI,CAAC,SAAS;AACnB,oBAAA,MAAM,cAAc,CAAC,IAAI;AACrB,wBAAA,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI;AAChC,wBAAA,IAAI,CAAC,eAAe,GAAG,SAAS;AAChC,wBAAA,IAAI,CAAC,UAAU,GAAG,OAAO;wBAC3B;AACA,oBAAA,MAAM,cAAc,CAAC,KAAK;AACtB,wBAAA,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK;AACjC,wBAAA,IAAI,CAAC,eAAe,GAAG,SAAS;AAChC,wBAAA,IAAI,CAAC,UAAU,GAAG,OAAO;wBAC3B;AACA,oBAAA,MAAM,cAAc,CAAC,OAAO;AACxB,wBAAA,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO;AACnC,wBAAA,IAAI,CAAC,eAAe,GAAG,SAAS;AAChC,wBAAA,IAAI,CAAC,UAAU,GAAG,OAAO;wBAC3B;;;AAIZ,SAAC,CAAC;;8GA/EO,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,0lBCb3B,6yCA4CA,EAAA,MAAA,EAAA,CAAA,+XAAA,CAAA,EAAA,CAAA,CAAA;;2FD/Ba,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;+BACE,WAAW,EAAA,UAAA,EACT,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,6yCAAA,EAAA,MAAA,EAAA,CAAA,+XAAA,CAAA,EAAA;;;MEaA,kBAAkB,CAAA;IAgD7B,WAAoB,CAAA,OAAoB,EAAU,EAAsB,EAAA;QAApD,IAAO,CAAA,OAAA,GAAP,OAAO;QAAuB,IAAE,CAAA,EAAA,GAAF,EAAE;;AA7CpD,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAsB;AAC5C,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU;QAC/B,IAAgB,CAAA,gBAAA,GAAY,EAAE;AAC9B,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC5C,QAAA,IAAA,CAAA,aAAa,GAAW,kBAAkB,CAAC,OAAO;AAClD,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAU;AACrC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAU;AACrC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAU;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAU;AACtC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAwB;AACpD,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAyB;;AAIlD,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAA8B;AAC3D,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAW;AACvC,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAA8B;QAChE,IAAI,CAAA,IAAA,GAAY,EAAE;QAClB,IAAW,CAAA,WAAA,GAAa,KAAK;AAC7B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAkB;;QAG5C,IAAI,CAAA,IAAA,GAAY,EAAE;QAClB,IAAO,CAAA,OAAA,GAAY,EAAE;QACrB,IAAM,CAAA,MAAA,GAAY,EAAE;AACpB,QAAA,IAAA,CAAA,eAAe,GAAE,KAAK,CAAC,QAAQ,EAAU;QACzC,IAAa,CAAA,aAAA,GAAa,KAAK;QAC/B,IAAiB,CAAA,iBAAA,GAAY,GAAG;AAChC,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAU;AAGzC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,cAAc,EAAE;AACrC,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,gBAAgB,EAAE;AACzC,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,mBAAmB,EAAE;QACtC,IAAc,CAAA,cAAA,GAAG,cAAc;QAC/B,IAAkB,CAAA,kBAAA,GAAG,kBAAkB;QACvC,IAA0B,CAAA,0BAAA,GAAG,0BAA0B;QACvD,IAAmB,CAAA,mBAAA,GAAG,0BAA0B;QAChD,IAAc,CAAA,cAAA,GAAG,cAAc;;AAGxC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;;IAMnC,QAAQ,GAAA;;AAGN,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,EAAE;QAG7B,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;QAEtC,IAAI,CAAC,uBAAuB,EAAE;AAE9B,QAAA,IAAG,IAAI,CAAC,SAAS,EAAE,IAAI,cAAc,CAAC,MAAM;YAAE,IAAI,CAAC,UAAU,EAAE;;IAIjE,WAAW,GAAA;;QAGP,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;QACtC,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB;QACjD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;;IAGhE,aAAa,GAAA;QACX,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACtC,QAAA,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAClF,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB;QACpD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;;IAK5D,uBAAuB,GAAA;QACrB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAqB,KAAG;YAClE,IAAG,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,gBAAgB,EAAC;gBAC5C,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,GAAC,GAAG,CAAC;AACvH,gBAAA,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI;gBACzE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,GAAE,QAAQ;gBAC1D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;;AAEjD,SAAC,CAAC;;IAGJ,kBAAkB,GAAA;QAEhB,IAAG,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC,QAAQ,EAAC;AAEnD,YAAA,IAAI,CAAC,aAAa,GAAK,kBAAkB,CAAC,OAAO;AACjD,YAAA,IAAI,CAAC,gBAAgB,GAAG,UAAU;;aAE/B;AAEH,YAAA,IAAI,CAAC,aAAa,GAAK,kBAAkB,CAAC,QAAQ;AAClD,YAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;;;IAMlC,UAAU,GAAA;AAER,QAAA,QAAO,IAAI,CAAC,YAAY,EAAE;AAExB,YAAA,MAAM,0BAA0B,CAAC,IAAI;AACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;AAC9B,gBAAA,IAAI,CAAC,OAAO,GAAC,EAAE;AACf,gBAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC5B;AAEA,YAAA,MAAM,0BAA0B,CAAC,QAAQ;AACvC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,UAAU;AAClC,gBAAA,IAAI,CAAC,OAAO,GAAC,EAAE;AACf,gBAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC5B;AAEA,YAAA,MAAM,0BAA0B,CAAC,KAAK;AACpC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;AAC9B,gBAAA,IAAI,CAAC,OAAO,GAAC,EAAE;AACf,gBAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC5B;AAEA,YAAA,MAAM,0BAA0B,CAAC,MAAM;AACrC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;AAC9B,gBAAA,IAAI,CAAC,OAAO,GAAC,EAAE;AACf,gBAAA,IAAI,CAAC,IAAI,GAAG,YAAY,GAAC,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE;AACzD,gBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE;AACpC,gBAAA,IAAI,CAAC,aAAa,GAAG,KAAK;gBAC1B,IAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,0BAA0B,CAAC,MAAM,EAAC;AAC/D,oBAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;;gBAE9B,IAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,0BAA0B,CAAC,cAAc,EAAC;AACvE,oBAAA,IAAI,CAAC,iBAAiB,GAAG,GAAG;;gBAEhC;AAEA,YAAA,MAAM,0BAA0B,CAAC,IAAI;AACnC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,MAAM;AAC9B,gBAAA,IAAI,CAAC,OAAO,GAAC,EAAE;AACf,gBAAA,IAAI,CAAC,IAAI,GAAG,EAAE;AACd,gBAAA,IAAI,CAAC,MAAM,GAAG,EAAE;AAChB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;gBAC3B;AAEA,YAAA,MAAK,0BAA0B,CAAC,SAAS;AACvC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK;AAC7B,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI;gBACzB,IAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,0BAA0B,CAAC,MAAM,EAAC;AAC/D,oBAAA,IAAI,CAAC,OAAO,GAAG,MAAM;AACrB,oBAAA,IAAI,CAAC,IAAI,GAAG,kBAAkB;;gBAEhC,IAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,0BAA0B,CAAC,cAAc,EAAC;AACvE,oBAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,oBAAA,IAAI,CAAC,IAAI,GAAG,gBAAgB;;gBAEhC;;;AAIJ,IAAA,eAAe,CAAC,SAAkB,EAAA;AAEhC,QAAA,KAAI,IAAI,CAAC,GAAC,CAAC,EAAE,CAAC,GAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;YACzC,IAAG,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;;AAExE,QAAA,OAAO,CAAC;;8GArLD,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,ulECtB/B,i2GAyFA,EAAA,MAAA,EAAA,CAAA,kQAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvEY,WAAW,EAAC,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,sHAAC,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,wBAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAItC,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAP9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EACd,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,WAAW,EAAC,YAAY,EAAC,cAAc,EAACA,EAAO,CAAC,gBAAgB,CAAC,EAAA,QAAA,EAAA,i2GAAA,EAAA,MAAA,EAAA,CAAA,kQAAA,CAAA,EAAA;;;IElBjE;AAAZ,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,MAAa;AACb,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,cAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AAErB,CAAC,EANW,cAAc,KAAd,cAAc,GAMzB,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,sBAAsB,EAAA;AAC9B,IAAA,sBAAA,CAAA,sBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG;AACH,IAAA,sBAAA,CAAA,sBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,sBAAA,CAAA,sBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,sBAAA,CAAA,sBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACR,CAAC,EALW,sBAAsB,KAAtB,sBAAsB,GAKjC,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,cAAc,EAAA;AACtB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,cAAwB;AACxB,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,sBAAiC;AACjC,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,qBAAkC;AAClC,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,qBAAmC;AACnC,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,wBAA+B;AAC/B,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,uBAA+B;AAC/B,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,sBAA8B;AAC9B,IAAA,cAAA,CAAA,OAAA,CAAA,GAAA,gBAAwB;AACxB,IAAA,cAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,cAAA,CAAA,KAAA,CAAA,GAAA,cAAoB;AACpB,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,cAAA,CAAA,UAAA,CAAA,GAAA,uBAAkC;AAClC,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,cAAA,CAAA,YAAA,CAAA,GAAA,4BAAyC;AACzC,IAAA,cAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,cAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AAC1C,CAAC,EArBW,cAAc,KAAd,cAAc,GAqBzB,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AACzB,IAAA,iBAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,iBAAA,CAAA,iBAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,iBAAA,CAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,iBAAA,CAAA,iBAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,iBAAA,CAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,iBAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,iBAAA,CAAA,iBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,iBAAA,CAAA,iBAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,iBAAA,CAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACf,CAAC,EAVW,iBAAiB,KAAjB,iBAAiB,GAU5B,EAAA,CAAA,CAAA;;MCxCY,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;AAGW,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAe;AAClC,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAe;AACzC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAe;AAEjD;8GANY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADF,MAAM,EAAA,CAAA,CAAA;;2FACjB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAC,UAAU,EAAC,MAAM,EAAC;;;MCJlB,WAAW,CAAA;AAAxB,IAAA,WAAA,GAAA;QACI,IAAI,CAAA,IAAA,GAAY,EAAE;QAClB,IAAK,CAAA,KAAA,GAAa,KAAK;;AAC1B;;MCDY,UAAU,CAAA;AAAvB,IAAA,WAAA,GAAA;QAEI,IAAI,CAAA,IAAA,GAAY,EAAE;;AAErB;;MCDY,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;AAGI,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAc;AAE3C;8GAJY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADD,MAAM,EAAA,CAAA,CAAA;;2FACjB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAC,UAAU,EAAC,MAAM,EAAC;;;MCgBlB,eAAe,CAAA;;AAsD1B,IAAA,WAAA,CAAoB,OAAoB,EAAA;QAApB,IAAO,CAAA,OAAA,GAAP,OAAO;QAnDvB,IAAgB,CAAA,gBAAA,GAAY,EAAE;AAC9B,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAkB;AAC9C,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAU;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAU;AACjC,QAAA,IAAA,CAAA,OAAO,GAAE,KAAK,CAAC,QAAQ,EAAU;AAGjC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAkB;QACxC,IAAa,CAAA,aAAA,GAAW,CAAC;QACzB,IAAgB,CAAA,gBAAA,GAAY,EAAE;QAC9B,IAAe,CAAA,eAAA,GAAY,EAAE;QAC7B,IAA2B,CAAA,2BAAA,GAAY,EAAE;QACzC,IAAU,CAAA,UAAA,GAAY,EAAE;AACxB,QAAA,IAAA,CAAA,qBAAqB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChD,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAW;QAExC,IAAU,CAAA,UAAA,GAAY,EAAE;AACxB,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAU;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAqB;AACjD,QAAA,IAAA,CAAA,eAAe,GAAE,KAAK,CAAC,QAAQ,EAAU;AACzC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAW;AAExC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC/B,QAAA,IAAA,CAAA,qBAAqB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChD,QAAA,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC/C,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAU;AACzC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAU;AACzC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAA0B;QAI1D,IAAa,CAAA,aAAA,GAAa,KAAK;QAC/B,IAAW,CAAA,WAAA,GAAa,KAAK;AAE7B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,WAAW,EAAE;AAE/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AACrC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AAEnC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,UAAU,EAAE;AAE7B,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AACnC,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,UAAU,EAAE;QAEpB,IAAc,CAAA,cAAA,GAAG,cAAc;;IAQ5C,QAAQ,GAAA;;AAEN,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,UAAU,GAAI,EAAE;AACrB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;AACpB,QAAA,IAAI,CAAC,2BAA2B,GAAG,EAAE;AACrC,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC;AACtB,QAAA,IAAI,CAAC,gBAAgB,GAAG,EAAE;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE;AACpC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;AAC1B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;AACxB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE;AAGjB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACpD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE;AACxC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE;QACxC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,GAAE,IAAI;QAE3C,IAAI,CAAC,yBAAyB,EAAE;QAChC,IAAI,CAAC,uBAAuB,EAAE;AAE9B,QAAA,QAAQ,IAAI,CAAC,eAAe,EAAE;AAC5B,YAAA,MAAM,sBAAsB,CAAC,GAAG;AAC9B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;gBAChC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,eAAe,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,EAAE;gBAC/H;AACF,YAAA,MAAM,sBAAsB,CAAC,KAAK;AAChC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,aAAa;gBACrC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,aAAa,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,EAAE;gBAC7H;AACF,YAAA,MAAM,sBAAsB,CAAC,MAAM;AACjC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;gBACxC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,EAAE;gBAC5H;AACF,YAAA,MAAM,sBAAsB,CAAC,IAAI;gBAC/B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,EAAE;gBAChI;;QAEF,IAAI,CAAC,OAAO,GAAG;AACb,YAAA,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAC,CAAC,IAAE,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,IAAK,IAAI,CAAC,SAAS,EAAE,GAAC,CAAC,CAAC,GAAC,IAAI,GAAI,KAAK,GAAG,qBAAqB;YACjI,gBAAgB,EAAC,IAAI,CAAC;SACvB;;IAIH,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE;AACnD,QAAA,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,cAAc,EAAE;AACxC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE;;IAGzC,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACpD,QAAA,IAAI,CAAC,UAAU,GAAI,IAAI,CAAC,eAAe,EAAE;AACzC,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE;;IAG1C,OAAO,GAAA;QAEL,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACnC,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI;QAE7B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;IAKxD,yBAAyB,GAAA;QACvB,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,UAAsB,KAAG;YAClE,IAAG,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,EAAC;AAChC,gBAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,KAAK;;AAEzC,SAAC,CAAC;;IAGJ,uBAAuB,GAAA;QACrB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAqB,KAAG;YAClE,IAAG,IAAI,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,gBAAgB,EAAC;gBAC5C,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY;gBACjH,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW;gBAClH,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,GAAE,QAAQ;gBACvD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;;AAEjD,SAAC,CAAC;;8GAhJO,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,ECpB5B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,4gDAkDA,EDlCY,MAAA,EAAA,CAAA,ymBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,sHAAC,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAI1B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAP3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,cACV,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAC,cAAc,CAAC,EAAA,QAAA,EAAA,4gDAAA,EAAA,MAAA,EAAA,CAAA,ymBAAA,CAAA,EAAA;;;IEhB5B;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,cAAwB;AACxB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,sBAAiC;AACjC,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,qBAAkC;AAClC,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,qBAAmC;AACnC,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,wBAA+B;AAC/B,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,uBAA+B;AAC/B,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,sBAA8B;AAC9B,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,gBAAwB;AACxB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,cAAoB;AACpB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,uBAAkC;AAClC,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,4BAAyC;AACzC,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AAE1C,CAAC,EAtBW,aAAa,KAAb,aAAa,GAsBxB,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AACzB,IAAA,iBAAA,CAAA,iBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG;AACH,IAAA,iBAAA,CAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACV,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,GAG5B,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,mBAAmB,EAAA;AAC3B,IAAA,mBAAA,CAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,mBAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,mBAAA,CAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,mBAAA,CAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,mBAAA,CAAA,mBAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,mBAAA,CAAA,mBAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,mBAAA,CAAA,mBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,mBAAA,CAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,mBAAA,CAAA,mBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACf,CAAC,EAVW,mBAAmB,KAAnB,mBAAmB,GAU9B,EAAA,CAAA,CAAA;;MCxBY,iBAAiB,CAAA;AAP9B,IAAA,WAAA,GAAA;AAUE,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU;;AAG/B,QAAA,IAAA,CAAA,0BAA0B,GAAG,KAAK,CAAC,QAAQ,EAAU;AACrD,QAAA,IAAA,CAAA,yBAAyB,GAAG,KAAK,CAAC,QAAQ,EAAU;;AAGpD,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,QAAQ,EAAW;AAC9C,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC1C,QAAA,IAAA,CAAA,qBAAqB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAChD,QAAA,IAAA,CAAA,qBAAqB,GAAG,KAAK,CAAC,QAAQ,EAAuB;AAC7D,QAAA,IAAA,CAAA,oBAAoB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC/C,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAqB;QACzD,IAAoB,CAAA,oBAAA,GAAY,CAAC;QACjC,IAAqB,CAAA,qBAAA,GAAY,CAAC;QAClC,IAAsB,CAAA,sBAAA,GAAY,CAAC;;AAGnC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAW;AACxC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAiB;AACvC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAU;QACrC,IAAe,CAAA,eAAA,GAAY,CAAC;QAC5B,IAAgB,CAAA,gBAAA,GAAY,CAAC;;QAG7B,IAAwB,CAAA,wBAAA,GAAY,CAAC;QACrC,IAAyB,CAAA,yBAAA,GAAY,CAAC;;AAGtC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,EAAU;AACrC,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC3C,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAuB;;AAGxD,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAW;AAC5C,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,QAAQ,EAAU;AACxC,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC9C,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC7C,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAuB;;AAG3D,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAE7C,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAU;;QAI3B,IAAc,CAAA,cAAA,GAAG,aAAa;QAC9B,IAAgB,CAAA,gBAAA,GAAG,iBAAiB;QAC7C,IAAa,CAAA,aAAA,GAAa,KAAK;AAG/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AA8CtC;IA5CC,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE;;AAIpC,QAAA,IAAI,CAAC,oBAAoB,GAAG,CAAC;AAC7B,QAAA,IAAI,CAAC,qBAAqB,GAAI,CAAC;AAC/B,QAAA,IAAI,CAAC,sBAAsB,GAAI,CAAC;AAChC,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC;AACxB,QAAA,IAAI,CAAC,gBAAgB,GAAI,CAAC;AAC1B,QAAA,IAAI,CAAC,wBAAwB,GAAI,CAAC;AAElC,QAAA,IAAG,IAAI,CAAC,kBAAkB,EAAE,EAAC;YAC3B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,GAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAC,KAAK,GAAC,CAAC,IAAE,IAAI,CAAC,SAAS,EAAE,GAAC,CAAC,CAAC;YAC9J,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,GAAC,GAAG;YACjD,IAAI,CAAC,sBAAsB,GAAI,IAAI,CAAC,SAAS,EAAE,GAAC,KAAK;YACrD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,GAAC,KAAK;YAC7C,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,SAAS,EAAE,GAAC,KAAK;YAC/C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,EAAE,GAAC,KAAK;;aAEnD;AACH,YAAA,IAAG,IAAI,CAAC,YAAY,EAAE,EAAC;gBACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,GAAC,KAAK;gBAC7C,IAAI,CAAC,gBAAgB,GAAI,IAAI,CAAC,SAAS,EAAE,GAAC,KAAK;gBAC/C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,EAAE,GAAC,KAAK;;iBACnD;gBACH,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,SAAS,EAAE,GAAC,CAAC;;;;IAQxD,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI;AAEtD,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO;AAC/B,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,KAAK;QAE9B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;8GAnG7C,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,o/GCb9B,0xFA6EA,EAAA,MAAA,EAAA,CAAA,mqBAAA,CAAA,EAAA,CAAA,CAAA;;2FDhEa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;+BACE,eAAe,EAAA,UAAA,EACb,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,0xFAAA,EAAA,MAAA,EAAA,CAAA,mqBAAA,CAAA,EAAA;;;META,aAAa,CAAA;AAA1B,IAAA,WAAA,GAAA;QACI,IAAI,CAAA,IAAA,GAAW,EAAE;;AACpB;;MCGY,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAGW,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,OAAO,EAAiB;AAE7C;8GAJY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADJ,MAAM,EAAA,CAAA,CAAA;;2FACjB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAC,UAAU,EAAC,MAAM,EAAC;;;ICJnB;AAAZ,CAAA,UAAY,qBAAqB,EAAA;AAC7B,IAAA,qBAAA,CAAA,qBAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAG;AACH,IAAA,qBAAA,CAAA,qBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK;AACL,IAAA,qBAAA,CAAA,qBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAM;AACN,IAAA,qBAAA,CAAA,qBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI;AACR,CAAC,EALW,qBAAqB,KAArB,qBAAqB,GAKhC,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,cAAwB;AACxB,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,sBAAiC;AACjC,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,qBAAkC;AAClC,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,qBAAmC;AACnC,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,wBAA+B;AAC/B,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,uBAA+B;AAC/B,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,sBAA8B;AAC9B,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,gBAAwB;AACxB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,cAAoB;AACpB,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,uBAAkC;AAClC,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjC,IAAA,aAAA,CAAA,YAAA,CAAA,GAAA,4BAAyC;AACzC,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,mBAA6B;AAC7B,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,wBAAsC;AAC1C,CAAC,EArBW,aAAa,KAAb,aAAa,GAqBxB,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,gBAAA,CAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,gBAAA,CAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,gBAAA,CAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,gBAAA,CAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,gBAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,gBAAA,CAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,gBAAA,CAAA,gBAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,gBAAA,CAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACf,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,GAU3B,EAAA,CAAA,CAAA;;MC1BY,cAAc,CAAA;AAN3B,IAAA,WAAA,GAAA;AAeE,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAU;AAE/B,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAW;AACxC,QAAA,IAAA,CAAA,KAAK,GAAE,KAAK,CAAC,QAAQ,EAAiB;AACtC,QAAA,IAAA,CAAA,UAAU,GAAE,KAAK,CAAC,QAAQ,EAAU;AACpC,QAAA,IAAA,CAAA,eAAe,GAAE,KAAK,CAAC,QAAQ,EAAyB;AAGxD,QAAA,IAAA,CAAA,oBAAoB,GAAE,KAAK,CAAC,QAAQ,EAAU;AAE9C,QAAA,IAAA,CAAA,YAAY,GAAE,KAAK,CAAC,QAAQ,EAAW;AACvC,QAAA,IAAA,CAAA,eAAe,GAAE,KAAK,CAAC,QAAQ,EAAU;AACzC,QAAA,IAAA,CAAA,KAAK,GAAE,KAAK,CAAC,QAAQ,EAAU;AAC/B,QAAA,IAAA,CAAA,UAAU,GAAE,KAAK,CAAC,QAAQ,EAAU;AACpC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAoB;AACpD,QAAA,IAAA,CAAA,aAAa,GAAE,KAAK,CAAC,QAAQ,EAAU;AAKvC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;AAuBpC;IAlDC,QAAQ,GAAA;AAEN,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,EAAE;QAElC,IAAI,CAAC,4BAA4B,EAAE;;IA0BrC,4BAA4B,GAAA;AAC1B,QAAA,QAAQ,IAAI,CAAC,eAAe,EAAE;AAC5B,YAAA,MAAM,qBAAqB,CAAC,GAAG;AAC7B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ;gBAChC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,EAAE;gBAC9H;AACF,YAAA,MAAM,qBAAqB,CAAC,KAAK;AAC/B,gBAAA,IAAI,CAAC,gBAAgB,GAAG,aAAa;gBACrC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,EAAE;gBAC5H;AACF,YAAA,MAAM,qBAAqB,CAAC,MAAM;AAChC,gBAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;gBACxC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,EAAE;gBAC3H;AACF,YAAA,MAAM,qBAAqB,CAAC,IAAI;gBAC9B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,EAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAC,GAAG,EAAE;gBAC/H;;;8GAhDO,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ3B,4oBAsBM,EAAA,MAAA,EAAA,CAAA,0LAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDdM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAIX,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;+BACE,WAAW,EAAA,OAAA,EACZ,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,4oBAAA,EAAA,MAAA,EAAA,CAAA,0LAAA,CAAA,EAAA;;;IERb;AAAZ,CAAA,UAAY,gBAAgB,EAAA;AACxB,IAAA,gBAAA,CAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,gBAAA,CAAA,gBAAA,CAAA,YAAA,CAAA,GAAA,GAAA,CAAA,GAAA,YAAgB;AAChB,IAAA,gBAAA,CAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACX,IAAA,gBAAA,CAAA,gBAAA,CAAA,SAAA,CAAA,GAAA,GAAA,CAAA,GAAA,SAAa;AACb,IAAA,gBAAA,CAAA,gBAAA,CAAA,QAAA,CAAA,GAAA,GAAA,CAAA,GAAA,QAAY;AACZ,IAAA,gBAAA,CAAA,gBAAA,CAAA,UAAA,CAAA,GAAA,GAAA,CAAA,GAAA,UAAc;AACd,IAAA,gBAAA,CAAA,gBAAA,CAAA,MAAA,CAAA,GAAA,GAAA,CAAA,GAAA,MAAU;AACV,IAAA,gBAAA,CAAA,gBAAA,CAAA,WAAA,CAAA,GAAA,GAAA,CAAA,GAAA,WAAe;AACf,IAAA,gBAAA,CAAA,gBAAA,CAAA,OAAA,CAAA,GAAA,GAAA,CAAA,GAAA,OAAW;AACf,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,GAU3B,EAAA,CAAA,CAAA;IACW;AAAZ,CAAA,UAAY,UAAU,EAAA;AAClB,IAAA,UAAA,CAAA,UAAA,CAAA,UAAA,CAAA,GAAA,CAAA,CAAA,GAAA,UAAQ;AACR,IAAA,UAAA,CAAA,UAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAO;AACX,CAAC,EAHW,UAAU,KAAV,UAAU,GAGrB,EAAA,CAAA,CAAA;;MCTY,YAAY,CAAA;AADzB,IAAA,WAAA,GAAA;AAGW,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,OAAO,EAAc;AACtC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAU;AAC7C;8GAJY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADD,MAAM,EAAA,CAAA,CAAA;;2FACjB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAC,UAAU,EAAC,MAAM,EAAC;;;MCQlB,cAAc,CAAA;AAN3B,IAAA,WAAA,GAAA;AAgBU,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAW;AAExC,QAAA,IAAA,CAAA,IAAI,GAAI,KAAK,CAAC,QAAQ,EAAU;AAEhC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAc;AAExC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAU;AAEtC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAU;AAEpC,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC5C,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,QAAQ,EAAoB;AACvD,QAAA,IAAA,CAAA,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAElD,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAoB;AACrD,QAAA,IAAA,CAAA,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAClD,QAAA,IAAA,CAAA,uBAAuB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAClD,QAAA,IAAA,CAAA,0BAA0B,GAAG,KAAK,CAAC,QAAQ,EAAU;AAErD,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAC,QAAQ,EAAW;AAC7C,QAAA,IAAA,CAAA,mBAAmB,GAAG,KAAK,CAAC,QAAQ,EAAW;AAC/C,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAU;AACvC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAU;AAEtC,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC1C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAE3C,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,QAAQ,EAAU;AAC3C,QAAA,IAAA,CAAA,eAAe,GAAG,KAAK,CAAC,QAAQ,EAAY;AAC5C,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,QAAQ,EAAY;AAC/C,QAAA,IAAA,CAAA,0BAA0B,GAAG,KAAK,CAAC,QAAQ,EAAY;AACvD,QAAA,IAAA,CAAA,wBAAwB,GAAG,KAAK,CAAC,QAAQ,EAAY;AAMrD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAE1B,IAAU,CAAA,UAAA,GAAG,UAAU;AAkIjC;IAnLC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;IAGzB,QAAQ,GAAA;QACN,IAAI,CAAC,uBAAuB,EAAE;;IA+ChC,uBAAuB,GAAA;QACrB,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAgB,KAAG;YACvF,IAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,EAAC;AAE3B,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAE1D,gBAAA,IAAG,IAAI,CAAC,8CAA8C,CAAC,KAAK,CAAC,IAAI,EAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAC;oBAC3F,IAAI,oBAAoB,GAAG,IAAI,CAAC,kCAAkC,CAAC,KAAK,CAAC,IAAI,EAAC,IAAI,CAAC,kBAAkB,EAAE,EAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AAC/H,oBAAA,IAAI,mBAAmB,GAAG,IAAI,CAAC,4CAA4C,CAAC,oBAAoB,EAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;AACjI,oBAAA,IAAI,0BAA0B,GAAG,IAAI,CAAC,kCAAkC,CAAC,mBAAmB,EAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;AAC/H,oBAAA,IAAI,CAAC,aAAa,GAAG,0BAA0B;AAC/C,oBAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;;qBAE9C;AACH,oBAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI;AAC/B,oBAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;;;AAMvD,SAAC,CAAC;;AAOJ,IAAA,cAAc,CAAC,GAAW,EAAA;QACxB,IAAG,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAC;YAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;;;IAG1C,8CAA8C,CAAC,YAAuB,EAAC,iBAA4B,EAAA;QAEjG,KAAI,IAAI,CAAC,GAAC,CAAC,EAAG,CAAC,GAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAG,CAAC,EAAE,EAAC;AACzD,YAAA,IAAG,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;;iBAC1D;AACH,gBAAA,OAAO,IAAI;;;AAGf,QAAA,OAAO,KAAK;;AAId,IAAA,kCAAkC,CAAC,YAAuB,EAAE,iBAA4B,EAAG,6BAAwC,EAAA;QAEjI,IAAI,4BAA4B,GAAG,IAAI,CAAC,wCAAwC,CAAC,YAAY,EAAC,6BAA6B,CAAC;;AAE5H,QAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAC,iBAAiB,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;AAC5C,YAAA,KAAI,IAAI,CAAC,GAAE,CAAC,EAAE,CAAC,GAAC,4BAA4B,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;gBACrD,4BAA4B,CAAC,CAAC,CAAS,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAAI,4BAA4B,CAAC,CAAC,CAAS,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;gBAC3I,OAAQ,4BAA4B,CAAC,CAAC,CAAS,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;;;AAGrF,QAAA,OAAO,4BAA4B;;IAIrC,wCAAwC,CAAC,YAAuB,EAAE,sBAAiC,EAAA;AAEjG,QAAA,MAAM,uBAAuB,GAAG,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,sBAAsB,CAAC;;AAErG,QAAA,KAAI,IAAI,CAAC,GAAE,CAAC,EAAG,CAAC,GAAG,uBAAuB,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;AACpD,YAAA,YAAY,CAAC,OAAO,CAAC,CAAC,GAAO,KAAG;AAC9B,gBAAA,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;AACxC,aAAC,CAAC;;QAEJ,CAAC,GAAC,CAAC;AACH,QAAA,OAAO,YAAY;;IAGvB,0BAA0B,CAAC,WAAoB,EAAC,sBAAiC,EAAA;QAE7E,IAAI,QAAQ,GAAc,EAAE;AAE5B,QAAA,KAAI,IAAI,CAAC,GAAE,CAAC,EAAG,CAAC,GAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;AACpD,YAAA,IAAG,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC;;iBAC3D;AACH,gBAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;;;QAI9C,CAAC,GAAC,CAAC;AAEH,QAAA,OAAO,QAAQ;;IAInB,kCAAkC,CAAC,YAAuB,EAAC,mBAA8B,EAAA;AAEvF,QAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAE,YAAY,CAAC,MAAM,EAAG,CAAC,EAAE,EAAC;YAC1C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAG,CAAC,EAAE,EAAC;gBACzD,YAAY,CAAC,CAAC,CAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAI,YAAY,CAAC,CAAC,CAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC;;;AAIrJ,QAAA,OAAO,YAAY;;IAIrB,4CAA4C,CAAC,YAAoB,EAAC,sBAAiC,EAAA;AAEjG,QAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAE,YAAY,CAAC,MAAM,EAAG,CAAC,EAAE,EAAC;YAC1C,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAG,CAAC,EAAE,EAAC;gBAC1D,IAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC;;qBAExD;oBACH,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;;;;AAQ5J,QAAA,OAAO,YAAY;;8GA3KV,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,siHCZ3B,w4DAmDA,EAAA,MAAA,EAAA,CAAA,gjBAAA,CAAA,EAAA,CAAA,CAAA;;2FDvCa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,WACZ,EAAE,EAAA,QAAA,EAAA,w4DAAA,EAAA,MAAA,EAAA,CAAA,gjBAAA,CAAA,EAAA;;;MERA,UAAU,CAAA;AAAvB,IAAA,WAAA,GAAA;QACI,IAAI,CAAA,IAAA,GAAW,EAAE;;AAEpB;;ACHD;;AAEG;;ACFH;;AAEG;;;;"}
|
|
@@ -5,9 +5,9 @@ import { ButtonModel } from './button.model';
|
|
|
5
5
|
import { AlertService } from '../alert/alert.service';
|
|
6
6
|
import { AlertTypesEnum } from '../alert/alert.enum';
|
|
7
7
|
import { AlertModel } from '../alert/alert.model';
|
|
8
|
-
import { TxtBoxService } from '../txt-box/txt-box.service';
|
|
9
8
|
import { LabelModel } from '../label/label.model';
|
|
10
9
|
import { LabelService } from '../label/label.service';
|
|
10
|
+
import { FormFieldService } from '../form-field/form-field.service';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
export declare class ButtonComponent implements OnInit {
|
|
13
13
|
private element;
|
|
@@ -44,7 +44,7 @@ export declare class ButtonComponent implements OnInit {
|
|
|
44
44
|
ButtonModel: ButtonModel;
|
|
45
45
|
ButtonService: ButtonService;
|
|
46
46
|
AlertService: AlertService;
|
|
47
|
-
|
|
47
|
+
FormFieldService: FormFieldService;
|
|
48
48
|
AlertModel: AlertModel;
|
|
49
49
|
LabelService: LabelService;
|
|
50
50
|
LabelModel: LabelModel;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { ElementRef, OnInit } from '@angular/core';
|
|
2
|
+
import { FormFieldIconsEnum, FormFieldTxtInputTypesEnum, FormFieldFontWeights, FormFieldCountryDataFormat, FormFieldTypes } from './form-field.enum';
|
|
3
|
+
import { FormFieldService } from './form-field.service';
|
|
4
|
+
import { FormFieldModel, FormFielTxtModel, FormFieldComboModel } from './form-field.model';
|
|
5
|
+
import { AlertTypesEnum } from '../alert/alert.enum';
|
|
6
|
+
import { AlertService } from '../alert/alert.service';
|
|
7
|
+
import { ChangeDetectorRef } from '@angular/core';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export declare class FormFieldComponent implements OnInit {
|
|
10
|
+
private element;
|
|
11
|
+
private cd;
|
|
12
|
+
_Icon: import("@angular/core").InputSignal<FormFieldIconsEnum>;
|
|
13
|
+
Name: import("@angular/core").InputSignal<string>;
|
|
14
|
+
_placeHolderType: string;
|
|
15
|
+
_placeHolderValue: import("@angular/core").InputSignal<string>;
|
|
16
|
+
_PasswordIcon: string;
|
|
17
|
+
_IconColor: import("@angular/core").InputSignal<string>;
|
|
18
|
+
_FontColor: import("@angular/core").InputSignal<string>;
|
|
19
|
+
_FontSize: import("@angular/core").InputSignal<number>;
|
|
20
|
+
_FontFamily: import("@angular/core").InputSignal<string>;
|
|
21
|
+
_FontWeight: import("@angular/core").InputSignal<FormFieldFontWeights>;
|
|
22
|
+
_Options: import("@angular/core").InputSignal<FormFieldComboModel[]>;
|
|
23
|
+
TxtInputType: import("@angular/core").InputSignal<FormFieldTxtInputTypesEnum>;
|
|
24
|
+
IconEnabled: import("@angular/core").InputSignal<boolean>;
|
|
25
|
+
CountryDataFormat: import("@angular/core").InputSignal<FormFieldCountryDataFormat>;
|
|
26
|
+
text: string;
|
|
27
|
+
_AlertState: boolean;
|
|
28
|
+
FieldType: import("@angular/core").InputSignal<FormFieldTypes>;
|
|
29
|
+
Mask: string;
|
|
30
|
+
Prefixo: string;
|
|
31
|
+
Sufixo: string;
|
|
32
|
+
NumberMaskSufix: import("@angular/core").InputSignal<string>;
|
|
33
|
+
showMaskTyped: boolean;
|
|
34
|
+
thousandSeparator: string;
|
|
35
|
+
NCasasDecimais: import("@angular/core").InputSignal<number>;
|
|
36
|
+
FormFieldModel: FormFieldModel;
|
|
37
|
+
FormFielTxtModel: FormFielTxtModel;
|
|
38
|
+
FormFieldComboModel: FormFieldComboModel;
|
|
39
|
+
readonly AlertTypesEnum: typeof AlertTypesEnum;
|
|
40
|
+
readonly FormFieldIconsEnum: typeof FormFieldIconsEnum;
|
|
41
|
+
readonly FormFieldTxtInputTypesEnum: typeof FormFieldTxtInputTypesEnum;
|
|
42
|
+
readonly FormFieldDataFormat: typeof FormFieldCountryDataFormat;
|
|
43
|
+
readonly FormFieldTypes: typeof FormFieldTypes;
|
|
44
|
+
FormFieldService: FormFieldService;
|
|
45
|
+
AlertService: AlertService;
|
|
46
|
+
constructor(element: ElementRef, cd: ChangeDetectorRef);
|
|
47
|
+
ngOnInit(): void;
|
|
48
|
+
onTxtChange(): void;
|
|
49
|
+
onComboChange(): void;
|
|
50
|
+
startListenToAlertState(): void;
|
|
51
|
+
togglePasswordView(): void;
|
|
52
|
+
configMask(): void;
|
|
53
|
+
getIDFromOption(valueText: string): number;
|
|
54
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldComponent, never>;
|
|
55
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormFieldComponent, "app-form-field", never, { "_Icon": { "alias": "_Icon"; "required": true; "isSignal": true; }; "Name": { "alias": "Name"; "required": true; "isSignal": true; }; "_placeHolderValue": { "alias": "_placeHolderValue"; "required": true; "isSignal": true; }; "_IconColor": { "alias": "_IconColor"; "required": true; "isSignal": true; }; "_FontColor": { "alias": "_FontColor"; "required": true; "isSignal": true; }; "_FontSize": { "alias": "_FontSize"; "required": true; "isSignal": true; }; "_FontFamily": { "alias": "_FontFamily"; "required": true; "isSignal": true; }; "_FontWeight": { "alias": "_FontWeight"; "required": true; "isSignal": true; }; "_Options": { "alias": "_Options"; "required": true; "isSignal": true; }; "TxtInputType": { "alias": "TxtInputType"; "required": true; "isSignal": true; }; "IconEnabled": { "alias": "IconEnabled"; "required": true; "isSignal": true; }; "CountryDataFormat": { "alias": "CountryDataFormat"; "required": true; "isSignal": true; }; "FieldType": { "alias": "FieldType"; "required": true; "isSignal": true; }; "NumberMaskSufix": { "alias": "NumberMaskSufix"; "required": true; "isSignal": true; }; "NCasasDecimais": { "alias": "NCasasDecimais"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
56
|
+
}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
|
-
export declare enum
|
|
2
|
-
|
|
3
|
-
Password = 1
|
|
1
|
+
export declare enum FormFieldTxtInputTypesEnum {
|
|
2
|
+
Text = 0,
|
|
3
|
+
Password = 1,
|
|
4
|
+
Email = 2,
|
|
5
|
+
Number = 3,
|
|
6
|
+
Date = 4,
|
|
7
|
+
CellPhone = 5
|
|
4
8
|
}
|
|
5
|
-
export declare enum
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
export declare enum FormFieldTypes {
|
|
10
|
+
TxtBox = 0,
|
|
11
|
+
ComboBox = 1
|
|
8
12
|
}
|
|
9
|
-
export declare enum
|
|
13
|
+
export declare enum FormFieldCountryDataFormat {
|
|
14
|
+
Estados_Unidos = 0,
|
|
15
|
+
Brasil = 1
|
|
16
|
+
}
|
|
17
|
+
export declare enum FormFieldIconsEnum {
|
|
10
18
|
AddUser = "fi fi-sr-user-add",
|
|
11
19
|
User = "fi fi-sr-user",
|
|
12
20
|
Lock = "fi fi-sr-lock",
|
|
@@ -28,7 +36,7 @@ export declare enum TxtBoxIconsEnum {
|
|
|
28
36
|
PDFFile = "fi fi-sr-file-pdf",
|
|
29
37
|
DowloadFile = "fi fi-sr-file-download"
|
|
30
38
|
}
|
|
31
|
-
export declare enum
|
|
39
|
+
export declare enum FormFieldFontWeights {
|
|
32
40
|
Thin = 100,
|
|
33
41
|
ExtraLight = 200,
|
|
34
42
|
Light = 300,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { FormFieldModel } from "./form-field.model";
|
|
3
|
+
import { AlertModel } from "../alert/alert.model";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class FormFieldService {
|
|
6
|
+
valueChanged: Subject<FormFieldModel>;
|
|
7
|
+
alertState: Subject<AlertModel>;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormFieldService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<FormFieldService>;
|
|
10
|
+
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './lib/
|
|
2
|
-
export * from './lib/
|
|
3
|
-
export * from './lib/
|
|
4
|
-
export * from './lib/
|
|
1
|
+
export * from './lib/form-field/form-field.component';
|
|
2
|
+
export * from './lib/form-field/form-field.enum';
|
|
3
|
+
export * from './lib/form-field/form-field.model';
|
|
4
|
+
export * from './lib/form-field/form-field.service';
|
|
5
5
|
export * from './lib/button/button.component';
|
|
6
6
|
export * from './lib/button/button.enum';
|
|
7
7
|
export * from './lib/button/button.model';
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ElementRef, OnInit } from '@angular/core';
|
|
2
|
-
import { TxtBoxTypesEnum, TxtBoxIconsEnum, TxtBoxFontWeights } from './txt-box.enum';
|
|
3
|
-
import { TxtBoxService } from './txt-box.service';
|
|
4
|
-
import { TxtBoxModel } from './txt-box.model';
|
|
5
|
-
import { AlertTypesEnum } from '../alert/alert.enum';
|
|
6
|
-
import { AlertService } from '../alert/alert.service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export declare class TxtBoxComponent implements OnInit {
|
|
9
|
-
private element;
|
|
10
|
-
_iconInput: import("@angular/core").InputSignal<TxtBoxIconsEnum>;
|
|
11
|
-
_nameInput: import("@angular/core").InputSignal<string>;
|
|
12
|
-
_idInput: import("@angular/core").InputSignal<string | undefined>;
|
|
13
|
-
_placeHolderType: string;
|
|
14
|
-
_placeHolderValue: import("@angular/core").InputSignal<string>;
|
|
15
|
-
_PasswordIcon: string;
|
|
16
|
-
_CorIcone: import("@angular/core").InputSignal<string>;
|
|
17
|
-
_CorFont: import("@angular/core").InputSignal<string>;
|
|
18
|
-
_FontSize: import("@angular/core").InputSignal<number>;
|
|
19
|
-
_IconEnabled: string;
|
|
20
|
-
_FontFamily: import("@angular/core").InputSignal<string>;
|
|
21
|
-
_FontWeight: import("@angular/core").InputSignal<TxtBoxFontWeights>;
|
|
22
|
-
typeInput: import("@angular/core").InputSignal<TxtBoxTypesEnum>;
|
|
23
|
-
IconEnabled: import("@angular/core").InputSignal<boolean>;
|
|
24
|
-
text: string;
|
|
25
|
-
TxtBoxModel: TxtBoxModel;
|
|
26
|
-
_AlertState: boolean;
|
|
27
|
-
readonly AlertTypesEnum: typeof AlertTypesEnum;
|
|
28
|
-
readonly TxtBoxIconsEnum: typeof TxtBoxIconsEnum;
|
|
29
|
-
readonly TxtBoxTypesEnum: typeof TxtBoxTypesEnum;
|
|
30
|
-
TxtBoxService: TxtBoxService;
|
|
31
|
-
AlertService: AlertService;
|
|
32
|
-
constructor(element: ElementRef);
|
|
33
|
-
ngOnInit(): void;
|
|
34
|
-
onValueChanged(): void;
|
|
35
|
-
startListenToAlertState(): void;
|
|
36
|
-
togglePasswordView(): void;
|
|
37
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TxtBoxComponent, never>;
|
|
38
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TxtBoxComponent, "app-txt-box", never, { "_iconInput": { "alias": "_iconInput"; "required": true; "isSignal": true; }; "_nameInput": { "alias": "_nameInput"; "required": true; "isSignal": true; }; "_idInput": { "alias": "_idInput"; "required": false; "isSignal": true; }; "_placeHolderValue": { "alias": "_placeHolderValue"; "required": true; "isSignal": true; }; "_CorIcone": { "alias": "_CorIcone"; "required": true; "isSignal": true; }; "_CorFont": { "alias": "_CorFont"; "required": true; "isSignal": true; }; "_FontSize": { "alias": "_FontSize"; "required": true; "isSignal": true; }; "_FontFamily": { "alias": "_FontFamily"; "required": true; "isSignal": true; }; "_FontWeight": { "alias": "_FontWeight"; "required": true; "isSignal": true; }; "typeInput": { "alias": "typeInput"; "required": true; "isSignal": true; }; "IconEnabled": { "alias": "IconEnabled"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
39
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
import { TxtBoxModel } from "./txt-box.model";
|
|
3
|
-
import { AlertModel } from "../alert/alert.model";
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class TxtBoxService {
|
|
6
|
-
value: Subject<TxtBoxModel>;
|
|
7
|
-
alertState: Subject<AlertModel>;
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TxtBoxService, never>;
|
|
9
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TxtBoxService>;
|
|
10
|
-
}
|