ng-prime-tools 1.0.5 → 1.0.6

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 (227) hide show
  1. package/README.md +276 -0
  2. package/esm2022/lib/enums/button-color.enum.mjs +10 -0
  3. package/esm2022/lib/enums/form-input-type.enum.mjs +14 -0
  4. package/esm2022/lib/enums/index.mjs +2 -6
  5. package/esm2022/lib/enums/input-validation.enum.mjs +8 -0
  6. package/esm2022/lib/enums/public-api.mjs +7 -0
  7. package/esm2022/lib/enums/{search-criteria-type-enum.mjs → search-criteria-type.enum.mjs} +1 -1
  8. package/esm2022/lib/enums/{table-type-enum.mjs → table-type.enum.mjs} +1 -1
  9. package/esm2022/lib/models/filter-option.model.mjs +2 -0
  10. package/esm2022/lib/models/form-button.model.mjs +2 -0
  11. package/esm2022/lib/models/form-check-field.model.mjs +2 -0
  12. package/esm2022/lib/models/form-date-field.model.mjs +2 -0
  13. package/esm2022/lib/models/form-drop-down-field.model.mjs +2 -0
  14. package/esm2022/lib/models/form-field-group.model.mjs +2 -0
  15. package/esm2022/lib/models/form-field.model.mjs +2 -0
  16. package/esm2022/lib/models/form-multi-select.model.mjs +2 -0
  17. package/esm2022/lib/models/form-number-field.model.mjs +2 -0
  18. package/esm2022/lib/models/form-switch-field.model.mjs +2 -0
  19. package/esm2022/lib/models/form-text-area-field.model.mjs +2 -0
  20. package/esm2022/lib/models/form-text-field.model.mjs +2 -0
  21. package/esm2022/lib/models/index.mjs +2 -2
  22. package/esm2022/lib/models/public-api.mjs +15 -0
  23. package/esm2022/lib/models/search-criteria.model.mjs +2 -0
  24. package/esm2022/lib/models/table-column.model.mjs +2 -0
  25. package/esm2022/lib/multi-search-criteria/multi-search-criteria.component.mjs +1 -1
  26. package/esm2022/lib/ng-prime-tools.module.mjs +66 -6
  27. package/esm2022/lib/pt-check-box-input/index.mjs +2 -0
  28. package/esm2022/lib/pt-check-box-input/pt-check-box-input.component.mjs +61 -0
  29. package/esm2022/lib/pt-check-box-input/pt-check-box-input.module.mjs +20 -0
  30. package/esm2022/lib/pt-check-box-input/public-api.mjs +3 -0
  31. package/esm2022/lib/pt-date-input/index.mjs +2 -0
  32. package/esm2022/lib/pt-date-input/pt-date-input.component.mjs +85 -0
  33. package/esm2022/lib/pt-date-input/pt-date-input.module.mjs +20 -0
  34. package/esm2022/lib/pt-date-input/pt-date.service.mjs +62 -0
  35. package/esm2022/lib/pt-date-input/public-api.mjs +3 -0
  36. package/esm2022/lib/pt-dropdown/index.mjs +2 -0
  37. package/esm2022/lib/pt-dropdown/pt-dropdown.component.mjs +57 -0
  38. package/esm2022/lib/pt-dropdown/pt-dropdown.module.mjs +20 -0
  39. package/esm2022/lib/pt-dropdown/public-api.mjs +3 -0
  40. package/esm2022/lib/pt-form-builder/index.mjs +2 -0
  41. package/esm2022/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field-module.mjs +59 -0
  42. package/esm2022/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field.component.mjs +55 -0
  43. package/esm2022/lib/pt-form-builder/pt-form-builder.component.mjs +77 -0
  44. package/esm2022/lib/pt-form-builder/pt-form-builder.module.mjs +32 -0
  45. package/esm2022/lib/pt-form-builder/public-api.mjs +3 -0
  46. package/esm2022/lib/pt-multi-select/index.mjs +2 -0
  47. package/esm2022/lib/pt-multi-select/pt-multi-select.component.mjs +57 -0
  48. package/esm2022/lib/pt-multi-select/pt-multi-select.module.mjs +20 -0
  49. package/esm2022/lib/pt-multi-select/public-api.mjs +3 -0
  50. package/esm2022/lib/pt-number-input/index.mjs +2 -0
  51. package/esm2022/lib/pt-number-input/pt-number-input.component.mjs +88 -0
  52. package/esm2022/lib/pt-number-input/pt-number-input.module.mjs +43 -0
  53. package/esm2022/lib/pt-number-input/public-api.mjs +3 -0
  54. package/esm2022/lib/pt-switch-input/index.mjs +2 -0
  55. package/esm2022/lib/pt-switch-input/pt-switch-input.component.mjs +62 -0
  56. package/esm2022/lib/pt-switch-input/pt-switch-input.module.mjs +20 -0
  57. package/esm2022/lib/pt-switch-input/public-api.mjs +3 -0
  58. package/esm2022/lib/pt-text-area-input/index.mjs +2 -0
  59. package/esm2022/lib/pt-text-area-input/pt-text-area-input.component.mjs +83 -0
  60. package/esm2022/lib/pt-text-area-input/pt-text-area-input.module.mjs +36 -0
  61. package/esm2022/lib/pt-text-area-input/public-api.mjs +3 -0
  62. package/esm2022/lib/pt-text-input/index.mjs +2 -0
  63. package/esm2022/lib/pt-text-input/pt-text-input.component.mjs +86 -0
  64. package/esm2022/lib/pt-text-input/pt-text-input.module.mjs +36 -0
  65. package/esm2022/lib/pt-text-input/public-api.mjs +3 -0
  66. package/esm2022/lib/types/date-format.type.mjs +2 -0
  67. package/esm2022/lib/types/date-input.type.mjs +2 -0
  68. package/esm2022/lib/types/index.mjs +2 -0
  69. package/esm2022/lib/types/public-api.mjs +2 -0
  70. package/esm2022/lib/utils/date.util.mjs +69 -0
  71. package/esm2022/public-api.mjs +11 -2
  72. package/fesm2022/ng-prime-tools.mjs +1099 -18
  73. package/fesm2022/ng-prime-tools.mjs.map +1 -1
  74. package/lib/enums/button-color.enum.d.ts +9 -0
  75. package/lib/enums/button-color.enum.d.ts.map +1 -0
  76. package/lib/enums/form-input-type.enum.d.ts +13 -0
  77. package/lib/enums/form-input-type.enum.d.ts.map +1 -0
  78. package/lib/enums/index.d.ts +1 -5
  79. package/lib/enums/index.d.ts.map +1 -1
  80. package/lib/enums/input-validation.enum.d.ts +7 -0
  81. package/lib/enums/input-validation.enum.d.ts.map +1 -0
  82. package/lib/enums/public-api.d.ts +6 -0
  83. package/lib/enums/public-api.d.ts.map +1 -0
  84. package/lib/enums/{search-criteria-type-enum.d.ts → search-criteria-type.enum.d.ts} +1 -1
  85. package/lib/enums/search-criteria-type.enum.d.ts.map +1 -0
  86. package/lib/enums/{table-type-enum.d.ts → table-type.enum.d.ts} +1 -1
  87. package/lib/enums/table-type.enum.d.ts.map +1 -0
  88. package/lib/models/{filter-option.d.ts → filter-option.model.d.ts} +1 -1
  89. package/lib/models/filter-option.model.d.ts.map +1 -0
  90. package/lib/models/form-button.model.d.ts +10 -0
  91. package/lib/models/form-button.model.d.ts.map +1 -0
  92. package/lib/models/form-check-field.model.d.ts +4 -0
  93. package/lib/models/form-check-field.model.d.ts.map +1 -0
  94. package/lib/models/form-date-field.model.d.ts +11 -0
  95. package/lib/models/form-date-field.model.d.ts.map +1 -0
  96. package/lib/models/form-drop-down-field.model.d.ts +5 -0
  97. package/lib/models/form-drop-down-field.model.d.ts.map +1 -0
  98. package/lib/models/form-field-group.model.d.ts +7 -0
  99. package/lib/models/form-field-group.model.d.ts.map +1 -0
  100. package/lib/models/form-field.model.d.ts +16 -0
  101. package/lib/models/form-field.model.d.ts.map +1 -0
  102. package/lib/models/form-multi-select.model.d.ts +5 -0
  103. package/lib/models/form-multi-select.model.d.ts.map +1 -0
  104. package/lib/models/form-number-field.model.d.ts +11 -0
  105. package/lib/models/form-number-field.model.d.ts.map +1 -0
  106. package/lib/models/form-switch-field.model.d.ts +4 -0
  107. package/lib/models/form-switch-field.model.d.ts.map +1 -0
  108. package/lib/models/form-text-area-field.model.d.ts +11 -0
  109. package/lib/models/form-text-area-field.model.d.ts.map +1 -0
  110. package/lib/models/form-text-field.model.d.ts +8 -0
  111. package/lib/models/form-text-field.model.d.ts.map +1 -0
  112. package/lib/models/index.d.ts +1 -1
  113. package/lib/models/public-api.d.ts +15 -0
  114. package/lib/models/public-api.d.ts.map +1 -0
  115. package/lib/models/{search-criteria.d.ts → search-criteria.model.d.ts} +3 -3
  116. package/lib/models/search-criteria.model.d.ts.map +1 -0
  117. package/lib/models/{table-column.d.ts → table-column.model.d.ts} +2 -2
  118. package/lib/models/table-column.model.d.ts.map +1 -0
  119. package/lib/multi-search-criteria/multi-search-criteria.component.d.ts +2 -2
  120. package/lib/multi-search-criteria/multi-search-criteria.component.d.ts.map +1 -1
  121. package/lib/ng-prime-tools.module.d.ts +8 -1
  122. package/lib/ng-prime-tools.module.d.ts.map +1 -1
  123. package/lib/pt-check-box-input/index.d.ts +2 -0
  124. package/lib/pt-check-box-input/index.d.ts.map +1 -0
  125. package/lib/pt-check-box-input/pt-check-box-input.component.d.ts +16 -0
  126. package/lib/pt-check-box-input/pt-check-box-input.component.d.ts.map +1 -0
  127. package/lib/pt-check-box-input/pt-check-box-input.module.d.ts +11 -0
  128. package/lib/pt-check-box-input/pt-check-box-input.module.d.ts.map +1 -0
  129. package/lib/pt-check-box-input/public-api.d.ts +3 -0
  130. package/lib/pt-check-box-input/public-api.d.ts.map +1 -0
  131. package/lib/pt-date-input/index.d.ts +2 -0
  132. package/lib/pt-date-input/index.d.ts.map +1 -0
  133. package/lib/pt-date-input/pt-date-input.component.d.ts +24 -0
  134. package/lib/pt-date-input/pt-date-input.component.d.ts.map +1 -0
  135. package/lib/pt-date-input/pt-date-input.module.d.ts +11 -0
  136. package/lib/pt-date-input/pt-date-input.module.d.ts.map +1 -0
  137. package/lib/pt-date-input/pt-date.service.d.ts +11 -0
  138. package/lib/pt-date-input/pt-date.service.d.ts.map +1 -0
  139. package/lib/pt-date-input/public-api.d.ts +3 -0
  140. package/lib/pt-date-input/public-api.d.ts.map +1 -0
  141. package/lib/pt-dropdown/index.d.ts +2 -0
  142. package/lib/pt-dropdown/index.d.ts.map +1 -0
  143. package/lib/pt-dropdown/pt-dropdown.component.d.ts +15 -0
  144. package/lib/pt-dropdown/pt-dropdown.component.d.ts.map +1 -0
  145. package/lib/pt-dropdown/pt-dropdown.module.d.ts +11 -0
  146. package/lib/pt-dropdown/pt-dropdown.module.d.ts.map +1 -0
  147. package/lib/pt-dropdown/public-api.d.ts +3 -0
  148. package/lib/pt-dropdown/public-api.d.ts.map +1 -0
  149. package/lib/pt-form-builder/index.d.ts +2 -0
  150. package/lib/pt-form-builder/index.d.ts.map +1 -0
  151. package/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field-module.d.ts +18 -0
  152. package/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field-module.d.ts.map +1 -0
  153. package/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field.component.d.ts +29 -0
  154. package/lib/pt-form-builder/pt-dynamic-form-field/pt-dynamic-form-field.component.d.ts.map +1 -0
  155. package/lib/pt-form-builder/pt-form-builder.component.d.ts +33 -0
  156. package/lib/pt-form-builder/pt-form-builder.component.d.ts.map +1 -0
  157. package/lib/pt-form-builder/pt-form-builder.module.d.ts +12 -0
  158. package/lib/pt-form-builder/pt-form-builder.module.d.ts.map +1 -0
  159. package/lib/pt-form-builder/public-api.d.ts +3 -0
  160. package/lib/pt-form-builder/public-api.d.ts.map +1 -0
  161. package/lib/pt-multi-select/index.d.ts +2 -0
  162. package/lib/pt-multi-select/index.d.ts.map +1 -0
  163. package/lib/pt-multi-select/pt-multi-select.component.d.ts +15 -0
  164. package/lib/pt-multi-select/pt-multi-select.component.d.ts.map +1 -0
  165. package/lib/pt-multi-select/pt-multi-select.module.d.ts +11 -0
  166. package/lib/pt-multi-select/pt-multi-select.module.d.ts.map +1 -0
  167. package/lib/pt-multi-select/public-api.d.ts +3 -0
  168. package/lib/pt-multi-select/public-api.d.ts.map +1 -0
  169. package/lib/pt-number-input/index.d.ts +2 -0
  170. package/lib/pt-number-input/index.d.ts.map +1 -0
  171. package/lib/pt-number-input/pt-number-input.component.d.ts +16 -0
  172. package/lib/pt-number-input/pt-number-input.component.d.ts.map +1 -0
  173. package/lib/pt-number-input/pt-number-input.module.d.ts +14 -0
  174. package/lib/pt-number-input/pt-number-input.module.d.ts.map +1 -0
  175. package/lib/pt-number-input/public-api.d.ts +3 -0
  176. package/lib/pt-number-input/public-api.d.ts.map +1 -0
  177. package/lib/pt-switch-input/index.d.ts +2 -0
  178. package/lib/pt-switch-input/index.d.ts.map +1 -0
  179. package/lib/pt-switch-input/pt-switch-input.component.d.ts +16 -0
  180. package/lib/pt-switch-input/pt-switch-input.component.d.ts.map +1 -0
  181. package/lib/pt-switch-input/pt-switch-input.module.d.ts +11 -0
  182. package/lib/pt-switch-input/pt-switch-input.module.d.ts.map +1 -0
  183. package/lib/pt-switch-input/public-api.d.ts +3 -0
  184. package/lib/pt-switch-input/public-api.d.ts.map +1 -0
  185. package/lib/pt-text-area-input/index.d.ts +2 -0
  186. package/lib/pt-text-area-input/index.d.ts.map +1 -0
  187. package/lib/pt-text-area-input/pt-text-area-input.component.d.ts +17 -0
  188. package/lib/pt-text-area-input/pt-text-area-input.component.d.ts.map +1 -0
  189. package/lib/pt-text-area-input/pt-text-area-input.module.d.ts +13 -0
  190. package/lib/pt-text-area-input/pt-text-area-input.module.d.ts.map +1 -0
  191. package/lib/pt-text-area-input/public-api.d.ts +3 -0
  192. package/lib/pt-text-area-input/public-api.d.ts.map +1 -0
  193. package/lib/pt-text-input/index.d.ts +2 -0
  194. package/lib/pt-text-input/index.d.ts.map +1 -0
  195. package/lib/pt-text-input/pt-text-input.component.d.ts +18 -0
  196. package/lib/pt-text-input/pt-text-input.component.d.ts.map +1 -0
  197. package/lib/pt-text-input/pt-text-input.module.d.ts +13 -0
  198. package/lib/pt-text-input/pt-text-input.module.d.ts.map +1 -0
  199. package/lib/pt-text-input/public-api.d.ts +3 -0
  200. package/lib/pt-text-input/public-api.d.ts.map +1 -0
  201. package/lib/types/date-format.type.d.ts +2 -0
  202. package/lib/types/date-format.type.d.ts.map +1 -0
  203. package/lib/types/date-input.type.d.ts +2 -0
  204. package/lib/types/date-input.type.d.ts.map +1 -0
  205. package/lib/types/index.d.ts +2 -0
  206. package/lib/types/index.d.ts.map +1 -0
  207. package/lib/types/public-api.d.ts +2 -0
  208. package/lib/types/public-api.d.ts.map +1 -0
  209. package/lib/utils/date.util.d.ts +7 -0
  210. package/lib/utils/date.util.d.ts.map +1 -0
  211. package/package.json +1 -1
  212. package/public-api.d.ts +9 -0
  213. package/public-api.d.ts.map +1 -1
  214. package/esm2022/lib/enums/public_api.mjs +0 -4
  215. package/esm2022/lib/models/filter-option.mjs +0 -2
  216. package/esm2022/lib/models/public_api.mjs +0 -5
  217. package/esm2022/lib/models/search-criteria.mjs +0 -2
  218. package/esm2022/lib/models/table-column.mjs +0 -2
  219. package/lib/enums/public_api.d.ts +0 -3
  220. package/lib/enums/public_api.d.ts.map +0 -1
  221. package/lib/enums/search-criteria-type-enum.d.ts.map +0 -1
  222. package/lib/enums/table-type-enum.d.ts.map +0 -1
  223. package/lib/models/filter-option.d.ts.map +0 -1
  224. package/lib/models/public_api.d.ts +0 -4
  225. package/lib/models/public_api.d.ts.map +0 -1
  226. package/lib/models/search-criteria.d.ts.map +0 -1
  227. package/lib/models/table-column.d.ts.map +0 -1
@@ -0,0 +1,59 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { PTDynamicFormFieldComponent as PTDynamicFormFieldComponent } from './pt-dynamic-form-field.component';
5
+ import { PTCheckBoxInputModule } from '../../pt-check-box-input';
6
+ import { PTNumberInputModule } from '../../pt-number-input/pt-number-input.module';
7
+ import { PTSwitchInputModule } from '../../pt-switch-input/pt-switch-input.module';
8
+ import { PTTextInputModule } from '../../pt-text-input/pt-text-input.module';
9
+ import { PTTextAreaInputModule } from '../../pt-text-area-input/pt-text-area-input.module';
10
+ import { PTDateInputModule } from '../../pt-date-input';
11
+ import { PTDropdownModule } from '../../pt-dropdown';
12
+ import { PTMultiSelectModule } from '../../pt-multi-select';
13
+ import * as i0 from "@angular/core";
14
+ export class PTDynamicFormFieldModule {
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDynamicFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTDynamicFormFieldModule, declarations: [PTDynamicFormFieldComponent], imports: [CommonModule,
17
+ ReactiveFormsModule,
18
+ // Inputs
19
+ PTCheckBoxInputModule,
20
+ PTDateInputModule,
21
+ PTNumberInputModule,
22
+ PTSwitchInputModule,
23
+ PTTextAreaInputModule,
24
+ PTTextInputModule,
25
+ PTDropdownModule,
26
+ PTMultiSelectModule], exports: [PTDynamicFormFieldComponent] }); }
27
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDynamicFormFieldModule, imports: [CommonModule,
28
+ ReactiveFormsModule,
29
+ // Inputs
30
+ PTCheckBoxInputModule,
31
+ PTDateInputModule,
32
+ PTNumberInputModule,
33
+ PTSwitchInputModule,
34
+ PTTextAreaInputModule,
35
+ PTTextInputModule,
36
+ PTDropdownModule,
37
+ PTMultiSelectModule] }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDynamicFormFieldModule, decorators: [{
40
+ type: NgModule,
41
+ args: [{
42
+ declarations: [PTDynamicFormFieldComponent],
43
+ imports: [
44
+ CommonModule,
45
+ ReactiveFormsModule,
46
+ // Inputs
47
+ PTCheckBoxInputModule,
48
+ PTDateInputModule,
49
+ PTNumberInputModule,
50
+ PTSwitchInputModule,
51
+ PTTextAreaInputModule,
52
+ PTTextInputModule,
53
+ PTDropdownModule,
54
+ PTMultiSelectModule,
55
+ ],
56
+ exports: [PTDynamicFormFieldComponent],
57
+ }]
58
+ }] });
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZHluYW1pYy1mb3JtLWZpZWxkLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZm9ybS1idWlsZGVyL3B0LWR5bmFtaWMtZm9ybS1maWVsZC9wdC1keW5hbWljLWZvcm0tZmllbGQtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSwyQkFBMkIsSUFBSSwyQkFBMkIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQy9HLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQW9CNUQsTUFBTSxPQUFPLHdCQUF3QjsrR0FBeEIsd0JBQXdCO2dIQUF4Qix3QkFBd0IsaUJBakJwQiwyQkFBMkIsYUFFeEMsWUFBWTtZQUNaLG1CQUFtQjtZQUVuQixTQUFTO1lBQ1QscUJBQXFCO1lBQ3JCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixpQkFBaUI7WUFDakIsZ0JBQWdCO1lBQ2hCLG1CQUFtQixhQUVYLDJCQUEyQjtnSEFFMUIsd0JBQXdCLFlBZmpDLFlBQVk7WUFDWixtQkFBbUI7WUFFbkIsU0FBUztZQUNULHFCQUFxQjtZQUNyQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixtQkFBbUI7OzRGQUlWLHdCQUF3QjtrQkFsQnBDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzNDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFFbkIsU0FBUzt3QkFDVCxxQkFBcUI7d0JBQ3JCLGlCQUFpQjt3QkFDakIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUFREeW5hbWljRm9ybUZpZWxkQ29tcG9uZW50IGFzIFBURHluYW1pY0Zvcm1GaWVsZENvbXBvbmVudCB9IGZyb20gJy4vcHQtZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQVENoZWNrQm94SW5wdXRNb2R1bGUgfSBmcm9tICcuLi8uLi9wdC1jaGVjay1ib3gtaW5wdXQnO1xuaW1wb3J0IHsgUFROdW1iZXJJbnB1dE1vZHVsZSB9IGZyb20gJy4uLy4uL3B0LW51bWJlci1pbnB1dC9wdC1udW1iZXItaW5wdXQubW9kdWxlJztcbmltcG9ydCB7IFBUU3dpdGNoSW5wdXRNb2R1bGUgfSBmcm9tICcuLi8uLi9wdC1zd2l0Y2gtaW5wdXQvcHQtc3dpdGNoLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBQVFRleHRJbnB1dE1vZHVsZSB9IGZyb20gJy4uLy4uL3B0LXRleHQtaW5wdXQvcHQtdGV4dC1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgUFRUZXh0QXJlYUlucHV0TW9kdWxlIH0gZnJvbSAnLi4vLi4vcHQtdGV4dC1hcmVhLWlucHV0L3B0LXRleHQtYXJlYS1pbnB1dC5tb2R1bGUnO1xuaW1wb3J0IHsgUFREYXRlSW5wdXRNb2R1bGUgfSBmcm9tICcuLi8uLi9wdC1kYXRlLWlucHV0JztcbmltcG9ydCB7IFBURHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuLi8uLi9wdC1kcm9wZG93bic7XG5pbXBvcnQgeyBQVE11bHRpU2VsZWN0TW9kdWxlIH0gZnJvbSAnLi4vLi4vcHQtbXVsdGktc2VsZWN0JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUFREeW5hbWljRm9ybUZpZWxkQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXG4gICAgLy8gSW5wdXRzXG4gICAgUFRDaGVja0JveElucHV0TW9kdWxlLFxuICAgIFBURGF0ZUlucHV0TW9kdWxlLFxuICAgIFBUTnVtYmVySW5wdXRNb2R1bGUsXG4gICAgUFRTd2l0Y2hJbnB1dE1vZHVsZSxcbiAgICBQVFRleHRBcmVhSW5wdXRNb2R1bGUsXG4gICAgUFRUZXh0SW5wdXRNb2R1bGUsXG4gICAgUFREcm9wZG93bk1vZHVsZSxcbiAgICBQVE11bHRpU2VsZWN0TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbUFREeW5hbWljRm9ybUZpZWxkQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUFREeW5hbWljRm9ybUZpZWxkTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FormInputTypeEnum } from '../../enums';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "../../pt-check-box-input/pt-check-box-input.component";
7
+ import * as i4 from "../../pt-date-input/pt-date-input.component";
8
+ import * as i5 from "../../pt-number-input/pt-number-input.component";
9
+ import * as i6 from "../../pt-switch-input/pt-switch-input.component";
10
+ import * as i7 from "../../pt-text-area-input/pt-text-area-input.component";
11
+ import * as i8 from "../../pt-text-input/pt-text-input.component";
12
+ import * as i9 from "../../pt-dropdown/pt-dropdown.component";
13
+ import * as i10 from "../../pt-multi-select/pt-multi-select.component";
14
+ export class PTDynamicFormFieldComponent {
15
+ constructor() {
16
+ this.FormInputTypeEnum = FormInputTypeEnum;
17
+ }
18
+ asTextField(field) {
19
+ return field;
20
+ }
21
+ asNumberField(field) {
22
+ return field;
23
+ }
24
+ asTextAreaField(field) {
25
+ return field;
26
+ }
27
+ asDateField(field) {
28
+ return field;
29
+ }
30
+ asSelectField(field) {
31
+ return field;
32
+ }
33
+ asMultiSelectField(field) {
34
+ return field;
35
+ }
36
+ asCheckboxField(field) {
37
+ return field;
38
+ }
39
+ asSwitchField(field) {
40
+ return field;
41
+ }
42
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDynamicFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTDynamicFormFieldComponent, selector: "pt-dynamic-form-field", inputs: { field: "field", form: "form", inputWidth: "inputWidth" }, ngImport: i0, template: "<div\n [formGroup]=\"form\"\n class=\"form-field\"\n [ngStyle]=\"{\n width:\n field.type !== FormInputTypeEnum.CHECKBOX &&\n field.type !== FormInputTypeEnum.SWITCH\n ? field.width || inputWidth\n : 'auto'\n }\"\n>\n <ng-container [ngSwitch]=\"field.type\">\n <pt-text-input\n *ngSwitchCase=\"FormInputTypeEnum.TEXT\"\n [formGroup]=\"form\"\n [formField]=\"asTextField(field)\"\n ></pt-text-input>\n <pt-number-input\n *ngSwitchCase=\"FormInputTypeEnum.NUMBER\"\n [formGroup]=\"form\"\n [formField]=\"asNumberField(field)\"\n ></pt-number-input>\n <pt-number-input\n *ngSwitchCase=\"FormInputTypeEnum.AMOUNT\"\n [formGroup]=\"form\"\n [formField]=\"asNumberField(field)\"\n ></pt-number-input>\n <pt-text-area-input\n *ngSwitchCase=\"FormInputTypeEnum.TEXTAREA\"\n [formGroup]=\"form\"\n [formField]=\"asTextAreaField(field)\"\n ></pt-text-area-input>\n <pt-date-input\n *ngSwitchCase=\"FormInputTypeEnum.DATE\"\n [formGroup]=\"form\"\n [formField]=\"asDateField(field)\"\n ></pt-date-input>\n <pt-multi-select\n *ngSwitchCase=\"FormInputTypeEnum.MULTISELECT\"\n [formGroup]=\"form\"\n [formField]=\"asMultiSelectField(field)\"\n ></pt-multi-select>\n <pt-dropdown\n *ngSwitchCase=\"FormInputTypeEnum.SELECT\"\n [formGroup]=\"form\"\n [formField]=\"asSelectField(field)\"\n ></pt-dropdown>\n <pt-check-box-input\n *ngSwitchCase=\"FormInputTypeEnum.CHECKBOX\"\n [formGroup]=\"form\"\n [formField]=\"asCheckboxField(field)\"\n ></pt-check-box-input>\n <pt-switch-input\n *ngSwitchCase=\"FormInputTypeEnum.SWITCH\"\n [formGroup]=\"form\"\n [formField]=\"asSwitchField(field)\"\n ></pt-switch-input>\n </ng-container>\n</div>\n", styles: [".form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { 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: "component", type: i3.PTCheckBoxInputComponent, selector: "pt-check-box-input", inputs: ["formGroup", "formField"] }, { kind: "component", type: i4.PTDateInputComponent, selector: "pt-date-input", inputs: ["formGroup", "formField"] }, { kind: "component", type: i5.PTNumberInputComponent, selector: "pt-number-input", inputs: ["formGroup", "formField"] }, { kind: "component", type: i6.PTSwitchInputComponent, selector: "pt-switch-input", inputs: ["formGroup", "formField"] }, { kind: "component", type: i7.PTTextAreaInputComponent, selector: "pt-text-area-input", inputs: ["formGroup", "formField"] }, { kind: "component", type: i8.PTTextInputComponent, selector: "pt-text-input", inputs: ["formGroup", "formField"] }, { kind: "component", type: i9.PTDropdownComponent, selector: "pt-dropdown", inputs: ["formGroup", "formField"] }, { kind: "component", type: i10.PTMultiSelectComponent, selector: "pt-multi-select", inputs: ["formGroup", "formField"] }] }); }
44
+ }
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTDynamicFormFieldComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'pt-dynamic-form-field', template: "<div\n [formGroup]=\"form\"\n class=\"form-field\"\n [ngStyle]=\"{\n width:\n field.type !== FormInputTypeEnum.CHECKBOX &&\n field.type !== FormInputTypeEnum.SWITCH\n ? field.width || inputWidth\n : 'auto'\n }\"\n>\n <ng-container [ngSwitch]=\"field.type\">\n <pt-text-input\n *ngSwitchCase=\"FormInputTypeEnum.TEXT\"\n [formGroup]=\"form\"\n [formField]=\"asTextField(field)\"\n ></pt-text-input>\n <pt-number-input\n *ngSwitchCase=\"FormInputTypeEnum.NUMBER\"\n [formGroup]=\"form\"\n [formField]=\"asNumberField(field)\"\n ></pt-number-input>\n <pt-number-input\n *ngSwitchCase=\"FormInputTypeEnum.AMOUNT\"\n [formGroup]=\"form\"\n [formField]=\"asNumberField(field)\"\n ></pt-number-input>\n <pt-text-area-input\n *ngSwitchCase=\"FormInputTypeEnum.TEXTAREA\"\n [formGroup]=\"form\"\n [formField]=\"asTextAreaField(field)\"\n ></pt-text-area-input>\n <pt-date-input\n *ngSwitchCase=\"FormInputTypeEnum.DATE\"\n [formGroup]=\"form\"\n [formField]=\"asDateField(field)\"\n ></pt-date-input>\n <pt-multi-select\n *ngSwitchCase=\"FormInputTypeEnum.MULTISELECT\"\n [formGroup]=\"form\"\n [formField]=\"asMultiSelectField(field)\"\n ></pt-multi-select>\n <pt-dropdown\n *ngSwitchCase=\"FormInputTypeEnum.SELECT\"\n [formGroup]=\"form\"\n [formField]=\"asSelectField(field)\"\n ></pt-dropdown>\n <pt-check-box-input\n *ngSwitchCase=\"FormInputTypeEnum.CHECKBOX\"\n [formGroup]=\"form\"\n [formField]=\"asCheckboxField(field)\"\n ></pt-check-box-input>\n <pt-switch-input\n *ngSwitchCase=\"FormInputTypeEnum.SWITCH\"\n [formGroup]=\"form\"\n [formField]=\"asSwitchField(field)\"\n ></pt-switch-input>\n </ng-container>\n</div>\n", styles: [".form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700}\n"] }]
48
+ }], propDecorators: { field: [{
49
+ type: Input
50
+ }], form: [{
51
+ type: Input
52
+ }], inputWidth: [{
53
+ type: Input
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZm9ybS1idWlsZGVyL3B0LWR5bmFtaWMtZm9ybS1maWVsZC9wdC1keW5hbWljLWZvcm0tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctcHJpbWUtdG9vbHMvc3JjL2xpYi9wdC1mb3JtLWJ1aWxkZXIvcHQtZHluYW1pYy1mb3JtLWZpZWxkL3B0LWR5bmFtaWMtZm9ybS1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7OztBQWVoRCxNQUFNLE9BQU8sMkJBQTJCO0lBTHhDO1FBVUUsc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7S0FpQ3ZDO0lBL0JDLFdBQVcsQ0FBQyxLQUFnQjtRQUMxQixPQUFPLEtBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixPQUFPLEtBQXdCLENBQUM7SUFDbEMsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFnQjtRQUM5QixPQUFPLEtBQTBCLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFnQjtRQUMxQixPQUFPLEtBQXNCLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFnQjtRQUM1QixPQUFPLEtBQTBCLENBQUM7SUFDcEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWdCO1FBQ2pDLE9BQU8sS0FBNkIsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQWdCO1FBQzlCLE9BQU8sS0FBMEIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQWdCO1FBQzVCLE9BQU8sS0FBd0IsQ0FBQztJQUNsQyxDQUFDOytHQXJDVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixpSUNsQnhDLHV6REEyREE7OzRGRHpDYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsdUJBQXVCOzhCQUt4QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUlucHV0VHlwZUVudW0gfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBGb3JtVGV4dEZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tdGV4dC1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtVGV4dEFyZWFGaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLXRleHQtYXJlYS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtTXVsdGlTZWxlY3RGaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLW11bHRpLXNlbGVjdC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtRHJvcGRvd25GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWRyb3AtZG93bi1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtU3dpdGNoRmllbGQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1zd2l0Y2gtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRm9ybU51bWJlckZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tbnVtYmVyLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZvcm1EYXRlRmllbGQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZm9ybS1kYXRlLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZvcm1DaGVja0JveEZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY2hlY2stZmllbGQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwdC1keW5hbWljLWZvcm0tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHQtZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHQtZHluYW1pYy1mb3JtLWZpZWxkLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUFREeW5hbWljRm9ybUZpZWxkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZmllbGQhOiBGb3JtRmllbGQ7XG4gIEBJbnB1dCgpIGZvcm0hOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGlucHV0V2lkdGghOiBzdHJpbmc7XG5cbiAgRm9ybUlucHV0VHlwZUVudW0gPSBGb3JtSW5wdXRUeXBlRW51bTtcblxuICBhc1RleHRGaWVsZChmaWVsZDogRm9ybUZpZWxkKTogRm9ybVRleHRGaWVsZCB7XG4gICAgcmV0dXJuIGZpZWxkIGFzIEZvcm1UZXh0RmllbGQ7XG4gIH1cblxuICBhc051bWJlckZpZWxkKGZpZWxkOiBGb3JtRmllbGQpOiBGb3JtTnVtYmVyRmllbGQge1xuICAgIHJldHVybiBmaWVsZCBhcyBGb3JtTnVtYmVyRmllbGQ7XG4gIH1cblxuICBhc1RleHRBcmVhRmllbGQoZmllbGQ6IEZvcm1GaWVsZCk6IEZvcm1UZXh0QXJlYUZpZWxkIHtcbiAgICByZXR1cm4gZmllbGQgYXMgRm9ybVRleHRBcmVhRmllbGQ7XG4gIH1cblxuICBhc0RhdGVGaWVsZChmaWVsZDogRm9ybUZpZWxkKTogRm9ybURhdGVGaWVsZCB7XG4gICAgcmV0dXJuIGZpZWxkIGFzIEZvcm1EYXRlRmllbGQ7XG4gIH1cblxuICBhc1NlbGVjdEZpZWxkKGZpZWxkOiBGb3JtRmllbGQpOiBGb3JtRHJvcGRvd25GaWVsZCB7XG4gICAgcmV0dXJuIGZpZWxkIGFzIEZvcm1Ecm9wZG93bkZpZWxkO1xuICB9XG5cbiAgYXNNdWx0aVNlbGVjdEZpZWxkKGZpZWxkOiBGb3JtRmllbGQpOiBGb3JtTXVsdGlTZWxlY3RGaWVsZCB7XG4gICAgcmV0dXJuIGZpZWxkIGFzIEZvcm1NdWx0aVNlbGVjdEZpZWxkO1xuICB9XG5cbiAgYXNDaGVja2JveEZpZWxkKGZpZWxkOiBGb3JtRmllbGQpOiBGb3JtQ2hlY2tCb3hGaWVsZCB7XG4gICAgcmV0dXJuIGZpZWxkIGFzIEZvcm1DaGVja0JveEZpZWxkO1xuICB9XG5cbiAgYXNTd2l0Y2hGaWVsZChmaWVsZDogRm9ybUZpZWxkKTogRm9ybVN3aXRjaEZpZWxkIHtcbiAgICByZXR1cm4gZmllbGQgYXMgRm9ybVN3aXRjaEZpZWxkO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIGNsYXNzPVwiZm9ybS1maWVsZFwiXG4gIFtuZ1N0eWxlXT1cIntcbiAgICB3aWR0aDpcbiAgICAgIGZpZWxkLnR5cGUgIT09IEZvcm1JbnB1dFR5cGVFbnVtLkNIRUNLQk9YICYmXG4gICAgICBmaWVsZC50eXBlICE9PSBGb3JtSW5wdXRUeXBlRW51bS5TV0lUQ0hcbiAgICAgICAgPyBmaWVsZC53aWR0aCB8fCBpbnB1dFdpZHRoXG4gICAgICAgIDogJ2F1dG8nXG4gIH1cIlxuPlxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJmaWVsZC50eXBlXCI+XG4gICAgPHB0LXRleHQtaW5wdXRcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJGb3JtSW5wdXRUeXBlRW51bS5URVhUXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICBbZm9ybUZpZWxkXT1cImFzVGV4dEZpZWxkKGZpZWxkKVwiXG4gICAgPjwvcHQtdGV4dC1pbnB1dD5cbiAgICA8cHQtbnVtYmVyLWlucHV0XG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiRm9ybUlucHV0VHlwZUVudW0uTlVNQkVSXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICBbZm9ybUZpZWxkXT1cImFzTnVtYmVyRmllbGQoZmllbGQpXCJcbiAgICA+PC9wdC1udW1iZXItaW5wdXQ+XG4gICAgPHB0LW51bWJlci1pbnB1dFxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkZvcm1JbnB1dFR5cGVFbnVtLkFNT1VOVFwiXG4gICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgW2Zvcm1GaWVsZF09XCJhc051bWJlckZpZWxkKGZpZWxkKVwiXG4gICAgPjwvcHQtbnVtYmVyLWlucHV0PlxuICAgIDxwdC10ZXh0LWFyZWEtaW5wdXRcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJGb3JtSW5wdXRUeXBlRW51bS5URVhUQVJFQVwiXG4gICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgW2Zvcm1GaWVsZF09XCJhc1RleHRBcmVhRmllbGQoZmllbGQpXCJcbiAgICA+PC9wdC10ZXh0LWFyZWEtaW5wdXQ+XG4gICAgPHB0LWRhdGUtaW5wdXRcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJGb3JtSW5wdXRUeXBlRW51bS5EQVRFXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICBbZm9ybUZpZWxkXT1cImFzRGF0ZUZpZWxkKGZpZWxkKVwiXG4gICAgPjwvcHQtZGF0ZS1pbnB1dD5cbiAgICA8cHQtbXVsdGktc2VsZWN0XG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiRm9ybUlucHV0VHlwZUVudW0uTVVMVElTRUxFQ1RcIlxuICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgIFtmb3JtRmllbGRdPVwiYXNNdWx0aVNlbGVjdEZpZWxkKGZpZWxkKVwiXG4gICAgPjwvcHQtbXVsdGktc2VsZWN0PlxuICAgIDxwdC1kcm9wZG93blxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkZvcm1JbnB1dFR5cGVFbnVtLlNFTEVDVFwiXG4gICAgICBbZm9ybUdyb3VwXT1cImZvcm1cIlxuICAgICAgW2Zvcm1GaWVsZF09XCJhc1NlbGVjdEZpZWxkKGZpZWxkKVwiXG4gICAgPjwvcHQtZHJvcGRvd24+XG4gICAgPHB0LWNoZWNrLWJveC1pbnB1dFxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIkZvcm1JbnB1dFR5cGVFbnVtLkNIRUNLQk9YXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICBbZm9ybUZpZWxkXT1cImFzQ2hlY2tib3hGaWVsZChmaWVsZClcIlxuICAgID48L3B0LWNoZWNrLWJveC1pbnB1dD5cbiAgICA8cHQtc3dpdGNoLWlucHV0XG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiRm9ybUlucHV0VHlwZUVudW0uU1dJVENIXCJcbiAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gICAgICBbZm9ybUZpZWxkXT1cImFzU3dpdGNoRmllbGQoZmllbGQpXCJcbiAgICA+PC9wdC1zd2l0Y2gtaW5wdXQ+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,77 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Validators } from '@angular/forms';
3
+ import { FormInputTypeEnum } from '../enums/form-input-type.enum';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "primeng/button";
8
+ import * as i4 from "./pt-dynamic-form-field/pt-dynamic-form-field.component";
9
+ export class PTFormBuilderComponent {
10
+ constructor(fb) {
11
+ this.fb = fb;
12
+ this.mainGroup = { fields: [], groups: [] };
13
+ this.buttons = [];
14
+ this.inputWidth = '100%';
15
+ this.language = 'en';
16
+ this.formSubmit = new EventEmitter();
17
+ this.FormInputTypeEnum = FormInputTypeEnum;
18
+ this.errorMessages = {
19
+ en: {
20
+ required: 'is required',
21
+ },
22
+ fr: {
23
+ required: 'est requis',
24
+ },
25
+ };
26
+ this.form = this.fb.group({});
27
+ }
28
+ ngOnInit() {
29
+ this.buildFormGroup(this.mainGroup);
30
+ }
31
+ buildFormGroup(group) {
32
+ group.fields?.forEach((field) => {
33
+ const validators = field.required ? [Validators.required] : [];
34
+ this.form.addControl(field.name, this.fb.control(field.value, validators));
35
+ });
36
+ group.groups?.forEach((subGroup) => {
37
+ this.buildFormGroup(subGroup);
38
+ });
39
+ }
40
+ getErrorMessage(field) {
41
+ if (this.form.get(field.name)?.hasError('required')) {
42
+ return (field.errorText ||
43
+ `${field.label} ${this.errorMessages[this.language].required}`);
44
+ }
45
+ return '';
46
+ }
47
+ onSubmit() {
48
+ this.form.markAllAsTouched();
49
+ if (this.form.valid) {
50
+ this.formSubmit.emit(this.form.value);
51
+ }
52
+ }
53
+ onClear() {
54
+ this.form.reset();
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFormBuilderComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTFormBuilderComponent, selector: "pt-form-builder", inputs: { mainGroup: "mainGroup", buttons: "buttons", title: "title", titleStyle: "titleStyle", inputWidth: "inputWidth", language: "language" }, outputs: { formSubmit: "formSubmit" }, ngImport: i0, template: "<div *ngIf=\"title\" [ngStyle]=\"titleStyle\" class=\"form-title\">{{ title }}</div>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <ng-container *ngFor=\"let field of mainGroup.fields\">\n <pt-dynamic-form-field\n [field]=\"field\"\n [form]=\"form\"\n [inputWidth]=\"inputWidth\"\n ></pt-dynamic-form-field>\n </ng-container>\n\n <ng-container *ngFor=\"let group of mainGroup.groups\">\n <div class=\"form-field-group\" [ngStyle]=\"{ width: group.width || '100%' }\">\n <ng-container *ngFor=\"let field of group.fields\">\n <pt-dynamic-form-field\n [field]=\"field\"\n [form]=\"form\"\n class=\"flex-item\"\n ></pt-dynamic-form-field>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"button-group\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n pButton\n [label]=\"button.text\"\n [icon]=\"button.icon || ''\"\n [class]=\"button.color\"\n (click)=\"\n button.isSubmit\n ? onSubmit()\n : button.isClear\n ? onClear()\n : button.action\n ? button.action()\n : null\n \"\n ></button>\n </div>\n</form>\n", styles: [".form-title{text-align:center;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700}::ng-deep .p-inputtext,::ng-deep .p-inputtextarea,::ng-deep .p-calendar,::ng-deep .p-inputnumber,::ng-deep .p-multiselect,::ng-deep .p-dropdown{width:100%!important}::ng-deep .p-inputnumber,::ng-deep p-inputnumber{display:flex!important}.button-group{display:flex;gap:1rem;margin-top:1rem;justify-content:space-between}.button-group button{flex:1;display:flex;align-items:center;justify-content:center}.button-group button i{margin-right:.5rem}.button-group button.p-button-primary{background-color:#007bff;color:#fff}.button-group button.p-button-secondary{background-color:#6c757d;color:#fff}.button-group button.p-button-success{background-color:#28a745;color:#fff}.button-group button:hover{opacity:.9}.form-field-group{display:flex;gap:1rem}.form-field-group .flex-item{flex:1}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: i4.PTDynamicFormFieldComponent, selector: "pt-dynamic-form-field", inputs: ["field", "form", "inputWidth"] }] }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFormBuilderComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'pt-form-builder', template: "<div *ngIf=\"title\" [ngStyle]=\"titleStyle\" class=\"form-title\">{{ title }}</div>\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <ng-container *ngFor=\"let field of mainGroup.fields\">\n <pt-dynamic-form-field\n [field]=\"field\"\n [form]=\"form\"\n [inputWidth]=\"inputWidth\"\n ></pt-dynamic-form-field>\n </ng-container>\n\n <ng-container *ngFor=\"let group of mainGroup.groups\">\n <div class=\"form-field-group\" [ngStyle]=\"{ width: group.width || '100%' }\">\n <ng-container *ngFor=\"let field of group.fields\">\n <pt-dynamic-form-field\n [field]=\"field\"\n [form]=\"form\"\n class=\"flex-item\"\n ></pt-dynamic-form-field>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"button-group\">\n <button\n *ngFor=\"let button of buttons\"\n type=\"button\"\n pButton\n [label]=\"button.text\"\n [icon]=\"button.icon || ''\"\n [class]=\"button.color\"\n (click)=\"\n button.isSubmit\n ? onSubmit()\n : button.isClear\n ? onClear()\n : button.action\n ? button.action()\n : null\n \"\n ></button>\n </div>\n</form>\n", styles: [".form-title{text-align:center;margin-bottom:1rem;font-size:1.5rem;font-weight:700}.form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700}::ng-deep .p-inputtext,::ng-deep .p-inputtextarea,::ng-deep .p-calendar,::ng-deep .p-inputnumber,::ng-deep .p-multiselect,::ng-deep .p-dropdown{width:100%!important}::ng-deep .p-inputnumber,::ng-deep p-inputnumber{display:flex!important}.button-group{display:flex;gap:1rem;margin-top:1rem;justify-content:space-between}.button-group button{flex:1;display:flex;align-items:center;justify-content:center}.button-group button i{margin-right:.5rem}.button-group button.p-button-primary{background-color:#007bff;color:#fff}.button-group button.p-button-secondary{background-color:#6c757d;color:#fff}.button-group button.p-button-success{background-color:#28a745;color:#fff}.button-group button:hover{opacity:.9}.form-field-group{display:flex;gap:1rem}.form-field-group .flex-item{flex:1}\n"] }]
62
+ }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { mainGroup: [{
63
+ type: Input
64
+ }], buttons: [{
65
+ type: Input
66
+ }], title: [{
67
+ type: Input
68
+ }], titleStyle: [{
69
+ type: Input
70
+ }], inputWidth: [{
71
+ type: Input
72
+ }], language: [{
73
+ type: Input
74
+ }], formSubmit: [{
75
+ type: Output
76
+ }] } });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZm9ybS1idWlsZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZm9ybS1idWlsZGVyL3B0LWZvcm0tYnVpbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LWZvcm0tYnVpbGRlci9wdC1mb3JtLWJ1aWxkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7QUFPbEUsTUFBTSxPQUFPLHNCQUFzQjtJQXFCakMsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFwQjFCLGNBQVMsR0FBbUIsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUN2RCxZQUFPLEdBQWlCLEVBQUUsQ0FBQztRQUczQixlQUFVLEdBQVcsTUFBTSxDQUFDO1FBQzVCLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBQzVCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUdsRSxzQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUU5QixrQkFBYSxHQUFHO1lBQ3RCLEVBQUUsRUFBRTtnQkFDRixRQUFRLEVBQUUsYUFBYTthQUN4QjtZQUNELEVBQUUsRUFBRTtnQkFDRixRQUFRLEVBQUUsWUFBWTthQUN2QjtTQUNGLENBQUM7UUFHQSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFxQjtRQUNsQyxLQUFLLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQ2xCLEtBQUssQ0FBQyxJQUFJLEVBQ1YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FDekMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFnQjtRQUM5QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNwRCxPQUFPLENBQ0wsS0FBSyxDQUFDLFNBQVM7Z0JBQ2YsR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUMvRCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDN0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNwQixDQUFDOytHQTlEVSxzQkFBc0I7bUdBQXRCLHNCQUFzQixnUENabkMscXRDQTBDQTs7NEZEOUJhLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7Z0ZBS2xCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZvcm1GaWVsZEdyb3VwIH0gZnJvbSAnLi4vbW9kZWxzL2Zvcm0tZmllbGQtZ3JvdXAubW9kZWwnO1xuaW1wb3J0IHsgRm9ybUJ1dHRvbiB9IGZyb20gJy4uL21vZGVscy9mb3JtLWJ1dHRvbi5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtSW5wdXRUeXBlRW51bSB9IGZyb20gJy4uL2VudW1zL2Zvcm0taW5wdXQtdHlwZS5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHQtZm9ybS1idWlsZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3B0LWZvcm0tYnVpbGRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3B0LWZvcm0tYnVpbGRlci5jb21wb25lbnQuY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBURm9ybUJ1aWxkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBtYWluR3JvdXA6IEZvcm1GaWVsZEdyb3VwID0geyBmaWVsZHM6IFtdLCBncm91cHM6IFtdIH07XG4gIEBJbnB1dCgpIGJ1dHRvbnM6IEZvcm1CdXR0b25bXSA9IFtdO1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgdGl0bGVTdHlsZT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG4gIEBJbnB1dCgpIGlucHV0V2lkdGg6IHN0cmluZyA9ICcxMDAlJztcbiAgQElucHV0KCkgbGFuZ3VhZ2U6ICdlbicgfCAnZnInID0gJ2VuJztcbiAgQE91dHB1dCgpIGZvcm1TdWJtaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgW2tleTogc3RyaW5nXTogYW55IH0+KCk7XG4gIGZvcm06IEZvcm1Hcm91cDtcblxuICBGb3JtSW5wdXRUeXBlRW51bSA9IEZvcm1JbnB1dFR5cGVFbnVtO1xuXG4gIHByaXZhdGUgZXJyb3JNZXNzYWdlcyA9IHtcbiAgICBlbjoge1xuICAgICAgcmVxdWlyZWQ6ICdpcyByZXF1aXJlZCcsXG4gICAgfSxcbiAgICBmcjoge1xuICAgICAgcmVxdWlyZWQ6ICdlc3QgcmVxdWlzJyxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7fSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmJ1aWxkRm9ybUdyb3VwKHRoaXMubWFpbkdyb3VwKTtcbiAgfVxuXG4gIGJ1aWxkRm9ybUdyb3VwKGdyb3VwOiBGb3JtRmllbGRHcm91cCkge1xuICAgIGdyb3VwLmZpZWxkcz8uZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgIGNvbnN0IHZhbGlkYXRvcnMgPSBmaWVsZC5yZXF1aXJlZCA/IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSA6IFtdO1xuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woXG4gICAgICAgIGZpZWxkLm5hbWUsXG4gICAgICAgIHRoaXMuZmIuY29udHJvbChmaWVsZC52YWx1ZSwgdmFsaWRhdG9ycylcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICBncm91cC5ncm91cHM/LmZvckVhY2goKHN1Ykdyb3VwKSA9PiB7XG4gICAgICB0aGlzLmJ1aWxkRm9ybUdyb3VwKHN1Ykdyb3VwKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldEVycm9yTWVzc2FnZShmaWVsZDogRm9ybUZpZWxkKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5mb3JtLmdldChmaWVsZC5uYW1lKT8uaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGZpZWxkLmVycm9yVGV4dCB8fFxuICAgICAgICBgJHtmaWVsZC5sYWJlbH0gJHt0aGlzLmVycm9yTWVzc2FnZXNbdGhpcy5sYW5ndWFnZV0ucmVxdWlyZWR9YFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgb25TdWJtaXQoKSB7XG4gICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICBpZiAodGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdCh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uQ2xlYXIoKSB7XG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJ0aXRsZVwiIFtuZ1N0eWxlXT1cInRpdGxlU3R5bGVcIiBjbGFzcz1cImZvcm0tdGl0bGVcIj57eyB0aXRsZSB9fTwvZGl2PlxuPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmllbGQgb2YgbWFpbkdyb3VwLmZpZWxkc1wiPlxuICAgIDxwdC1keW5hbWljLWZvcm0tZmllbGRcbiAgICAgIFtmaWVsZF09XCJmaWVsZFwiXG4gICAgICBbZm9ybV09XCJmb3JtXCJcbiAgICAgIFtpbnB1dFdpZHRoXT1cImlucHV0V2lkdGhcIlxuICAgID48L3B0LWR5bmFtaWMtZm9ybS1maWVsZD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgbWFpbkdyb3VwLmdyb3Vwc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkLWdyb3VwXCIgW25nU3R5bGVdPVwieyB3aWR0aDogZ3JvdXAud2lkdGggfHwgJzEwMCUnIH1cIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGZpZWxkIG9mIGdyb3VwLmZpZWxkc1wiPlxuICAgICAgICA8cHQtZHluYW1pYy1mb3JtLWZpZWxkXG4gICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgICAgICBbZm9ybV09XCJmb3JtXCJcbiAgICAgICAgICBjbGFzcz1cImZsZXgtaXRlbVwiXG4gICAgICAgID48L3B0LWR5bmFtaWMtZm9ybS1maWVsZD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWdyb3VwXCI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBidXR0b25zXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgcEJ1dHRvblxuICAgICAgW2xhYmVsXT1cImJ1dHRvbi50ZXh0XCJcbiAgICAgIFtpY29uXT1cImJ1dHRvbi5pY29uIHx8ICcnXCJcbiAgICAgIFtjbGFzc109XCJidXR0b24uY29sb3JcIlxuICAgICAgKGNsaWNrKT1cIlxuICAgICAgICBidXR0b24uaXNTdWJtaXRcbiAgICAgICAgICA/IG9uU3VibWl0KClcbiAgICAgICAgICA6IGJ1dHRvbi5pc0NsZWFyXG4gICAgICAgICAgPyBvbkNsZWFyKClcbiAgICAgICAgICA6IGJ1dHRvbi5hY3Rpb25cbiAgICAgICAgICA/IGJ1dHRvbi5hY3Rpb24oKVxuICAgICAgICAgIDogbnVsbFxuICAgICAgXCJcbiAgICA+PC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
@@ -0,0 +1,32 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { PTFormBuilderComponent } from './pt-form-builder.component';
5
+ import { ButtonModule } from 'primeng/button';
6
+ import { PTDynamicFormFieldModule } from './pt-dynamic-form-field/pt-dynamic-form-field-module';
7
+ import * as i0 from "@angular/core";
8
+ export class PTFormBuilderModule {
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFormBuilderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
10
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTFormBuilderModule, declarations: [PTFormBuilderComponent], imports: [CommonModule,
11
+ ReactiveFormsModule,
12
+ ButtonModule,
13
+ PTDynamicFormFieldModule], exports: [PTFormBuilderComponent] }); }
14
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFormBuilderModule, imports: [CommonModule,
15
+ ReactiveFormsModule,
16
+ ButtonModule,
17
+ PTDynamicFormFieldModule] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTFormBuilderModule, decorators: [{
20
+ type: NgModule,
21
+ args: [{
22
+ declarations: [PTFormBuilderComponent],
23
+ imports: [
24
+ CommonModule,
25
+ ReactiveFormsModule,
26
+ ButtonModule,
27
+ PTDynamicFormFieldModule,
28
+ ],
29
+ exports: [PTFormBuilderComponent],
30
+ }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtZm9ybS1idWlsZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZm9ybS1idWlsZGVyL3B0LWZvcm0tYnVpbGRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOztBQVloRyxNQUFNLE9BQU8sbUJBQW1COytHQUFuQixtQkFBbUI7Z0hBQW5CLG1CQUFtQixpQkFUZixzQkFBc0IsYUFFbkMsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osd0JBQXdCLGFBRWhCLHNCQUFzQjtnSEFFckIsbUJBQW1CLFlBUDVCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsWUFBWTtZQUNaLHdCQUF3Qjs7NEZBSWYsbUJBQW1CO2tCQVYvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFlBQVk7d0JBQ1osd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQVEZvcm1CdWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9wdC1mb3JtLWJ1aWxkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IFBURHluYW1pY0Zvcm1GaWVsZE1vZHVsZSB9IGZyb20gJy4vcHQtZHluYW1pYy1mb3JtLWZpZWxkL3B0LWR5bmFtaWMtZm9ybS1maWVsZC1tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtQVEZvcm1CdWlsZGVyQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEJ1dHRvbk1vZHVsZSxcbiAgICBQVER5bmFtaWNGb3JtRmllbGRNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtQVEZvcm1CdWlsZGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgUFRGb3JtQnVpbGRlck1vZHVsZSB7fVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './pt-form-builder.component';
2
+ export * from './pt-form-builder.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtZm9ybS1idWlsZGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdC1mb3JtLWJ1aWxkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHQtZm9ybS1idWlsZGVyLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LW11bHRpLXNlbGVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,57 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { FormControl, Validators } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "primeng/multiselect";
7
+ export class PTMultiSelectComponent {
8
+ ngOnInit() {
9
+ this.setupControl();
10
+ }
11
+ setupControl() {
12
+ let control = this.formGroup.get(this.formField.name);
13
+ if (!control) {
14
+ control = new FormControl(this.formField.value || []);
15
+ this.formGroup.addControl(this.formField.name, control);
16
+ }
17
+ const validators = this.getValidators();
18
+ control.setValidators(validators);
19
+ // Manage the disabled state using form control
20
+ setTimeout(() => {
21
+ if (this.formField.disabled !== undefined) {
22
+ if (this.formField.disabled) {
23
+ control.disable({ emitEvent: false });
24
+ }
25
+ else {
26
+ control.enable({ emitEvent: false });
27
+ }
28
+ }
29
+ control.updateValueAndValidity({ emitEvent: false });
30
+ });
31
+ }
32
+ getValidators() {
33
+ const validators = [];
34
+ if (this.formField.required) {
35
+ validators.push(Validators.required);
36
+ }
37
+ return validators;
38
+ }
39
+ getErrorMessage() {
40
+ const control = this.formGroup.get(this.formField.name);
41
+ if (control?.hasError('required')) {
42
+ return this.formField.errorText || `${this.formField.label} is required`;
43
+ }
44
+ return '';
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTMultiSelectComponent, selector: "pt-multi-select", inputs: { formGroup: "formGroup", formField: "formField" }, ngImport: i0, template: "<div\n [formGroup]=\"formGroup\"\n class=\"form-field\"\n [ngStyle]=\"{ width: formField.width || '100%' }\"\n *ngIf=\"!formField.hidden\"\n>\n <label *ngIf=\"formField.label\">{{ formField.label }}</label>\n <p-multiSelect\n [formControlName]=\"formField.name\"\n [options]=\"formField.options\"\n [placeholder]=\"formField.placeholder || 'Select options'\"\n optionLabel=\"label\"\n ></p-multiSelect>\n <div\n *ngIf=\"\n formGroup.get(formField.name)?.invalid &&\n formGroup.get(formField.name)?.touched\n \"\n >\n <small class=\"p-error\">{{ getErrorMessage() }}</small>\n </div>\n</div>\n", styles: [".form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "component", type: i3.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }] }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMultiSelectComponent, decorators: [{
50
+ type: Component,
51
+ args: [{ selector: 'pt-multi-select', template: "<div\n [formGroup]=\"formGroup\"\n class=\"form-field\"\n [ngStyle]=\"{ width: formField.width || '100%' }\"\n *ngIf=\"!formField.hidden\"\n>\n <label *ngIf=\"formField.label\">{{ formField.label }}</label>\n <p-multiSelect\n [formControlName]=\"formField.name\"\n [options]=\"formField.options\"\n [placeholder]=\"formField.placeholder || 'Select options'\"\n optionLabel=\"label\"\n ></p-multiSelect>\n <div\n *ngIf=\"\n formGroup.get(formField.name)?.invalid &&\n formGroup.get(formField.name)?.touched\n \"\n >\n <small class=\"p-error\">{{ getErrorMessage() }}</small>\n </div>\n</div>\n", styles: [".form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700}\n"] }]
52
+ }], propDecorators: { formGroup: [{
53
+ type: Input
54
+ }], formField: [{
55
+ type: Input
56
+ }] } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtbXVsdGktc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtbXVsdGktc2VsZWN0L3B0LW11bHRpLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LW11bHRpLXNlbGVjdC9wdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFhLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFRcEUsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQWdCLENBQUM7UUFFckUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFELENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDeEMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsQywrQ0FBK0M7UUFDL0MsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQzFDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDNUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGFBQWE7UUFDbkIsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hELElBQUksT0FBTyxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssY0FBYyxDQUFDO1FBQzNFLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7K0dBOUNVLHNCQUFzQjttR0FBdEIsc0JBQXNCLG1IQ1RuQywybkJBc0JBOzs0RkRiYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQUtsQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtTXVsdGlTZWxlY3RGaWVsZCB9IGZyb20gJy4uL21vZGVscy9mb3JtLW11bHRpLXNlbGVjdC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3B0LW11bHRpLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQVE11bHRpU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBmb3JtRmllbGQhOiBGb3JtTXVsdGlTZWxlY3RGaWVsZDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNldHVwQ29udHJvbCgpO1xuICB9XG5cbiAgc2V0dXBDb250cm9sKCkge1xuICAgIGxldCBjb250cm9sID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZm9ybUZpZWxkLm5hbWUpIGFzIEZvcm1Db250cm9sO1xuXG4gICAgaWYgKCFjb250cm9sKSB7XG4gICAgICBjb250cm9sID0gbmV3IEZvcm1Db250cm9sKHRoaXMuZm9ybUZpZWxkLnZhbHVlIHx8IFtdKTtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmFkZENvbnRyb2wodGhpcy5mb3JtRmllbGQubmFtZSwgY29udHJvbCk7XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IHRoaXMuZ2V0VmFsaWRhdG9ycygpO1xuICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyh2YWxpZGF0b3JzKTtcblxuICAgIC8vIE1hbmFnZSB0aGUgZGlzYWJsZWQgc3RhdGUgdXNpbmcgZm9ybSBjb250cm9sXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3JtRmllbGQuZGlzYWJsZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAodGhpcy5mb3JtRmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29udHJvbC51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsaWRhdG9ycygpIHtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gW107XG4gICAgaWYgKHRoaXMuZm9ybUZpZWxkLnJlcXVpcmVkKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29udHJvbCA9IHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmZvcm1GaWVsZC5uYW1lKTtcbiAgICBpZiAoY29udHJvbD8uaGFzRXJyb3IoJ3JlcXVpcmVkJykpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1GaWVsZC5lcnJvclRleHQgfHwgYCR7dGhpcy5mb3JtRmllbGQubGFiZWx9IGlzIHJlcXVpcmVkYDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgY2xhc3M9XCJmb3JtLWZpZWxkXCJcbiAgW25nU3R5bGVdPVwieyB3aWR0aDogZm9ybUZpZWxkLndpZHRoIHx8ICcxMDAlJyB9XCJcbiAgKm5nSWY9XCIhZm9ybUZpZWxkLmhpZGRlblwiXG4+XG4gIDxsYWJlbCAqbmdJZj1cImZvcm1GaWVsZC5sYWJlbFwiPnt7IGZvcm1GaWVsZC5sYWJlbCB9fTwvbGFiZWw+XG4gIDxwLW11bHRpU2VsZWN0XG4gICAgW2Zvcm1Db250cm9sTmFtZV09XCJmb3JtRmllbGQubmFtZVwiXG4gICAgW29wdGlvbnNdPVwiZm9ybUZpZWxkLm9wdGlvbnNcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJmb3JtRmllbGQucGxhY2Vob2xkZXIgfHwgJ1NlbGVjdCBvcHRpb25zJ1wiXG4gICAgb3B0aW9uTGFiZWw9XCJsYWJlbFwiXG4gID48L3AtbXVsdGlTZWxlY3Q+XG4gIDxkaXZcbiAgICAqbmdJZj1cIlxuICAgICAgZm9ybUdyb3VwLmdldChmb3JtRmllbGQubmFtZSk/LmludmFsaWQgJiZcbiAgICAgIGZvcm1Hcm91cC5nZXQoZm9ybUZpZWxkLm5hbWUpPy50b3VjaGVkXG4gICAgXCJcbiAgPlxuICAgIDxzbWFsbCBjbGFzcz1cInAtZXJyb3JcIj57eyBnZXRFcnJvck1lc3NhZ2UoKSB9fTwvc21hbGw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,20 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { MultiSelectModule } from 'primeng/multiselect'; // PrimeNG module
5
+ import { PTMultiSelectComponent } from './pt-multi-select.component';
6
+ import * as i0 from "@angular/core";
7
+ export class PTMultiSelectModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTMultiSelectModule, declarations: [PTMultiSelectComponent], imports: [CommonModule, ReactiveFormsModule, MultiSelectModule], exports: [PTMultiSelectComponent] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMultiSelectModule, imports: [CommonModule, ReactiveFormsModule, MultiSelectModule] }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTMultiSelectModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [PTMultiSelectComponent],
16
+ imports: [CommonModule, ReactiveFormsModule, MultiSelectModule],
17
+ exports: [PTMultiSelectComponent],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtbXVsdGktc2VsZWN0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtbXVsdGktc2VsZWN0L3B0LW11bHRpLXNlbGVjdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUMsQ0FBQyxpQkFBaUI7QUFDMUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBT3JFLE1BQU0sT0FBTyxtQkFBbUI7K0dBQW5CLG1CQUFtQjtnSEFBbkIsbUJBQW1CLGlCQUpmLHNCQUFzQixhQUMzQixZQUFZLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLGFBQ3BELHNCQUFzQjtnSEFFckIsbUJBQW1CLFlBSHBCLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUI7OzRGQUduRCxtQkFBbUI7a0JBTC9CLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ3RDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsQ0FBQztvQkFDL0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JzsgLy8gUHJpbWVORyBtb2R1bGVcbmltcG9ydCB7IFBUTXVsdGlTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3B0LW11bHRpLXNlbGVjdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtQVE11bHRpU2VsZWN0Q29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgTXVsdGlTZWxlY3RNb2R1bGVdLFxuICBleHBvcnRzOiBbUFRNdWx0aVNlbGVjdENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFBUTXVsdGlTZWxlY3RNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './pt-multi-select.component';
2
+ export * from './pt-multi-select.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtbXVsdGktc2VsZWN0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdC1tdWx0aS1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcHQtbXVsdGktc2VsZWN0Lm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LW51bWJlci1pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -0,0 +1,88 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { Validators, } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "primeng/inputgroup";
7
+ import * as i4 from "primeng/inputgroupaddon";
8
+ import * as i5 from "primeng/inputnumber";
9
+ export class PTNumberInputComponent {
10
+ ngOnInit() {
11
+ this.setupControl();
12
+ }
13
+ setupControl() {
14
+ const control = this.formGroup.get(this.formField.name);
15
+ if (control) {
16
+ const validators = this.getValidators();
17
+ control.setValidators(validators);
18
+ // Manage the disabled state directly
19
+ setTimeout(() => {
20
+ if (this.formField.disabled) {
21
+ control.disable({ emitEvent: false });
22
+ }
23
+ else {
24
+ control.enable({ emitEvent: false });
25
+ }
26
+ control.updateValueAndValidity({ emitEvent: false });
27
+ });
28
+ }
29
+ }
30
+ getValidators() {
31
+ const validators = [];
32
+ if (this.formField.required) {
33
+ validators.push(Validators.required);
34
+ }
35
+ if (this.formField.minValue !== undefined) {
36
+ const minValue = Number(this.formField.minValue);
37
+ if (!isNaN(minValue)) {
38
+ validators.push(Validators.min(minValue));
39
+ }
40
+ else {
41
+ console.error(`Invalid minValue: ${this.formField.minValue} is not a number.`);
42
+ }
43
+ }
44
+ if (this.formField.maxValue !== undefined) {
45
+ const maxValue = Number(this.formField.maxValue);
46
+ if (!isNaN(maxValue)) {
47
+ validators.push(Validators.max(maxValue));
48
+ }
49
+ else {
50
+ console.error(`Invalid maxValue: ${this.formField.maxValue} is not a number.`);
51
+ }
52
+ }
53
+ if (this.formField.inputValidation) {
54
+ validators.push(this.validateWithInputValidation(this.formField.inputValidation));
55
+ }
56
+ return validators;
57
+ }
58
+ validateWithInputValidation(inputValidation) {
59
+ return Validators.pattern(new RegExp(inputValidation));
60
+ }
61
+ getErrorMessage() {
62
+ const control = this.formGroup.get(this.formField.name);
63
+ if (control?.hasError('required')) {
64
+ return this.formField.errorText || `${this.formField.label} is required`;
65
+ }
66
+ else if (control?.hasError('min')) {
67
+ return `${this.formField.label} must be at least ${this.formField.minValue}`;
68
+ }
69
+ else if (control?.hasError('max')) {
70
+ return `${this.formField.label} must be at most ${this.formField.maxValue}`;
71
+ }
72
+ else if (control?.hasError('pattern')) {
73
+ return `${this.formField.label} is invalid`;
74
+ }
75
+ return '';
76
+ }
77
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTNumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
78
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: PTNumberInputComponent, selector: "pt-number-input", inputs: { formGroup: "formGroup", formField: "formField" }, ngImport: i0, template: "<div\n [formGroup]=\"formGroup\"\n class=\"form-field\"\n [ngStyle]=\"{ width: formField.width || '100%' }\"\n *ngIf=\"!formField.hidden\"\n>\n <label *ngIf=\"formField.label\">{{ formField.label }}</label>\n <p-inputGroup>\n <ng-container\n *ngIf=\"!formField.iconPosition || formField.iconPosition === 'left'\"\n >\n <p-inputGroupAddon *ngIf=\"formField.iconClass || formField.currency\">\n <i *ngIf=\"formField.iconClass\" [ngClass]=\"formField.iconClass\"></i>\n <span *ngIf=\"!formField.iconClass && formField.currency\">\n {{ formField.currency }}\n </span>\n </p-inputGroupAddon>\n <p-inputNumber\n [formControlName]=\"formField.name\"\n mode=\"decimal\"\n [locale]=\"formField.numberFormat || undefined\"\n [useGrouping]=\"formField.numberFormat ? true : false\"\n [minFractionDigits]=\"formField.decimalDigits || 0\"\n [maxFractionDigits]=\"formField.decimalDigits || 0\"\n [placeholder]=\"formField.placeholder || ''\"\n ></p-inputNumber>\n </ng-container>\n <ng-container *ngIf=\"formField.iconPosition === 'right'\">\n <p-inputNumber\n [formControlName]=\"formField.name\"\n mode=\"decimal\"\n [locale]=\"formField.numberFormat || undefined\"\n [useGrouping]=\"formField.numberFormat ? true : false\"\n [minFractionDigits]=\"formField.decimalDigits || 0\"\n [maxFractionDigits]=\"formField.decimalDigits || 0\"\n [placeholder]=\"formField.placeholder || ''\"\n ></p-inputNumber>\n <p-inputGroupAddon *ngIf=\"formField.iconClass || formField.currency\">\n <i *ngIf=\"formField.iconClass\" [ngClass]=\"formField.iconClass\"></i>\n <span *ngIf=\"!formField.iconClass && formField.currency\">\n {{ formField.currency }}\n </span>\n </p-inputGroupAddon>\n </ng-container>\n </p-inputGroup>\n <div\n *ngIf=\"\n formGroup.get(formField.name)?.invalid &&\n formGroup.get(formField.name)?.touched\n \"\n >\n <small class=\"p-error\">{{ getErrorMessage() }}</small>\n </div>\n</div>\n", styles: [".form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "component", type: i3.InputGroup, selector: "p-inputGroup", inputs: ["style", "styleClass"] }, { kind: "component", type: i4.InputGroupAddon, selector: "p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "component", type: i5.InputNumber, selector: "p-inputNumber", 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"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }] }); }
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTNumberInputComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: 'pt-number-input', template: "<div\n [formGroup]=\"formGroup\"\n class=\"form-field\"\n [ngStyle]=\"{ width: formField.width || '100%' }\"\n *ngIf=\"!formField.hidden\"\n>\n <label *ngIf=\"formField.label\">{{ formField.label }}</label>\n <p-inputGroup>\n <ng-container\n *ngIf=\"!formField.iconPosition || formField.iconPosition === 'left'\"\n >\n <p-inputGroupAddon *ngIf=\"formField.iconClass || formField.currency\">\n <i *ngIf=\"formField.iconClass\" [ngClass]=\"formField.iconClass\"></i>\n <span *ngIf=\"!formField.iconClass && formField.currency\">\n {{ formField.currency }}\n </span>\n </p-inputGroupAddon>\n <p-inputNumber\n [formControlName]=\"formField.name\"\n mode=\"decimal\"\n [locale]=\"formField.numberFormat || undefined\"\n [useGrouping]=\"formField.numberFormat ? true : false\"\n [minFractionDigits]=\"formField.decimalDigits || 0\"\n [maxFractionDigits]=\"formField.decimalDigits || 0\"\n [placeholder]=\"formField.placeholder || ''\"\n ></p-inputNumber>\n </ng-container>\n <ng-container *ngIf=\"formField.iconPosition === 'right'\">\n <p-inputNumber\n [formControlName]=\"formField.name\"\n mode=\"decimal\"\n [locale]=\"formField.numberFormat || undefined\"\n [useGrouping]=\"formField.numberFormat ? true : false\"\n [minFractionDigits]=\"formField.decimalDigits || 0\"\n [maxFractionDigits]=\"formField.decimalDigits || 0\"\n [placeholder]=\"formField.placeholder || ''\"\n ></p-inputNumber>\n <p-inputGroupAddon *ngIf=\"formField.iconClass || formField.currency\">\n <i *ngIf=\"formField.iconClass\" [ngClass]=\"formField.iconClass\"></i>\n <span *ngIf=\"!formField.iconClass && formField.currency\">\n {{ formField.currency }}\n </span>\n </p-inputGroupAddon>\n </ng-container>\n </p-inputGroup>\n <div\n *ngIf=\"\n formGroup.get(formField.name)?.invalid &&\n formGroup.get(formField.name)?.touched\n \"\n >\n <small class=\"p-error\">{{ getErrorMessage() }}</small>\n </div>\n</div>\n", styles: [".form-field{margin-bottom:1rem}.form-field label{display:block;margin-bottom:.5rem;font-weight:700}\n"] }]
83
+ }], propDecorators: { formGroup: [{
84
+ type: Input
85
+ }], formField: [{
86
+ type: Input
87
+ }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtbnVtYmVyLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtbnVtYmVyLWlucHV0L3B0LW51bWJlci1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LW51bWJlci1pbnB1dC9wdC1udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUVMLFVBQVUsR0FHWCxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBU3hCLE1BQU0sT0FBTyxzQkFBc0I7SUFJakMsUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFnQixDQUFDO1FBQ3ZFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVsQyxxQ0FBcUM7WUFDckMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQzVCLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDeEMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDdkMsQ0FBQztnQkFFRCxPQUFPLENBQUMsc0JBQXNCLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixNQUFNLFVBQVUsR0FBa0IsRUFBRSxDQUFDO1FBQ3JDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzVDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsS0FBSyxDQUNYLHFCQUFxQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsbUJBQW1CLENBQ2hFLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNyQixVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM1QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxDQUFDLEtBQUssQ0FDWCxxQkFBcUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLG1CQUFtQixDQUNoRSxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDbkMsVUFBVSxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsQ0FDakUsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRU8sMkJBQTJCLENBQ2pDLGVBQW9DO1FBRXBDLE9BQU8sVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxJQUFJLE9BQU8sRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLGNBQWMsQ0FBQztRQUMzRSxDQUFDO2FBQU0sSUFBSSxPQUFPLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxxQkFBcUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUMvRSxDQUFDO2FBQU0sSUFBSSxPQUFPLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxvQkFBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5RSxDQUFDO2FBQU0sSUFBSSxPQUFPLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDeEMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxhQUFhLENBQUM7UUFDOUMsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzsrR0E5RVUsc0JBQXNCO21HQUF0QixzQkFBc0IsbUhDZm5DLHVsRUFzREE7OzRGRHZDYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQUtsQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9ycyxcbiAgVmFsaWRhdG9yRm4sXG4gIEZvcm1Db250cm9sLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBJbnB1dFZhbGlkYXRpb25FbnVtIH0gZnJvbSAnLi4vZW51bXMvaW5wdXQtdmFsaWRhdGlvbi5lbnVtJztcbmltcG9ydCB7IEZvcm1OdW1iZXJGaWVsZCB9IGZyb20gJy4uL21vZGVscy9mb3JtLW51bWJlci1maWVsZC5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3B0LW51bWJlci1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wdC1udW1iZXItaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wdC1udW1iZXItaW5wdXQuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQVE51bWJlcklucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBmb3JtRmllbGQhOiBGb3JtTnVtYmVyRmllbGQ7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zZXR1cENvbnRyb2woKTtcbiAgfVxuXG4gIHNldHVwQ29udHJvbCgpIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZm9ybUZpZWxkLm5hbWUpIGFzIEZvcm1Db250cm9sO1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy5nZXRWYWxpZGF0b3JzKCk7XG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnModmFsaWRhdG9ycyk7XG5cbiAgICAgIC8vIE1hbmFnZSB0aGUgZGlzYWJsZWQgc3RhdGUgZGlyZWN0bHlcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5mb3JtRmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICBjb250cm9sLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnRyb2wuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdmFsaWRhdG9yczogVmFsaWRhdG9yRm5bXSA9IFtdO1xuICAgIGlmICh0aGlzLmZvcm1GaWVsZC5yZXF1aXJlZCkge1xuICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb3JtRmllbGQubWluVmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgbWluVmFsdWUgPSBOdW1iZXIodGhpcy5mb3JtRmllbGQubWluVmFsdWUpO1xuICAgICAgaWYgKCFpc05hTihtaW5WYWx1ZSkpIHtcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWluKG1pblZhbHVlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIG1pblZhbHVlOiAke3RoaXMuZm9ybUZpZWxkLm1pblZhbHVlfSBpcyBub3QgYSBudW1iZXIuYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5mb3JtRmllbGQubWF4VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgbWF4VmFsdWUgPSBOdW1iZXIodGhpcy5mb3JtRmllbGQubWF4VmFsdWUpO1xuICAgICAgaWYgKCFpc05hTihtYXhWYWx1ZSkpIHtcbiAgICAgICAgdmFsaWRhdG9ycy5wdXNoKFZhbGlkYXRvcnMubWF4KG1heFZhbHVlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAgIGBJbnZhbGlkIG1heFZhbHVlOiAke3RoaXMuZm9ybUZpZWxkLm1heFZhbHVlfSBpcyBub3QgYSBudW1iZXIuYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5mb3JtRmllbGQuaW5wdXRWYWxpZGF0aW9uKSB7XG4gICAgICB2YWxpZGF0b3JzLnB1c2goXG4gICAgICAgIHRoaXMudmFsaWRhdGVXaXRoSW5wdXRWYWxpZGF0aW9uKHRoaXMuZm9ybUZpZWxkLmlucHV0VmFsaWRhdGlvbilcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB2YWxpZGF0b3JzO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0ZVdpdGhJbnB1dFZhbGlkYXRpb24oXG4gICAgaW5wdXRWYWxpZGF0aW9uOiBJbnB1dFZhbGlkYXRpb25FbnVtXG4gICk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gVmFsaWRhdG9ycy5wYXR0ZXJuKG5ldyBSZWdFeHAoaW5wdXRWYWxpZGF0aW9uKSk7XG4gIH1cblxuICBnZXRFcnJvck1lc3NhZ2UoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtR3JvdXAuZ2V0KHRoaXMuZm9ybUZpZWxkLm5hbWUpO1xuICAgIGlmIChjb250cm9sPy5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9ybUZpZWxkLmVycm9yVGV4dCB8fCBgJHt0aGlzLmZvcm1GaWVsZC5sYWJlbH0gaXMgcmVxdWlyZWRgO1xuICAgIH0gZWxzZSBpZiAoY29udHJvbD8uaGFzRXJyb3IoJ21pbicpKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5mb3JtRmllbGQubGFiZWx9IG11c3QgYmUgYXQgbGVhc3QgJHt0aGlzLmZvcm1GaWVsZC5taW5WYWx1ZX1gO1xuICAgIH0gZWxzZSBpZiAoY29udHJvbD8uaGFzRXJyb3IoJ21heCcpKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5mb3JtRmllbGQubGFiZWx9IG11c3QgYmUgYXQgbW9zdCAke3RoaXMuZm9ybUZpZWxkLm1heFZhbHVlfWA7XG4gICAgfSBlbHNlIGlmIChjb250cm9sPy5oYXNFcnJvcigncGF0dGVybicpKSB7XG4gICAgICByZXR1cm4gYCR7dGhpcy5mb3JtRmllbGQubGFiZWx9IGlzIGludmFsaWRgO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiIsIjxkaXZcbiAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICBjbGFzcz1cImZvcm0tZmllbGRcIlxuICBbbmdTdHlsZV09XCJ7IHdpZHRoOiBmb3JtRmllbGQud2lkdGggfHwgJzEwMCUnIH1cIlxuICAqbmdJZj1cIiFmb3JtRmllbGQuaGlkZGVuXCJcbj5cbiAgPGxhYmVsICpuZ0lmPVwiZm9ybUZpZWxkLmxhYmVsXCI+e3sgZm9ybUZpZWxkLmxhYmVsIH19PC9sYWJlbD5cbiAgPHAtaW5wdXRHcm91cD5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cIiFmb3JtRmllbGQuaWNvblBvc2l0aW9uIHx8IGZvcm1GaWVsZC5pY29uUG9zaXRpb24gPT09ICdsZWZ0J1wiXG4gICAgPlxuICAgICAgPHAtaW5wdXRHcm91cEFkZG9uICpuZ0lmPVwiZm9ybUZpZWxkLmljb25DbGFzcyB8fCBmb3JtRmllbGQuY3VycmVuY3lcIj5cbiAgICAgICAgPGkgKm5nSWY9XCJmb3JtRmllbGQuaWNvbkNsYXNzXCIgW25nQ2xhc3NdPVwiZm9ybUZpZWxkLmljb25DbGFzc1wiPjwvaT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhZm9ybUZpZWxkLmljb25DbGFzcyAmJiBmb3JtRmllbGQuY3VycmVuY3lcIj5cbiAgICAgICAgICB7eyBmb3JtRmllbGQuY3VycmVuY3kgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9wLWlucHV0R3JvdXBBZGRvbj5cbiAgICAgIDxwLWlucHV0TnVtYmVyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZm9ybUZpZWxkLm5hbWVcIlxuICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXG4gICAgICAgIFtsb2NhbGVdPVwiZm9ybUZpZWxkLm51bWJlckZvcm1hdCB8fCB1bmRlZmluZWRcIlxuICAgICAgICBbdXNlR3JvdXBpbmddPVwiZm9ybUZpZWxkLm51bWJlckZvcm1hdCA/IHRydWUgOiBmYWxzZVwiXG4gICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCJmb3JtRmllbGQuZGVjaW1hbERpZ2l0cyB8fCAwXCJcbiAgICAgICAgW21heEZyYWN0aW9uRGlnaXRzXT1cImZvcm1GaWVsZC5kZWNpbWFsRGlnaXRzIHx8IDBcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybUZpZWxkLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgID48L3AtaW5wdXROdW1iZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZvcm1GaWVsZC5pY29uUG9zaXRpb24gPT09ICdyaWdodCdcIj5cbiAgICAgIDxwLWlucHV0TnVtYmVyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZm9ybUZpZWxkLm5hbWVcIlxuICAgICAgICBtb2RlPVwiZGVjaW1hbFwiXG4gICAgICAgIFtsb2NhbGVdPVwiZm9ybUZpZWxkLm51bWJlckZvcm1hdCB8fCB1bmRlZmluZWRcIlxuICAgICAgICBbdXNlR3JvdXBpbmddPVwiZm9ybUZpZWxkLm51bWJlckZvcm1hdCA/IHRydWUgOiBmYWxzZVwiXG4gICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCJmb3JtRmllbGQuZGVjaW1hbERpZ2l0cyB8fCAwXCJcbiAgICAgICAgW21heEZyYWN0aW9uRGlnaXRzXT1cImZvcm1GaWVsZC5kZWNpbWFsRGlnaXRzIHx8IDBcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZm9ybUZpZWxkLnBsYWNlaG9sZGVyIHx8ICcnXCJcbiAgICAgID48L3AtaW5wdXROdW1iZXI+XG4gICAgICA8cC1pbnB1dEdyb3VwQWRkb24gKm5nSWY9XCJmb3JtRmllbGQuaWNvbkNsYXNzIHx8IGZvcm1GaWVsZC5jdXJyZW5jeVwiPlxuICAgICAgICA8aSAqbmdJZj1cImZvcm1GaWVsZC5pY29uQ2xhc3NcIiBbbmdDbGFzc109XCJmb3JtRmllbGQuaWNvbkNsYXNzXCI+PC9pPlxuICAgICAgICA8c3BhbiAqbmdJZj1cIiFmb3JtRmllbGQuaWNvbkNsYXNzICYmIGZvcm1GaWVsZC5jdXJyZW5jeVwiPlxuICAgICAgICAgIHt7IGZvcm1GaWVsZC5jdXJyZW5jeSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3AtaW5wdXRHcm91cEFkZG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3AtaW5wdXRHcm91cD5cbiAgPGRpdlxuICAgICpuZ0lmPVwiXG4gICAgICBmb3JtR3JvdXAuZ2V0KGZvcm1GaWVsZC5uYW1lKT8uaW52YWxpZCAmJlxuICAgICAgZm9ybUdyb3VwLmdldChmb3JtRmllbGQubmFtZSk/LnRvdWNoZWRcbiAgICBcIlxuICA+XG4gICAgPHNtYWxsIGNsYXNzPVwicC1lcnJvclwiPnt7IGdldEVycm9yTWVzc2FnZSgpIH19PC9zbWFsbD5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { InputGroupModule } from 'primeng/inputgroup';
5
+ import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
6
+ import { PTNumberInputComponent } from './pt-number-input.component';
7
+ import { InputTextModule } from 'primeng/inputtext';
8
+ import { InputNumberModule } from 'primeng/inputnumber';
9
+ import * as i0 from "@angular/core";
10
+ export class PTNumberInputModule {
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTNumberInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: PTNumberInputModule, declarations: [PTNumberInputComponent], imports: [CommonModule,
13
+ ReactiveFormsModule,
14
+ FormsModule,
15
+ InputGroupModule,
16
+ InputGroupAddonModule,
17
+ InputTextModule,
18
+ InputNumberModule], exports: [PTNumberInputComponent] }); }
19
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTNumberInputModule, imports: [CommonModule,
20
+ ReactiveFormsModule,
21
+ FormsModule,
22
+ InputGroupModule,
23
+ InputGroupAddonModule,
24
+ InputTextModule,
25
+ InputNumberModule] }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: PTNumberInputModule, decorators: [{
28
+ type: NgModule,
29
+ args: [{
30
+ declarations: [PTNumberInputComponent],
31
+ imports: [
32
+ CommonModule,
33
+ ReactiveFormsModule,
34
+ FormsModule,
35
+ InputGroupModule,
36
+ InputGroupAddonModule,
37
+ InputTextModule,
38
+ InputNumberModule,
39
+ ],
40
+ exports: [PTNumberInputComponent],
41
+ }]
42
+ }] });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHQtbnVtYmVyLWlucHV0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtbnVtYmVyLWlucHV0L3B0LW51bWJlci1pbnB1dC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFleEQsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO2dIQUFuQixtQkFBbUIsaUJBWmYsc0JBQXNCLGFBRW5DLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGlCQUFpQixhQUVULHNCQUFzQjtnSEFFckIsbUJBQW1CLFlBVjVCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGlCQUFpQjs7NEZBSVIsbUJBQW1CO2tCQWIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUN0QyxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSW5wdXRHcm91cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXRncm91cCc7XG5pbXBvcnQgeyBJbnB1dEdyb3VwQWRkb25Nb2R1bGUgfSBmcm9tICdwcmltZW5nL2lucHV0Z3JvdXBhZGRvbic7XG5pbXBvcnQgeyBQVE51bWJlcklucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9wdC1udW1iZXItaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0VGV4dE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvaW5wdXR0ZXh0JztcbmltcG9ydCB7IElucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9pbnB1dG51bWJlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1BUTnVtYmVySW5wdXRDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW5wdXRHcm91cE1vZHVsZSxcbiAgICBJbnB1dEdyb3VwQWRkb25Nb2R1bGUsXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxuICAgIElucHV0TnVtYmVyTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbUFROdW1iZXJJbnB1dENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFBUTnVtYmVySW5wdXRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './pt-number-input.module';
2
+ export * from './pt-number-input.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXByaW1lLXRvb2xzL3NyYy9saWIvcHQtbnVtYmVyLWlucHV0L3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdC1udW1iZXItaW5wdXQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vcHQtbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1wcmltZS10b29scy9zcmMvbGliL3B0LXN3aXRjaC1pbnB1dC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=