@falcon-ng/core 0.0.20

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 (85) hide show
  1. package/esm2022/falcon-ng-core.mjs +5 -0
  2. package/esm2022/lib/falcon-core/angularmaterial.module.mjs +189 -0
  3. package/esm2022/lib/falcon-core/component/button/button.component.mjs +47 -0
  4. package/esm2022/lib/falcon-core/component/card/card.component.mjs +31 -0
  5. package/esm2022/lib/falcon-core/component/textarea/textarea.component.mjs +28 -0
  6. package/esm2022/lib/falcon-core/component/textbox/textbox.component.mjs +33 -0
  7. package/esm2022/lib/falcon-core/component/validation-error/error-message.pipe.mjs +25 -0
  8. package/esm2022/lib/falcon-core/component/validation-error/error-state-matcher.service.mjs +16 -0
  9. package/esm2022/lib/falcon-core/component/validation-error/validation-error-message-token.mjs +19 -0
  10. package/esm2022/lib/falcon-core/component/validation-error/validation-error.component.mjs +42 -0
  11. package/esm2022/lib/falcon-core/component/validation-error/validation-message-container.directive.mjs +18 -0
  12. package/esm2022/lib/falcon-core/component/validation-error/validation-message.directive.mjs +53 -0
  13. package/esm2022/lib/falcon-core/component-resolver.mjs +39 -0
  14. package/esm2022/lib/falcon-core/control-builder/base-control-builder.mjs +41 -0
  15. package/esm2022/lib/falcon-core/control-builder/control-builder.component.mjs +31 -0
  16. package/esm2022/lib/falcon-core/control-builder/control-data-builder.mjs +3 -0
  17. package/esm2022/lib/falcon-core/control-builder/control-injection.pipe.mjs +29 -0
  18. package/esm2022/lib/falcon-core/control-type/AutoComplete.mjs +8 -0
  19. package/esm2022/lib/falcon-core/control-type/Button.mjs +8 -0
  20. package/esm2022/lib/falcon-core/control-type/ButtonToggle.mjs +8 -0
  21. package/esm2022/lib/falcon-core/control-type/CheckBox.mjs +8 -0
  22. package/esm2022/lib/falcon-core/control-type/Chip.mjs +8 -0
  23. package/esm2022/lib/falcon-core/control-type/DatePicker.mjs +8 -0
  24. package/esm2022/lib/falcon-core/control-type/Divider.mjs +8 -0
  25. package/esm2022/lib/falcon-core/control-type/Editor.mjs +8 -0
  26. package/esm2022/lib/falcon-core/control-type/Radio.mjs +8 -0
  27. package/esm2022/lib/falcon-core/control-type/RichTextEditor.mjs +8 -0
  28. package/esm2022/lib/falcon-core/control-type/Select.mjs +8 -0
  29. package/esm2022/lib/falcon-core/control-type/SlideToggle.mjs +8 -0
  30. package/esm2022/lib/falcon-core/control-type/Slider.mjs +8 -0
  31. package/esm2022/lib/falcon-core/control-type/Textarea.mjs +8 -0
  32. package/esm2022/lib/falcon-core/control-type/Textbox.mjs +8 -0
  33. package/esm2022/lib/falcon-core/falcon-core.module.mjs +41 -0
  34. package/esm2022/lib/falcon-core/model/base-control.mjs +50 -0
  35. package/esm2022/lib/falcon-core/model/enum.mjs +2 -0
  36. package/esm2022/lib/falcon-core/model/interface.mjs +2 -0
  37. package/esm2022/lib/falcon-core/model/ivalidator.mjs +2 -0
  38. package/esm2022/public-api.mjs +28 -0
  39. package/fesm2022/falcon-ng-core-falcon-ng-core-COOgRH2D.mjs +742 -0
  40. package/fesm2022/falcon-ng-core-falcon-ng-core-COOgRH2D.mjs.map +1 -0
  41. package/fesm2022/falcon-ng-core-textarea.component-BBAN4mNj.mjs +73 -0
  42. package/fesm2022/falcon-ng-core-textarea.component-BBAN4mNj.mjs.map +1 -0
  43. package/fesm2022/falcon-ng-core-textbox.component-CgwvtUHj.mjs +77 -0
  44. package/fesm2022/falcon-ng-core-textbox.component-CgwvtUHj.mjs.map +1 -0
  45. package/fesm2022/falcon-ng-core.mjs +50 -0
  46. package/fesm2022/falcon-ng-core.mjs.map +1 -0
  47. package/index.d.ts +5 -0
  48. package/lib/falcon-core/angularmaterial.module.d.ts +49 -0
  49. package/lib/falcon-core/component/button/button.component.d.ts +14 -0
  50. package/lib/falcon-core/component/card/card.component.d.ts +5 -0
  51. package/lib/falcon-core/component/textarea/textarea.component.d.ts +6 -0
  52. package/lib/falcon-core/component/textbox/textbox.component.d.ts +6 -0
  53. package/lib/falcon-core/component/validation-error/error-message.pipe.d.ts +8 -0
  54. package/lib/falcon-core/component/validation-error/error-state-matcher.service.d.ts +8 -0
  55. package/lib/falcon-core/component/validation-error/validation-error-message-token.d.ts +7 -0
  56. package/lib/falcon-core/component/validation-error/validation-error.component.d.ts +9 -0
  57. package/lib/falcon-core/component/validation-error/validation-message-container.directive.d.ts +7 -0
  58. package/lib/falcon-core/component/validation-error/validation-message.directive.d.ts +18 -0
  59. package/lib/falcon-core/component-resolver.d.ts +14 -0
  60. package/lib/falcon-core/control-builder/base-control-builder.d.ts +18 -0
  61. package/lib/falcon-core/control-builder/control-builder.component.d.ts +13 -0
  62. package/lib/falcon-core/control-builder/control-data-builder.d.ts +7 -0
  63. package/lib/falcon-core/control-builder/control-injection.pipe.d.ts +9 -0
  64. package/lib/falcon-core/control-type/AutoComplete.d.ts +5 -0
  65. package/lib/falcon-core/control-type/Button.d.ts +5 -0
  66. package/lib/falcon-core/control-type/ButtonToggle.d.ts +5 -0
  67. package/lib/falcon-core/control-type/CheckBox.d.ts +5 -0
  68. package/lib/falcon-core/control-type/Chip.d.ts +5 -0
  69. package/lib/falcon-core/control-type/DatePicker.d.ts +5 -0
  70. package/lib/falcon-core/control-type/Divider.d.ts +5 -0
  71. package/lib/falcon-core/control-type/Editor.d.ts +5 -0
  72. package/lib/falcon-core/control-type/Radio.d.ts +5 -0
  73. package/lib/falcon-core/control-type/RichTextEditor.d.ts +5 -0
  74. package/lib/falcon-core/control-type/Select.d.ts +5 -0
  75. package/lib/falcon-core/control-type/SlideToggle.d.ts +5 -0
  76. package/lib/falcon-core/control-type/Slider.d.ts +5 -0
  77. package/lib/falcon-core/control-type/Textarea.d.ts +5 -0
  78. package/lib/falcon-core/control-type/Textbox.d.ts +5 -0
  79. package/lib/falcon-core/falcon-core.module.d.ts +12 -0
  80. package/lib/falcon-core/model/base-control.d.ts +83 -0
  81. package/lib/falcon-core/model/enum.d.ts +144 -0
  82. package/lib/falcon-core/model/interface.d.ts +299 -0
  83. package/lib/falcon-core/model/ivalidator.d.ts +19 -0
  84. package/package.json +25 -0
  85. package/public-api.d.ts +24 -0
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFsY29uLW5nLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvY29yZS9zcmMvZmFsY29uLW5nLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,189 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ScrollingModule } from "@angular/cdk/scrolling";
3
+ import { PortalModule } from "@angular/cdk/portal";
4
+ import { OverlayModule } from "@angular/cdk/overlay";
5
+ import { MatTreeModule } from "@angular/material/tree";
6
+ import { MatTooltipModule } from "@angular/material/tooltip";
7
+ import { MatToolbarModule } from "@angular/material/toolbar";
8
+ import { MatTabsModule } from "@angular/material/tabs";
9
+ import { MatTableModule } from "@angular/material/table";
10
+ import { MatSortModule } from "@angular/material/sort";
11
+ import { MatSnackBarModule } from "@angular/material/snack-bar";
12
+ import { MatSlideToggleModule } from "@angular/material/slide-toggle";
13
+ import { MatSliderModule } from "@angular/material/slider";
14
+ import { MatSidenavModule } from "@angular/material/sidenav";
15
+ import { MatSelectModule } from "@angular/material/select";
16
+ import { MatNativeDateModule, MatRippleModule } from "@angular/material/core";
17
+ import { MatRadioModule } from "@angular/material/radio";
18
+ import { MatProgressSpinnerModule } from "@angular/material/progress-spinner";
19
+ import { MatProgressBarModule } from "@angular/material/progress-bar";
20
+ import { MatPaginatorModule } from "@angular/material/paginator";
21
+ import { MatMenuModule } from "@angular/material/menu";
22
+ import { MatListModule } from "@angular/material/list";
23
+ import { MatInputModule } from "@angular/material/input";
24
+ import { MatIconModule } from "@angular/material/icon";
25
+ import { MatGridListModule } from "@angular/material/grid-list";
26
+ import { MatExpansionModule } from "@angular/material/expansion";
27
+ import { MatDividerModule } from "@angular/material/divider";
28
+ import { MatDialogModule } from "@angular/material/dialog";
29
+ import { MatDatepickerModule } from "@angular/material/datepicker";
30
+ import { MatStepperModule } from "@angular/material/stepper";
31
+ import { MatChipsModule } from "@angular/material/chips";
32
+ import { MatCheckboxModule } from "@angular/material/checkbox";
33
+ import { MatCardModule } from "@angular/material/card";
34
+ import { MatButtonToggleModule } from "@angular/material/button-toggle";
35
+ import { MatButtonModule } from "@angular/material/button";
36
+ import { MatBottomSheetModule } from "@angular/material/bottom-sheet";
37
+ import { MatBadgeModule } from "@angular/material/badge";
38
+ import { MatAutocompleteModule } from "@angular/material/autocomplete";
39
+ import { DragDropModule } from "@angular/cdk/drag-drop";
40
+ import { CdkTreeModule } from "@angular/cdk/tree";
41
+ import { CdkTableModule } from "@angular/cdk/table";
42
+ import { CdkStepperModule } from "@angular/cdk/stepper";
43
+ import { ClipboardModule } from "@angular/cdk/clipboard";
44
+ import { A11yModule } from "@angular/cdk/a11y";
45
+ import * as i0 from "@angular/core";
46
+ export class AngularmaterialModule {
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AngularmaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
48
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: AngularmaterialModule, exports: [A11yModule,
49
+ ClipboardModule,
50
+ CdkStepperModule,
51
+ CdkTableModule,
52
+ CdkTreeModule,
53
+ DragDropModule,
54
+ MatAutocompleteModule,
55
+ MatBadgeModule,
56
+ MatBottomSheetModule,
57
+ MatButtonModule,
58
+ MatButtonToggleModule,
59
+ MatCardModule,
60
+ MatCheckboxModule,
61
+ MatChipsModule,
62
+ MatStepperModule,
63
+ MatDatepickerModule,
64
+ MatDialogModule,
65
+ MatDividerModule,
66
+ MatExpansionModule,
67
+ MatGridListModule,
68
+ MatIconModule,
69
+ MatInputModule,
70
+ MatListModule,
71
+ MatMenuModule,
72
+ MatNativeDateModule,
73
+ MatPaginatorModule,
74
+ MatProgressBarModule,
75
+ MatProgressSpinnerModule,
76
+ MatRadioModule,
77
+ MatRippleModule,
78
+ MatSelectModule,
79
+ MatSidenavModule,
80
+ MatSliderModule,
81
+ MatSlideToggleModule,
82
+ MatSnackBarModule,
83
+ MatSortModule,
84
+ MatTableModule,
85
+ MatTabsModule,
86
+ MatToolbarModule,
87
+ MatTooltipModule,
88
+ MatTreeModule,
89
+ OverlayModule,
90
+ PortalModule,
91
+ ScrollingModule] }); }
92
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AngularmaterialModule, imports: [A11yModule,
93
+ ClipboardModule,
94
+ CdkStepperModule,
95
+ CdkTableModule,
96
+ CdkTreeModule,
97
+ DragDropModule,
98
+ MatAutocompleteModule,
99
+ MatBadgeModule,
100
+ MatBottomSheetModule,
101
+ MatButtonModule,
102
+ MatButtonToggleModule,
103
+ MatCardModule,
104
+ MatCheckboxModule,
105
+ MatChipsModule,
106
+ MatStepperModule,
107
+ MatDatepickerModule,
108
+ MatDialogModule,
109
+ MatDividerModule,
110
+ MatExpansionModule,
111
+ MatGridListModule,
112
+ MatIconModule,
113
+ MatInputModule,
114
+ MatListModule,
115
+ MatMenuModule,
116
+ MatNativeDateModule,
117
+ MatPaginatorModule,
118
+ MatProgressBarModule,
119
+ MatProgressSpinnerModule,
120
+ MatRadioModule,
121
+ MatRippleModule,
122
+ MatSelectModule,
123
+ MatSidenavModule,
124
+ MatSliderModule,
125
+ MatSlideToggleModule,
126
+ MatSnackBarModule,
127
+ MatSortModule,
128
+ MatTableModule,
129
+ MatTabsModule,
130
+ MatToolbarModule,
131
+ MatTooltipModule,
132
+ MatTreeModule,
133
+ OverlayModule,
134
+ PortalModule,
135
+ ScrollingModule] }); }
136
+ }
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: AngularmaterialModule, decorators: [{
138
+ type: NgModule,
139
+ args: [{
140
+ declarations: [],
141
+ exports: [
142
+ A11yModule,
143
+ ClipboardModule,
144
+ CdkStepperModule,
145
+ CdkTableModule,
146
+ CdkTreeModule,
147
+ DragDropModule,
148
+ MatAutocompleteModule,
149
+ MatBadgeModule,
150
+ MatBottomSheetModule,
151
+ MatButtonModule,
152
+ MatButtonToggleModule,
153
+ MatCardModule,
154
+ MatCheckboxModule,
155
+ MatChipsModule,
156
+ MatStepperModule,
157
+ MatDatepickerModule,
158
+ MatDialogModule,
159
+ MatDividerModule,
160
+ MatExpansionModule,
161
+ MatGridListModule,
162
+ MatIconModule,
163
+ MatInputModule,
164
+ MatListModule,
165
+ MatMenuModule,
166
+ MatNativeDateModule,
167
+ MatPaginatorModule,
168
+ MatProgressBarModule,
169
+ MatProgressSpinnerModule,
170
+ MatRadioModule,
171
+ MatRippleModule,
172
+ MatSelectModule,
173
+ MatSidenavModule,
174
+ MatSliderModule,
175
+ MatSlideToggleModule,
176
+ MatSnackBarModule,
177
+ MatSortModule,
178
+ MatTableModule,
179
+ MatTabsModule,
180
+ MatToolbarModule,
181
+ MatTooltipModule,
182
+ MatTreeModule,
183
+ OverlayModule,
184
+ PortalModule,
185
+ ScrollingModule
186
+ ]
187
+ }]
188
+ }] });
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcm1hdGVyaWFsLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy9jb3JlL3NyYy9saWIvZmFsY29uLWNvcmUvYW5ndWxhcm1hdGVyaWFsLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUM1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cEIsd0JBQXdCO3dCQUN4QixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixlQUFlO3FCQUNoQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTY3JvbGxpbmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jZGsvc2Nyb2xsaW5nXCI7XG5pbXBvcnQge1BvcnRhbE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9wb3J0YWxcIjtcbmltcG9ydCB7T3ZlcmxheU1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQge01hdFRyZWVNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90cmVlXCI7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwXCI7XG5pbXBvcnQge01hdFRvb2xiYXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyXCI7XG5pbXBvcnQge01hdFRhYnNNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJzXCI7XG5pbXBvcnQge01hdFRhYmxlTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcbmltcG9ydCB7TWF0U29ydE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NvcnRcIjtcbmltcG9ydCB7TWF0U25hY2tCYXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXJcIjtcbmltcG9ydCB7TWF0U2xpZGVUb2dnbGVNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGVcIjtcbmltcG9ydCB7TWF0U2xpZGVyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyXCI7XG5pbXBvcnQge01hdFNpZGVuYXZNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2XCI7XG5pbXBvcnQge01hdFNlbGVjdE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuaW1wb3J0IHtNYXROYXRpdmVEYXRlTW9kdWxlLCBNYXRSaXBwbGVNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQge01hdFJhZGlvTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW9cIjtcbmltcG9ydCB7TWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lclwiO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhclwiO1xuaW1wb3J0IHtNYXRQYWdpbmF0b3JNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcbmltcG9ydCB7TWF0TWVudU1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7TWF0TGlzdE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2xpc3RcIjtcbmltcG9ydCB7TWF0SW5wdXRNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xuaW1wb3J0IHtNYXRJY29uTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvblwiO1xuaW1wb3J0IHtNYXRHcmlkTGlzdE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2dyaWQtbGlzdFwiO1xuaW1wb3J0IHtNYXRFeHBhbnNpb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb25cIjtcbmltcG9ydCB7TWF0RGl2aWRlck1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXJcIjtcbmltcG9ydCB7TWF0RGlhbG9nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQge01hdERhdGVwaWNrZXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XG5pbXBvcnQge01hdFN0ZXBwZXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyXCI7XG5pbXBvcnQge01hdENoaXBzTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHNcIjtcbmltcG9ydCB7TWF0Q2hlY2tib3hNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZFwiO1xuaW1wb3J0IHtNYXRCdXR0b25Ub2dnbGVNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlXCI7XG5pbXBvcnQge01hdEJ1dHRvbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHtNYXRCb3R0b21TaGVldE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2JvdHRvbS1zaGVldFwiO1xuaW1wb3J0IHtNYXRCYWRnZU1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2JhZGdlXCI7XG5pbXBvcnQge01hdEF1dG9jb21wbGV0ZU1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZVwiO1xuaW1wb3J0IHtEcmFnRHJvcE1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay9kcmFnLWRyb3BcIjtcbmltcG9ydCB7Q2RrVHJlZU1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2Nkay90cmVlXCI7XG5pbXBvcnQge0Nka1RhYmxlTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3RhYmxlXCI7XG5pbXBvcnQge0Nka1N0ZXBwZXJNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jZGsvc3RlcHBlclwiO1xuaW1wb3J0IHtDbGlwYm9hcmRNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jZGsvY2xpcGJvYXJkXCI7XG5pbXBvcnQge0ExMXlNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jZGsvYTExeVwiO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgZXhwb3J0czogW1xuICAgIEExMXlNb2R1bGUsXG4gICAgQ2xpcGJvYXJkTW9kdWxlLFxuICAgIENka1N0ZXBwZXJNb2R1bGUsXG4gICAgQ2RrVGFibGVNb2R1bGUsXG4gICAgQ2RrVHJlZU1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgTWF0QmFkZ2VNb2R1bGUsXG4gICAgTWF0Qm90dG9tU2hlZXRNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdFN0ZXBwZXJNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgTWF0RGl2aWRlck1vZHVsZSxcbiAgICBNYXRFeHBhbnNpb25Nb2R1bGUsXG4gICAgTWF0R3JpZExpc3RNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRQYWdpbmF0b3JNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlLFxuICAgIE1hdFJpcHBsZU1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICBNYXRTbGlkZXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRUcmVlTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgUG9ydGFsTW9kdWxlLFxuICAgIFNjcm9sbGluZ01vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJtYXRlcmlhbE1vZHVsZSB7IH1cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/button";
4
+ export class ButtonComponent {
5
+ constructor() {
6
+ this.type = 'submit';
7
+ this.color = 'primary';
8
+ this.disabled = false;
9
+ this.click = new EventEmitter();
10
+ }
11
+ ngOnDestroy() {
12
+ this.click.complete();
13
+ }
14
+ onClick(event) {
15
+ if (['reset', 'submit'].includes(this.type)) {
16
+ this.click.emit(event);
17
+ return true;
18
+ }
19
+ return false;
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: ButtonComponent, selector: "falcon-button", inputs: { label: "label", type: "type", color: "color", disabled: "disabled" }, outputs: { click: "click" }, ngImport: i0, template: `
23
+ <button mat-flat-button [color]="color" [type]="type" (click)="onClick($event)" [disabled]="disabled">{{ label }}</button>
24
+ `, isInline: true, dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ButtonComponent, decorators: [{
27
+ type: Component,
28
+ args: [{
29
+ selector: 'falcon-button',
30
+ template: `
31
+ <button mat-flat-button [color]="color" [type]="type" (click)="onClick($event)" [disabled]="disabled">{{ label }}</button>
32
+ `,
33
+ }]
34
+ }], propDecorators: { label: [{
35
+ type: Input,
36
+ args: [{ required: true }]
37
+ }], type: [{
38
+ type: Input,
39
+ args: [{ required: true }]
40
+ }], color: [{
41
+ type: Input
42
+ }], disabled: [{
43
+ type: Input
44
+ }], click: [{
45
+ type: Output
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy9jb3JlL3NyYy9saWIvZmFsY29uLWNvcmUvY29tcG9uZW50L2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBb0IsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTekYsTUFBTSxPQUFPLGVBQWU7SUFONUI7UUFRNkIsU0FBSSxHQUFrQyxRQUFRLENBQUM7UUFDakUsVUFBSyxHQUFpQixTQUFTLENBQUM7UUFDaEMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUN6QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztLQVlsRDtJQVZDLFdBQVc7UUFDVCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzhHQWhCVSxlQUFlO2tHQUFmLGVBQWUsa0tBSmhCOztHQUVUOzsyRkFFVSxlQUFlO2tCQU4zQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUU7O0dBRVQ7aUJBQ0Y7OEJBRTRCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNFLElBQUk7c0JBQTlCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIGlucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhbGNvbi1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIFtjb2xvcl09XCJjb2xvclwiIFt0eXBlXT1cInR5cGVcIiAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+e3sgbGFiZWwgfX08L2J1dHRvbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgbGFiZWwhOiBzdHJpbmc7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHR5cGU6ICdzdWJtaXQnIHwgJ3Jlc2V0JyB8ICdidXR0b24nID0gJ3N1Ym1pdCc7XG4gIEBJbnB1dCgpIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsaWNrLmNvbXBsZXRlKCk7XG4gIH1cbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmIChbJ3Jlc2V0JywgJ3N1Ym1pdCddLmluY2x1ZGVzKHRoaXMudHlwZSkpIHtcbiAgICAgIHRoaXMuY2xpY2suZW1pdChldmVudCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/card";
4
+ export class CardComponent {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: CardComponent, selector: "falcon-card", host: { properties: { "style.--mdc-elevated-card-container-shape": "\"10px\"", "style.--mdc-elevated-card-container-elevation": "\"0px 0px 0px 0px rgba(0, 0, 0, 0.12), 0px 0px 0px 1px rgba(0, 0, 0, 0.12), 0px 0px 1px 1px rgba(0.12, 0.12, 0.12, 0.12)\"" } }, ngImport: i0, template: `
7
+ <mat-card>
8
+ <mat-card-content>
9
+ <ng-content></ng-content>
10
+ </mat-card-content>
11
+ </mat-card>
12
+ `, isInline: true, dependencies: [{ kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: CardComponent, decorators: [{
15
+ type: Component,
16
+ args: [{
17
+ selector: 'falcon-card',
18
+ host: {
19
+ '[style.--mdc-elevated-card-container-shape]': '"10px"',
20
+ '[style.--mdc-elevated-card-container-elevation]': '"0px 0px 0px 0px rgba(0, 0, 0, 0.12), 0px 0px 0px 1px rgba(0, 0, 0, 0.12), 0px 0px 1px 1px rgba(0.12, 0.12, 0.12, 0.12)"'
21
+ },
22
+ template: `
23
+ <mat-card>
24
+ <mat-card-content>
25
+ <ng-content></ng-content>
26
+ </mat-card-content>
27
+ </mat-card>
28
+ `,
29
+ }]
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvY29yZS9zcmMvbGliL2ZhbGNvbi1jb3JlL2NvbXBvbmVudC9jYXJkL2NhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWdCMUMsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTtrR0FBYixhQUFhLHFUQVJkOzs7Ozs7R0FNVDs7MkZBRVUsYUFBYTtrQkFkekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsSUFBSSxFQUFFO3dCQUNKLDZDQUE2QyxFQUFFLFFBQVE7d0JBQ3ZELGlEQUFpRCxFQUFFLDBIQUEwSDtxQkFDOUs7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7R0FNVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmYWxjb24tY2FyZCcsXG4gIGhvc3Q6IHtcbiAgICAnW3N0eWxlLi0tbWRjLWVsZXZhdGVkLWNhcmQtY29udGFpbmVyLXNoYXBlXSc6ICdcIjEwcHhcIicsXG4gICAgJ1tzdHlsZS4tLW1kYy1lbGV2YXRlZC1jYXJkLWNvbnRhaW5lci1lbGV2YXRpb25dJzogJ1wiMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDBweCAwcHggMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwcHggMHB4IDFweCAxcHggcmdiYSgwLjEyLCAwLjEyLCAwLjEyLCAwLjEyKVwiJ1xuICB9LFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtY2FyZD5cbiAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgQ2FyZENvbXBvbmVudCB7fVxuIl19
@@ -0,0 +1,28 @@
1
+ import { Component } from '@angular/core';
2
+ import { MatInputModule } from '@angular/material/input';
3
+ import { BaseControlBuilder, controlProvider, sharedControlDeps } from '../../control-builder/base-control-builder';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/input";
6
+ import * as i2 from "@angular/material/form-field";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "../validation-error/validation-message.directive";
10
+ export class TextareaComponent extends BaseControlBuilder {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: TextareaComponent, isStandalone: true, selector: "falcon-textarea", usesInheritance: true, ngImport: i0, template: `
13
+ <mat-form-field appearance="outline" class="w-full">
14
+ <mat-label>{{control.config.label}}</mat-label>
15
+ <textarea matInput [formControlName]="control.formControlName" [placeholder]="control.config.placeHolder"></textarea>
16
+ </mat-form-field>
17
+ `, isInline: true, styles: [".w-full{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: i3.CommonModule }, { kind: "ngmodule", type: i4.ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.ValidationMessageDirective, selector: "[formControl]:not([withoutValidationErrors]),[formControlName]:not([withoutValidationErrors]),[formGroupName]:not([withoutValidationErrors]))", inputs: ["errorStateMatcher", "container"] }], viewProviders: [controlProvider] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TextareaComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'falcon-textarea', standalone: true, imports: [MatInputModule, ...sharedControlDeps], viewProviders: [controlProvider], template: `
22
+ <mat-form-field appearance="outline" class="w-full">
23
+ <mat-label>{{control.config.label}}</mat-label>
24
+ <textarea matInput [formControlName]="control.formControlName" [placeholder]="control.config.placeHolder"></textarea>
25
+ </mat-form-field>
26
+ `, styles: [".w-full{width:100%}\n"] }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL2NvcmUvc3JjL2xpYi9mYWxjb24tY29yZS9jb21wb25lbnQvdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7Ozs7OztBQWVwSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsa0JBQWtCOzhHQUE1QyxpQkFBaUI7a0dBQWpCLGlCQUFpQixrR0FSbEI7Ozs7O0dBS1QsOEZBUFMsY0FBYyx3K0NBQ1QsQ0FBQyxlQUFlLENBQUM7OzJGQVNyQixpQkFBaUI7a0JBYjdCLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsaUJBQ2hDLENBQUMsZUFBZSxDQUFDLFlBQ3RCOzs7OztHQUtUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEJhc2VDb250cm9sQnVpbGRlciwgY29udHJvbFByb3ZpZGVyLCBzaGFyZWRDb250cm9sRGVwcyB9IGZyb20gJy4uLy4uL2NvbnRyb2wtYnVpbGRlci9iYXNlLWNvbnRyb2wtYnVpbGRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhbGNvbi10ZXh0YXJlYScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRJbnB1dE1vZHVsZSwgLi4uc2hhcmVkQ29udHJvbERlcHNdLFxuICB2aWV3UHJvdmlkZXJzOiBbY29udHJvbFByb3ZpZGVyXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgPG1hdC1sYWJlbD57e2NvbnRyb2wuY29uZmlnLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbnRyb2wuZm9ybUNvbnRyb2xOYW1lXCIgW3BsYWNlaG9sZGVyXT1cImNvbnRyb2wuY29uZmlnLnBsYWNlSG9sZGVyXCI+PC90ZXh0YXJlYT5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICBgLFxuICBzdHlsZXM6IGAudy1mdWxse3dpZHRoOiAxMDAlfWBcbn0pXG5leHBvcnQgY2xhc3MgVGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29udHJvbEJ1aWxkZXJ7fVxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component } from '@angular/core';
2
+ import { MatInputModule } from '@angular/material/input';
3
+ import { BaseControlBuilder, controlProvider, sharedControlDeps } from '../../control-builder/base-control-builder';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/material/input";
6
+ import * as i2 from "@angular/material/form-field";
7
+ import * as i3 from "@angular/common";
8
+ import * as i4 from "@angular/forms";
9
+ import * as i5 from "../validation-error/validation-message.directive";
10
+ import * as i6 from "../validation-error/validation-message-container.directive";
11
+ export class TextboxComponent extends BaseControlBuilder {
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TextboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: TextboxComponent, isStandalone: true, selector: "falcon-textbox", usesInheritance: true, ngImport: i0, template: `
14
+ <mat-form-field appearance="outline" class="w-full">
15
+ <mat-label>{{ control.config.label }}</mat-label>
16
+ <input matInput [formControlName]="control.formControlName" [placeholder]="control.config.placeHolder"
17
+ [container]="containerDir.container">
18
+ <ng-container falconValidationMessageContainer #containerDir="falconValidationMessageContainer" />
19
+ </mat-form-field>
20
+ `, isInline: true, styles: [".w-full{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: i3.CommonModule }, { kind: "ngmodule", type: i4.ReactiveFormsModule }, { kind: "directive", type: i4.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: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.ValidationMessageDirective, selector: "[formControl]:not([withoutValidationErrors]),[formControlName]:not([withoutValidationErrors]),[formGroupName]:not([withoutValidationErrors]))", inputs: ["errorStateMatcher", "container"] }, { kind: "directive", type: i6.ValidationMessageContainerDirective, selector: "[falconValidationMessageContainer]", exportAs: ["falconValidationMessageContainer"] }], viewProviders: [controlProvider] }); }
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: TextboxComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'falcon-textbox', standalone: true, imports: [MatInputModule, ...sharedControlDeps], viewProviders: [controlProvider], template: `
25
+ <mat-form-field appearance="outline" class="w-full">
26
+ <mat-label>{{ control.config.label }}</mat-label>
27
+ <input matInput [formControlName]="control.formControlName" [placeholder]="control.config.placeHolder"
28
+ [container]="containerDir.container">
29
+ <ng-container falconValidationMessageContainer #containerDir="falconValidationMessageContainer" />
30
+ </mat-form-field>
31
+ `, styles: [".w-full{width:100%}\n"] }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvY29yZS9zcmMvbGliL2ZhbGNvbi1jb3JlL2NvbXBvbmVudC90ZXh0Ym94L3RleHRib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBMkIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7O0FBbUJwSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsa0JBQWtCOzhHQUEzQyxnQkFBZ0I7a0dBQWhCLGdCQUFnQixpR0FaakI7Ozs7Ozs7R0FPVCw4RkFUUyxjQUFjLDZvREFDVCxDQUFDLGVBQWUsQ0FBQzs7MkZBYXJCLGdCQUFnQjtrQkFqQjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsaUJBQ2hDLENBQUMsZUFBZSxDQUFDLFlBQ3RCOzs7Ozs7O0dBT1QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEJhc2VDb250cm9sQnVpbGRlciwgY29udHJvbFByb3ZpZGVyLCBzaGFyZWRDb250cm9sRGVwcyB9IGZyb20gJy4uLy4uL2NvbnRyb2wtYnVpbGRlci9iYXNlLWNvbnRyb2wtYnVpbGRlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhbGNvbi10ZXh0Ym94JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW01hdElucHV0TW9kdWxlLCAuLi5zaGFyZWRDb250cm9sRGVwc10sXG4gIHZpZXdQcm92aWRlcnM6IFtjb250cm9sUHJvdmlkZXJdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwidy1mdWxsXCI+XG4gICAgICA8bWF0LWxhYmVsPnt7IGNvbnRyb2wuY29uZmlnLmxhYmVsIH19PC9tYXQtbGFiZWw+XG4gICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJjb250cm9sLmZvcm1Db250cm9sTmFtZVwiIFtwbGFjZWhvbGRlcl09XCJjb250cm9sLmNvbmZpZy5wbGFjZUhvbGRlclwiXG4gICAgICAgICAgICAgW2NvbnRhaW5lcl09XCJjb250YWluZXJEaXIuY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGFpbmVyIGZhbGNvblZhbGlkYXRpb25NZXNzYWdlQ29udGFpbmVyICNjb250YWluZXJEaXI9XCJmYWxjb25WYWxpZGF0aW9uTWVzc2FnZUNvbnRhaW5lclwiIC8+XG4gICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgYCxcbiAgc3R5bGVzOiBgLnctZnVsbCB7XG4gICAgd2lkdGg6IDEwMCVcbiAgfWAsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRib3hDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29udHJvbEJ1aWxkZXIge1xufVxuIl19
@@ -0,0 +1,25 @@
1
+ import { inject, Pipe } from '@angular/core';
2
+ import { VALIDATION_ERROR_MESSAGES } from './validation-error-message-token';
3
+ import * as i0 from "@angular/core";
4
+ export class ErrorMessagePipe {
5
+ constructor() {
6
+ this.errorMessages = inject(VALIDATION_ERROR_MESSAGES);
7
+ }
8
+ transform(key, errorValue) {
9
+ if (!this.errorMessages[key]) {
10
+ console.warn(`Missing message for ${key} validator...`);
11
+ return '';
12
+ }
13
+ return this.errorMessages[key](errorValue);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ErrorMessagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
16
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.1", ngImport: i0, type: ErrorMessagePipe, isStandalone: true, name: "errorMessage" }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ErrorMessagePipe, decorators: [{
19
+ type: Pipe,
20
+ args: [{
21
+ name: 'errorMessage',
22
+ standalone: true
23
+ }]
24
+ }] });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWVzc2FnZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL2NvcmUvc3JjL2xpYi9mYWxjb24tY29yZS9jb21wb25lbnQvdmFsaWRhdGlvbi1lcnJvci9lcnJvci1tZXNzYWdlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQU03RSxNQUFNLE9BQU8sZ0JBQWdCO0lBSjdCO1FBS1Usa0JBQWEsR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztLQVEzRDtJQVBDLFNBQVMsQ0FBQyxHQUFXLEVBQUUsVUFBZTtRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXdCLEdBQUksZUFBZSxDQUFDLENBQUM7WUFDMUQsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7OEdBUlUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSjVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGNBQWM7b0JBQ3BCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkFMSURBVElPTl9FUlJPUl9NRVNTQUdFUyB9IGZyb20gJy4vdmFsaWRhdGlvbi1lcnJvci1tZXNzYWdlLXRva2VuJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZXJyb3JNZXNzYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBFcnJvck1lc3NhZ2VQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHByaXZhdGUgZXJyb3JNZXNzYWdlcyA9IGluamVjdChWQUxJREFUSU9OX0VSUk9SX01FU1NBR0VTKTtcbiAgdHJhbnNmb3JtKGtleTogc3RyaW5nLCBlcnJvclZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5lcnJvck1lc3NhZ2VzW2tleV0pe1xuICAgICAgY29uc29sZS53YXJuKGBNaXNzaW5nIG1lc3NhZ2UgZm9yICR7IGtleSB9IHZhbGlkYXRvci4uLmApO1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2VzW2tleV0oZXJyb3JWYWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ErrorStateMatcherService {
4
+ isErrorState(control, form) {
5
+ return Boolean(control && control.invalid && (form && form.submitted));
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ErrorStateMatcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
8
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ErrorStateMatcherService, providedIn: 'root' }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ErrorStateMatcherService, decorators: [{
11
+ type: Injectable,
12
+ args: [{
13
+ providedIn: 'root'
14
+ }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3Itc3RhdGUtbWF0Y2hlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL2NvcmUvc3JjL2xpYi9mYWxjb24tY29yZS9jb21wb25lbnQvdmFsaWRhdGlvbi1lcnJvci9lcnJvci1zdGF0ZS1tYXRjaGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUFZLENBQUMsT0FBeUMsRUFBRSxJQUF3QztRQUM5RixPQUFPLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQUhVLHdCQUF3QjtrSEFBeEIsd0JBQXdCLGNBRnZCLE1BQU07OzJGQUVQLHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cERpcmVjdGl2ZSwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRXJyb3JTdGF0ZU1hdGNoZXJTZXJ2aWNlIGltcGxlbWVudHMgRXJyb3JTdGF0ZU1hdGNoZXJ7XG4gIGlzRXJyb3JTdGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+IHwgbnVsbCwgZm9ybTogTmdGb3JtIHwgRm9ybUdyb3VwRGlyZWN0aXZlIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuKGNvbnRyb2wgJiYgY29udHJvbC5pbnZhbGlkICYmIChmb3JtICYmIGZvcm0uc3VibWl0dGVkKSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const ERROR_MESSAGES = {
3
+ required: () => `This field is required`,
4
+ requiredTrue: () => `This field is required`,
5
+ email: () => `It should be a valid email`,
6
+ minlength: ({ requiredLength }) => `The length should be at least ${requiredLength} characters`,
7
+ banWords: ({ bannedWord }) => `The word "${bannedWord}" isn't allowed`,
8
+ appBanWords: ({ bannedWord }) => `The word "${bannedWord}" isn't allowed`,
9
+ appPasswordShouldMatch: () => `Password should match`,
10
+ passwordShouldMatch: () => `Password should match`,
11
+ pattern: () => `Wrong format`,
12
+ appUniqueNickname: () => `Nickname is taken`,
13
+ uniqueName: () => `Nickname is taken`,
14
+ };
15
+ export const VALIDATION_ERROR_MESSAGES = new InjectionToken(`Validation Messages`, {
16
+ providedIn: 'root',
17
+ factory: () => ERROR_MESSAGES
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci1tZXNzYWdlLXRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmFsY29uLW5nL2NvcmUvc3JjL2xpYi9mYWxjb24tY29yZS9jb21wb25lbnQvdmFsaWRhdGlvbi1lcnJvci92YWxpZGF0aW9uLWVycm9yLW1lc3NhZ2UtdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUU5QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQThDO0lBQ3ZFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyx3QkFBd0I7SUFDeEMsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLHdCQUF3QjtJQUM1QyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsNEJBQTRCO0lBQ3pDLFNBQVMsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxjQUFjLGFBQWE7SUFDL0YsUUFBUSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsYUFBYSxVQUFVLGlCQUFpQjtJQUN0RSxXQUFXLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxhQUFhLFVBQVUsaUJBQWlCO0lBQ3pFLHNCQUFzQixFQUFFLEdBQUcsRUFBRSxDQUFDLHVCQUF1QjtJQUNyRCxtQkFBbUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyx1QkFBdUI7SUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLGNBQWM7SUFDN0IsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUMsbUJBQW1CO0lBQzVDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUI7Q0FDdEMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLElBQUksY0FBYyxDQUFDLHFCQUFxQixFQUFFO0lBQ2pGLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxjQUFjO0NBQzlCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5leHBvcnQgY29uc3QgRVJST1JfTUVTU0FHRVM6IHsgW2tleTogc3RyaW5nXTogKGFyZ3M/OiBhbnkpID0+IHN0cmluZyB9ID0ge1xuICByZXF1aXJlZDogKCkgPT4gYFRoaXMgZmllbGQgaXMgcmVxdWlyZWRgLFxuICByZXF1aXJlZFRydWU6ICgpID0+IGBUaGlzIGZpZWxkIGlzIHJlcXVpcmVkYCxcbiAgZW1haWw6ICgpID0+IGBJdCBzaG91bGQgYmUgYSB2YWxpZCBlbWFpbGAsXG4gIG1pbmxlbmd0aDogKHsgcmVxdWlyZWRMZW5ndGggfSkgPT4gYFRoZSBsZW5ndGggc2hvdWxkIGJlIGF0IGxlYXN0ICR7cmVxdWlyZWRMZW5ndGh9IGNoYXJhY3RlcnNgLFxuICBiYW5Xb3JkczogKHsgYmFubmVkV29yZCB9KSA9PiBgVGhlIHdvcmQgXCIke2Jhbm5lZFdvcmR9XCIgaXNuJ3QgYWxsb3dlZGAsXG4gIGFwcEJhbldvcmRzOiAoeyBiYW5uZWRXb3JkIH0pID0+IGBUaGUgd29yZCBcIiR7YmFubmVkV29yZH1cIiBpc24ndCBhbGxvd2VkYCxcbiAgYXBwUGFzc3dvcmRTaG91bGRNYXRjaDogKCkgPT4gYFBhc3N3b3JkIHNob3VsZCBtYXRjaGAsXG4gIHBhc3N3b3JkU2hvdWxkTWF0Y2g6ICgpID0+IGBQYXNzd29yZCBzaG91bGQgbWF0Y2hgLFxuICBwYXR0ZXJuOiAoKSA9PiBgV3JvbmcgZm9ybWF0YCxcbiAgYXBwVW5pcXVlTmlja25hbWU6ICgpID0+IGBOaWNrbmFtZSBpcyB0YWtlbmAsXG4gIHVuaXF1ZU5hbWU6ICgpID0+IGBOaWNrbmFtZSBpcyB0YWtlbmAsXG59XG5cbmV4cG9ydCBjb25zdCBWQUxJREFUSU9OX0VSUk9SX01FU1NBR0VTID0gbmV3IEluamVjdGlvblRva2VuKGBWYWxpZGF0aW9uIE1lc3NhZ2VzYCwge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6ICgpID0+IEVSUk9SX01FU1NBR0VTXG59KVxuIl19
@@ -0,0 +1,42 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { MatInputModule } from '@angular/material/input';
4
+ import { ErrorMessagePipe } from './error-message.pipe';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/material/form-field";
8
+ export class ValidationErrorComponent {
9
+ constructor() {
10
+ this.errors = null;
11
+ }
12
+ trackByFn(item) {
13
+ return item.key;
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ValidationErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: ValidationErrorComponent, isStandalone: true, selector: "falcon-error", inputs: { errors: "errors" }, ngImport: i0, template: `
17
+ @if (errors) {
18
+ @for (error of errors | keyvalue; track trackByFn) {
19
+ <mat-error>{{ error.key | errorMessage:error.value }}</mat-error>
20
+ }
21
+ }
22
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "pipe", type: ErrorMessagePipe, name: "errorMessage" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ValidationErrorComponent, decorators: [{
25
+ type: Component,
26
+ args: [{
27
+ selector: 'falcon-error',
28
+ standalone: true,
29
+ imports: [CommonModule, MatInputModule, ErrorMessagePipe],
30
+ changeDetection: ChangeDetectionStrategy.OnPush,
31
+ template: `
32
+ @if (errors) {
33
+ @for (error of errors | keyvalue; track trackByFn) {
34
+ <mat-error>{{ error.key | errorMessage:error.value }}</mat-error>
35
+ }
36
+ }
37
+ `,
38
+ }]
39
+ }], propDecorators: { errors: [{
40
+ type: Input
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvY29yZS9zcmMvbGliL2ZhbGNvbi1jb3JlL2NvbXBvbmVudC92YWxpZGF0aW9uLWVycm9yL3ZhbGlkYXRpb24tZXJyb3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFleEQsTUFBTSxPQUFPLHdCQUF3QjtJQWJyQztRQWNXLFdBQU0sR0FBd0MsSUFBSSxDQUFDO0tBSTdEO0lBSEMsU0FBUyxDQUFDLElBQTJCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDOzhHQUpVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHNHQVJ6Qjs7Ozs7O0dBTVQsMkRBUlMsWUFBWSx5RkFBRSxjQUFjLHVIQUFFLGdCQUFnQjs7MkZBVTdDLHdCQUF3QjtrQkFicEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3pELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7Ozs7OztHQU1UO2lCQUNGOzhCQUVVLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBLZXlWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IEVycm9yTWVzc2FnZVBpcGUgfSBmcm9tICcuL2Vycm9yLW1lc3NhZ2UucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZhbGNvbi1lcnJvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdElucHV0TW9kdWxlLCBFcnJvck1lc3NhZ2VQaXBlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgQGlmIChlcnJvcnMpIHtcbiAgICAgIEBmb3IgKGVycm9yIG9mIGVycm9ycyB8IGtleXZhbHVlOyB0cmFjayB0cmFja0J5Rm4pIHtcbiAgICAgICAgPG1hdC1lcnJvcj57eyBlcnJvci5rZXkgfCBlcnJvck1lc3NhZ2U6ZXJyb3IudmFsdWUgfX08L21hdC1lcnJvcj5cbiAgICAgIH1cbiAgICB9XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsO1xuICB0cmFja0J5Rm4oaXRlbTogS2V5VmFsdWU8c3RyaW5nLCBhbnk+KSB7XG4gICAgcmV0dXJuIGl0ZW0ua2V5O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Directive, inject, ViewContainerRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ValidationMessageContainerDirective {
4
+ constructor() {
5
+ this.container = inject(ViewContainerRef);
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ValidationMessageContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
8
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: ValidationMessageContainerDirective, isStandalone: true, selector: "[falconValidationMessageContainer]", exportAs: ["falconValidationMessageContainer"], ngImport: i0 }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ValidationMessageContainerDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[falconValidationMessageContainer]',
14
+ standalone: true,
15
+ exportAs: 'falconValidationMessageContainer'
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mYWxjb24tbmcvY29yZS9zcmMvbGliL2ZhbGNvbi1jb3JlL2NvbXBvbmVudC92YWxpZGF0aW9uLWVycm9yL3ZhbGlkYXRpb24tbWVzc2FnZS1jb250YWluZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU9wRSxNQUFNLE9BQU8sbUNBQW1DO0lBTGhEO1FBTUEsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0tBRW5DOzhHQUhZLG1DQUFtQztrR0FBbkMsbUNBQW1DOzsyRkFBbkMsbUNBQW1DO2tCQUwvQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQ0FBb0M7b0JBQzlDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0NBQWtDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmYWxjb25WYWxpZGF0aW9uTWVzc2FnZUNvbnRhaW5lcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2ZhbGNvblZhbGlkYXRpb25NZXNzYWdlQ29udGFpbmVyJ1xufSlcbmV4cG9ydCBjbGFzcyBWYWxpZGF0aW9uTWVzc2FnZUNvbnRhaW5lckRpcmVjdGl2ZSB7XG5jb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZilcblxufVxuIl19
@@ -0,0 +1,53 @@
1
+ import { Directive, ElementRef, inject, Input, ViewContainerRef } from '@angular/core';
2
+ import { ControlContainer, NgControl, NgModel } from '@angular/forms';
3
+ import { EMPTY, fromEvent, iif, merge, skip, startWith } from 'rxjs';
4
+ import { ValidationErrorComponent } from './validation-error.component';
5
+ import { ErrorStateMatcherService } from './error-state-matcher.service';
6
+ import * as i0 from "@angular/core";
7
+ export class ValidationMessageDirective {
8
+ constructor() {
9
+ this.ngControl = inject(NgControl, { self: true, optional: true }) || inject(ControlContainer, { self: true });
10
+ this.elementRef = inject(ElementRef);
11
+ this.errorStateMatcher = inject(ErrorStateMatcherService);
12
+ this.container = inject(ViewContainerRef);
13
+ this.parentContainer = inject(ControlContainer, { optional: true });
14
+ this.componentRef = null;
15
+ }
16
+ get form() {
17
+ return this.parentContainer?.formDirective;
18
+ }
19
+ ngOnInit() {
20
+ if (!this.ngControl.control)
21
+ throw Error(`No control model for ${this.ngControl.name} control...`);
22
+ this.errorMessageTrigger = merge(this.ngControl.control.statusChanges, fromEvent(this.elementRef.nativeElement, 'blur'), iif(() => !!this.form, this.form.ngSubmit, EMPTY)).pipe(startWith(this.ngControl.control.status), skip(this.ngControl instanceof NgModel ? 1 : 0)).subscribe(() => {
23
+ if (this.errorStateMatcher.isErrorState(this.ngControl.control, this.form)) {
24
+ if (!this.componentRef) {
25
+ this.componentRef = this.container.createComponent(ValidationErrorComponent);
26
+ this.componentRef.changeDetectorRef.markForCheck();
27
+ }
28
+ this.componentRef.setInput('errors', this.ngControl.errors);
29
+ }
30
+ else {
31
+ this.componentRef?.destroy();
32
+ this.componentRef = null;
33
+ }
34
+ });
35
+ }
36
+ ngOnDestroy() {
37
+ this.errorMessageTrigger.unsubscribe();
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ValidationMessageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: ValidationMessageDirective, isStandalone: true, selector: "[formControl]:not([withoutValidationErrors]),[formControlName]:not([withoutValidationErrors]),[formGroupName]:not([withoutValidationErrors]))", inputs: { errorStateMatcher: "errorStateMatcher", container: "container" }, ngImport: i0 }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ValidationMessageDirective, decorators: [{
43
+ type: Directive,
44
+ args: [{
45
+ standalone: true,
46
+ selector: '[formControl]:not([withoutValidationErrors]),[formControlName]:not([withoutValidationErrors]),[formGroupName]:not([withoutValidationErrors]))',
47
+ }]
48
+ }], propDecorators: { errorStateMatcher: [{
49
+ type: Input
50
+ }], container: [{
51
+ type: Input
52
+ }] } });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1tZXNzYWdlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZhbGNvbi1uZy9jb3JlL3NyYy9saWIvZmFsY29uLWNvcmUvY29tcG9uZW50L3ZhbGlkYXRpb24tZXJyb3IvdmFsaWRhdGlvbi1tZXNzYWdlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEgsT0FBTyxFQUFFLGdCQUFnQixFQUFzQixTQUFTLEVBQVUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEcsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFNekUsTUFBTSxPQUFPLDBCQUEwQjtJQUp2QztRQUtFLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMxRyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZCLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3JELGNBQVMsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV0QyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRS9ELGlCQUFZLEdBQWtELElBQUksQ0FBQztLQWtDNUU7SUFoQ0MsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLGFBQW1ELENBQUM7SUFDbkYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPO1lBQ3pCLE1BQU0sS0FBSyxDQUFDLHdCQUF3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksYUFBYSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUNwQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEVBQ2hELEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FDbkQsQ0FBQyxJQUFJLENBQ0osU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsWUFBWSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2hELENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDM0UsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO29CQUM3RSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNyRCxDQUFDO2dCQUNELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzlELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDOzhHQXpDVSwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLCtJQUErSTtpQkFDMUo7OEJBS1UsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1Hcm91cERpcmVjdGl2ZSwgTmdDb250cm9sLCBOZ0Zvcm0sIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFTVBUWSwgZnJvbUV2ZW50LCBpaWYsIG1lcmdlLCBza2lwLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi92YWxpZGF0aW9uLWVycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlclNlcnZpY2UgfSBmcm9tICcuL2Vycm9yLXN0YXRlLW1hdGNoZXIuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tmb3JtQ29udHJvbF06bm90KFt3aXRob3V0VmFsaWRhdGlvbkVycm9yc10pLFtmb3JtQ29udHJvbE5hbWVdOm5vdChbd2l0aG91dFZhbGlkYXRpb25FcnJvcnNdKSxbZm9ybUdyb3VwTmFtZV06bm90KFt3aXRob3V0VmFsaWRhdGlvbkVycm9yc10pKScsXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRpb25NZXNzYWdlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBuZ0NvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0pIHx8IGluamVjdChDb250cm9sQ29udGFpbmVyLCB7IHNlbGY6IHRydWUgfSk7XG4gIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgQElucHV0KCkgZXJyb3JTdGF0ZU1hdGNoZXIgPSBpbmplY3QoRXJyb3JTdGF0ZU1hdGNoZXJTZXJ2aWNlKTtcbiAgQElucHV0KCkgY29udGFpbmVyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXG4gIHByaXZhdGUgcGFyZW50Q29udGFpbmVyID0gaW5qZWN0KENvbnRyb2xDb250YWluZXIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgZXJyb3JNZXNzYWdlVHJpZ2dlciE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxWYWxpZGF0aW9uRXJyb3JDb21wb25lbnQ+IHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0IGZvcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50Q29udGFpbmVyPy5mb3JtRGlyZWN0aXZlIGFzIE5nRm9ybSB8IEZvcm1Hcm91cERpcmVjdGl2ZSB8IG51bGw7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMubmdDb250cm9sLmNvbnRyb2wpXG4gICAgICB0aHJvdyBFcnJvcihgTm8gY29udHJvbCBtb2RlbCBmb3IgJHt0aGlzLm5nQ29udHJvbC5uYW1lfSBjb250cm9sLi4uYCk7XG4gICAgdGhpcy5lcnJvck1lc3NhZ2VUcmlnZ2VyID0gbWVyZ2UoXG4gICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnN0YXR1c0NoYW5nZXMsXG4gICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdibHVyJyksXG4gICAgICBpaWYoKCkgPT4gISF0aGlzLmZvcm0sIHRoaXMuZm9ybSEubmdTdWJtaXQsIEVNUFRZKSxcbiAgICApLnBpcGUoXG4gICAgICBzdGFydFdpdGgodGhpcy5uZ0NvbnRyb2wuY29udHJvbC5zdGF0dXMpLFxuICAgICAgc2tpcCh0aGlzLm5nQ29udHJvbCBpbnN0YW5jZW9mIE5nTW9kZWwgPyAxIDogMCksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuZXJyb3JTdGF0ZU1hdGNoZXIuaXNFcnJvclN0YXRlKHRoaXMubmdDb250cm9sLmNvbnRyb2wsIHRoaXMuZm9ybSkpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KFZhbGlkYXRpb25FcnJvckNvbXBvbmVudCk7XG4gICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jb21wb25lbnRSZWYuc2V0SW5wdXQoJ2Vycm9ycycsIHRoaXMubmdDb250cm9sLmVycm9ycyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZj8uZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmVycm9yTWVzc2FnZVRyaWdnZXIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iXX0=