@seniorsistemas/components-ai 0.0.0-master-d4a804fe

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/CONTRIBUTING.md +317 -0
  3. package/README.md +161 -0
  4. package/docs/API.md +486 -0
  5. package/docs/COMPONENTS.md +272 -0
  6. package/docs/EXAMPLES.md +559 -0
  7. package/docs/MIGRATION.md +367 -0
  8. package/esm2022/lib/angular-components.module.mjs +25 -0
  9. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +121 -0
  10. package/esm2022/lib/components/bulk-delete-dialog/bulk-delete-dialog.component.mjs +176 -0
  11. package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +625 -0
  12. package/esm2022/lib/components/dynamic-form/fields/dynamic-field-date.component.mjs +86 -0
  13. package/esm2022/lib/components/dynamic-form/fields/dynamic-field-dropdown.component.mjs +103 -0
  14. package/esm2022/lib/components/dynamic-form/fields/dynamic-field-lookup.component.mjs +599 -0
  15. package/esm2022/lib/components/dynamic-form/fields/dynamic-field-number.component.mjs +92 -0
  16. package/esm2022/lib/components/dynamic-form/fields/dynamic-field-text.component.mjs +163 -0
  17. package/esm2022/lib/components/dynamic-form/fields/dynamic-field-textarea.component.mjs +81 -0
  18. package/esm2022/lib/components/dynamic-form/fields/dynamic-field-wrapper.component.mjs +93 -0
  19. package/esm2022/lib/components/dynamic-form/fields/index.mjs +8 -0
  20. package/esm2022/lib/components/dynamic-form/models/dynamic-form.models.mjs +2 -0
  21. package/esm2022/lib/components/export-dialog/export-dialog.component.mjs +219 -0
  22. package/esm2022/lib/config/translation.config.mjs +70 -0
  23. package/esm2022/lib/directives/cep-mask.directive.mjs +79 -0
  24. package/esm2022/lib/directives/document-mask.directive.mjs +62 -0
  25. package/esm2022/lib/directives/phone-mask.directive.mjs +59 -0
  26. package/esm2022/lib/interceptors/api.interceptor.mjs +55 -0
  27. package/esm2022/lib/models/base-entity.interface.mjs +2 -0
  28. package/esm2022/lib/models/entity-list.config.mjs +2 -0
  29. package/esm2022/lib/pipes/translate.pipe.mjs +74 -0
  30. package/esm2022/lib/services/auth.service.mjs +169 -0
  31. package/esm2022/lib/services/cookie.service.mjs +90 -0
  32. package/esm2022/lib/services/entity.service.mjs +208 -0
  33. package/esm2022/lib/services/mask.service.mjs +121 -0
  34. package/esm2022/lib/services/permission.service.mjs +180 -0
  35. package/esm2022/lib/services/senior-token.service.mjs +209 -0
  36. package/esm2022/lib/services/theme.service.mjs +85 -0
  37. package/esm2022/lib/services/translation.service.mjs +232 -0
  38. package/esm2022/public-api.mjs +90 -0
  39. package/esm2022/seniorsistemas-components-ai.mjs +5 -0
  40. package/fesm2022/seniorsistemas-components-ai.mjs +4006 -0
  41. package/fesm2022/seniorsistemas-components-ai.mjs.map +1 -0
  42. package/index.d.ts +5 -0
  43. package/lib/angular-components.module.d.ts +13 -0
  44. package/lib/components/breadcrumb/breadcrumb.component.d.ts +23 -0
  45. package/lib/components/bulk-delete-dialog/bulk-delete-dialog.component.d.ts +46 -0
  46. package/lib/components/dynamic-form/dynamic-form.component.d.ts +97 -0
  47. package/lib/components/dynamic-form/fields/dynamic-field-date.component.d.ts +16 -0
  48. package/lib/components/dynamic-form/fields/dynamic-field-dropdown.component.d.ts +17 -0
  49. package/lib/components/dynamic-form/fields/dynamic-field-lookup.component.d.ts +52 -0
  50. package/lib/components/dynamic-form/fields/dynamic-field-number.component.d.ts +16 -0
  51. package/lib/components/dynamic-form/fields/dynamic-field-text.component.d.ts +17 -0
  52. package/lib/components/dynamic-form/fields/dynamic-field-textarea.component.d.ts +16 -0
  53. package/lib/components/dynamic-form/fields/dynamic-field-wrapper.component.d.ts +20 -0
  54. package/lib/components/dynamic-form/fields/index.d.ts +7 -0
  55. package/lib/components/dynamic-form/models/dynamic-form.models.d.ts +178 -0
  56. package/lib/components/export-dialog/export-dialog.component.d.ts +56 -0
  57. package/lib/config/translation.config.d.ts +24 -0
  58. package/lib/directives/cep-mask.directive.d.ts +13 -0
  59. package/lib/directives/document-mask.directive.d.ts +19 -0
  60. package/lib/directives/phone-mask.directive.d.ts +11 -0
  61. package/lib/interceptors/api.interceptor.d.ts +2 -0
  62. package/lib/models/base-entity.interface.d.ts +7 -0
  63. package/lib/models/entity-list.config.d.ts +161 -0
  64. package/lib/pipes/translate.pipe.d.ts +21 -0
  65. package/lib/services/auth.service.d.ts +82 -0
  66. package/lib/services/cookie.service.d.ts +31 -0
  67. package/lib/services/entity.service.d.ts +99 -0
  68. package/lib/services/mask.service.d.ts +36 -0
  69. package/lib/services/permission.service.d.ts +91 -0
  70. package/lib/services/senior-token.service.d.ts +70 -0
  71. package/lib/services/theme.service.d.ts +16 -0
  72. package/lib/services/translation.service.d.ts +54 -0
  73. package/package.json +53 -0
  74. package/public-api.d.ts +17 -0
  75. package/src/lib/styles/entity-list.shared.scss +383 -0
  76. package/src/lib/styles/index.scss +10 -0
@@ -0,0 +1,92 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { InputNumberModule } from 'primeng/inputnumber';
5
+ import { DynamicFieldWrapperComponent } from './dynamic-field-wrapper.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../services/translation.service";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "primeng/inputnumber";
10
+ export class DynamicFieldNumberComponent {
11
+ translationService;
12
+ field;
13
+ form;
14
+ mode = 'form';
15
+ constructor(translationService) {
16
+ this.translationService = translationService;
17
+ }
18
+ isFieldInvalid() {
19
+ const control = this.form.get(this.field.field);
20
+ return !!(control && control.invalid && (control.dirty || control.touched));
21
+ }
22
+ isFieldDirty() {
23
+ const control = this.form.get(this.field.field);
24
+ return !!(control && control.dirty);
25
+ }
26
+ getPlaceholder() {
27
+ if (this.mode === 'filter') {
28
+ return this.translationService.translate('crmx.business.filter_search_placeholder', {
29
+ label: this.field.label.toLowerCase()
30
+ });
31
+ }
32
+ return this.field.placeholder || '';
33
+ }
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldNumberComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DynamicFieldNumberComponent, isStandalone: true, selector: "sia-dynamic-field-number", inputs: { field: "field", form: "form", mode: "mode" }, ngImport: i0, template: `
36
+ <sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
37
+ <div [formGroup]="form">
38
+ <p-inputNumber
39
+ [inputId]="field.field"
40
+ [formControlName]="field.field"
41
+ [placeholder]="getPlaceholder()"
42
+ [min]="field.min"
43
+ [max]="field.max"
44
+ [minFractionDigits]="field.minFractionDigits || 0"
45
+ [maxFractionDigits]="field.maxFractionDigits || 2"
46
+ [mode]="field.numberMode || 'decimal'"
47
+ [currency]="field.currency || 'BRL'"
48
+ [locale]="field.locale || 'pt-BR'"
49
+ [class.ng-invalid]="isFieldInvalid()"
50
+ [class.ng-dirty]="isFieldDirty()"
51
+ styleClass="w-full">
52
+ </p-inputNumber>
53
+ </div>
54
+ </sia-dynamic-field-wrapper>
55
+ `, isInline: true, styles: ["::ng-deep p-inputNumber{width:100%;.p-inputnumber,input{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i3.InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "component", type: DynamicFieldWrapperComponent, selector: "sia-dynamic-field-wrapper", inputs: ["field", "form", "mode"] }] });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldNumberComponent, decorators: [{
58
+ type: Component,
59
+ args: [{ selector: 'sia-dynamic-field-number', standalone: true, imports: [
60
+ CommonModule,
61
+ ReactiveFormsModule,
62
+ InputNumberModule,
63
+ DynamicFieldWrapperComponent
64
+ ], template: `
65
+ <sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
66
+ <div [formGroup]="form">
67
+ <p-inputNumber
68
+ [inputId]="field.field"
69
+ [formControlName]="field.field"
70
+ [placeholder]="getPlaceholder()"
71
+ [min]="field.min"
72
+ [max]="field.max"
73
+ [minFractionDigits]="field.minFractionDigits || 0"
74
+ [maxFractionDigits]="field.maxFractionDigits || 2"
75
+ [mode]="field.numberMode || 'decimal'"
76
+ [currency]="field.currency || 'BRL'"
77
+ [locale]="field.locale || 'pt-BR'"
78
+ [class.ng-invalid]="isFieldInvalid()"
79
+ [class.ng-dirty]="isFieldDirty()"
80
+ styleClass="w-full">
81
+ </p-inputNumber>
82
+ </div>
83
+ </sia-dynamic-field-wrapper>
84
+ `, styles: ["::ng-deep p-inputNumber{width:100%;.p-inputnumber,input{width:100%}}\n"] }]
85
+ }], ctorParameters: () => [{ type: i1.TranslationService }], propDecorators: { field: [{
86
+ type: Input
87
+ }], form: [{
88
+ type: Input
89
+ }], mode: [{
90
+ type: Input
91
+ }] } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC1udW1iZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy1haS9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2ZpZWxkcy9keW5hbWljLWZpZWxkLW51bWJlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR3hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQThDakYsTUFBTSxPQUFPLDJCQUEyQjtJQUtsQjtJQUpYLEtBQUssQ0FBMEI7SUFDL0IsSUFBSSxDQUFhO0lBQ2pCLElBQUksR0FBc0IsTUFBTSxDQUFDO0lBRTFDLFlBQW9CLGtCQUFzQztRQUF0Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBQUcsQ0FBQztJQUU5RCxjQUFjO1FBQ1osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyx5Q0FBeUMsRUFBRTtnQkFDbEYsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTthQUN0QyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDdEMsQ0FBQzt3R0F4QlUsMkJBQTJCOzRGQUEzQiwyQkFBMkIsNElBbkM1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQsK0lBekJDLFlBQVksOEJBQ1osbUJBQW1CLG1sQkFDbkIsaUJBQWlCLGt5QkFDakIsNEJBQTRCOzs0RkFxQ25CLDJCQUEyQjtrQkE1Q3ZDLFNBQVM7K0JBQ0UsMEJBQTBCLGNBQ3hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQiw0QkFBNEI7cUJBQzdCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JUO3VGQWdCUSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dE51bWJlck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRudW1iZXInO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1maWVsZC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpYS1keW5hbWljLWZpZWxkLW51bWJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbnB1dE51bWJlck1vZHVsZSxcbiAgICBEeW5hbWljRmllbGRXcmFwcGVyQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNpYS1keW5hbWljLWZpZWxkLXdyYXBwZXIgW2ZpZWxkXT1cImZpZWxkXCIgW2Zvcm1dPVwiZm9ybVwiIFttb2RlXT1cIm1vZGVcIj5cbiAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgIDxwLWlucHV0TnVtYmVyXG4gICAgICAgICAgW2lucHV0SWRdPVwiZmllbGQuZmllbGRcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZmllbGRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICBbbWluXT1cImZpZWxkLm1pblwiXG4gICAgICAgICAgW21heF09XCJmaWVsZC5tYXhcIlxuICAgICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCJmaWVsZC5taW5GcmFjdGlvbkRpZ2l0cyB8fCAwXCJcbiAgICAgICAgICBbbWF4RnJhY3Rpb25EaWdpdHNdPVwiZmllbGQubWF4RnJhY3Rpb25EaWdpdHMgfHwgMlwiXG4gICAgICAgICAgW21vZGVdPVwiZmllbGQubnVtYmVyTW9kZSB8fCAnZGVjaW1hbCdcIlxuICAgICAgICAgIFtjdXJyZW5jeV09XCJmaWVsZC5jdXJyZW5jeSB8fCAnQlJMJ1wiXG4gICAgICAgICAgW2xvY2FsZV09XCJmaWVsZC5sb2NhbGUgfHwgJ3B0LUJSJ1wiXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiaXNGaWVsZEludmFsaWQoKVwiXG4gICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cImlzRmllbGREaXJ0eSgpXCJcbiAgICAgICAgICBzdHlsZUNsYXNzPVwidy1mdWxsXCI+XG4gICAgICAgIDwvcC1pbnB1dE51bWJlcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2lhLWR5bmFtaWMtZmllbGQtd3JhcHBlcj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIDo6bmctZGVlcCBwLWlucHV0TnVtYmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAucC1pbnB1dG51bWJlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkTnVtYmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZmllbGQhOiBEeW5hbWljRm9ybUZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBmb3JtITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBtb2RlOiAnZm9ybScgfCAnZmlsdGVyJyA9ICdmb3JtJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGlzRmllbGRJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIHJldHVybiAhIShjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQpKTtcbiAgfVxuXG4gIGlzRmllbGREaXJ0eSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICByZXR1cm4gISEoY29udHJvbCAmJiBjb250cm9sLmRpcnR5KTtcbiAgfVxuXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2ZpbHRlcicpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUoJ2NybXguYnVzaW5lc3MuZmlsdGVyX3NlYXJjaF9wbGFjZWhvbGRlcicsIHsgXG4gICAgICAgIGxhYmVsOiB0aGlzLmZpZWxkLmxhYmVsLnRvTG93ZXJDYXNlKCkgXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucGxhY2Vob2xkZXIgfHwgJyc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,163 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { InputTextModule } from 'primeng/inputtext';
5
+ import { CepMaskDirective } from '../../../directives/cep-mask.directive';
6
+ import { PhoneMaskDirective } from '../../../directives/phone-mask.directive';
7
+ import { DocumentMaskDirective } from '../../../directives/document-mask.directive';
8
+ import { DynamicFieldWrapperComponent } from './dynamic-field-wrapper.component';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../../services/translation.service";
11
+ import * as i2 from "@angular/common";
12
+ import * as i3 from "@angular/forms";
13
+ import * as i4 from "primeng/inputtext";
14
+ export class DynamicFieldTextComponent {
15
+ translationService;
16
+ field;
17
+ form;
18
+ mode = 'form';
19
+ constructor(translationService) {
20
+ this.translationService = translationService;
21
+ }
22
+ isFieldInvalid() {
23
+ const control = this.form.get(this.field.field);
24
+ return !!(control && control.invalid && (control.dirty || control.touched));
25
+ }
26
+ isFieldDirty() {
27
+ const control = this.form.get(this.field.field);
28
+ return !!(control && control.dirty);
29
+ }
30
+ getPlaceholder() {
31
+ if (this.mode === 'filter') {
32
+ return this.translationService.translate('crmx.business.filter_search_placeholder', {
33
+ label: this.field.label.toLowerCase()
34
+ });
35
+ }
36
+ return this.field.placeholder || '';
37
+ }
38
+ getDocumentType() {
39
+ const typePersonValue = this.form?.get('typePerson')?.value;
40
+ return typePersonValue || 'JURIDICAL_PERSON';
41
+ }
42
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldTextComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
43
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DynamicFieldTextComponent, isStandalone: true, selector: "sia-dynamic-field-text", inputs: { field: "field", form: "form", mode: "mode" }, ngImport: i0, template: `
44
+ <sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
45
+ <div [formGroup]="form">
46
+ <input
47
+ *ngIf="!field.mask"
48
+ pInputText
49
+ [id]="field.field"
50
+ [formControlName]="field.field"
51
+ [placeholder]="getPlaceholder()"
52
+ [maxlength]="field.maxLength || 524288"
53
+ [class.ng-invalid]="isFieldInvalid()"
54
+ [class.ng-dirty]="isFieldDirty()" />
55
+
56
+ <!-- Input com máscara CEP -->
57
+ <input
58
+ *ngIf="field.mask === 'cep'"
59
+ pInputText
60
+ appCepMask
61
+ [id]="field.field"
62
+ [formControlName]="field.field"
63
+ [placeholder]="getPlaceholder()"
64
+ [maxlength]="field.maxLength || 524288"
65
+ [class.ng-invalid]="isFieldInvalid()"
66
+ [class.ng-dirty]="isFieldDirty()" />
67
+
68
+ <!-- Input com máscara Telefone -->
69
+ <input
70
+ *ngIf="field.mask === 'phone'"
71
+ pInputText
72
+ appPhoneMask
73
+ [id]="field.field"
74
+ [formControlName]="field.field"
75
+ [placeholder]="getPlaceholder()"
76
+ [maxlength]="field.maxLength || 524288"
77
+ [class.ng-invalid]="isFieldInvalid()"
78
+ [class.ng-dirty]="isFieldDirty()" />
79
+
80
+ <!-- Input com máscara Documento -->
81
+ <input
82
+ *ngIf="field.mask === 'document'"
83
+ pInputText
84
+ appDocumentMask
85
+ [id]="field.field"
86
+ [formControlName]="field.field"
87
+ [placeholder]="getPlaceholder()"
88
+ [maxlength]="field.maxLength || 524288"
89
+ [class.ng-invalid]="isFieldInvalid()"
90
+ [class.ng-dirty]="isFieldDirty()" />
91
+ </div>
92
+ </sia-dynamic-field-wrapper>
93
+ `, isInline: true, styles: ["input{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4.InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "component", type: DynamicFieldWrapperComponent, selector: "sia-dynamic-field-wrapper", inputs: ["field", "form", "mode"] }] });
94
+ }
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldTextComponent, decorators: [{
96
+ type: Component,
97
+ args: [{ selector: 'sia-dynamic-field-text', standalone: true, imports: [
98
+ CommonModule,
99
+ ReactiveFormsModule,
100
+ InputTextModule,
101
+ CepMaskDirective,
102
+ PhoneMaskDirective,
103
+ DocumentMaskDirective,
104
+ DynamicFieldWrapperComponent
105
+ ], template: `
106
+ <sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
107
+ <div [formGroup]="form">
108
+ <input
109
+ *ngIf="!field.mask"
110
+ pInputText
111
+ [id]="field.field"
112
+ [formControlName]="field.field"
113
+ [placeholder]="getPlaceholder()"
114
+ [maxlength]="field.maxLength || 524288"
115
+ [class.ng-invalid]="isFieldInvalid()"
116
+ [class.ng-dirty]="isFieldDirty()" />
117
+
118
+ <!-- Input com máscara CEP -->
119
+ <input
120
+ *ngIf="field.mask === 'cep'"
121
+ pInputText
122
+ appCepMask
123
+ [id]="field.field"
124
+ [formControlName]="field.field"
125
+ [placeholder]="getPlaceholder()"
126
+ [maxlength]="field.maxLength || 524288"
127
+ [class.ng-invalid]="isFieldInvalid()"
128
+ [class.ng-dirty]="isFieldDirty()" />
129
+
130
+ <!-- Input com máscara Telefone -->
131
+ <input
132
+ *ngIf="field.mask === 'phone'"
133
+ pInputText
134
+ appPhoneMask
135
+ [id]="field.field"
136
+ [formControlName]="field.field"
137
+ [placeholder]="getPlaceholder()"
138
+ [maxlength]="field.maxLength || 524288"
139
+ [class.ng-invalid]="isFieldInvalid()"
140
+ [class.ng-dirty]="isFieldDirty()" />
141
+
142
+ <!-- Input com máscara Documento -->
143
+ <input
144
+ *ngIf="field.mask === 'document'"
145
+ pInputText
146
+ appDocumentMask
147
+ [id]="field.field"
148
+ [formControlName]="field.field"
149
+ [placeholder]="getPlaceholder()"
150
+ [maxlength]="field.maxLength || 524288"
151
+ [class.ng-invalid]="isFieldInvalid()"
152
+ [class.ng-dirty]="isFieldDirty()" />
153
+ </div>
154
+ </sia-dynamic-field-wrapper>
155
+ `, styles: ["input{width:100%}\n"] }]
156
+ }], ctorParameters: () => [{ type: i1.TranslationService }], propDecorators: { field: [{
157
+ type: Input
158
+ }], form: [{
159
+ type: Input
160
+ }], mode: [{
161
+ type: Input
162
+ }] } });
163
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtYWkvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9maWVsZHMvZHluYW1pYy1maWVsZC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3BELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUF1RWpGLE1BQU0sT0FBTyx5QkFBeUI7SUFLaEI7SUFKWCxLQUFLLENBQTBCO0lBQy9CLElBQUksQ0FBYTtJQUNqQixJQUFJLEdBQXNCLE1BQU0sQ0FBQztJQUUxQyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFOUQsY0FBYztRQUNaLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMseUNBQXlDLEVBQUU7Z0JBQ2xGLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUU7YUFDdEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxDQUFDO1FBQzVELE9BQU8sZUFBZSxJQUFJLGtCQUFrQixDQUFDO0lBQy9DLENBQUM7d0dBN0JVLHlCQUF5Qjs0RkFBekIseUJBQXlCLDBJQXpEMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0RULDRGQTFEQyxZQUFZLGtJQUNaLG1CQUFtQixzZ0NBQ25CLGVBQWUsMklBSWYsNEJBQTRCOzs0RkEyRG5CLHlCQUF5QjtrQkFyRXJDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBQ3RCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3dCQUNyQiw0QkFBNEI7cUJBQzdCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0RUO3VGQVFRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IER5bmFtaWNGb3JtRmllbGRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IENlcE1hc2tEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL2NlcC1tYXNrLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBQaG9uZU1hc2tEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi8uLi9kaXJlY3RpdmVzL3Bob25lLW1hc2suZGlyZWN0aXZlJztcbmltcG9ydCB7IERvY3VtZW50TWFza0RpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL2RpcmVjdGl2ZXMvZG9jdW1lbnQtbWFzay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1maWVsZC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpYS1keW5hbWljLWZpZWxkLXRleHQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIENlcE1hc2tEaXJlY3RpdmUsXG4gICAgUGhvbmVNYXNrRGlyZWN0aXZlLFxuICAgIERvY3VtZW50TWFza0RpcmVjdGl2ZSxcbiAgICBEeW5hbWljRmllbGRXcmFwcGVyQ29tcG9uZW50XG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNpYS1keW5hbWljLWZpZWxkLXdyYXBwZXIgW2ZpZWxkXT1cImZpZWxkXCIgW2Zvcm1dPVwiZm9ybVwiIFttb2RlXT1cIm1vZGVcIj5cbiAgICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICpuZ0lmPVwiIWZpZWxkLm1hc2tcIlxuICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICBbaWRdPVwiZmllbGQuZmllbGRcIlxuICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQuZmllbGRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJnZXRQbGFjZWhvbGRlcigpXCJcbiAgICAgICAgICBbbWF4bGVuZ3RoXT1cImZpZWxkLm1heExlbmd0aCB8fCA1MjQyODhcIlxuICAgICAgICAgIFtjbGFzcy5uZy1pbnZhbGlkXT1cImlzRmllbGRJbnZhbGlkKClcIlxuICAgICAgICAgIFtjbGFzcy5uZy1kaXJ0eV09XCJpc0ZpZWxkRGlydHkoKVwiIC8+XG4gICAgICAgIFxuICAgICAgICA8IS0tIElucHV0IGNvbSBtw6FzY2FyYSBDRVAgLS0+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICpuZ0lmPVwiZmllbGQubWFzayA9PT0gJ2NlcCdcIlxuICAgICAgICAgIHBJbnB1dFRleHRcbiAgICAgICAgICBhcHBDZXBNYXNrXG4gICAgICAgICAgW2lkXT1cImZpZWxkLmZpZWxkXCJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZpZWxkXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgW21heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGggfHwgNTI0Mjg4XCJcbiAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZCgpXCJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiaXNGaWVsZERpcnR5KClcIiAvPlxuICAgICAgICBcbiAgICAgICAgPCEtLSBJbnB1dCBjb20gbcOhc2NhcmEgVGVsZWZvbmUgLS0+XG4gICAgICAgIDxpbnB1dFxuICAgICAgICAgICpuZ0lmPVwiZmllbGQubWFzayA9PT0gJ3Bob25lJ1wiXG4gICAgICAgICAgcElucHV0VGV4dFxuICAgICAgICAgIGFwcFBob25lTWFza1xuICAgICAgICAgIFtpZF09XCJmaWVsZC5maWVsZFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5maWVsZFwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgIFttYXhsZW5ndGhdPVwiZmllbGQubWF4TGVuZ3RoIHx8IDUyNDI4OFwiXG4gICAgICAgICAgW2NsYXNzLm5nLWludmFsaWRdPVwiaXNGaWVsZEludmFsaWQoKVwiXG4gICAgICAgICAgW2NsYXNzLm5nLWRpcnR5XT1cImlzRmllbGREaXJ0eSgpXCIgLz5cbiAgICAgICAgXG4gICAgICAgIDwhLS0gSW5wdXQgY29tIG3DoXNjYXJhIERvY3VtZW50byAtLT5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgKm5nSWY9XCJmaWVsZC5tYXNrID09PSAnZG9jdW1lbnQnXCJcbiAgICAgICAgICBwSW5wdXRUZXh0XG4gICAgICAgICAgYXBwRG9jdW1lbnRNYXNrXG4gICAgICAgICAgW2lkXT1cImZpZWxkLmZpZWxkXCJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLmZpZWxkXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZ2V0UGxhY2Vob2xkZXIoKVwiXG4gICAgICAgICAgW21heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGggfHwgNTI0Mjg4XCJcbiAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZCgpXCJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiaXNGaWVsZERpcnR5KClcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9zaWEtZHluYW1pYy1maWVsZC13cmFwcGVyPlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRmllbGRUZXh0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgZmllbGQhOiBEeW5hbWljRm9ybUZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBmb3JtITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBtb2RlOiAnZm9ybScgfCAnZmlsdGVyJyA9ICdmb3JtJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGlzRmllbGRJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIHJldHVybiAhIShjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQpKTtcbiAgfVxuXG4gIGlzRmllbGREaXJ0eSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICByZXR1cm4gISEoY29udHJvbCAmJiBjb250cm9sLmRpcnR5KTtcbiAgfVxuXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2ZpbHRlcicpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUoJ2NybXguYnVzaW5lc3MuZmlsdGVyX3NlYXJjaF9wbGFjZWhvbGRlcicsIHsgXG4gICAgICAgIGxhYmVsOiB0aGlzLmZpZWxkLmxhYmVsLnRvTG93ZXJDYXNlKCkgXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucGxhY2Vob2xkZXIgfHwgJyc7XG4gIH1cblxuICBnZXREb2N1bWVudFR5cGUoKTogJ05BVFVSQUxfUEVSU09OJyB8ICdKVVJJRElDQUxfUEVSU09OJyB7XG4gICAgY29uc3QgdHlwZVBlcnNvblZhbHVlID0gdGhpcy5mb3JtPy5nZXQoJ3R5cGVQZXJzb24nKT8udmFsdWU7XG4gICAgcmV0dXJuIHR5cGVQZXJzb25WYWx1ZSB8fCAnSlVSSURJQ0FMX1BFUlNPTic7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,81 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { InputTextarea } from 'primeng/inputtextarea';
5
+ import { DynamicFieldWrapperComponent } from './dynamic-field-wrapper.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../../services/translation.service";
8
+ import * as i2 from "@angular/forms";
9
+ export class DynamicFieldTextareaComponent {
10
+ translationService;
11
+ field;
12
+ form;
13
+ mode = 'form';
14
+ constructor(translationService) {
15
+ this.translationService = translationService;
16
+ }
17
+ isFieldInvalid() {
18
+ const control = this.form.get(this.field.field);
19
+ return !!(control && control.invalid && (control.dirty || control.touched));
20
+ }
21
+ isFieldDirty() {
22
+ const control = this.form.get(this.field.field);
23
+ return !!(control && control.dirty);
24
+ }
25
+ getPlaceholder() {
26
+ if (this.mode === 'filter') {
27
+ return this.translationService.translate('crmx.business.filter_search_placeholder', {
28
+ label: this.field.label.toLowerCase()
29
+ });
30
+ }
31
+ return this.field.placeholder || '';
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldTextareaComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DynamicFieldTextareaComponent, isStandalone: true, selector: "sia-dynamic-field-textarea", inputs: { field: "field", form: "form", mode: "mode" }, ngImport: i0, template: `
35
+ <sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
36
+ <div [formGroup]="form">
37
+ <textarea
38
+ pInputTextarea
39
+ [id]="field.field"
40
+ [formControlName]="field.field"
41
+ [placeholder]="getPlaceholder()"
42
+ [rows]="field.rows || 3"
43
+ [maxlength]="field.maxLength || 524288"
44
+ [class.ng-invalid]="isFieldInvalid()"
45
+ [class.ng-dirty]="isFieldDirty()">
46
+ </textarea>
47
+ </div>
48
+ </sia-dynamic-field-wrapper>
49
+ `, isInline: true, styles: ["textarea{width:100%;resize:vertical}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant", "fluid"], outputs: ["onResize"] }, { kind: "component", type: DynamicFieldWrapperComponent, selector: "sia-dynamic-field-wrapper", inputs: ["field", "form", "mode"] }] });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldTextareaComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'sia-dynamic-field-textarea', standalone: true, imports: [
54
+ CommonModule,
55
+ ReactiveFormsModule,
56
+ InputTextarea,
57
+ DynamicFieldWrapperComponent
58
+ ], template: `
59
+ <sia-dynamic-field-wrapper [field]="field" [form]="form" [mode]="mode">
60
+ <div [formGroup]="form">
61
+ <textarea
62
+ pInputTextarea
63
+ [id]="field.field"
64
+ [formControlName]="field.field"
65
+ [placeholder]="getPlaceholder()"
66
+ [rows]="field.rows || 3"
67
+ [maxlength]="field.maxLength || 524288"
68
+ [class.ng-invalid]="isFieldInvalid()"
69
+ [class.ng-dirty]="isFieldDirty()">
70
+ </textarea>
71
+ </div>
72
+ </sia-dynamic-field-wrapper>
73
+ `, styles: ["textarea{width:100%;resize:vertical}\n"] }]
74
+ }], ctorParameters: () => [{ type: i1.TranslationService }], propDecorators: { field: [{
75
+ type: Input
76
+ }], form: [{
77
+ type: Input
78
+ }], mode: [{
79
+ type: Input
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC10ZXh0YXJlYS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vZmllbGRzL2R5bmFtaWMtZmllbGQtdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQWEsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHdEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFrQ2pGLE1BQU0sT0FBTyw2QkFBNkI7SUFLcEI7SUFKWCxLQUFLLENBQTBCO0lBQy9CLElBQUksQ0FBYTtJQUNqQixJQUFJLEdBQXNCLE1BQU0sQ0FBQztJQUUxQyxZQUFvQixrQkFBc0M7UUFBdEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtJQUFHLENBQUM7SUFFOUQsY0FBYztRQUNaLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMseUNBQXlDLEVBQUU7Z0JBQ2xGLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUU7YUFDdEMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7d0dBeEJVLDZCQUE2Qjs0RkFBN0IsNkJBQTZCLDhJQXZCOUI7Ozs7Ozs7Ozs7Ozs7OztHQWVULCtHQXBCQyxZQUFZLDhCQUNaLG1CQUFtQix1Z0NBQ25CLGFBQWEsZ0lBQ2IsNEJBQTRCOzs0RkF5Qm5CLDZCQUE2QjtrQkFoQ3pDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBQzFCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYiw0QkFBNEI7cUJBQzdCLFlBQ1M7Ozs7Ozs7Ozs7Ozs7OztHQWVUO3VGQVNRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElucHV0VGV4dGFyZWEgfSBmcm9tICdwcmltZW5nL2lucHV0dGV4dGFyZWEnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgRHluYW1pY0ZpZWxkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vZHluYW1pYy1maWVsZC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NpYS1keW5hbWljLWZpZWxkLXRleHRhcmVhJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIElucHV0VGV4dGFyZWEsXG4gICAgRHluYW1pY0ZpZWxkV3JhcHBlckNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzaWEtZHluYW1pYy1maWVsZC13cmFwcGVyIFtmaWVsZF09XCJmaWVsZFwiIFtmb3JtXT1cImZvcm1cIiBbbW9kZV09XCJtb2RlXCI+XG4gICAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxuICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICBwSW5wdXRUZXh0YXJlYVxuICAgICAgICAgIFtpZF09XCJmaWVsZC5maWVsZFwiXG4gICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5maWVsZFwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImdldFBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgIFtyb3dzXT1cImZpZWxkLnJvd3MgfHwgM1wiXG4gICAgICAgICAgW21heGxlbmd0aF09XCJmaWVsZC5tYXhMZW5ndGggfHwgNTI0Mjg4XCJcbiAgICAgICAgICBbY2xhc3MubmctaW52YWxpZF09XCJpc0ZpZWxkSW52YWxpZCgpXCJcbiAgICAgICAgICBbY2xhc3MubmctZGlydHldPVwiaXNGaWVsZERpcnR5KClcIj5cbiAgICAgICAgPC90ZXh0YXJlYT5cbiAgICAgIDwvZGl2PlxuICAgIDwvc2lhLWR5bmFtaWMtZmllbGQtd3JhcHBlcj5cbiAgYCxcbiAgc3R5bGVzOiBbYFxuICAgIHRleHRhcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWVsZFRleHRhcmVhQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZmllbGQhOiBEeW5hbWljRm9ybUZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBmb3JtITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBtb2RlOiAnZm9ybScgfCAnZmlsdGVyJyA9ICdmb3JtJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZTogVHJhbnNsYXRpb25TZXJ2aWNlKSB7fVxuXG4gIGlzRmllbGRJbnZhbGlkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIHJldHVybiAhIShjb250cm9sICYmIGNvbnRyb2wuaW52YWxpZCAmJiAoY29udHJvbC5kaXJ0eSB8fCBjb250cm9sLnRvdWNoZWQpKTtcbiAgfVxuXG4gIGlzRmllbGREaXJ0eSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmZpZWxkKTtcbiAgICByZXR1cm4gISEoY29udHJvbCAmJiBjb250cm9sLmRpcnR5KTtcbiAgfVxuXG4gIGdldFBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2ZpbHRlcicpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUoJ2NybXguYnVzaW5lc3MuZmlsdGVyX3NlYXJjaF9wbGFjZWhvbGRlcicsIHsgXG4gICAgICAgIGxhYmVsOiB0aGlzLmZpZWxkLmxhYmVsLnRvTG93ZXJDYXNlKCkgXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucGxhY2Vob2xkZXIgfHwgJyc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,93 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { TranslatePipe } from '../../../pipes/translate.pipe';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../../services/translation.service";
6
+ import * as i2 from "@angular/common";
7
+ /**
8
+ * Componente wrapper para campos de formulário dinâmico
9
+ * Centraliza a renderização de label, campo e mensagem de erro
10
+ */
11
+ export class DynamicFieldWrapperComponent {
12
+ translationService;
13
+ field;
14
+ form;
15
+ mode = 'form';
16
+ constructor(translationService) {
17
+ this.translationService = translationService;
18
+ }
19
+ isRequired() {
20
+ return this.field.required === true && this.mode === 'form';
21
+ }
22
+ isFieldInvalid() {
23
+ const control = this.form.get(this.field.field);
24
+ return !!(control && control.invalid && (control.dirty || control.touched));
25
+ }
26
+ getFieldError() {
27
+ const control = this.form.get(this.field.field);
28
+ if (control?.hasError('required')) {
29
+ return this.translationService.translate('crmx.business.required_field');
30
+ }
31
+ if (control?.hasError('minlength')) {
32
+ const minLength = this.field.minLength || control.errors?.['minlength'].requiredLength;
33
+ return this.translationService.translate('crmx.business.min_length_error', { length: minLength });
34
+ }
35
+ if (control?.hasError('maxlength')) {
36
+ const maxLength = this.field.maxLength || control.errors?.['maxlength'].requiredLength;
37
+ return this.translationService.translate('crmx.business.max_length_error', { length: maxLength });
38
+ }
39
+ if (control?.hasError('min')) {
40
+ const min = this.field.min || control.errors?.['min'].min;
41
+ return this.translationService.translate('crmx.business.min_value_error', { value: min });
42
+ }
43
+ if (control?.hasError('max')) {
44
+ const max = this.field.max || control.errors?.['max'].max;
45
+ return this.translationService.translate('crmx.business.max_value_error', { value: max });
46
+ }
47
+ return '';
48
+ }
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldWrapperComponent, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DynamicFieldWrapperComponent, isStandalone: true, selector: "sia-dynamic-field-wrapper", inputs: { field: "field", form: "form", mode: "mode" }, ngImport: i0, template: `
51
+ <div class="field">
52
+ <label [for]="field.field">
53
+ {{ field.label | translate }}
54
+ <span *ngIf="isRequired()" class="required-asterisk">*</span>
55
+ </label>
56
+
57
+ <!-- Conteúdo do campo (projetado via ng-content) -->
58
+ <ng-content></ng-content>
59
+
60
+ <small *ngIf="isFieldInvalid()" class="p-error">
61
+ {{ getFieldError() }}
62
+ </small>
63
+ </div>
64
+ `, isInline: true, styles: [".field{display:flex;flex-direction:column;gap:.5rem;label{font-weight:500;color:var(--text-color);.required-asterisk{color:var(--p-red-500);margin-left:.25rem}}small.p-error{margin-top:.25rem;color:var(--p-red-500)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFieldWrapperComponent, decorators: [{
67
+ type: Component,
68
+ args: [{ selector: 'sia-dynamic-field-wrapper', standalone: true, imports: [
69
+ CommonModule,
70
+ TranslatePipe
71
+ ], template: `
72
+ <div class="field">
73
+ <label [for]="field.field">
74
+ {{ field.label | translate }}
75
+ <span *ngIf="isRequired()" class="required-asterisk">*</span>
76
+ </label>
77
+
78
+ <!-- Conteúdo do campo (projetado via ng-content) -->
79
+ <ng-content></ng-content>
80
+
81
+ <small *ngIf="isFieldInvalid()" class="p-error">
82
+ {{ getFieldError() }}
83
+ </small>
84
+ </div>
85
+ `, styles: [".field{display:flex;flex-direction:column;gap:.5rem;label{font-weight:500;color:var(--text-color);.required-asterisk{color:var(--p-red-500);margin-left:.25rem}}small.p-error{margin-top:.25rem;color:var(--p-red-500)}}\n"] }]
86
+ }], ctorParameters: () => [{ type: i1.TranslationService }], propDecorators: { field: [{
87
+ type: Input
88
+ }], form: [{
89
+ type: Input
90
+ }], mode: [{
91
+ type: Input
92
+ }] } });
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWVsZC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtYWkvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9maWVsZHMvZHluYW1pYy1maWVsZC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBRzlEOzs7R0FHRztBQThDSCxNQUFNLE9BQU8sNEJBQTRCO0lBS25CO0lBSlgsS0FBSyxDQUEwQjtJQUMvQixJQUFJLENBQWE7SUFDakIsSUFBSSxHQUFzQixNQUFNLENBQUM7SUFFMUMsWUFBb0Isa0JBQXNDO1FBQXRDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7SUFBRyxDQUFDO0lBRTlELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztJQUM5RCxDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELGFBQWE7UUFDWCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhELElBQUksT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBQzNFLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3ZGLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3ZGLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzFELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQywrQkFBK0IsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzFELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQywrQkFBK0IsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzVGLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7d0dBdkNVLDRCQUE0Qjs0RkFBNUIsNEJBQTRCLDZJQXRDN0I7Ozs7Ozs7Ozs7Ozs7O0dBY1QsbVNBakJDLFlBQVksOEhBQ1osYUFBYTs7NEZBd0NKLDRCQUE0QjtrQkE3Q3hDLFNBQVM7K0JBQ0UsMkJBQTJCLGNBQ3pCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7cUJBQ2QsWUFDUzs7Ozs7Ozs7Ozs7Ozs7R0FjVDt1RkF5QlEsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1GaWVsZENvbmZpZyB9IGZyb20gJy4uL21vZGVscy9keW5hbWljLWZvcm0ubW9kZWxzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlJztcblxuLyoqXG4gKiBDb21wb25lbnRlIHdyYXBwZXIgcGFyYSBjYW1wb3MgZGUgZm9ybXVsw6FyaW8gZGluw6JtaWNvXG4gKiBDZW50cmFsaXphIGEgcmVuZGVyaXphw6fDo28gZGUgbGFiZWwsIGNhbXBvIGUgbWVuc2FnZW0gZGUgZXJyb1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaWEtZHluYW1pYy1maWVsZC13cmFwcGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVQaXBlXG4gIF0sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgICA8bGFiZWwgW2Zvcl09XCJmaWVsZC5maWVsZFwiPlxuICAgICAgICB7eyBmaWVsZC5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwicmVxdWlyZWQtYXN0ZXJpc2tcIj4qPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIFxuICAgICAgPCEtLSBDb250ZcO6ZG8gZG8gY2FtcG8gKHByb2pldGFkbyB2aWEgbmctY29udGVudCkgLS0+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICBcbiAgICAgIDxzbWFsbCAqbmdJZj1cImlzRmllbGRJbnZhbGlkKClcIiBjbGFzcz1cInAtZXJyb3JcIj5cbiAgICAgICAge3sgZ2V0RmllbGRFcnJvcigpIH19XG4gICAgICA8L3NtYWxsPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLmZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAwLjVyZW07XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXG4gICAgICAgIC5yZXF1aXJlZC1hc3RlcmlzayB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXAtcmVkLTUwMCk7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc21hbGwucC1lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wLXJlZC01MDApO1xuICAgICAgfVxuICAgIH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0ZpZWxkV3JhcHBlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGZpZWxkITogRHluYW1pY0Zvcm1GaWVsZENvbmZpZztcbiAgQElucHV0KCkgZm9ybSE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgbW9kZTogJ2Zvcm0nIHwgJ2ZpbHRlcicgPSAnZm9ybSc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSkge31cblxuICBpc1JlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnJlcXVpcmVkID09PSB0cnVlICYmIHRoaXMubW9kZSA9PT0gJ2Zvcm0nO1xuICB9XG5cbiAgaXNGaWVsZEludmFsaWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5maWVsZCk7XG4gICAgcmV0dXJuICEhKGNvbnRyb2wgJiYgY29udHJvbC5pbnZhbGlkICYmIChjb250cm9sLmRpcnR5IHx8IGNvbnRyb2wudG91Y2hlZCkpO1xuICB9XG5cbiAgZ2V0RmllbGRFcnJvcigpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQuZmllbGQpO1xuICAgIFxuICAgIGlmIChjb250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZSgnY3JteC5idXNpbmVzcy5yZXF1aXJlZF9maWVsZCcpO1xuICAgIH1cbiAgICBpZiAoY29udHJvbD8uaGFzRXJyb3IoJ21pbmxlbmd0aCcpKSB7XG4gICAgICBjb25zdCBtaW5MZW5ndGggPSB0aGlzLmZpZWxkLm1pbkxlbmd0aCB8fCBjb250cm9sLmVycm9ycz8uWydtaW5sZW5ndGgnXS5yZXF1aXJlZExlbmd0aDtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUoJ2NybXguYnVzaW5lc3MubWluX2xlbmd0aF9lcnJvcicsIHsgbGVuZ3RoOiBtaW5MZW5ndGggfSk7XG4gICAgfVxuICAgIGlmIChjb250cm9sPy5oYXNFcnJvcignbWF4bGVuZ3RoJykpIHtcbiAgICAgIGNvbnN0IG1heExlbmd0aCA9IHRoaXMuZmllbGQubWF4TGVuZ3RoIHx8IGNvbnRyb2wuZXJyb3JzPy5bJ21heGxlbmd0aCddLnJlcXVpcmVkTGVuZ3RoO1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZSgnY3JteC5idXNpbmVzcy5tYXhfbGVuZ3RoX2Vycm9yJywgeyBsZW5ndGg6IG1heExlbmd0aCB9KTtcbiAgICB9XG4gICAgaWYgKGNvbnRyb2w/Lmhhc0Vycm9yKCdtaW4nKSkge1xuICAgICAgY29uc3QgbWluID0gdGhpcy5maWVsZC5taW4gfHwgY29udHJvbC5lcnJvcnM/LlsnbWluJ10ubWluO1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZSgnY3JteC5idXNpbmVzcy5taW5fdmFsdWVfZXJyb3InLCB7IHZhbHVlOiBtaW4gfSk7XG4gICAgfVxuICAgIGlmIChjb250cm9sPy5oYXNFcnJvcignbWF4JykpIHtcbiAgICAgIGNvbnN0IG1heCA9IHRoaXMuZmllbGQubWF4IHx8IGNvbnRyb2wuZXJyb3JzPy5bJ21heCddLm1heDtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGUoJ2NybXguYnVzaW5lc3MubWF4X3ZhbHVlX2Vycm9yJywgeyB2YWx1ZTogbWF4IH0pO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ export * from './dynamic-field-text.component';
2
+ export * from './dynamic-field-textarea.component';
3
+ export * from './dynamic-field-number.component';
4
+ export * from './dynamic-field-date.component';
5
+ export * from './dynamic-field-dropdown.component';
6
+ export * from './dynamic-field-lookup.component';
7
+ export * from './dynamic-field-wrapper.component';
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzLWFpL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZvcm0vZmllbGRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsbUNBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtZmllbGQtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWZpZWxkLXRleHRhcmVhLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtZmllbGQtbnVtYmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtZmllbGQtZGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWZpZWxkLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtZmllbGQtbG9va3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtZmllbGQtd3JhcHBlci5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLm1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMtYWkvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogTG9va3VwIGNvbHVtbiBjb25maWd1cmF0aW9uIGZvciBkeW5hbWljIGZvcm0gbG9va3VwIGZpZWxkc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNGb3JtTG9va3VwQ29sdW1uIHtcbiAgZmllbGQ6IHN0cmluZztcbiAgaGVhZGVyOiBzdHJpbmc7XG4gIHdpZHRoPzogc3RyaW5nO1xuICB0eXBlPzogJ3RleHQnIHwgJ251bWJlcic7XG59XG5cbi8qKlxuICogUmVzcG9uc2l2ZSBzaXplIGNvbmZpZ3VyYXRpb24gZm9yIGZvcm0gZmllbGRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1GaWVsZFNpemUge1xuICB4cz86IG51bWJlcjsgLy8gRXh0cmEgc21hbGwgc2NyZWVucyAoPDU3NnB4KVxuICBzbT86IG51bWJlcjsgLy8gU21hbGwgc2NyZWVucyAo4omlNTc2cHgpXG4gIG1kPzogbnVtYmVyOyAvLyBNZWRpdW0gc2NyZWVucyAo4omlNzY4cHgpXG4gIGxnPzogbnVtYmVyOyAvLyBMYXJnZSBzY3JlZW5zICjiiaU5OTJweClcbiAgeGw/OiBudW1iZXI7IC8vIEV4dHJhIGxhcmdlIHNjcmVlbnMgKOKJpTEyMDBweClcbn1cblxuLyoqXG4gKiBEeW5hbWljIEZvcm0gRmllbGQgQ29uZmlndXJhdGlvblxuICogQ29tcGxldGUgY29uZmlndXJhdGlvbiBpbnRlcmZhY2UgZm9yIGFsbCBmaWVsZCB0eXBlcyBpbiBkeW5hbWljIGZvcm1zXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1GaWVsZENvbmZpZyB7XG4gIC8vIEJhc2ljIHByb3BlcnRpZXNcbiAgZmllbGQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgdHlwZTogJ3RleHQnIHwgJ251bWJlcicgfCAnZHJvcGRvd24nIHwgJ2xvb2t1cCcgfCAndGV4dGFyZWEnIHwgJ2VudW0nIHwgJ2RhdGUnO1xuICBcbiAgLy8gVmFsaWRhdGlvblxuICB2YWxpZGF0b3JzPzogVmFsaWRhdG9yRm5bXTtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBcbiAgLy8gQ29tbW9uIHByb3BlcnRpZXNcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIGRlZmF1bHRWYWx1ZT86IGFueTtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBcbiAgLy8gTGF5b3V0IHByb3BlcnRpZXNcbiAgY29sc3Bhbj86IG51bWJlcjsgLy8gTnVtYmVyIG9mIGNvbHVtbnMgdG8gc3BhbiAoMS0xMiwgZGVmYXVsdDogNilcbiAgc2l6ZT86IER5bmFtaWNGb3JtRmllbGRTaXplOyAvLyBSZXNwb25zaXZlIHNpemVzIG9iamVjdFxuICBjb2xzcGFuWHM/OiBudW1iZXI7IC8vIERlcHJlY2F0ZWQ6IHVzZSBzaXplLnhzXG4gIGNvbHNwYW5TbT86IG51bWJlcjsgLy8gRGVwcmVjYXRlZDogdXNlIHNpemUuc21cbiAgY29sc3Bhbk1kPzogbnVtYmVyOyAvLyBEZXByZWNhdGVkOiB1c2Ugc2l6ZS5tZFxuICBjb2xzcGFuTGc/OiBudW1iZXI7IC8vIERlcHJlY2F0ZWQ6IHVzZSBzaXplLmxnXG4gIGNvbHNwYW5YbD86IG51bWJlcjsgLy8gRGVwcmVjYXRlZDogdXNlIHNpemUueGxcbiAgY29sc3BhbldoZW4/OiB7IC8vIENvbmRpdGlvbmFsIGNvbHNwYW4gYmFzZWQgb24gb3RoZXIgZmllbGQgdmFsdWVzXG4gICAgZmllbGQ6IHN0cmluZztcbiAgICB2YWx1ZTogYW55O1xuICAgIGNvbHNwYW46IG51bWJlcjtcbiAgfVtdO1xuICBcbiAgLy8gQ29uZGl0aW9uYWwgdmlzaWJpbGl0eSBhbmQgc3RhdGVcbiAgdmlzaWJsZVdoZW4/OiB7IC8vIENvbmRpdGlvbmFsIHZpc2liaWxpdHlcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG4gIH07XG4gIGRpc2FibGVkV2hlbj86IHsgLy8gQ29uZGl0aW9uYWwgZGlzYWJsZWQgc3RhdGVcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIHZhbHVlOiBhbnk7XG4gIH07XG4gIFxuICAvLyBUZXh0IGZpZWxkIHByb3BlcnRpZXNcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIG1hc2s/OiAnY2VwJyB8ICdwaG9uZScgfCAnZG9jdW1lbnQnIHwgJ2NwZicgfCAnY25waicgfCAnZHluYW1pYyc7XG4gIHVzZUNlcE1hc2s/OiBib29sZWFuOyAvLyBEZXByZWNhdGVkOiB1c2UgbWFzaz0nY2VwJ1xuICB1c2VQaG9uZU1hc2s/OiBib29sZWFuOyAvLyBEZXByZWNhdGVkOiB1c2UgbWFzaz0ncGhvbmUnXG4gIFxuICAvLyBUZXh0YXJlYSBwcm9wZXJ0aWVzXG4gIHJvd3M/OiBudW1iZXI7XG4gIGZ1bGxTaXplPzogYm9vbGVhbjsgLy8gRm9yIHRleHRhcmVhIHRvIHRha2UgZnVsbCB3aWR0aFxuICBcbiAgLy8gTnVtYmVyIGZpZWxkIHByb3BlcnRpZXNcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIG1pbkZyYWN0aW9uRGlnaXRzPzogbnVtYmVyO1xuICBtYXhGcmFjdGlvbkRpZ2l0cz86IG51bWJlcjtcbiAgbnVtYmVyTW9kZT86ICdkZWNpbWFsJyB8ICdjdXJyZW5jeSc7XG4gIGN1cnJlbmN5Pzogc3RyaW5nOyAvLyBDdXJyZW5jeSBjb2RlIChkZWZhdWx0OiAnQlJMJylcbiAgbG9jYWxlPzogc3RyaW5nOyAvLyBMb2NhbGUgZm9yIG51bWJlciBmb3JtYXR0aW5nIChkZWZhdWx0OiAncHQtQlInKVxuICB1c2VHcm91cGluZz86IGJvb2xlYW47IC8vIEZvciBudW1iZXIgaW5wdXRzXG4gIFxuICAvLyBEYXRlIGZpZWxkIHByb3BlcnRpZXNcbiAgZGF0ZUZvcm1hdD86IHN0cmluZzsgLy8gRGF0ZSBmb3JtYXQgZm9yIGNhbGVuZGFyIChkZWZhdWx0OiAnZGQvbW0veXknKVxuICBcbiAgLy8gRHJvcGRvd24gcHJvcGVydGllc1xuICBvcHRpb25zPzogYW55W107XG4gIG9wdGlvbkxhYmVsPzogc3RyaW5nO1xuICBvcHRpb25WYWx1ZT86IHN0cmluZztcbiAgc2hvd0NsZWFyPzogYm9vbGVhbjtcbiAgZmlsdGVyPzogYm9vbGVhbjtcbiAgZmlsdGVyQnk/OiBzdHJpbmc7XG4gIFxuICAvLyBFbnVtIHByb3BlcnRpZXNcbiAgZW51bVZhbHVlcz86IHN0cmluZ1tdO1xuICBlbnVtTGFiZWxzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgZW51bU9wdGlvbnM/OiB7IHZhbHVlOiBhbnk7IGxhYmVsOiBzdHJpbmcgfVtdOyAvLyBBbHRlcm5hdGl2ZSB0byBlbnVtVmFsdWVzL2VudW1MYWJlbHNcbiAgXG4gIC8vIExvb2t1cCBwcm9wZXJ0aWVzXG4gIGxvb2t1cEVudGl0eT86IHN0cmluZzsgLy8gRW50aXR5IG5hbWUgZm9yIGxvb2t1cFxuICBsb29rdXBTZXJ2aWNlPzogYW55OyAvLyBTZXJ2aWNlIHRvIGZldGNoIGxvb2t1cCBkYXRhXG4gIGxvb2t1cERpc3BsYXlGaWVsZD86IHN0cmluZzsgLy8gRmllbGQgdG8gZGlzcGxheSBpbiB0aGUgbG9va3VwIChkZWZhdWx0OiAnbmFtZScpXG4gIGxvb2t1cERpc3BsYXlGaWVsZHM/OiBzdHJpbmdbXTsgLy8gTXVsdGlwbGUgZmllbGRzIHRvIGRpc3BsYXkgc2VwYXJhdGVkIGJ5ICcgLSAnXG4gIGxvb2t1cFZhbHVlRmllbGQ/OiBzdHJpbmc7IC8vIEZpZWxkIHRvIHVzZSBhcyB2YWx1ZSAoZGVmYXVsdDogJ2lkJylcbiAgbG9va3VwU2VhcmNoRmllbGRzPzogc3RyaW5nW107IC8vIEZpZWxkcyB0byBzZWFyY2ggaW4gKGRlZmF1bHQ6IFsnbmFtZSddKVxuICBsb29rdXBDb2x1bW5zPzogRHluYW1pY0Zvcm1Mb29rdXBDb2x1bW5bXTsgLy8gQ29sdW1ucyB0byBkaXNwbGF5IGluIGxvb2t1cCB0YWJsZVxuICBsb29rdXBGaWx0ZXJzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTsgLy8gU3RhdGljIGZpbHRlcnMgZm9yIGxvb2t1cFxuICBsb29rdXBEeW5hbWljRmlsdGVycz86IChmb3JtVmFsdWVzOiBhbnkpID0+IHsgW2tleTogc3RyaW5nXTogYW55IH07IC8vIER5bmFtaWMgZmlsdGVycyBiYXNlZCBvbiBmb3JtIHZhbHVlc1xufVxuXG4vKipcbiAqIER5bmFtaWMgRm9ybSBEaXNwbGF5IE1vZGVcbiAqIERlZmluZSBjb21vIG8gZm9ybXVsw6FyaW8gc2Vyw6EgZXhpYmlkb1xuICovXG5leHBvcnQgdHlwZSBEeW5hbWljRm9ybURpc3BsYXlNb2RlID0gJ2lubGluZScgfCAnZGlhbG9nJyB8ICdkcmF3ZXInIHwgJ2lubGluZS1lZGl0JztcblxuLyoqXG4gKiBEeW5hbWljIEZvcm0gRGlhbG9nIENvbmZpZ3VyYXRpb25cbiAqIENvbmZpZ3VyYcOnw7VlcyBlc3BlY8OtZmljYXMgcGFyYSBvIG1vZG8gZGlhbG9nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1EaWFsb2dDb25maWcge1xuICBoZWFkZXI/OiBzdHJpbmc7XG4gIHdpZHRoPzogc3RyaW5nO1xuICBkcmFnZ2FibGU/OiBib29sZWFuO1xuICByZXNpemFibGU/OiBib29sZWFuO1xuICBtYXhpbWl6YWJsZT86IGJvb2xlYW47XG4gIGNsb3NlT25Fc2NhcGU/OiBib29sZWFuO1xuICBkaXNtaXNzYWJsZU1hc2s/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIER5bmFtaWMgRm9ybSBEcmF3ZXIgU2l6ZVxuICogVGFtYW5ob3MgcGFkcm9uaXphZG9zIHBhcmEgbyBkcmF3ZXJcbiAqL1xuZXhwb3J0IHR5cGUgRHluYW1pY0Zvcm1EcmF3ZXJTaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnIHwgJ2Z1bGwnO1xuXG4vKipcbiAqIER5bmFtaWMgRm9ybSBEcmF3ZXIgQ29uZmlndXJhdGlvblxuICogQ29uZmlndXJhw6fDtWVzIGVzcGVjw61maWNhcyBwYXJhIG8gbW9kbyBkcmF3ZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRm9ybURyYXdlckNvbmZpZyB7XG4gIGhlYWRlcj86IHN0cmluZztcbiAgcG9zaXRpb24/OiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJztcbiAgc2l6ZT86IER5bmFtaWNGb3JtRHJhd2VyU2l6ZTsgLy8gVGFtYW5obyBwYWRyb25pemFkbyBkbyBkcmF3ZXJcbiAgY3VzdG9tV2lkdGg/OiBzdHJpbmc7IC8vIExhcmd1cmEgY3VzdG9taXphZGEgKHNvYnJlc2NyZXZlIHNpemUpXG4gIHNob3dDbG9zZUljb24/OiBib29sZWFuO1xuICBjbG9zZU9uRXNjYXBlPzogYm9vbGVhbjtcbiAgZGlzbWlzc2FibGU/OiBib29sZWFuOyAvLyBDb250cm9scyBtb2RhbCBiZWhhdmlvciAoYmFja2Ryb3AgY2xpY2sgdG8gY2xvc2UpXG59XG5cbi8qKlxuICogRHluYW1pYyBGb3JtIFNlY3Rpb25cbiAqIEFncnVwYSBjYW1wb3MgZW0gc2XDp8O1ZXMgY29sYXBzw6F2ZWlzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1TZWN0aW9uIHtcbiAgdGl0bGU6IHN0cmluZztcbiAgZmllbGRzOiBEeW5hbWljRm9ybUZpZWxkQ29uZmlnW107XG4gIGNvbGxhcHNlZD86IGJvb2xlYW47IC8vIFNlIGEgc2XDp8OjbyBpbmljaWEgY29sYXBzYWRhIChwYWRyw6NvOiBmYWxzZSlcbiAgdG9nZ2xlYWJsZT86IGJvb2xlYW47IC8vIFNlIGEgc2XDp8OjbyBwb2RlIHNlciBjb2xhcHNhZGEgKHBhZHLDo286IHRydWUpXG4gIGljb24/OiBzdHJpbmc7IC8vIMONY29uZSBkYSBzZcOnw6NvIChvcGNpb25hbClcbn1cblxuLyoqXG4gKiBEeW5hbWljIEZvcm0gQ29uZmlndXJhdGlvblxuICogTWFpbiBjb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgdGhlIGR5bmFtaWMgZm9ybSBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRm9ybUNvbmZpZyB7XG4gIGZpZWxkczogRHluYW1pY0Zvcm1GaWVsZENvbmZpZ1tdO1xuICBzZWN0aW9ucz86IER5bmFtaWNGb3JtU2VjdGlvbltdOyAvLyBTZcOnw7VlcyBkZSBjYW1wb3MgKG9wY2lvbmFsKVxuICBmaXhlZEZpbHRlcnM/OiBEeW5hbWljRm9ybUZpZWxkQ29uZmlnW107IC8vIEZpbHRyb3MgZml4b3MgKHNlbXByZSB2aXPDrXZlaXMgbm8gdG9wbywgYXBlbmFzIG1vZG8gZmlsdGVyKVxuICBmaWx0ZXJTZWN0aW9ucz86IER5bmFtaWNGb3JtU2VjdGlvbltdOyAvLyBTZcOnw7VlcyBkZSBmaWx0cm9zIChjb2xhcHPDoXZlaXMsIGFwZW5hcyBtb2RvIGZpbHRlcilcbiAgbW9kZT86ICdmb3JtJyB8ICdmaWx0ZXInO1xuICBkaXNwbGF5TW9kZT86IER5bmFtaWNGb3JtRGlzcGxheU1vZGU7IC8vIE1vZG8gZGUgZXhpYmnDp8OjbyAoaW5saW5lLCBkaWFsb2csIGRyYXdlcilcbiAgZGlhbG9nQ29uZmlnPzogRHluYW1pY0Zvcm1EaWFsb2dDb25maWc7IC8vIENvbmZpZ3VyYcOnw7VlcyBkbyBkaWFsb2dcbiAgZHJhd2VyQ29uZmlnPzogRHluYW1pY0Zvcm1EcmF3ZXJDb25maWc7IC8vIENvbmZpZ3VyYcOnw7VlcyBkbyBkcmF3ZXJcbiAgaW5pdGlhbERhdGE/OiBhbnk7XG4gIHN1Ym1pdE9uRW50ZXI/OiBib29sZWFuO1xuICBzaG93U3VibWl0QnV0dG9uPzogYm9vbGVhbjtcbiAgc3VibWl0QnV0dG9uTGFiZWw/OiBzdHJpbmc7XG4gIHNob3dDYW5jZWxCdXR0b24/OiBib29sZWFuO1xuICBjYW5jZWxCdXR0b25MYWJlbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBEeW5hbWljIEZvcm0gU3VibWl0IEV2ZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0Zvcm1TdWJtaXRFdmVudCB7XG4gIHZhbHVlOiBhbnk7XG4gIHZhbGlkOiBib29sZWFuO1xuICBkaXJ0eTogYm9vbGVhbjtcbiAgdG91Y2hlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUeXBlIGFsaWFzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggRm9ybUZpZWxkQ29uZmlnXG4gKiBAZGVwcmVjYXRlZCBVc2UgRHluYW1pY0Zvcm1GaWVsZENvbmZpZyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB0eXBlIEZvcm1GaWVsZENvbmZpZyA9IER5bmFtaWNGb3JtRmllbGRDb25maWc7XG4iXX0=