@seniorsistemas/angular-components 18.1.0-feature-sds-276-ea560ae6 → 18.1.0-feature-sds-276-ee045828

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 (341) hide show
  1. package/bignumber-input/lib/bignumber-input/bignumber-input.directive.d.ts +1 -1
  2. package/custom-fields/lib/custom-fields/custom-fields.component.d.ts +9 -8
  3. package/custom-fields/lib/custom-fields/custom-fields.service.d.ts +4 -3
  4. package/custom-fields/lib/custom-fields/models/custom-field-type.d.ts +33 -0
  5. package/custom-fields/lib/custom-fields/models/index.d.ts +1 -0
  6. package/custom-fields/public-api.d.ts +2 -1
  7. package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/field-label/field-label.component.d.ts +3 -3
  8. package/dynamic-form/dynamic-form/components/grid/row/row.component.d.ts +22 -0
  9. package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/lookup.component.d.ts +19 -34
  10. package/dynamic-form/dynamic-form/components/structure/base-structure-component.d.ts +10 -0
  11. package/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +12 -0
  12. package/dynamic-form/dynamic-form/components/structure/section/section.component.d.ts +14 -0
  13. package/dynamic-form/dynamic-form/configurations/registry.d.ts +8 -0
  14. package/dynamic-form/dynamic-form/configurations/structure/fieldset.d.ts +11 -0
  15. package/dynamic-form/dynamic-form/configurations/structure/row.d.ts +21 -0
  16. package/dynamic-form/{lib/dynamic-form → dynamic-form}/configurations/structure/section.d.ts +9 -8
  17. package/dynamic-form/dynamic-form/configurations/structure/structure.d.ts +11 -0
  18. package/dynamic-form/dynamic-form/dynamic-form.component.d.ts +19 -0
  19. package/dynamic-form/dynamic-form/dynamic-form.d.ts +39 -0
  20. package/dynamic-form/{lib/dynamic-form → dynamic-form}/dynamic-form.directive.d.ts +6 -12
  21. package/dynamic-form/dynamic-form/dynamic-form.module.d.ts +79 -0
  22. package/dynamic-form/dynamic-form/form-field/configurations/field-size.d.ts +13 -0
  23. package/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +21 -0
  24. package/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +28 -0
  25. package/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.d.ts +28 -0
  26. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +21 -0
  27. package/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +12 -0
  28. package/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.d.ts +16 -0
  29. package/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +33 -0
  30. package/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +11 -0
  31. package/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.d.ts +18 -0
  32. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/country-phone-picker-field.d.ts +6 -7
  33. package/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.d.ts +15 -0
  34. package/dynamic-form/dynamic-form/form-field/configurations/fields/field.d.ts +43 -0
  35. package/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +56 -0
  36. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/number-field.d.ts +9 -22
  37. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/password-field.d.ts +8 -20
  38. package/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +24 -0
  39. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/configurations/fields/radio-button-field.d.ts +7 -9
  40. package/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.d.ts +33 -0
  41. package/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.d.ts +24 -0
  42. package/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +16 -0
  43. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +18 -0
  44. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +19 -0
  45. package/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.d.ts +31 -0
  46. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/autocomplete/autocomplete-field.component.d.ts +9 -6
  47. package/dynamic-form/dynamic-form/form-field/fields/base-field-component.d.ts +7 -0
  48. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/bignumber/bignumber-field.component.d.ts +8 -8
  49. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/boolean/boolean-radio-field/boolean-field.component.d.ts +4 -4
  50. package/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +10 -0
  51. package/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +11 -0
  52. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/calendar/calendar-field.component.d.ts +10 -10
  53. package/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +10 -0
  54. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/chips/chips-field.component.d.ts +5 -5
  55. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/country-phone-picker/country-phone-picker-field.component.d.ts +4 -4
  56. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/currency/currency-field.component.d.ts +10 -6
  57. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/file-upload/file-upload-field.component.d.ts +7 -6
  58. package/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +18 -0
  59. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/number/number-field.component.d.ts +8 -9
  60. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/password/password-field.component.d.ts +8 -6
  61. package/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +10 -0
  62. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/radio-button/radio-button-field.component.d.ts +5 -5
  63. package/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.d.ts +12 -0
  64. package/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +23 -0
  65. package/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +11 -0
  66. package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/fields/text/text-field.component.d.ts +8 -8
  67. package/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +18 -0
  68. package/dynamic-form/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +15 -0
  69. package/dynamic-form/dynamic-form/services/form-field-utils.service.d.ts +15 -0
  70. package/dynamic-form/public-api.d.ts +35 -43
  71. package/dynamic-form/src/optional-fields/editor/editor-field/editor-field.component.d.ts +10 -0
  72. package/dynamic-form/src/optional-fields/editor/editor-field.d.ts +15 -0
  73. package/dynamic-form/src/optional-fields/editor/index.d.ts +5 -0
  74. package/dynamic-form/src/optional-fields/editor/public-api.d.ts +1 -0
  75. package/esm2022/autocomplete/lib/autocomplete/autocomplete.component.mjs +3 -3
  76. package/esm2022/bignumber-input/lib/bignumber-input/bignumber-input.directive.mjs +8 -6
  77. package/esm2022/custom-fields/lib/custom-fields/custom-fields.component.mjs +68 -69
  78. package/esm2022/custom-fields/lib/custom-fields/custom-fields.service.mjs +5 -5
  79. package/esm2022/custom-fields/lib/custom-fields/models/custom-field-type.mjs +26 -1
  80. package/esm2022/custom-fields/lib/custom-fields/models/index.mjs +2 -0
  81. package/esm2022/custom-fields/public-api.mjs +3 -2
  82. package/esm2022/dynamic-form/dynamic-form/components/field-label/field-label.component.mjs +21 -0
  83. package/esm2022/dynamic-form/dynamic-form/components/grid/row/row.component.mjs +39 -0
  84. package/esm2022/dynamic-form/dynamic-form/components/lookup/lookup.component.mjs +661 -0
  85. package/esm2022/dynamic-form/dynamic-form/components/lookup/types/default-filter.mjs +2 -0
  86. package/esm2022/dynamic-form/dynamic-form/components/lookup/types/label-options.mjs +2 -0
  87. package/esm2022/dynamic-form/dynamic-form/components/structure/base-structure-component.mjs +2 -0
  88. package/esm2022/dynamic-form/dynamic-form/components/structure/fieldset/fieldset.component.mjs +17 -0
  89. package/esm2022/dynamic-form/dynamic-form/components/structure/section/section.component.mjs +23 -0
  90. package/esm2022/dynamic-form/dynamic-form/configurations/registry.mjs +12 -0
  91. package/esm2022/dynamic-form/dynamic-form/configurations/structure/fieldset.mjs +2 -0
  92. package/esm2022/dynamic-form/dynamic-form/configurations/structure/row.mjs +2 -0
  93. package/esm2022/dynamic-form/dynamic-form/configurations/structure/section.mjs +2 -0
  94. package/esm2022/dynamic-form/dynamic-form/configurations/structure/structure.mjs +2 -0
  95. package/esm2022/dynamic-form/dynamic-form/dynamic-form.component.mjs +37 -0
  96. package/esm2022/dynamic-form/dynamic-form/dynamic-form.directive.mjs +74 -0
  97. package/esm2022/dynamic-form/dynamic-form/dynamic-form.mjs +81 -0
  98. package/esm2022/dynamic-form/dynamic-form/dynamic-form.module.mjs +283 -0
  99. package/esm2022/dynamic-form/dynamic-form/form-field/addon-config.mjs +2 -0
  100. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/field-size.mjs +19 -0
  101. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +2 -0
  102. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +2 -0
  103. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/blob-field.mjs +2 -0
  104. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-field.mjs +2 -0
  105. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +2 -0
  106. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/button-field.mjs +2 -0
  107. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/calendar-field.mjs +2 -0
  108. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +2 -0
  109. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/chips-field.mjs +2 -0
  110. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +2 -0
  111. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/currency-field.mjs +2 -0
  112. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/field.mjs +2 -0
  113. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/lookup-field.mjs +2 -0
  114. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/number-field.mjs +2 -0
  115. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/password-field.mjs +2 -0
  116. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/profile-picture.mjs +2 -0
  117. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +9 -0
  118. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/select-field.mjs +2 -0
  119. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/slider-field.mjs +2 -0
  120. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +2 -0
  121. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-field.mjs +2 -0
  122. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +2 -0
  123. package/esm2022/dynamic-form/dynamic-form/form-field/configurations/fields/text-field.mjs +2 -0
  124. package/esm2022/dynamic-form/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +41 -0
  125. package/esm2022/dynamic-form/dynamic-form/form-field/fields/base-field-component.mjs +2 -0
  126. package/esm2022/dynamic-form/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +119 -0
  127. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +21 -0
  128. package/esm2022/dynamic-form/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +17 -0
  129. package/esm2022/dynamic-form/dynamic-form/form-field/fields/button-field/button-field.component.mjs +28 -0
  130. package/esm2022/dynamic-form/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +123 -0
  131. package/esm2022/dynamic-form/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +15 -0
  132. package/esm2022/dynamic-form/dynamic-form/form-field/fields/chips/chips-field.component.mjs +53 -0
  133. package/esm2022/dynamic-form/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +23 -0
  134. package/esm2022/dynamic-form/dynamic-form/form-field/fields/currency/currency-field.component.mjs +99 -0
  135. package/esm2022/dynamic-form/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +47 -0
  136. package/esm2022/dynamic-form/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +40 -0
  137. package/esm2022/dynamic-form/dynamic-form/form-field/fields/number/number-field.component.mjs +114 -0
  138. package/esm2022/dynamic-form/dynamic-form/form-field/fields/password/password-field.component.mjs +73 -0
  139. package/esm2022/dynamic-form/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +16 -0
  140. package/esm2022/dynamic-form/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +49 -0
  141. package/esm2022/dynamic-form/dynamic-form/form-field/fields/select/select-field.component.mjs +19 -0
  142. package/esm2022/dynamic-form/dynamic-form/form-field/fields/slider/slider-field.component.mjs +113 -0
  143. package/esm2022/dynamic-form/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +21 -0
  144. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text/text-field.component.mjs +79 -0
  145. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +34 -0
  146. package/esm2022/dynamic-form/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +27 -0
  147. package/esm2022/dynamic-form/dynamic-form/services/form-field-utils.service.mjs +39 -0
  148. package/esm2022/dynamic-form/public-api.mjs +61 -44
  149. package/esm2022/dynamic-form/seniorsistemas-angular-components-dynamic-form.mjs +1 -1
  150. package/esm2022/dynamic-form/src/optional-fields/editor/editor-field/editor-field.component.mjs +18 -0
  151. package/esm2022/dynamic-form/src/optional-fields/editor/editor-field.mjs +2 -0
  152. package/esm2022/dynamic-form/src/optional-fields/editor/public-api.mjs +5 -0
  153. package/esm2022/dynamic-form/src/optional-fields/editor/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs +5 -0
  154. package/esm2022/file-upload/lib/file-upload/file-upload.component.mjs +5 -5
  155. package/esm2022/inline-edit/lib/inline-edit/components/fields/inline-edit-text-area-ia/inline-edit-text-area-ia.component.mjs +1 -1
  156. package/esm2022/select/lib/select/select.component.mjs +3 -3
  157. package/esm2022/table/lib/table/table-column/models/dynamic-editable-grid.interface.mjs +1 -1
  158. package/esm2022/text-area-ia/lib/text-area-ia/text-area-ia.component.mjs +6 -6
  159. package/esm2022/tiered-menu/lib/tiered-menu/components/tiered-menu/tiered-menu.component.mjs +3 -3
  160. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs +2 -2
  161. package/fesm2022/seniorsistemas-angular-components-autocomplete.mjs.map +1 -1
  162. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs +7 -5
  163. package/fesm2022/seniorsistemas-angular-components-bignumber-input.mjs.map +1 -1
  164. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs +95 -71
  165. package/fesm2022/seniorsistemas-angular-components-custom-fields.mjs.map +1 -1
  166. package/fesm2022/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs +25 -0
  167. package/fesm2022/seniorsistemas-angular-components-dynamic-form-src-optional-fields-editor.mjs.map +1 -0
  168. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs +871 -2437
  169. package/fesm2022/seniorsistemas-angular-components-dynamic-form.mjs.map +1 -1
  170. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs +4 -4
  171. package/fesm2022/seniorsistemas-angular-components-file-upload.mjs.map +1 -1
  172. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs +1 -1
  173. package/fesm2022/seniorsistemas-angular-components-inline-edit.mjs.map +1 -1
  174. package/fesm2022/seniorsistemas-angular-components-select.mjs +2 -2
  175. package/fesm2022/seniorsistemas-angular-components-select.mjs.map +1 -1
  176. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs +5 -5
  177. package/fesm2022/seniorsistemas-angular-components-text-area-ia.mjs.map +1 -1
  178. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs +2 -2
  179. package/fesm2022/seniorsistemas-angular-components-tiered-menu.mjs.map +1 -1
  180. package/file-upload/lib/file-upload/file-upload.component.d.ts +2 -2
  181. package/package.json +12 -18
  182. package/table/lib/table/table-column/models/dynamic-editable-grid.interface.d.ts +2 -2
  183. package/text-area-ia/lib/text-area-ia/text-area-ia.component.d.ts +2 -1
  184. package/dynamic-form/lib/dynamic-form/components/grid/row/row.component.d.ts +0 -15
  185. package/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.d.ts +0 -8
  186. package/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.d.ts +0 -12
  187. package/dynamic-form/lib/dynamic-form/components/structure/section/section.component.d.ts +0 -14
  188. package/dynamic-form/lib/dynamic-form/configurations/dynamic-config.d.ts +0 -3
  189. package/dynamic-form/lib/dynamic-form/configurations/dynamic-type.d.ts +0 -24
  190. package/dynamic-form/lib/dynamic-form/configurations/grid/grid.d.ts +0 -14
  191. package/dynamic-form/lib/dynamic-form/configurations/grid/row.d.ts +0 -8
  192. package/dynamic-form/lib/dynamic-form/configurations/grid-type.d.ts +0 -3
  193. package/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.d.ts +0 -10
  194. package/dynamic-form/lib/dynamic-form/configurations/structure/structure.d.ts +0 -14
  195. package/dynamic-form/lib/dynamic-form/configurations/structure-type.d.ts +0 -4
  196. package/dynamic-form/lib/dynamic-form/dynamic-form.component.d.ts +0 -19
  197. package/dynamic-form/lib/dynamic-form/dynamic-form.d.ts +0 -57
  198. package/dynamic-form/lib/dynamic-form/dynamic-form.module.d.ts +0 -83
  199. package/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.d.ts +0 -7
  200. package/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.d.ts +0 -32
  201. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.d.ts +0 -30
  202. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.d.ts +0 -38
  203. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.d.ts +0 -43
  204. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.d.ts +0 -29
  205. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.d.ts +0 -11
  206. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.d.ts +0 -34
  207. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.d.ts +0 -45
  208. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.d.ts +0 -9
  209. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.d.ts +0 -24
  210. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.d.ts +0 -9
  211. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.d.ts +0 -14
  212. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.d.ts +0 -18
  213. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.d.ts +0 -96
  214. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.d.ts +0 -97
  215. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.d.ts +0 -35
  216. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.d.ts +0 -41
  217. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.d.ts +0 -32
  218. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.d.ts +0 -17
  219. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.d.ts +0 -24
  220. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.d.ts +0 -26
  221. package/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.d.ts +0 -41
  222. package/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.d.ts +0 -32
  223. package/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.d.ts +0 -10
  224. package/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.d.ts +0 -10
  225. package/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.d.ts +0 -10
  226. package/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.d.ts +0 -10
  227. package/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.d.ts +0 -9
  228. package/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.d.ts +0 -9
  229. package/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.d.ts +0 -10
  230. package/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.d.ts +0 -25
  231. package/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.d.ts +0 -10
  232. package/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.d.ts +0 -14
  233. package/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.d.ts +0 -9
  234. package/dynamic-form/lib/dynamic-form/form-field/form-field.d.ts +0 -192
  235. package/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.d.ts +0 -12
  236. package/esm2022/dynamic-form/lib/dynamic-form/components/field-label/field-label.component.mjs +0 -20
  237. package/esm2022/dynamic-form/lib/dynamic-form/components/grid/row/row.component.mjs +0 -41
  238. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/lookup.component.mjs +0 -642
  239. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/default-filter.mjs +0 -2
  240. package/esm2022/dynamic-form/lib/dynamic-form/components/lookup/types/label-options.mjs +0 -2
  241. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/base-structure-component.mjs +0 -2
  242. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/fieldset/fieldset.component.mjs +0 -27
  243. package/esm2022/dynamic-form/lib/dynamic-form/components/structure/section/section.component.mjs +0 -33
  244. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-config.mjs +0 -71
  245. package/esm2022/dynamic-form/lib/dynamic-form/configurations/dynamic-type.mjs +0 -26
  246. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/grid.mjs +0 -14
  247. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid/row.mjs +0 -10
  248. package/esm2022/dynamic-form/lib/dynamic-form/configurations/grid-type.mjs +0 -5
  249. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/fieldset.mjs +0 -10
  250. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/section.mjs +0 -31
  251. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure/structure.mjs +0 -9
  252. package/esm2022/dynamic-form/lib/dynamic-form/configurations/structure-type.mjs +0 -6
  253. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.component.mjs +0 -41
  254. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.directive.mjs +0 -107
  255. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.mjs +0 -189
  256. package/esm2022/dynamic-form/lib/dynamic-form/dynamic-form.module.mjs +0 -293
  257. package/esm2022/dynamic-form/lib/dynamic-form/form-field/addon-config.mjs +0 -2
  258. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-size.mjs +0 -13
  259. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/field-type.mjs +0 -34
  260. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/autocomplete-field.mjs +0 -24
  261. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/bignumber-field.mjs +0 -37
  262. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/blob-field.mjs +0 -31
  263. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-field.mjs +0 -30
  264. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/boolean-switch-field.mjs +0 -15
  265. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/button-field.mjs +0 -47
  266. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/calendar-field.mjs +0 -56
  267. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/checkbox-field.mjs +0 -9
  268. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/chips-field.mjs +0 -25
  269. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/country-phone-picker-field.mjs +0 -15
  270. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/currency-field.mjs +0 -14
  271. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/decimal-field.mjs +0 -16
  272. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/editor-field.mjs +0 -15
  273. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/field.mjs +0 -64
  274. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/lookup-field.mjs +0 -66
  275. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/number-field.mjs +0 -38
  276. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/password-field.mjs +0 -33
  277. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/profile-picture.mjs +0 -35
  278. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/radio-button-field.mjs +0 -27
  279. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/select-field.mjs +0 -43
  280. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/slider-field.mjs +0 -30
  281. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/star-rating-field.mjs +0 -17
  282. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-field.mjs +0 -30
  283. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-area-ia-field.mjs +0 -32
  284. package/esm2022/dynamic-form/lib/dynamic-form/form-field/configurations/fields/text-field.mjs +0 -38
  285. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/autocomplete/autocomplete-field.component.mjs +0 -37
  286. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/base-field-component.mjs +0 -22
  287. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/bignumber/bignumber-field.component.mjs +0 -124
  288. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component.mjs +0 -27
  289. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component.mjs +0 -23
  290. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/button-field/button-field.component.mjs +0 -31
  291. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/calendar/calendar-field.component.mjs +0 -118
  292. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/checkbox/checkbox-field.component.mjs +0 -21
  293. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/chips/chips-field.component.mjs +0 -59
  294. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component.mjs +0 -29
  295. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/currency/currency-field.component.mjs +0 -100
  296. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/editor/editor-field.component.mjs +0 -23
  297. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/file-upload/file-upload-field.component.mjs +0 -56
  298. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/lookup/lookup-field.component.mjs +0 -23
  299. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/number/number-field.component.mjs +0 -121
  300. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/password/password-field.component.mjs +0 -75
  301. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/profile-picture/profile-picture-field.component.mjs +0 -22
  302. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/radio-button/radio-button-field.component.mjs +0 -52
  303. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/select/select-field.component.mjs +0 -24
  304. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/slider/slider-field.component.mjs +0 -103
  305. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/star-rating/star-rating-field.component.mjs +0 -25
  306. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text/text-field.component.mjs +0 -88
  307. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area/text-area-field.component.mjs +0 -29
  308. package/esm2022/dynamic-form/lib/dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component.mjs +0 -22
  309. package/esm2022/dynamic-form/lib/dynamic-form/form-field/form-field.mjs +0 -243
  310. package/esm2022/dynamic-form/lib/dynamic-form/services/dynamic-form-cache.mjs +0 -150
  311. package/esm2022/form-dynamic/components/form-dynamic/form-dynamic.component.mjs +0 -53
  312. package/esm2022/form-dynamic/core/registry.mjs +0 -10
  313. package/esm2022/form-dynamic/fields-basic/boolean-field/boolean-field.component.mjs +0 -15
  314. package/esm2022/form-dynamic/fields-basic/string-field/string-field.component.mjs +0 -15
  315. package/esm2022/form-dynamic/optional-fields/editor/editor-field/editor-field.component.mjs +0 -30
  316. package/esm2022/form-dynamic/optional-fields/editor/editor-types.mjs +0 -2
  317. package/esm2022/form-dynamic/optional-fields/editor/public-api.mjs +0 -6
  318. package/esm2022/form-dynamic/optional-fields/editor/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs +0 -5
  319. package/esm2022/form-dynamic/public-api.mjs +0 -10
  320. package/esm2022/form-dynamic/schemas/field-dynamic.mjs +0 -2
  321. package/esm2022/form-dynamic/schemas/form-dynamic-schema.mjs +0 -2
  322. package/esm2022/form-dynamic/seniorsistemas-angular-components-form-dynamic.mjs +0 -5
  323. package/fesm2022/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs +0 -40
  324. package/fesm2022/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs.map +0 -1
  325. package/fesm2022/seniorsistemas-angular-components-form-dynamic.mjs +0 -94
  326. package/fesm2022/seniorsistemas-angular-components-form-dynamic.mjs.map +0 -1
  327. package/form-dynamic/components/form-dynamic/form-dynamic.component.d.ts +0 -15
  328. package/form-dynamic/core/registry.d.ts +0 -7
  329. package/form-dynamic/fields-basic/boolean-field/boolean-field.component.d.ts +0 -9
  330. package/form-dynamic/fields-basic/string-field/string-field.component.d.ts +0 -9
  331. package/form-dynamic/index.d.ts +0 -5
  332. package/form-dynamic/optional-fields/editor/editor-field/editor-field.component.d.ts +0 -15
  333. package/form-dynamic/optional-fields/editor/editor-types.d.ts +0 -8
  334. package/form-dynamic/optional-fields/editor/index.d.ts +0 -5
  335. package/form-dynamic/optional-fields/editor/public-api.d.ts +0 -8
  336. package/form-dynamic/public-api.d.ts +0 -4
  337. package/form-dynamic/schemas/field-dynamic.d.ts +0 -20
  338. package/form-dynamic/schemas/form-dynamic-schema.d.ts +0 -4
  339. /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/default-filter.d.ts +0 -0
  340. /package/dynamic-form/{lib/dynamic-form → dynamic-form}/components/lookup/types/label-options.d.ts +0 -0
  341. /package/dynamic-form/{lib/dynamic-form → dynamic-form}/form-field/addon-config.d.ts +0 -0
@@ -1,150 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { GridType } from '../configurations/grid-type';
3
- import { FieldType } from '../form-field/configurations/field-type';
4
- import { StructureType } from '../configurations/structure-type';
5
- import * as i0 from "@angular/core";
6
- export class DynamicFormCacheService {
7
- LOADED_ALL_CACHE = false;
8
- CACHED_COMPONENTS = new Map();
9
- async setCache() {
10
- const setAutoComplete = async () => {
11
- const { AutocompleteFieldComponent } = await import('../../dynamic-form/form-field/fields/autocomplete/autocomplete-field.component');
12
- this.CACHED_COMPONENTS.set(FieldType.Autocomplete, AutocompleteFieldComponent);
13
- };
14
- const setLookup = async () => {
15
- const { LookupFieldComponent } = await import('../../dynamic-form/form-field/fields/lookup/lookup-field.component');
16
- this.CACHED_COMPONENTS.set(FieldType.Lookup, LookupFieldComponent);
17
- };
18
- const setTextAreaIA = async () => {
19
- const { TextAreaIAFieldComponent } = await import('../../dynamic-form/form-field/fields/text-area-ia/text-area-ia-field.component');
20
- this.CACHED_COMPONENTS.set(FieldType.TextIA, TextAreaIAFieldComponent);
21
- };
22
- const setBigNumberField = async () => {
23
- const { BignumberFieldComponent } = await import('../../dynamic-form/form-field/fields/bignumber/bignumber-field.component');
24
- this.CACHED_COMPONENTS.set(FieldType.Number, BignumberFieldComponent);
25
- };
26
- const setBooleanField = async () => {
27
- const { BooleanFieldComponent } = await import('../../dynamic-form/form-field/fields/boolean/boolean-radio-field/boolean-field.component');
28
- this.CACHED_COMPONENTS.set(FieldType.Boolean, BooleanFieldComponent);
29
- };
30
- const setBooleanSwitchField = async () => {
31
- const { BooleanSwitchFieldComponent } = await import('../../dynamic-form/form-field/fields/boolean/boolean-switch-field/boolean-switch-field.component');
32
- this.CACHED_COMPONENTS.set(FieldType.BooleanSwitch, BooleanSwitchFieldComponent);
33
- };
34
- const setCalendarField = async () => {
35
- const { CalendarFieldComponent } = await import('../../dynamic-form/form-field/fields/calendar/calendar-field.component');
36
- this.CACHED_COMPONENTS.set(FieldType.Date, CalendarFieldComponent);
37
- };
38
- const setCheckboxField = async () => {
39
- const { CheckboxFieldComponent } = await import('../../dynamic-form/form-field/fields/checkbox/checkbox-field.component');
40
- this.CACHED_COMPONENTS.set(FieldType.Checkbox, CheckboxFieldComponent);
41
- };
42
- const setChipsField = async () => {
43
- const { ChipsFieldComponent } = await import('../../dynamic-form/form-field/fields/chips/chips-field.component');
44
- this.CACHED_COMPONENTS.set(FieldType.Chips, ChipsFieldComponent);
45
- };
46
- const setCountryPhonePickerField = async () => {
47
- const { CountryPhonePickerFieldComponent } = await import('../../dynamic-form/form-field/fields/country-phone-picker/country-phone-picker-field.component');
48
- this.CACHED_COMPONENTS.set(FieldType.CountryPhonePicker, CountryPhonePickerFieldComponent);
49
- };
50
- const setCurrencyField = async () => {
51
- const { CurrencyFieldComponent } = await import('../../dynamic-form/form-field/fields/currency/currency-field.component');
52
- this.CACHED_COMPONENTS.set(FieldType.Money, CurrencyFieldComponent);
53
- };
54
- const setEditorField = async () => {
55
- const { EditorFieldComponent } = await import('../../dynamic-form/form-field/fields/editor/editor-field.component');
56
- this.CACHED_COMPONENTS.set(FieldType.Editor, EditorFieldComponent);
57
- };
58
- const setFileUploadField = async () => {
59
- const { FileUploadFieldComponent } = await import('../../dynamic-form/form-field/fields/file-upload/file-upload-field.component');
60
- this.CACHED_COMPONENTS.set(FieldType.Blob, FileUploadFieldComponent);
61
- };
62
- const setPasswordField = async () => {
63
- const { PasswordFieldComponent } = await import('../../dynamic-form/form-field/fields/password/password-field.component');
64
- this.CACHED_COMPONENTS.set(FieldType.Password, PasswordFieldComponent);
65
- };
66
- const setProfilePictureField = async () => {
67
- const { ProfilePictureFieldComponent } = await import('../../dynamic-form/form-field/fields/profile-picture/profile-picture-field.component');
68
- this.CACHED_COMPONENTS.set(FieldType.ProfilePicture, ProfilePictureFieldComponent);
69
- };
70
- const setRadioButtonField = async () => {
71
- const { RadioButtonFieldComponent } = await import('../../dynamic-form/form-field/fields/radio-button/radio-button-field.component');
72
- this.CACHED_COMPONENTS.set(FieldType.Radio, RadioButtonFieldComponent);
73
- };
74
- const setSelectField = async () => {
75
- const { SelectFieldComponent } = await import('../../dynamic-form/form-field/fields/select/select-field.component');
76
- this.CACHED_COMPONENTS.set(FieldType.Enum, SelectFieldComponent);
77
- };
78
- const setSliderField = async () => {
79
- const { SliderFieldComponent } = await import('../../dynamic-form/form-field/fields/slider/slider-field.component');
80
- this.CACHED_COMPONENTS.set(FieldType.Slider, SliderFieldComponent);
81
- };
82
- const setTextAreaField = async () => {
83
- const { TextAreaFieldComponent } = await import('../../dynamic-form/form-field/fields/text-area/text-area-field.component');
84
- this.CACHED_COMPONENTS.set(FieldType.Text, TextAreaFieldComponent);
85
- };
86
- const setTextField = async () => {
87
- const { TextFieldComponent } = await import('../../dynamic-form/form-field/fields/text/text-field.component');
88
- this.CACHED_COMPONENTS.set(FieldType.String, TextFieldComponent);
89
- };
90
- const setButtonField = async () => {
91
- const { ButtonFieldComponent } = await import('../../dynamic-form/form-field/fields/button-field/button-field.component');
92
- this.CACHED_COMPONENTS.set(FieldType.Button, ButtonFieldComponent);
93
- };
94
- const setFieldSetComponent = async () => {
95
- const { FieldsetComponent } = await import('../components/structure/fieldset/fieldset.component');
96
- this.CACHED_COMPONENTS.set(StructureType.Fieldset, FieldsetComponent);
97
- };
98
- const setSectionComponent = async () => {
99
- const { SectionComponent } = await import('../components/structure/section/section.component');
100
- this.CACHED_COMPONENTS.set(StructureType.Section, SectionComponent);
101
- };
102
- const setRowComponent = async () => {
103
- const { RowComponent } = await import('../components/grid/row/row.component');
104
- this.CACHED_COMPONENTS.set(GridType.Row, RowComponent);
105
- };
106
- const setStarRatingComponent = async () => {
107
- const { StarRatingFieldComponent } = await import('../../dynamic-form/form-field/fields/star-rating/star-rating-field.component');
108
- this.CACHED_COMPONENTS.set(FieldType.StarRating, StarRatingFieldComponent);
109
- };
110
- const SET_CACHE_PROMISES = [
111
- setAutoComplete,
112
- setLookup,
113
- setTextAreaIA,
114
- setBigNumberField,
115
- setBooleanField,
116
- setBooleanSwitchField,
117
- setCalendarField,
118
- setCheckboxField,
119
- setChipsField,
120
- setCountryPhonePickerField,
121
- setCurrencyField,
122
- setEditorField,
123
- setFileUploadField,
124
- setPasswordField,
125
- setProfilePictureField,
126
- setRadioButtonField,
127
- setSelectField,
128
- setSliderField,
129
- setTextAreaField,
130
- setTextField,
131
- setButtonField,
132
- setFieldSetComponent,
133
- setSectionComponent,
134
- setRowComponent,
135
- setStarRatingComponent,
136
- ];
137
- await Promise.allSettled(SET_CACHE_PROMISES.map((promise) => promise()));
138
- this.LOADED_ALL_CACHE = true;
139
- }
140
- get(type) {
141
- return this.CACHED_COMPONENTS.get(type);
142
- }
143
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
144
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, providedIn: 'root' });
145
- }
146
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DynamicFormCacheService, decorators: [{
147
- type: Injectable,
148
- args: [{ providedIn: 'root' }]
149
- }] });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9zcmMvbGliL2R5bmFtaWMtZm9ybS9zZXJ2aWNlcy9keW5hbWljLWZvcm0tY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFHakUsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDUixpQkFBaUIsR0FBbUQsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUMvRixLQUFLLENBQUMsUUFBUTtRQUNWLE1BQU0sZUFBZSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQy9CLE1BQU0sRUFBRSwwQkFBMEIsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUMvQyxnRkFBZ0YsQ0FDbkYsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ25GLENBQUMsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUN6QyxvRUFBb0UsQ0FDdkUsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLEtBQUssSUFB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QUNyQixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGFBQWE7WUFDYiwwQkFBMEI7WUFDMUIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLHNCQUFzQjtZQUN0QixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLGNBQWM7WUFDZCxnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGNBQWM7WUFDZCxvQkFBb0I7WUFDcEIsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixzQkFBc0I7U0FDekIsQ0FBQztRQUNGLE1BQU0sT0FBTyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHLENBQUMsSUFBMEM7UUFDMUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7d0dBMUxRLHVCQUF1Qjs0R0FBdkIsdUJBQXVCLGNBRFYsTUFBTTs7NEZBQ25CLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHcmlkVHlwZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zL2dyaWQtdHlwZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICcuLi9mb3JtLWZpZWxkL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGUnO1xuaW1wb3J0IHsgU3RydWN0dXJlVHlwZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb25zL3N0cnVjdHVyZS10eXBlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUNhY2hlU2VydmljZSB7XG4gICAgTE9BREVEX0FMTF9DQUNIRSA9IGZhbHNlO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgQ0FDSEVEX0NPTVBPTkVOVFM6IE1hcDxHcmlkVHlwZSB8IEZpZWxkVHlwZSB8IFN0cnVjdHVyZVR5cGUsIGFueT4gPSBuZXcgTWFwKCk7XG4gICAgYXN5bmMgc2V0Q2FjaGUoKSB7XG4gICAgICAgIGNvbnN0IHNldEF1dG9Db21wbGV0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5BdXRvY29tcGxldGUsIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0TG9va3VwID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBMb29rdXBGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvbG9va3VwL2xvb2t1cC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkxvb2t1cCwgTG9va3VwRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRUZXh0QXJlYUlBID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBUZXh0QXJlYUlBRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQtYXJlYS1pYS90ZXh0LWFyZWEtaWEtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5UZXh0SUEsIFRleHRBcmVhSUFGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldEJpZ051bWJlckZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBCaWdudW1iZXJGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYmlnbnVtYmVyL2JpZ251bWJlci1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLk51bWJlciwgQmlnbnVtYmVyRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCb29sZWFuRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEJvb2xlYW5GaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXJhZGlvLWZpZWxkL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5Cb29sZWFuLCBCb29sZWFuRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCb29sZWFuU3dpdGNoRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvYm9vbGVhbi9ib29sZWFuLXN3aXRjaC1maWVsZC9ib29sZWFuLXN3aXRjaC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkJvb2xlYW5Td2l0Y2gsIEJvb2xlYW5Td2l0Y2hGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldENhbGVuZGFyRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IENhbGVuZGFyRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NhbGVuZGFyL2NhbGVuZGFyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuRGF0ZSwgQ2FsZW5kYXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2V0Q2hlY2tib3hGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQ2hlY2tib3hGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvY2hlY2tib3gvY2hlY2tib3gtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5DaGVja2JveCwgQ2hlY2tib3hGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldENoaXBzRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IENoaXBzRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NoaXBzL2NoaXBzLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQ2hpcHMsIENoaXBzRmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQ291bnRyeVBob25lUGlja2VyRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2NvdW50cnktcGhvbmUtcGlja2VyL2NvdW50cnktcGhvbmUtcGlja2VyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQ291bnRyeVBob25lUGlja2VyLCBDb3VudHJ5UGhvbmVQaWNrZXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldEN1cnJlbmN5RmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IEN1cnJlbmN5RmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2N1cnJlbmN5L2N1cnJlbmN5LWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuTW9uZXksIEN1cnJlbmN5RmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRFZGl0b3JGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgRWRpdG9yRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2VkaXRvci9lZGl0b3ItZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5FZGl0b3IsIEVkaXRvckZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0RmlsZVVwbG9hZEZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuQmxvYiwgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0UGFzc3dvcmRGaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgUGFzc3dvcmRGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvcGFzc3dvcmQvcGFzc3dvcmQtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5QYXNzd29yZCwgUGFzc3dvcmRGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFByb2ZpbGVQaWN0dXJlRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFByb2ZpbGVQaWN0dXJlRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3Byb2ZpbGUtcGljdHVyZS9wcm9maWxlLXBpY3R1cmUtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5Qcm9maWxlUGljdHVyZSwgUHJvZmlsZVBpY3R1cmVGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFJhZGlvQnV0dG9uRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFJhZGlvQnV0dG9uRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5SYWRpbywgUmFkaW9CdXR0b25GaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFNlbGVjdEZpZWxkID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBTZWxlY3RGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvc2VsZWN0L3NlbGVjdC1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLkVudW0sIFNlbGVjdEZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0U2xpZGVyRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFNsaWRlckZpZWxkQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAgICAgICAgICAgJy4uLy4uL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9zbGlkZXIvc2xpZGVyLWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuU2xpZGVyLCBTbGlkZXJGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFRleHRBcmVhRmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFRleHRBcmVhRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL3RleHQtYXJlYS90ZXh0LWFyZWEtZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5UZXh0LCBUZXh0QXJlYUZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzZXRUZXh0RmllbGQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFRleHRGaWVsZENvbXBvbmVudCB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgICAgICAgICAgICcuLi8uLi9keW5hbWljLWZvcm0vZm9ybS1maWVsZC9maWVsZHMvdGV4dC90ZXh0LWZpZWxkLmNvbXBvbmVudCdcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChGaWVsZFR5cGUuU3RyaW5nLCBUZXh0RmllbGRDb21wb25lbnQpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBzZXRCdXR0b25GaWVsZCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgQnV0dG9uRmllbGRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydChcbiAgICAgICAgICAgICAgICAnLi4vLi4vZHluYW1pYy1mb3JtL2Zvcm0tZmllbGQvZmllbGRzL2J1dHRvbi1maWVsZC9idXR0b24tZmllbGQuY29tcG9uZW50J1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuc2V0KEZpZWxkVHlwZS5CdXR0b24sIEJ1dHRvbkZpZWxkQ29tcG9uZW50KTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBzZXRGaWVsZFNldENvbXBvbmVudCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgRmllbGRzZXRDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvZmllbGRzZXQvZmllbGRzZXQuY29tcG9uZW50Jyk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChTdHJ1Y3R1cmVUeXBlLkZpZWxkc2V0LCBGaWVsZHNldENvbXBvbmVudCk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHNldFNlY3Rpb25Db21wb25lbnQgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IFNlY3Rpb25Db21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9zdHJ1Y3R1cmUvc2VjdGlvbi9zZWN0aW9uLmNvbXBvbmVudCcpO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoU3RydWN0dXJlVHlwZS5TZWN0aW9uLCBTZWN0aW9uQ29tcG9uZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgc2V0Um93Q29tcG9uZW50ID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBSb3dDb21wb25lbnQgfSA9IGF3YWl0IGltcG9ydCgnLi4vY29tcG9uZW50cy9ncmlkL3Jvdy9yb3cuY29tcG9uZW50Jyk7XG4gICAgICAgICAgICB0aGlzLkNBQ0hFRF9DT01QT05FTlRTLnNldChHcmlkVHlwZS5Sb3csIFJvd0NvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3Qgc2V0U3RhclJhdGluZ0NvbXBvbmVudCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgU3RhclJhdGluZ0ZpZWxkQ29tcG9uZW50IH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAgICAgICAgICAgJy4uLy4uL2R5bmFtaWMtZm9ybS9mb3JtLWZpZWxkL2ZpZWxkcy9zdGFyLXJhdGluZy9zdGFyLXJhdGluZy1maWVsZC5jb21wb25lbnQnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5DQUNIRURfQ09NUE9ORU5UUy5zZXQoRmllbGRUeXBlLlN0YXJSYXRpbmcsIFN0YXJSYXRpbmdGaWVsZENvbXBvbmVudCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgU0VUX0NBQ0hFX1BST01JU0VTID0gW1xuICAgICAgICAgICAgc2V0QXV0b0NvbXBsZXRlLFxuICAgICAgICAgICAgc2V0TG9va3VwLFxuICAgICAgICAgICAgc2V0VGV4dEFyZWFJQSxcbiAgICAgICAgICAgIHNldEJpZ051bWJlckZpZWxkLFxuICAgICAgICAgICAgc2V0Qm9vbGVhbkZpZWxkLFxuICAgICAgICAgICAgc2V0Qm9vbGVhblN3aXRjaEZpZWxkLFxuICAgICAgICAgICAgc2V0Q2FsZW5kYXJGaWVsZCxcbiAgICAgICAgICAgIHNldENoZWNrYm94RmllbGQsXG4gICAgICAgICAgICBzZXRDaGlwc0ZpZWxkLFxuICAgICAgICAgICAgc2V0Q291bnRyeVBob25lUGlja2VyRmllbGQsXG4gICAgICAgICAgICBzZXRDdXJyZW5jeUZpZWxkLFxuICAgICAgICAgICAgc2V0RWRpdG9yRmllbGQsXG4gICAgICAgICAgICBzZXRGaWxlVXBsb2FkRmllbGQsXG4gICAgICAgICAgICBzZXRQYXNzd29yZEZpZWxkLFxuICAgICAgICAgICAgc2V0UHJvZmlsZVBpY3R1cmVGaWVsZCxcbiAgICAgICAgICAgIHNldFJhZGlvQnV0dG9uRmllbGQsXG4gICAgICAgICAgICBzZXRTZWxlY3RGaWVsZCxcbiAgICAgICAgICAgIHNldFNsaWRlckZpZWxkLFxuICAgICAgICAgICAgc2V0VGV4dEFyZWFGaWVsZCxcbiAgICAgICAgICAgIHNldFRleHRGaWVsZCxcbiAgICAgICAgICAgIHNldEJ1dHRvbkZpZWxkLFxuICAgICAgICAgICAgc2V0RmllbGRTZXRDb21wb25lbnQsXG4gICAgICAgICAgICBzZXRTZWN0aW9uQ29tcG9uZW50LFxuICAgICAgICAgICAgc2V0Um93Q29tcG9uZW50LFxuICAgICAgICAgICAgc2V0U3RhclJhdGluZ0NvbXBvbmVudCxcbiAgICAgICAgXTtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGxTZXR0bGVkKFNFVF9DQUNIRV9QUk9NSVNFUy5tYXAoKHByb21pc2UpID0+IHByb21pc2UoKSkpO1xuICAgICAgICB0aGlzLkxPQURFRF9BTExfQ0FDSEUgPSB0cnVlO1xuICAgIH1cblxuICAgIGdldCh0eXBlOiBHcmlkVHlwZSB8IEZpZWxkVHlwZSB8IFN0cnVjdHVyZVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuQ0FDSEVEX0NPTVBPTkVOVFMuZ2V0KHR5cGUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,53 +0,0 @@
1
- import { Component, effect, input, viewChildren, ViewContainerRef } from '@angular/core';
2
- import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
3
- import { FormDynamicRegistry } from '../../core/registry';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/forms";
6
- export class FormDynamicComponent {
7
- form = new FormGroup({});
8
- schema = input.required();
9
- // @ViewChildren('host', { read: ViewContainerRef })
10
- // hosts!: QueryList<ViewContainerRef>;
11
- hosts = viewChildren('host', { read: ViewContainerRef });
12
- schemaEffect = effect(() => {
13
- this.buildForm();
14
- });
15
- hostsEffect = effect(() => {
16
- this.buildFields();
17
- });
18
- buildForm() {
19
- const schema = this.schema();
20
- if (!schema || !schema.fields)
21
- return;
22
- const group = {};
23
- schema.fields.forEach((field) => {
24
- group[field.key] = new FormControl(null);
25
- });
26
- this.form = new FormGroup(group);
27
- }
28
- buildFields() {
29
- const hosts = this.hosts();
30
- if (!hosts?.length)
31
- return;
32
- this.schema().fields.forEach((field, index) => {
33
- const container = hosts[index];
34
- container.clear();
35
- const component = FormDynamicRegistry.resolveField(field.type);
36
- if (!component)
37
- return;
38
- const ref = container.createComponent(component);
39
- ref.setInput('field', field);
40
- ref.setInput('control', this.form.get(field.key));
41
- });
42
- }
43
- emit() {
44
- console.log('FORM ->', this.form.value);
45
- }
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormDynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormDynamicComponent, isStandalone: true, selector: "s-form-dynamic", inputs: { schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "hosts", predicate: ["host"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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"] }] });
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormDynamicComponent, decorators: [{
50
- type: Component,
51
- args: [{ selector: 's-form-dynamic', standalone: true, imports: [ReactiveFormsModule], template: "<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n" }]
52
- }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1keW5hbWljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL2NvbXBvbmVudHMvZm9ybS1keW5hbWljL2Zvcm0tZHluYW1pYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljL2xpYi9jb21wb25lbnRzL2Zvcm0tZHluYW1pYy9mb3JtLWR5bmFtaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFTMUQsTUFBTSxPQUFPLG9CQUFvQjtJQUNuQixJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbkMsTUFBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7SUFFN0Msb0RBQW9EO0lBQ3BELHVDQUF1QztJQUV0QixLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFFekQsWUFBWSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBRWMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7UUFDdkMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBRUssU0FBUztRQUNiLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBRXRDLE1BQU0sS0FBSyxHQUFRLEVBQUUsQ0FBQztRQUV0QixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzVCLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTTtZQUFFLE9BQU87UUFFM0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDMUMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9CLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUVsQixNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxTQUFTO2dCQUFFLE9BQU87WUFFdkIsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVqRCxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3QixHQUFHLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJO1FBQ0EsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO3dHQWxEUSxvQkFBb0I7NEZBQXBCLG9CQUFvQiw2UUFPeUIsZ0JBQWdCLDZDQ2xCMUUsa1BBUUEsMkNEQWMsbUJBQW1COzs0RkFHcEIsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBlZmZlY3QsIGlucHV0LCB2aWV3Q2hpbGRyZW4sIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRHluYW1pY1JlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vY29yZS9yZWdpc3RyeSc7XG5pbXBvcnQgeyBGb3JtRHluYW1pY1NjaGVtYSB9IGZyb20gJy4uLy4uL3NjaGVtYXMvZm9ybS1keW5hbWljLXNjaGVtYSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1mb3JtLWR5bmFtaWMnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWR5bmFtaWMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRHluYW1pY0NvbXBvbmVudCB7XG4gICAgcHJvdGVjdGVkIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICBzY2hlbWEgPSBpbnB1dC5yZXF1aXJlZDxGb3JtRHluYW1pY1NjaGVtYT4oKTtcblxuICAgIC8vIEBWaWV3Q2hpbGRyZW4oJ2hvc3QnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSlcbiAgICAvLyBob3N0cyE6IFF1ZXJ5TGlzdDxWaWV3Q29udGFpbmVyUmVmPjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdHMgPSB2aWV3Q2hpbGRyZW4oJ2hvc3QnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjaGVtYUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYnVpbGRGb3JtKCk7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RzRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICAgICAgdGhpcy5idWlsZEZpZWxkcygpO1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSBidWlsZEZvcm0oKSB7XG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IHRoaXMuc2NoZW1hKCk7XG4gICAgICAgIGlmICghc2NoZW1hIHx8ICFzY2hlbWEuZmllbGRzKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgZ3JvdXA6IGFueSA9IHt9O1xuXG4gICAgICAgIHNjaGVtYS5maWVsZHMuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgICAgICAgIGdyb3VwW2ZpZWxkLmtleV0gPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoZ3JvdXApO1xuICAgIH1cblxuICAgIHByaXZhdGUgYnVpbGRGaWVsZHMoKSB7XG4gICAgICAgIGNvbnN0IGhvc3RzID0gdGhpcy5ob3N0cygpO1xuICAgICAgICBpZiAoIWhvc3RzPy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICB0aGlzLnNjaGVtYSgpLmZpZWxkcy5mb3JFYWNoKChmaWVsZCwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGhvc3RzW2luZGV4XTtcbiAgICAgICAgICAgIGNvbnRhaW5lci5jbGVhcigpO1xuXG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBGb3JtRHluYW1pY1JlZ2lzdHJ5LnJlc29sdmVGaWVsZChmaWVsZC50eXBlKTtcbiAgICAgICAgICAgIGlmICghY29tcG9uZW50KSByZXR1cm47XG5cbiAgICAgICAgICAgIGNvbnN0IHJlZiA9IGNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcblxuICAgICAgICAgICAgcmVmLnNldElucHV0KCdmaWVsZCcsIGZpZWxkKTtcbiAgICAgICAgICAgIHJlZi5zZXRJbnB1dCgnY29udHJvbCcsIHRoaXMuZm9ybS5nZXQoZmllbGQua2V5KSEpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBlbWl0KCkge1xuICAgICAgICBjb25zb2xlLmxvZygnRk9STSAtPicsIHRoaXMuZm9ybS52YWx1ZSk7XG4gICAgfVxufVxuXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cblxuICAgICAgQGZvciAoZmllbGQgb2Ygc2NoZW1hKCkuZmllbGRzOyB0cmFjayBmaWVsZC5rZXk7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgI2hvc3Q+PC9uZy1jb250YWluZXI+XG4gICAgICB9XG5cbiAgICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJlbWl0KClcIj5FbnZpYXI8L2J1dHRvbj5cbiAgICA8L2Zvcm0+XG4iXX0=
@@ -1,10 +0,0 @@
1
- export class FormDynamicRegistry {
2
- static fields = new Map();
3
- static registerField(type, component) {
4
- this.fields.set(type, component);
5
- }
6
- static resolveField(type) {
7
- return this.fields.get(type);
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljL2xpYi9jb3JlL3JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxtQkFBbUI7SUFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUV4RCxNQUFNLENBQUMsYUFBYSxDQUFDLElBQWUsRUFBRSxTQUFvQjtRQUN0RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBZTtRQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gXCIuLi9zY2hlbWFzL2ZpZWxkLWR5bmFtaWNcIjtcblxuZXhwb3J0IGNsYXNzIEZvcm1EeW5hbWljUmVnaXN0cnkge1xuICAgIHByaXZhdGUgc3RhdGljIGZpZWxkcyA9IG5ldyBNYXA8RmllbGRUeXBlLCBUeXBlPGFueT4+KCk7XG5cbiAgICBzdGF0aWMgcmVnaXN0ZXJGaWVsZCh0eXBlOiBGaWVsZFR5cGUsIGNvbXBvbmVudDogVHlwZTxhbnk+KSB7XG4gICAgICAgIHRoaXMuZmllbGRzLnNldCh0eXBlLCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHN0YXRpYyByZXNvbHZlRmllbGQodHlwZTogRmllbGRUeXBlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpZWxkcy5nZXQodHlwZSk7XG4gICAgfVxufVxuIl19
@@ -1,15 +0,0 @@
1
- import { Component, input } from '@angular/core';
2
- import { ReactiveFormsModule } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- export class BooleanFieldComponent {
6
- field = input.required();
7
- control = input.required();
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BooleanFieldComponent, isStandalone: true, selector: "s-boolean-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFieldComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 's-boolean-field', standalone: true, imports: [ReactiveFormsModule], template: "<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n" }]
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljL2xpYi9maWVsZHMtYmFzaWMvYm9vbGVhbi1maWVsZC9ib29sZWFuLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL2ZpZWxkcy1iYXNpYy9ib29sZWFuLWZpZWxkL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQVNsRSxNQUFNLE9BQU8scUJBQXFCO0lBQzlCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFnQixDQUFDO0lBQ3ZDLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7d0dBRi9CLHFCQUFxQjs0RkFBckIscUJBQXFCLDJVQ1hsQyw4SEFJQSx5RERHYyxtQkFBbUI7OzRGQUlwQixxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0ksaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuRmllbGQgfSBmcm9tICcuLi8uLi9zY2hlbWFzL2ZpZWxkLWR5bmFtaWMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncy1ib29sZWFuLWZpZWxkJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYm9vbGVhbi1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2Jvb2xlYW4tZmllbGQuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIEJvb2xlYW5GaWVsZENvbXBvbmVudCB7XG4gICAgZmllbGQgPSBpbnB1dC5yZXF1aXJlZDxCb29sZWFuRmllbGQ+KCk7XG4gICAgY29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xufVxuXG4iLCI8bGFiZWw+XG4gIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbZm9ybUNvbnRyb2xdPVwiY29udHJvbCgpXCIgW25hbWVdPVwiZmllbGQoKS5rZXlcIiAvPlxuICB7eyBmaWVsZCgpLmxhYmVsIH19XG48L2xhYmVsPlxuIl19
@@ -1,15 +0,0 @@
1
- import { Component, input } from '@angular/core';
2
- import { ReactiveFormsModule } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- export class StringFieldComponent {
6
- field = input.required();
7
- control = input.required();
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: StringFieldComponent, isStandalone: true, selector: "s-string-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: " <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFieldComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 's-string-field', standalone: true, imports: [ReactiveFormsModule], template: " <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n" }]
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL2ZpZWxkcy1iYXNpYy9zdHJpbmctZmllbGQvc3RyaW5nLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL2ZpZWxkcy1iYXNpYy9zdHJpbmctZmllbGQvc3RyaW5nLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBZSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFVbEUsTUFBTSxPQUFPLG9CQUFvQjtJQUM3QixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO0lBQ3RDLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFlLENBQUM7d0dBRi9CLG9CQUFvQjs0RkFBcEIsb0JBQW9CLDBVQ1hqQyx5SEFFQSx5RERLYyxtQkFBbUI7OzRGQUlwQixvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN0cmluZ0ZpZWxkIH0gZnJvbSAnLi4vLi4vc2NoZW1hcy9maWVsZC1keW5hbWljJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLXN0cmluZy1maWVsZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3N0cmluZy1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3N0cmluZy1maWVsZC5jb21wb25lbnQuY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgU3RyaW5nRmllbGRDb21wb25lbnQge1xuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8U3RyaW5nRmllbGQ+KCk7XG4gICAgY29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xufVxuXG4iLCIgICA8bGFiZWw+e3sgZmllbGQoKS5sYWJlbCB9fTwvbGFiZWw+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2woKVwiIFtuYW1lXT1cImZpZWxkKCkua2V5XCIgLz5cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Component, input, viewChild } from '@angular/core';
2
- import Quill from 'quill';
3
- import * as i0 from "@angular/core";
4
- export class EditorFieldComponent {
5
- id = crypto.randomUUID();
6
- field = input.required();
7
- control = input.required();
8
- editorContainer = viewChild.required('editorContainer');
9
- quill;
10
- ngAfterViewInit() {
11
- this.quill = new Quill(this.editorContainer().nativeElement, {
12
- theme: this.field().theme ?? 'snow',
13
- });
14
- this.quill.on('text-change', () => {
15
- const html = this.editorContainer().nativeElement.querySelector('.ql-editor')?.innerHTML;
16
- this.control().setValue(html, { emitEvent: true });
17
- });
18
- const initial = this.control().value;
19
- if (initial) {
20
- this.quill.root.innerHTML = initial;
21
- }
22
- }
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: EditorFieldComponent, isStandalone: true, selector: "s-editor-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, isSignal: true }], ngImport: i0, template: " <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n", styles: [""] });
25
- }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorFieldComponent, decorators: [{
27
- type: Component,
28
- args: [{ selector: 's-editor-field', standalone: true, imports: [], template: " <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n" }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvb3B0aW9uYWwtZmllbGRzL2VkaXRvci9lZGl0b3ItZmllbGQvZWRpdG9yLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvb3B0aW9uYWwtZmllbGRzL2VkaXRvci9lZGl0b3ItZmllbGQvZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHdkYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOztBQVMxQixNQUFNLE9BQU8sb0JBQW9CO0lBQzdCLEVBQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFekIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWUsQ0FBQztJQUN0QyxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBZSxDQUFDO0lBRXhDLGVBQWUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUEwQixpQkFBaUIsQ0FBQyxDQUFDO0lBRWpGLEtBQUssQ0FBUztJQUVkLGVBQWU7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLEVBQUU7WUFDekQsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLElBQUksTUFBTTtTQUN0QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFO1lBQzlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsQ0FBQztZQUN6RixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNyQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztRQUN4QyxDQUFDO0lBQ0wsQ0FBQzt3R0F4QlEsb0JBQW9COzRGQUFwQixvQkFBb0IsOGNDWmpDLDBIQUdBOzs0RkRTYSxvQkFBb0I7a0JBUGhDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGlucHV0LCB2aWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVkaXRvckZpZWxkIH0gZnJvbSAnLi4vZWRpdG9yLXR5cGVzJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdzLWVkaXRvci1maWVsZCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vZWRpdG9yLWZpZWxkLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIGlkID0gY3J5cHRvLnJhbmRvbVVVSUQoKTtcblxuICAgIGZpZWxkID0gaW5wdXQucmVxdWlyZWQ8RWRpdG9yRmllbGQ+KCk7XG4gICAgY29udHJvbCA9IGlucHV0LnJlcXVpcmVkPEZvcm1Db250cm9sPigpO1xuXG4gICAgZWRpdG9yQ29udGFpbmVyID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PignZWRpdG9yQ29udGFpbmVyJyk7XG5cbiAgICBxdWlsbCE6IFF1aWxsO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnF1aWxsID0gbmV3IFF1aWxsKHRoaXMuZWRpdG9yQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgdGhlbWU6IHRoaXMuZmllbGQoKS50aGVtZSA/PyAnc25vdycsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucXVpbGwub24oJ3RleHQtY2hhbmdlJywgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaHRtbCA9IHRoaXMuZWRpdG9yQ29udGFpbmVyKCkubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcucWwtZWRpdG9yJyk/LmlubmVySFRNTDtcbiAgICAgICAgICAgIHRoaXMuY29udHJvbCgpLnNldFZhbHVlKGh0bWwsIHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBpbml0aWFsID0gdGhpcy5jb250cm9sKCkudmFsdWU7XG4gICAgICAgIGlmIChpbml0aWFsKSB7XG4gICAgICAgICAgICB0aGlzLnF1aWxsLnJvb3QuaW5uZXJIVE1MID0gaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiIDxsYWJlbCBbZm9yXT1cImlkXCI+e3sgZmllbGQoKS5sYWJlbCB9fTwvbGFiZWw+XG5cbjxkaXYgW2lkXT1cImlkXCIgI2VkaXRvckNvbnRhaW5lciBjbGFzcz1cInF1aWxsLWNvbnRhaW5lclwiPjwvZGl2PlxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2Zvcm0tZHluYW1pYy9vcHRpb25hbC1maWVsZHMvZWRpdG9yL2VkaXRvci10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGREeW5hbWljQmFzZSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljJztcbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yRmllbGQgZXh0ZW5kcyBGaWVsZER5bmFtaWNCYXNlIHtcbiAgICB0eXBlOiAnZWRpdG9yJztcbiAgICBrZXk6IHN0cmluZztcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICByZXF1aXJlZD86IGJvb2xlYW47XG5cbiAgICB0aGVtZT86ICdzbm93JyB8ICdidWJibGUnO1xufVxuXG4iXX0=
@@ -1,6 +0,0 @@
1
- import { FormDynamicRegistry } from '@seniorsistemas/angular-components/form-dynamic';
2
- import { EditorFieldComponent } from './editor-field/editor-field.component';
3
- FormDynamicRegistry.registerField('editor', EditorFieldComponent);
4
- export * from './editor-types';
5
- export { EditorFieldComponent } from './editor-field/editor-field.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvb3B0aW9uYWwtZmllbGRzL2VkaXRvci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTdFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztBQUVsRSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUR5bmFtaWNSZWdpc3RyeSB9IGZyb20gJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljJztcbmltcG9ydCB7IEVkaXRvckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9lZGl0b3ItZmllbGQvZWRpdG9yLWZpZWxkLmNvbXBvbmVudCc7XG5cbkZvcm1EeW5hbWljUmVnaXN0cnkucmVnaXN0ZXJGaWVsZCgnZWRpdG9yJywgRWRpdG9yRmllbGRDb21wb25lbnQpO1xuXG5leHBvcnQgKiBmcm9tICcuL2VkaXRvci10eXBlcyc7XG5leHBvcnQgeyBFZGl0b3JGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLWZpZWxkL2VkaXRvci1maWVsZC5jb21wb25lbnQnO1xuXG4vLyBNb2R1bGUgYXVnbWVudGF0aW9uIHRvIGFkZCAnZWRpdG9yJyB0byBGaWVsZFR5cGVNYXBcbmltcG9ydCB7IEVkaXRvckZpZWxkIH0gZnJvbSAnLi9lZGl0b3ItdHlwZXMnO1xuZGVjbGFyZSBtb2R1bGUgJ0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvZm9ybS1keW5hbWljJyB7XG4gICAgZXhwb3J0IGludGVyZmFjZSBGaWVsZFR5cGVNYXAge1xuICAgICAgICBlZGl0b3I6IEVkaXRvckZpZWxkO1xuICAgIH1cbn1cblxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLWZvcm0tZHluYW1pYy1vcHRpb25hbC1maWVsZHMtZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1jb21wb25lbnRzL2Zvcm0tZHluYW1pYy9vcHRpb25hbC1maWVsZHMvZWRpdG9yL3NlbmlvcnNpc3RlbWFzLWFuZ3VsYXItY29tcG9uZW50cy1mb3JtLWR5bmFtaWMtb3B0aW9uYWwtZmllbGRzLWVkaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,10 +0,0 @@
1
- import { FormDynamicRegistry } from './core/registry';
2
- export { FormDynamicRegistry } from './core/registry';
3
- import { BooleanFieldComponent } from './fields-basic/boolean-field/boolean-field.component';
4
- import { StringFieldComponent } from './fields-basic/string-field/string-field.component';
5
- FormDynamicRegistry.registerField('string', StringFieldComponent);
6
- FormDynamicRegistry.registerField('boolean', BooleanFieldComponent);
7
- export * from './schemas/field-dynamic';
8
- export * from './schemas/form-dynamic-schema';
9
- export { FormDynamicComponent } from './components/form-dynamic/form-dynamic.component';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFMUYsbUJBQW1CLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2xFLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUdwRSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtRHluYW1pY1JlZ2lzdHJ5IH0gZnJvbSAnLi9jb3JlL3JlZ2lzdHJ5JztcbmV4cG9ydCB7IEZvcm1EeW5hbWljUmVnaXN0cnkgfSBmcm9tICcuL2NvcmUvcmVnaXN0cnknO1xuaW1wb3J0IHsgQm9vbGVhbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZHMtYmFzaWMvYm9vbGVhbi1maWVsZC9ib29sZWFuLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTdHJpbmdGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZmllbGRzLWJhc2ljL3N0cmluZy1maWVsZC9zdHJpbmctZmllbGQuY29tcG9uZW50JztcblxuRm9ybUR5bmFtaWNSZWdpc3RyeS5yZWdpc3RlckZpZWxkKCdzdHJpbmcnLCBTdHJpbmdGaWVsZENvbXBvbmVudCk7XG5Gb3JtRHluYW1pY1JlZ2lzdHJ5LnJlZ2lzdGVyRmllbGQoJ2Jvb2xlYW4nLCBCb29sZWFuRmllbGRDb21wb25lbnQpO1xuXG5cbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hcy9maWVsZC1keW5hbWljJztcbmV4cG9ydCAqIGZyb20gJy4vc2NoZW1hcy9mb3JtLWR5bmFtaWMtc2NoZW1hJztcbmV4cG9ydCB7IEZvcm1EeW5hbWljQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0tZHluYW1pYy9mb3JtLWR5bmFtaWMuY29tcG9uZW50JztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZHluYW1pYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL3NjaGVtYXMvZmllbGQtZHluYW1pYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy9leHBvcnQgaW50ZXJmYWNlIEZpZWxkVHlwZU1hcCB7IH1cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGREeW5hbWljQmFzZSB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdGaWVsZCBleHRlbmRzIEZpZWxkRHluYW1pY0Jhc2Uge1xuICAgIHR5cGU6ICdzdHJpbmcnO1xuICAgIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQm9vbGVhbkZpZWxkIGV4dGVuZHMgRmllbGREeW5hbWljQmFzZSB7XG4gICAgdHlwZTogJ2Jvb2xlYW4nO1xufVxuXG4vLyBleHBvcnQgdHlwZSBCdWlsdEluRmllbGQgPVxuLy8gICAgIHwgU3RyaW5nRmllbGRcbi8vICAgICB8IEJvb2xlYW5GaWVsZDtcblxuXG5cbi8vIFRpcG9zIGJhc2UgY29uaGVjaWRvcyBwZWxvIGNvcmU6XG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkVHlwZU1hcCB7XG4gICAgc3RyaW5nOiBTdHJpbmdGaWVsZDtcbiAgICBib29sZWFuOiBCb29sZWFuRmllbGQ7XG59XG5cbi8vIERlcml2YWRvcyBhdXRvbWF0aWNhbWVudGVcbmV4cG9ydCB0eXBlIEZpZWxkVHlwZSA9IGtleW9mIEZpZWxkVHlwZU1hcDtcbmV4cG9ydCB0eXBlIEZpZWxkRHluYW1pYyA9IEZpZWxkVHlwZU1hcFtrZXlvZiBGaWVsZFR5cGVNYXBdOyJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1keW5hbWljLXNjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL3NjaGVtYXMvZm9ybS1keW5hbWljLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGREeW5hbWljIH0gZnJvbSBcIi4vZmllbGQtZHluYW1pY1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1EeW5hbWljU2NoZW1hIHtcbiAgICBmaWVsZHM6IEZpZWxkRHluYW1pY1tdO1xufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtYW5ndWxhci1jb21wb25lbnRzLWZvcm0tZHluYW1pYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9mb3JtLWR5bmFtaWMvbGliL3NlbmlvcnNpc3RlbWFzLWFuZ3VsYXItY29tcG9uZW50cy1mb3JtLWR5bmFtaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,40 +0,0 @@
1
- import { FormDynamicRegistry } from '@seniorsistemas/angular-components/form-dynamic';
2
- import * as i0 from '@angular/core';
3
- import { input, viewChild, Component } from '@angular/core';
4
- import Quill from 'quill';
5
-
6
- class EditorFieldComponent {
7
- id = crypto.randomUUID();
8
- field = input.required();
9
- control = input.required();
10
- editorContainer = viewChild.required('editorContainer');
11
- quill;
12
- ngAfterViewInit() {
13
- this.quill = new Quill(this.editorContainer().nativeElement, {
14
- theme: this.field().theme ?? 'snow',
15
- });
16
- this.quill.on('text-change', () => {
17
- const html = this.editorContainer().nativeElement.querySelector('.ql-editor')?.innerHTML;
18
- this.control().setValue(html, { emitEvent: true });
19
- });
20
- const initial = this.control().value;
21
- if (initial) {
22
- this.quill.root.innerHTML = initial;
23
- }
24
- }
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.14", type: EditorFieldComponent, isStandalone: true, selector: "s-editor-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, isSignal: true }], ngImport: i0, template: " <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n", styles: [""] });
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorFieldComponent, decorators: [{
29
- type: Component,
30
- args: [{ selector: 's-editor-field', standalone: true, imports: [], template: " <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n" }]
31
- }] });
32
-
33
- FormDynamicRegistry.registerField('editor', EditorFieldComponent);
34
-
35
- /**
36
- * Generated bundle index. Do not edit.
37
- */
38
-
39
- export { EditorFieldComponent };
40
- //# sourceMappingURL=seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-form-dynamic-optional-fields-editor.mjs","sources":["../../projects/angular-components/form-dynamic/optional-fields/editor/editor-field/editor-field.component.ts","../../projects/angular-components/form-dynamic/optional-fields/editor/editor-field/editor-field.component.html","../../projects/angular-components/form-dynamic/optional-fields/editor/public-api.ts","../../projects/angular-components/form-dynamic/optional-fields/editor/seniorsistemas-angular-components-form-dynamic-optional-fields-editor.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, input, viewChild } from '@angular/core';\nimport { EditorField } from '../editor-types';\nimport { FormControl } from '@angular/forms';\nimport Quill from 'quill';\n\n@Component({\n selector: 's-editor-field',\n standalone: true,\n imports: [],\n templateUrl: './editor-field.component.html',\n styleUrl: './editor-field.component.css',\n})\nexport class EditorFieldComponent implements AfterViewInit {\n id = crypto.randomUUID();\n\n field = input.required<EditorField>();\n control = input.required<FormControl>();\n\n editorContainer = viewChild.required<ElementRef<HTMLElement>>('editorContainer');\n\n quill!: Quill;\n\n ngAfterViewInit() {\n this.quill = new Quill(this.editorContainer().nativeElement, {\n theme: this.field().theme ?? 'snow',\n });\n\n this.quill.on('text-change', () => {\n const html = this.editorContainer().nativeElement.querySelector('.ql-editor')?.innerHTML;\n this.control().setValue(html, { emitEvent: true });\n });\n\n const initial = this.control().value;\n if (initial) {\n this.quill.root.innerHTML = initial;\n }\n }\n}\n\n"," <label [for]=\"id\">{{ field().label }}</label>\n\n<div [id]=\"id\" #editorContainer class=\"quill-container\"></div>\n","import { FormDynamicRegistry } from '@seniorsistemas/angular-components/form-dynamic';\nimport { EditorFieldComponent } from './editor-field/editor-field.component';\n\nFormDynamicRegistry.registerField('editor', EditorFieldComponent);\n\nexport * from './editor-types';\nexport { EditorFieldComponent } from './editor-field/editor-field.component';\n\n// Module augmentation to add 'editor' to FieldTypeMap\nimport { EditorField } from './editor-types';\ndeclare module '@seniorsistemas/angular-components/form-dynamic' {\n export interface FieldTypeMap {\n editor: EditorField;\n }\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAYa,oBAAoB,CAAA;AAC7B,IAAA,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AAEzB,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAe,CAAC;AACtC,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAe,CAAC;AAExC,IAAA,eAAe,GAAG,SAAS,CAAC,QAAQ,CAA0B,iBAAiB,CAAC,CAAC;AAEjF,IAAA,KAAK,CAAS;IAEd,eAAe,GAAA;AACX,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,EAAE;YACzD,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,MAAM;AACtC,SAAA,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,EAAE,MAAK;AAC9B,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;AACzF,YAAA,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACvD,SAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QACrC,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;SACvC;KACJ;wGAxBQ,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,8cCZjC,0HAGA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FDSa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;+BACI,gBAAgB,EAAA,UAAA,EACd,IAAI,EAAA,OAAA,EACP,EAAE,EAAA,QAAA,EAAA,0HAAA,EAAA,CAAA;;;AELf,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,oBAAoB,CAAC;;ACHjE;;AAEG;;;;"}
@@ -1,94 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, Component, viewChildren, ViewContainerRef, effect } from '@angular/core';
3
- import * as i1 from '@angular/forms';
4
- import { ReactiveFormsModule, FormGroup, FormControl } from '@angular/forms';
5
-
6
- class FormDynamicRegistry {
7
- static fields = new Map();
8
- static registerField(type, component) {
9
- this.fields.set(type, component);
10
- }
11
- static resolveField(type) {
12
- return this.fields.get(type);
13
- }
14
- }
15
-
16
- class BooleanFieldComponent {
17
- field = input.required();
18
- control = input.required();
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: BooleanFieldComponent, isStandalone: true, selector: "s-boolean-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFieldComponent, decorators: [{
23
- type: Component,
24
- args: [{ selector: 's-boolean-field', standalone: true, imports: [ReactiveFormsModule], template: "<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n" }]
25
- }] });
26
-
27
- class StringFieldComponent {
28
- field = input.required();
29
- control = input.required();
30
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
31
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: StringFieldComponent, isStandalone: true, selector: "s-string-field", inputs: { field: { classPropertyName: "field", publicName: "field", isSignal: true, isRequired: true, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: " <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n", styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
32
- }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFieldComponent, decorators: [{
34
- type: Component,
35
- args: [{ selector: 's-string-field', standalone: true, imports: [ReactiveFormsModule], template: " <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n" }]
36
- }] });
37
-
38
- class FormDynamicComponent {
39
- form = new FormGroup({});
40
- schema = input.required();
41
- // @ViewChildren('host', { read: ViewContainerRef })
42
- // hosts!: QueryList<ViewContainerRef>;
43
- hosts = viewChildren('host', { read: ViewContainerRef });
44
- schemaEffect = effect(() => {
45
- this.buildForm();
46
- });
47
- hostsEffect = effect(() => {
48
- this.buildFields();
49
- });
50
- buildForm() {
51
- const schema = this.schema();
52
- if (!schema || !schema.fields)
53
- return;
54
- const group = {};
55
- schema.fields.forEach((field) => {
56
- group[field.key] = new FormControl(null);
57
- });
58
- this.form = new FormGroup(group);
59
- }
60
- buildFields() {
61
- const hosts = this.hosts();
62
- if (!hosts?.length)
63
- return;
64
- this.schema().fields.forEach((field, index) => {
65
- const container = hosts[index];
66
- container.clear();
67
- const component = FormDynamicRegistry.resolveField(field.type);
68
- if (!component)
69
- return;
70
- const ref = container.createComponent(component);
71
- ref.setInput('field', field);
72
- ref.setInput('control', this.form.get(field.key));
73
- });
74
- }
75
- emit() {
76
- console.log('FORM ->', this.form.value);
77
- }
78
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormDynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
79
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FormDynamicComponent, isStandalone: true, selector: "s-form-dynamic", inputs: { schema: { classPropertyName: "schema", publicName: "schema", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "hosts", predicate: ["host"], descendants: true, read: ViewContainerRef, isSignal: true }], ngImport: i0, template: "<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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"] }] });
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormDynamicComponent, decorators: [{
82
- type: Component,
83
- args: [{ selector: 's-form-dynamic', standalone: true, imports: [ReactiveFormsModule], template: "<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n" }]
84
- }] });
85
-
86
- FormDynamicRegistry.registerField('string', StringFieldComponent);
87
- FormDynamicRegistry.registerField('boolean', BooleanFieldComponent);
88
-
89
- /**
90
- * Generated bundle index. Do not edit.
91
- */
92
-
93
- export { FormDynamicComponent, FormDynamicRegistry };
94
- //# sourceMappingURL=seniorsistemas-angular-components-form-dynamic.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"seniorsistemas-angular-components-form-dynamic.mjs","sources":["../../projects/angular-components/form-dynamic/lib/core/registry.ts","../../projects/angular-components/form-dynamic/lib/fields-basic/boolean-field/boolean-field.component.ts","../../projects/angular-components/form-dynamic/lib/fields-basic/boolean-field/boolean-field.component.html","../../projects/angular-components/form-dynamic/lib/fields-basic/string-field/string-field.component.ts","../../projects/angular-components/form-dynamic/lib/fields-basic/string-field/string-field.component.html","../../projects/angular-components/form-dynamic/lib/components/form-dynamic/form-dynamic.component.ts","../../projects/angular-components/form-dynamic/lib/components/form-dynamic/form-dynamic.component.html","../../projects/angular-components/form-dynamic/lib/public-api.ts","../../projects/angular-components/form-dynamic/lib/seniorsistemas-angular-components-form-dynamic.ts"],"sourcesContent":["import { Type } from \"@angular/core\";\nimport { FieldType } from \"../schemas/field-dynamic\";\n\nexport class FormDynamicRegistry {\n private static fields = new Map<FieldType, Type<any>>();\n\n static registerField(type: FieldType, component: Type<any>) {\n this.fields.set(type, component);\n }\n\n static resolveField(type: FieldType) {\n return this.fields.get(type);\n }\n}\n","import { Component, input } from '@angular/core';\nimport { BooleanField } from '../../schemas/field-dynamic';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 's-boolean-field',\n standalone: true,\n imports: [ReactiveFormsModule],\n templateUrl: './boolean-field.component.html',\n styleUrl: './boolean-field.component.css',\n})\nexport class BooleanFieldComponent {\n field = input.required<BooleanField>();\n control = input.required<FormControl>();\n}\n\n","<label>\n <input type=\"checkbox\" [formControl]=\"control()\" [name]=\"field().key\" />\n {{ field().label }}\n</label>\n","import { Component, input } from '@angular/core';\nimport { FormControl, ReactiveFormsModule } from '@angular/forms';\nimport { StringField } from '../../schemas/field-dynamic';\n\n@Component({\n selector: 's-string-field',\n standalone: true,\n imports: [ReactiveFormsModule],\n templateUrl: './string-field.component.html',\n styleUrl: './string-field.component.css',\n})\nexport class StringFieldComponent {\n field = input.required<StringField>();\n control = input.required<FormControl>();\n}\n\n"," <label>{{ field().label }}</label>\n <input type=\"text\" [formControl]=\"control()\" [name]=\"field().key\" />\n","import { Component, effect, input, viewChildren, ViewContainerRef } from '@angular/core';\nimport { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';\nimport { FormDynamicRegistry } from '../../core/registry';\nimport { FormDynamicSchema } from '../../schemas/form-dynamic-schema';\n\n@Component({\n selector: 's-form-dynamic',\n standalone: true,\n imports: [ReactiveFormsModule],\n templateUrl: './form-dynamic.component.html',\n})\nexport class FormDynamicComponent {\n protected form = new FormGroup({});\n schema = input.required<FormDynamicSchema>();\n\n // @ViewChildren('host', { read: ViewContainerRef })\n // hosts!: QueryList<ViewContainerRef>;\n\n private readonly hosts = viewChildren('host', { read: ViewContainerRef });\n\n private readonly schemaEffect = effect(() => {\n this.buildForm();\n });\n\n private readonly hostsEffect = effect(() => {\n this.buildFields();\n });\n\n private buildForm() {\n const schema = this.schema();\n if (!schema || !schema.fields) return;\n\n const group: any = {};\n\n schema.fields.forEach((field) => {\n group[field.key] = new FormControl(null);\n });\n\n this.form = new FormGroup(group);\n }\n\n private buildFields() {\n const hosts = this.hosts();\n if (!hosts?.length) return;\n\n this.schema().fields.forEach((field, index) => {\n const container = hosts[index];\n container.clear();\n\n const component = FormDynamicRegistry.resolveField(field.type);\n if (!component) return;\n\n const ref = container.createComponent(component);\n\n ref.setInput('field', field);\n ref.setInput('control', this.form.get(field.key)!);\n });\n }\n\n emit() {\n console.log('FORM ->', this.form.value);\n }\n}\n\n","<form [formGroup]=\"form\">\n\n @for (field of schema().fields; track field.key; let i = $index) {\n <ng-container #host></ng-container>\n }\n\n <button type=\"submit\" (click)=\"emit()\">Enviar</button>\n </form>\n","import { FormDynamicRegistry } from './core/registry';\nexport { FormDynamicRegistry } from './core/registry';\nimport { BooleanFieldComponent } from './fields-basic/boolean-field/boolean-field.component';\nimport { StringFieldComponent } from './fields-basic/string-field/string-field.component';\n\nFormDynamicRegistry.registerField('string', StringFieldComponent);\nFormDynamicRegistry.registerField('boolean', BooleanFieldComponent);\n\n\nexport * from './schemas/field-dynamic';\nexport * from './schemas/form-dynamic-schema';\nexport { FormDynamicComponent } from './components/form-dynamic/form-dynamic.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}