@tft/crispr-forms 14.0.1 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/esm2022/public-api.mjs +4 -0
  2. package/{esm2020 → esm2022}/src/index.mjs +1 -1
  3. package/esm2022/src/lib/crispr-forms.module.mjs +55 -0
  4. package/esm2022/src/lib/display-field.directive.mjs +52 -0
  5. package/esm2022/src/lib/field-component-map.const.mjs +28 -0
  6. package/esm2022/src/lib/field.directive.mjs +69 -0
  7. package/esm2022/src/lib/form/form.component.mjs +62 -0
  8. package/esm2022/src/lib/form-group-list/form-group-list.component.mjs +97 -0
  9. package/{esm2020 → esm2022}/src/lib/form-group-list/index.mjs +1 -1
  10. package/{esm2020 → esm2022}/src/lib/pipes/crispr-pipes.module.mjs +24 -24
  11. package/esm2022/src/lib/pipes/initial-control-value.pipe.mjs +20 -0
  12. package/{esm2020 → esm2022}/src/lib/public_api.mjs +2 -2
  13. package/{esm2020 → esm2022}/src/lib/sub-group/index.mjs +2 -2
  14. package/esm2022/src/lib/sub-group/sub-group.component.mjs +20 -0
  15. package/esm2022/src/lib/sub-group/sub-group.module.mjs +42 -0
  16. package/esm2022/src/lib/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +138 -0
  17. package/esm2022/src/lib/ui/autocomplete-chiplist-field/index.mjs +2 -0
  18. package/esm2022/src/lib/ui/autocomplete-chiplist-field/public-api.mjs +2 -0
  19. package/esm2022/src/lib/ui/autocomplete-field/autocomplete-field.component.mjs +95 -0
  20. package/esm2022/src/lib/ui/autocomplete-field/index.mjs +2 -0
  21. package/esm2022/src/lib/ui/autocomplete-field/public-api.mjs +2 -0
  22. package/esm2022/src/lib/ui/button/button.component.mjs +52 -0
  23. package/esm2022/src/lib/ui/button/index.mjs +2 -0
  24. package/esm2022/src/lib/ui/button/public-api.mjs +2 -0
  25. package/esm2022/src/lib/ui/checkbox-field/checkbox-field.component.mjs +42 -0
  26. package/esm2022/src/lib/ui/checkbox-field/index.mjs +2 -0
  27. package/esm2022/src/lib/ui/checkbox-field/public-api.mjs +2 -0
  28. package/esm2022/src/lib/ui/datepicker-field/datepicker-field.component.mjs +66 -0
  29. package/esm2022/src/lib/ui/datepicker-field/index.mjs +2 -0
  30. package/esm2022/src/lib/ui/datepicker-field/public-api.mjs +2 -0
  31. package/esm2022/src/lib/ui/divider/divider.component.mjs +25 -0
  32. package/esm2022/src/lib/ui/divider/index.mjs +2 -0
  33. package/esm2022/src/lib/ui/divider/public-api.mjs +2 -0
  34. package/esm2022/src/lib/ui/field-container/field-container.component.mjs +59 -0
  35. package/esm2022/src/lib/ui/field-container/index.mjs +2 -0
  36. package/esm2022/src/lib/ui/field-container/public-api.mjs +2 -0
  37. package/esm2022/src/lib/ui/file-dropzone/file-dropzone.directive.mjs +40 -0
  38. package/esm2022/src/lib/ui/file-dropzone/index.mjs +2 -0
  39. package/esm2022/src/lib/ui/file-dropzone/public-api.mjs +2 -0
  40. package/esm2022/src/lib/ui/file-upload-field/file-upload-field.component.mjs +107 -0
  41. package/esm2022/src/lib/ui/file-upload-field/index.mjs +2 -0
  42. package/esm2022/src/lib/ui/file-upload-field/public-api.mjs +2 -0
  43. package/esm2022/src/lib/ui/heading/heading.component.mjs +27 -0
  44. package/esm2022/src/lib/ui/heading/index.mjs +2 -0
  45. package/esm2022/src/lib/ui/heading/public-api.mjs +2 -0
  46. package/esm2022/src/lib/ui/image-upload-field/image-upload-field.component.mjs +184 -0
  47. package/esm2022/src/lib/ui/image-upload-field/index.mjs +2 -0
  48. package/esm2022/src/lib/ui/image-upload-field/public-api.mjs +2 -0
  49. package/esm2022/src/lib/ui/index.mjs +2 -0
  50. package/esm2022/src/lib/ui/info/index.mjs +2 -0
  51. package/esm2022/src/lib/ui/info/info.component.mjs +23 -0
  52. package/esm2022/src/lib/ui/info/public-api.mjs +2 -0
  53. package/esm2022/src/lib/ui/input-field/index.mjs +2 -0
  54. package/esm2022/src/lib/ui/input-field/input-field.component.mjs +43 -0
  55. package/esm2022/src/lib/ui/input-field/public-api.mjs +2 -0
  56. package/esm2022/src/lib/ui/option/index.mjs +2 -0
  57. package/esm2022/src/lib/ui/option/option.component.mjs +16 -0
  58. package/esm2022/src/lib/ui/option/public-api.mjs +2 -0
  59. package/esm2022/src/lib/ui/public-api.mjs +7 -0
  60. package/esm2022/src/lib/ui/radio-field/index.mjs +2 -0
  61. package/esm2022/src/lib/ui/radio-field/public-api.mjs +2 -0
  62. package/esm2022/src/lib/ui/radio-field/radio-field.component.mjs +39 -0
  63. package/esm2022/src/lib/ui/select-field/index.mjs +2 -0
  64. package/esm2022/src/lib/ui/select-field/public-api.mjs +2 -0
  65. package/esm2022/src/lib/ui/select-field/select-field.component.mjs +73 -0
  66. package/esm2022/src/lib/ui/selected-file/index.mjs +2 -0
  67. package/esm2022/src/lib/ui/selected-file/public-api.mjs +2 -0
  68. package/esm2022/src/lib/ui/selected-file/selected-file.component.mjs +26 -0
  69. package/esm2022/src/lib/ui/slider-field/index.mjs +2 -0
  70. package/esm2022/src/lib/ui/slider-field/public-api.mjs +2 -0
  71. package/esm2022/src/lib/ui/slider-field/slider-field.component.mjs +46 -0
  72. package/esm2022/src/lib/ui/textarea-field/index.mjs +2 -0
  73. package/esm2022/src/lib/ui/textarea-field/public-api.mjs +2 -0
  74. package/esm2022/src/lib/ui/textarea-field/textarea-field.component.mjs +42 -0
  75. package/esm2022/src/lib/ui/unit-conversion-field/index.mjs +2 -0
  76. package/esm2022/src/lib/ui/unit-conversion-field/public-api.mjs +2 -0
  77. package/esm2022/src/lib/ui/unit-conversion-field/unit-conversion-field.component.mjs +86 -0
  78. package/esm2022/src/lib/utils/abstracts/autocomplete-field.abstract.mjs +30 -0
  79. package/esm2022/src/lib/utils/abstracts/crispr-control.mixin.mjs +27 -0
  80. package/esm2022/src/lib/utils/abstracts/crispr-display-field.abstract.mjs +14 -0
  81. package/esm2022/src/lib/utils/abstracts/crispr-field.abstract.mjs +19 -0
  82. package/esm2022/src/lib/utils/abstracts/index.mjs +5 -0
  83. package/esm2022/src/lib/utils/functions/buildFormGroupFromConfig.mjs +28 -0
  84. package/esm2022/src/lib/utils/functions/callOptionsIfFunction.mjs +4 -0
  85. package/esm2022/src/lib/utils/functions/createControlForType.mjs +19 -0
  86. package/esm2022/src/lib/utils/functions/filterOptionsByLabel.mjs +11 -0
  87. package/esm2022/src/lib/utils/functions/image-compression.helpers.mjs +50 -0
  88. package/esm2022/src/lib/utils/functions/index.mjs +8 -0
  89. package/esm2022/src/lib/utils/functions/isControlConfig.mjs +7 -0
  90. package/esm2022/src/lib/utils/functions/observablifyOptions.mjs +29 -0
  91. package/esm2022/src/lib/utils/index.mjs +2 -0
  92. package/esm2022/src/lib/utils/models/autocomplete-chiplist-field.config.mjs +2 -0
  93. package/esm2022/src/lib/utils/models/autocomplete-field.config.mjs +2 -0
  94. package/esm2022/src/lib/utils/models/button.config.mjs +2 -0
  95. package/esm2022/src/lib/utils/models/checkbox-field.config.mjs +2 -0
  96. package/esm2022/src/lib/utils/models/crispr-field.config.mjs +23 -0
  97. package/esm2022/src/lib/utils/models/datepicker-field.config.mjs +2 -0
  98. package/esm2022/src/lib/utils/models/divider.config.mjs +2 -0
  99. package/esm2022/src/lib/utils/models/file-upload-field.config.mjs +2 -0
  100. package/esm2022/src/lib/utils/models/form-group-list.config.mjs +2 -0
  101. package/esm2022/src/lib/utils/models/heading.config.mjs +3 -0
  102. package/esm2022/src/lib/utils/models/image-upload-field.config.mjs +2 -0
  103. package/esm2022/src/lib/utils/models/index.mjs +18 -0
  104. package/esm2022/src/lib/utils/models/input-field.config.mjs +2 -0
  105. package/esm2022/src/lib/utils/models/radio-field.config.mjs +2 -0
  106. package/esm2022/src/lib/utils/models/select-field.config.mjs +2 -0
  107. package/esm2022/src/lib/utils/models/slider-field.config.mjs +2 -0
  108. package/esm2022/src/lib/utils/models/textarea-field.config.mjs +2 -0
  109. package/esm2022/src/lib/utils/models/unit-conversion-field.config.mjs +2 -0
  110. package/esm2022/src/lib/utils/operators/form.operators.mjs +24 -0
  111. package/esm2022/src/lib/utils/operators/index.mjs +2 -0
  112. package/esm2022/src/lib/utils/public-api.mjs +5 -0
  113. package/esm2022/src/lib/utils/tft-crispr-forms-src-lib-utils.mjs +5 -0
  114. package/{esm2020 → esm2022}/tft-crispr-forms.mjs +4 -4
  115. package/fesm2022/tft-crispr-forms-index-2dAn0905.mjs +19 -0
  116. package/fesm2022/tft-crispr-forms-index-2dAn0905.mjs.map +1 -0
  117. package/fesm2022/tft-crispr-forms-index-76UuF0AI.mjs +36 -0
  118. package/fesm2022/tft-crispr-forms-index-76UuF0AI.mjs.map +1 -0
  119. package/{fesm2020/tft-crispr-forms-ui-image-upload-field.mjs → fesm2022/tft-crispr-forms-index-BXwiulEX.mjs} +169 -169
  120. package/fesm2022/tft-crispr-forms-index-BXwiulEX.mjs.map +1 -0
  121. package/fesm2022/tft-crispr-forms-index-BfR4XbYi.mjs +110 -0
  122. package/fesm2022/tft-crispr-forms-index-BfR4XbYi.mjs.map +1 -0
  123. package/fesm2022/tft-crispr-forms-index-C5X0mk3N.mjs +49 -0
  124. package/fesm2022/tft-crispr-forms-index-C5X0mk3N.mjs.map +1 -0
  125. package/fesm2022/tft-crispr-forms-index-CFUop3Cq.mjs +80 -0
  126. package/fesm2022/tft-crispr-forms-index-CFUop3Cq.mjs.map +1 -0
  127. package/fesm2022/tft-crispr-forms-index-CFdMVgM0.mjs +91 -0
  128. package/fesm2022/tft-crispr-forms-index-CFdMVgM0.mjs.map +1 -0
  129. package/fesm2022/tft-crispr-forms-index-CZdi06Jj.mjs +49 -0
  130. package/fesm2022/tft-crispr-forms-index-CZdi06Jj.mjs.map +1 -0
  131. package/fesm2022/tft-crispr-forms-index-C_I9vjqf.mjs +57 -0
  132. package/fesm2022/tft-crispr-forms-index-C_I9vjqf.mjs.map +1 -0
  133. package/fesm2022/tft-crispr-forms-index-DE8VOdBd.mjs +102 -0
  134. package/fesm2022/tft-crispr-forms-index-DE8VOdBd.mjs.map +1 -0
  135. package/fesm2022/tft-crispr-forms-index-OLo2t0tl.mjs +48 -0
  136. package/fesm2022/tft-crispr-forms-index-OLo2t0tl.mjs.map +1 -0
  137. package/fesm2022/tft-crispr-forms-index-OT7kkOgd.mjs +50 -0
  138. package/fesm2022/tft-crispr-forms-index-OT7kkOgd.mjs.map +1 -0
  139. package/fesm2022/tft-crispr-forms-index-Ukk3WgS2.mjs +54 -0
  140. package/fesm2022/tft-crispr-forms-index-Ukk3WgS2.mjs.map +1 -0
  141. package/fesm2022/tft-crispr-forms-index-rRi6OMY6.mjs +142 -0
  142. package/fesm2022/tft-crispr-forms-index-rRi6OMY6.mjs.map +1 -0
  143. package/fesm2022/tft-crispr-forms-index-xAaInTLg.mjs +73 -0
  144. package/fesm2022/tft-crispr-forms-index-xAaInTLg.mjs.map +1 -0
  145. package/{fesm2020/tft-crispr-forms-utils.mjs → fesm2022/tft-crispr-forms-src-lib-utils.mjs} +244 -235
  146. package/fesm2022/tft-crispr-forms-src-lib-utils.mjs.map +1 -0
  147. package/fesm2022/tft-crispr-forms.mjs +848 -0
  148. package/fesm2022/tft-crispr-forms.mjs.map +1 -0
  149. package/index.d.ts +5 -5
  150. package/package.json +13 -192
  151. package/public-api.d.ts +3 -3
  152. package/src/index.d.ts +1 -1
  153. package/src/lib/crispr-forms.module.d.ts +16 -15
  154. package/src/lib/display-field.directive.d.ts +23 -0
  155. package/src/lib/field-component-map.const.d.ts +42 -42
  156. package/src/lib/field.directive.d.ts +24 -24
  157. package/src/lib/form/form.component.d.ts +19 -19
  158. package/src/lib/form-group-list/form-group-list.component.d.ts +40 -36
  159. package/src/lib/form-group-list/index.d.ts +1 -1
  160. package/src/lib/pipes/crispr-pipes.module.d.ts +8 -8
  161. package/src/lib/pipes/initial-control-value.pipe.d.ts +10 -10
  162. package/src/lib/public_api.d.ts +2 -2
  163. package/src/lib/sub-group/index.d.ts +2 -2
  164. package/src/lib/sub-group/sub-group.component.d.ts +24 -22
  165. package/src/lib/sub-group/sub-group.module.d.ts +12 -12
  166. package/{ui → src/lib/ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +36 -33
  167. package/src/lib/ui/autocomplete-chiplist-field/index.d.ts +1 -0
  168. package/{ui → src/lib/ui}/autocomplete-chiplist-field/public-api.d.ts +1 -1
  169. package/{ui → src/lib/ui}/autocomplete-field/autocomplete-field.component.d.ts +25 -25
  170. package/src/lib/ui/autocomplete-field/index.d.ts +1 -0
  171. package/{ui → src/lib/ui}/autocomplete-field/public-api.d.ts +1 -1
  172. package/{ui → src/lib/ui}/button/button.component.d.ts +15 -15
  173. package/src/lib/ui/button/index.d.ts +1 -0
  174. package/{ui → src/lib/ui}/button/public-api.d.ts +1 -1
  175. package/src/lib/ui/checkbox-field/checkbox-field.component.d.ts +23 -0
  176. package/src/lib/ui/checkbox-field/index.d.ts +1 -0
  177. package/{ui → src/lib/ui}/checkbox-field/public-api.d.ts +1 -1
  178. package/{ui → src/lib/ui}/datepicker-field/datepicker-field.component.d.ts +32 -30
  179. package/src/lib/ui/datepicker-field/index.d.ts +1 -0
  180. package/{ui → src/lib/ui}/datepicker-field/public-api.d.ts +1 -1
  181. package/{ui → src/lib/ui}/divider/divider.component.d.ts +9 -9
  182. package/src/lib/ui/divider/index.d.ts +1 -0
  183. package/{ui → src/lib/ui}/divider/public-api.d.ts +1 -1
  184. package/{ui → src/lib/ui}/field-container/field-container.component.d.ts +24 -24
  185. package/src/lib/ui/field-container/index.d.ts +1 -0
  186. package/{ui → src/lib/ui}/field-container/public-api.d.ts +1 -1
  187. package/{ui → src/lib/ui}/file-dropzone/file-dropzone.directive.d.ts +10 -10
  188. package/src/lib/ui/file-dropzone/index.d.ts +1 -0
  189. package/{ui → src/lib/ui}/file-dropzone/public-api.d.ts +1 -1
  190. package/{ui → src/lib/ui}/file-upload-field/file-upload-field.component.d.ts +39 -37
  191. package/src/lib/ui/file-upload-field/index.d.ts +1 -0
  192. package/{ui → src/lib/ui}/file-upload-field/public-api.d.ts +1 -1
  193. package/{ui → src/lib/ui}/heading/heading.component.d.ts +8 -8
  194. package/src/lib/ui/heading/index.d.ts +1 -0
  195. package/{ui → src/lib/ui}/heading/public-api.d.ts +1 -1
  196. package/{ui → src/lib/ui}/image-upload-field/image-upload-field.component.d.ts +50 -48
  197. package/src/lib/ui/image-upload-field/index.d.ts +1 -0
  198. package/{ui → src/lib/ui}/image-upload-field/public-api.d.ts +1 -1
  199. package/src/lib/ui/index.d.ts +1 -0
  200. package/src/lib/ui/info/index.d.ts +1 -0
  201. package/{ui → src/lib/ui}/info/info.component.d.ts +7 -7
  202. package/{ui → src/lib/ui}/info/public-api.d.ts +1 -1
  203. package/src/lib/ui/input-field/index.d.ts +1 -0
  204. package/src/lib/ui/input-field/input-field.component.d.ts +24 -0
  205. package/{ui → src/lib/ui}/input-field/public-api.d.ts +1 -1
  206. package/src/lib/ui/option/index.d.ts +1 -0
  207. package/{ui → src/lib/ui}/option/option.component.d.ts +7 -7
  208. package/{ui → src/lib/ui}/option/public-api.d.ts +1 -1
  209. package/src/lib/ui/public-api.d.ts +6 -0
  210. package/src/lib/ui/radio-field/index.d.ts +1 -0
  211. package/{ui → src/lib/ui}/radio-field/public-api.d.ts +1 -1
  212. package/src/lib/ui/radio-field/radio-field.component.d.ts +25 -0
  213. package/src/lib/ui/select-field/index.d.ts +1 -0
  214. package/{ui → src/lib/ui}/select-field/public-api.d.ts +1 -1
  215. package/{ui → src/lib/ui}/select-field/select-field.component.d.ts +34 -32
  216. package/src/lib/ui/selected-file/index.d.ts +1 -0
  217. package/{ui → src/lib/ui}/selected-file/public-api.d.ts +1 -1
  218. package/{ui → src/lib/ui}/selected-file/selected-file.component.d.ts +10 -10
  219. package/src/lib/ui/slider-field/index.d.ts +1 -0
  220. package/{ui → src/lib/ui}/slider-field/public-api.d.ts +1 -1
  221. package/src/lib/ui/slider-field/slider-field.component.d.ts +24 -0
  222. package/src/lib/ui/textarea-field/index.d.ts +1 -0
  223. package/{ui → src/lib/ui}/textarea-field/public-api.d.ts +1 -1
  224. package/src/lib/ui/textarea-field/textarea-field.component.d.ts +23 -0
  225. package/src/lib/ui/unit-conversion-field/index.d.ts +1 -0
  226. package/{ui → src/lib/ui}/unit-conversion-field/public-api.d.ts +1 -1
  227. package/{ui → src/lib/ui}/unit-conversion-field/unit-conversion-field.component.d.ts +38 -36
  228. package/{utils → src/lib/utils}/abstracts/autocomplete-field.abstract.d.ts +28 -28
  229. package/{utils → src/lib/utils}/abstracts/crispr-control.mixin.d.ts +16 -16
  230. package/src/lib/utils/abstracts/crispr-display-field.abstract.d.ts +22 -0
  231. package/{utils → src/lib/utils}/abstracts/crispr-field.abstract.d.ts +11 -11
  232. package/{utils → src/lib/utils}/abstracts/index.d.ts +4 -3
  233. package/{utils → src/lib/utils}/functions/buildFormGroupFromConfig.d.ts +9 -9
  234. package/{utils → src/lib/utils}/functions/callOptionsIfFunction.d.ts +3 -3
  235. package/{utils → src/lib/utils}/functions/createControlForType.d.ts +9 -9
  236. package/{utils → src/lib/utils}/functions/filterOptionsByLabel.d.ts +7 -7
  237. package/{utils → src/lib/utils}/functions/image-compression.helpers.d.ts +5 -5
  238. package/{utils → src/lib/utils}/functions/index.d.ts +7 -7
  239. package/{utils → src/lib/utils}/functions/isControlConfig.d.ts +5 -5
  240. package/{utils → src/lib/utils}/functions/observablifyOptions.d.ts +12 -12
  241. package/{ui → src/lib/utils}/index.d.ts +5 -5
  242. package/{utils → src/lib/utils}/models/autocomplete-chiplist-field.config.d.ts +20 -20
  243. package/{utils → src/lib/utils}/models/autocomplete-field.config.d.ts +14 -14
  244. package/{utils → src/lib/utils}/models/button.config.d.ts +17 -17
  245. package/{utils → src/lib/utils}/models/checkbox-field.config.d.ts +6 -6
  246. package/{utils → src/lib/utils}/models/crispr-field.config.d.ts +97 -94
  247. package/{utils → src/lib/utils}/models/datepicker-field.config.d.ts +20 -20
  248. package/{utils → src/lib/utils}/models/divider.config.d.ts +5 -5
  249. package/{utils → src/lib/utils}/models/file-upload-field.config.d.ts +33 -33
  250. package/{utils → src/lib/utils}/models/form-group-list.config.d.ts +18 -17
  251. package/{utils → src/lib/utils}/models/heading.config.d.ts +6 -6
  252. package/{utils → src/lib/utils}/models/image-upload-field.config.d.ts +54 -54
  253. package/{utils → src/lib/utils}/models/index.d.ts +17 -17
  254. package/{utils → src/lib/utils}/models/input-field.config.d.ts +16 -16
  255. package/{utils → src/lib/utils}/models/radio-field.config.d.ts +6 -6
  256. package/{utils → src/lib/utils}/models/select-field.config.d.ts +21 -21
  257. package/{utils → src/lib/utils}/models/slider-field.config.d.ts +11 -13
  258. package/{utils → src/lib/utils}/models/textarea-field.config.d.ts +5 -5
  259. package/{utils → src/lib/utils}/models/unit-conversion-field.config.d.ts +30 -30
  260. package/{utils → src/lib/utils}/operators/form.operators.d.ts +1 -1
  261. package/{utils → src/lib/utils}/operators/index.d.ts +1 -1
  262. package/{utils → src/lib/utils}/public-api.d.ts +4 -4
  263. package/tft-crispr-forms-15.0.0.tgz +0 -0
  264. package/esm2020/public-api.mjs +0 -5
  265. package/esm2020/src/lib/crispr-forms.module.mjs +0 -57
  266. package/esm2020/src/lib/field-component-map.const.mjs +0 -27
  267. package/esm2020/src/lib/field.directive.mjs +0 -69
  268. package/esm2020/src/lib/form/form.component.mjs +0 -63
  269. package/esm2020/src/lib/form-group-list/form-group-list.component.mjs +0 -93
  270. package/esm2020/src/lib/pipes/initial-control-value.pipe.mjs +0 -21
  271. package/esm2020/src/lib/sub-group/sub-group.component.mjs +0 -21
  272. package/esm2020/src/lib/sub-group/sub-group.module.mjs +0 -42
  273. package/esm2020/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +0 -130
  274. package/esm2020/ui/autocomplete-chiplist-field/public-api.mjs +0 -2
  275. package/esm2020/ui/autocomplete-chiplist-field/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -5
  276. package/esm2020/ui/autocomplete-field/autocomplete-field.component.mjs +0 -93
  277. package/esm2020/ui/autocomplete-field/public-api.mjs +0 -2
  278. package/esm2020/ui/autocomplete-field/tft-crispr-forms-ui-autocomplete-field.mjs +0 -5
  279. package/esm2020/ui/button/button.component.mjs +0 -49
  280. package/esm2020/ui/button/public-api.mjs +0 -2
  281. package/esm2020/ui/button/tft-crispr-forms-ui-button.mjs +0 -5
  282. package/esm2020/ui/checkbox-field/checkbox-field.component.mjs +0 -42
  283. package/esm2020/ui/checkbox-field/public-api.mjs +0 -2
  284. package/esm2020/ui/checkbox-field/tft-crispr-forms-ui-checkbox-field.mjs +0 -5
  285. package/esm2020/ui/datepicker-field/datepicker-field.component.mjs +0 -63
  286. package/esm2020/ui/datepicker-field/public-api.mjs +0 -2
  287. package/esm2020/ui/datepicker-field/tft-crispr-forms-ui-datepicker-field.mjs +0 -5
  288. package/esm2020/ui/divider/divider.component.mjs +0 -28
  289. package/esm2020/ui/divider/public-api.mjs +0 -2
  290. package/esm2020/ui/divider/tft-crispr-forms-ui-divider.mjs +0 -5
  291. package/esm2020/ui/field-container/field-container.component.mjs +0 -58
  292. package/esm2020/ui/field-container/public-api.mjs +0 -2
  293. package/esm2020/ui/field-container/tft-crispr-forms-ui-field-container.mjs +0 -5
  294. package/esm2020/ui/file-dropzone/file-dropzone.directive.mjs +0 -40
  295. package/esm2020/ui/file-dropzone/public-api.mjs +0 -2
  296. package/esm2020/ui/file-dropzone/tft-crispr-forms-ui-file-dropzone.mjs +0 -5
  297. package/esm2020/ui/file-upload-field/file-upload-field.component.mjs +0 -108
  298. package/esm2020/ui/file-upload-field/public-api.mjs +0 -2
  299. package/esm2020/ui/file-upload-field/tft-crispr-forms-ui-file-upload-field.mjs +0 -5
  300. package/esm2020/ui/heading/heading.component.mjs +0 -31
  301. package/esm2020/ui/heading/public-api.mjs +0 -2
  302. package/esm2020/ui/heading/tft-crispr-forms-ui-heading.mjs +0 -5
  303. package/esm2020/ui/image-upload-field/image-upload-field.component.mjs +0 -179
  304. package/esm2020/ui/image-upload-field/public-api.mjs +0 -2
  305. package/esm2020/ui/image-upload-field/tft-crispr-forms-ui-image-upload-field.mjs +0 -5
  306. package/esm2020/ui/info/info.component.mjs +0 -23
  307. package/esm2020/ui/info/public-api.mjs +0 -2
  308. package/esm2020/ui/info/tft-crispr-forms-ui-info.mjs +0 -5
  309. package/esm2020/ui/input-field/input-field.component.mjs +0 -41
  310. package/esm2020/ui/input-field/public-api.mjs +0 -2
  311. package/esm2020/ui/input-field/tft-crispr-forms-ui-input-field.mjs +0 -5
  312. package/esm2020/ui/option/option.component.mjs +0 -19
  313. package/esm2020/ui/option/public-api.mjs +0 -2
  314. package/esm2020/ui/option/tft-crispr-forms-ui-option.mjs +0 -5
  315. package/esm2020/ui/public-api.mjs +0 -7
  316. package/esm2020/ui/radio-field/public-api.mjs +0 -2
  317. package/esm2020/ui/radio-field/radio-field.component.mjs +0 -39
  318. package/esm2020/ui/radio-field/tft-crispr-forms-ui-radio-field.mjs +0 -5
  319. package/esm2020/ui/select-field/public-api.mjs +0 -2
  320. package/esm2020/ui/select-field/select-field.component.mjs +0 -73
  321. package/esm2020/ui/select-field/tft-crispr-forms-ui-select-field.mjs +0 -5
  322. package/esm2020/ui/selected-file/public-api.mjs +0 -2
  323. package/esm2020/ui/selected-file/selected-file.component.mjs +0 -26
  324. package/esm2020/ui/selected-file/tft-crispr-forms-ui-selected-file.mjs +0 -5
  325. package/esm2020/ui/slider-field/public-api.mjs +0 -2
  326. package/esm2020/ui/slider-field/slider-field.component.mjs +0 -44
  327. package/esm2020/ui/slider-field/tft-crispr-forms-ui-slider-field.mjs +0 -5
  328. package/esm2020/ui/textarea-field/public-api.mjs +0 -2
  329. package/esm2020/ui/textarea-field/textarea-field.component.mjs +0 -42
  330. package/esm2020/ui/textarea-field/tft-crispr-forms-ui-textarea-field.mjs +0 -5
  331. package/esm2020/ui/tft-crispr-forms-ui.mjs +0 -5
  332. package/esm2020/ui/unit-conversion-field/public-api.mjs +0 -2
  333. package/esm2020/ui/unit-conversion-field/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -5
  334. package/esm2020/ui/unit-conversion-field/unit-conversion-field.component.mjs +0 -84
  335. package/esm2020/utils/abstracts/autocomplete-field.abstract.mjs +0 -30
  336. package/esm2020/utils/abstracts/crispr-control.mixin.mjs +0 -27
  337. package/esm2020/utils/abstracts/crispr-field.abstract.mjs +0 -20
  338. package/esm2020/utils/abstracts/index.mjs +0 -4
  339. package/esm2020/utils/functions/buildFormGroupFromConfig.mjs +0 -28
  340. package/esm2020/utils/functions/callOptionsIfFunction.mjs +0 -4
  341. package/esm2020/utils/functions/createControlForType.mjs +0 -19
  342. package/esm2020/utils/functions/filterOptionsByLabel.mjs +0 -11
  343. package/esm2020/utils/functions/image-compression.helpers.mjs +0 -50
  344. package/esm2020/utils/functions/index.mjs +0 -8
  345. package/esm2020/utils/functions/isControlConfig.mjs +0 -7
  346. package/esm2020/utils/functions/observablifyOptions.mjs +0 -29
  347. package/esm2020/utils/models/autocomplete-chiplist-field.config.mjs +0 -2
  348. package/esm2020/utils/models/autocomplete-field.config.mjs +0 -2
  349. package/esm2020/utils/models/button.config.mjs +0 -2
  350. package/esm2020/utils/models/checkbox-field.config.mjs +0 -2
  351. package/esm2020/utils/models/crispr-field.config.mjs +0 -23
  352. package/esm2020/utils/models/datepicker-field.config.mjs +0 -2
  353. package/esm2020/utils/models/divider.config.mjs +0 -2
  354. package/esm2020/utils/models/file-upload-field.config.mjs +0 -2
  355. package/esm2020/utils/models/form-group-list.config.mjs +0 -2
  356. package/esm2020/utils/models/heading.config.mjs +0 -3
  357. package/esm2020/utils/models/image-upload-field.config.mjs +0 -2
  358. package/esm2020/utils/models/index.mjs +0 -18
  359. package/esm2020/utils/models/input-field.config.mjs +0 -2
  360. package/esm2020/utils/models/radio-field.config.mjs +0 -2
  361. package/esm2020/utils/models/select-field.config.mjs +0 -2
  362. package/esm2020/utils/models/slider-field.config.mjs +0 -2
  363. package/esm2020/utils/models/textarea-field.config.mjs +0 -2
  364. package/esm2020/utils/models/unit-conversion-field.config.mjs +0 -2
  365. package/esm2020/utils/operators/form.operators.mjs +0 -24
  366. package/esm2020/utils/operators/index.mjs +0 -2
  367. package/esm2020/utils/public-api.mjs +0 -5
  368. package/esm2020/utils/tft-crispr-forms-utils.mjs +0 -5
  369. package/fesm2015/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -138
  370. package/fesm2015/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs.map +0 -1
  371. package/fesm2015/tft-crispr-forms-ui-autocomplete-field.mjs +0 -101
  372. package/fesm2015/tft-crispr-forms-ui-autocomplete-field.mjs.map +0 -1
  373. package/fesm2015/tft-crispr-forms-ui-button.mjs +0 -55
  374. package/fesm2015/tft-crispr-forms-ui-button.mjs.map +0 -1
  375. package/fesm2015/tft-crispr-forms-ui-checkbox-field.mjs +0 -49
  376. package/fesm2015/tft-crispr-forms-ui-checkbox-field.mjs.map +0 -1
  377. package/fesm2015/tft-crispr-forms-ui-datepicker-field.mjs +0 -71
  378. package/fesm2015/tft-crispr-forms-ui-datepicker-field.mjs.map +0 -1
  379. package/fesm2015/tft-crispr-forms-ui-divider.mjs +0 -34
  380. package/fesm2015/tft-crispr-forms-ui-divider.mjs.map +0 -1
  381. package/fesm2015/tft-crispr-forms-ui-field-container.mjs +0 -64
  382. package/fesm2015/tft-crispr-forms-ui-field-container.mjs.map +0 -1
  383. package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs +0 -47
  384. package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs.map +0 -1
  385. package/fesm2015/tft-crispr-forms-ui-file-upload-field.mjs +0 -117
  386. package/fesm2015/tft-crispr-forms-ui-file-upload-field.mjs.map +0 -1
  387. package/fesm2015/tft-crispr-forms-ui-heading.mjs +0 -37
  388. package/fesm2015/tft-crispr-forms-ui-heading.mjs.map +0 -1
  389. package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs +0 -182
  390. package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs.map +0 -1
  391. package/fesm2015/tft-crispr-forms-ui-info.mjs +0 -30
  392. package/fesm2015/tft-crispr-forms-ui-info.mjs.map +0 -1
  393. package/fesm2015/tft-crispr-forms-ui-input-field.mjs +0 -48
  394. package/fesm2015/tft-crispr-forms-ui-input-field.mjs.map +0 -1
  395. package/fesm2015/tft-crispr-forms-ui-option.mjs +0 -26
  396. package/fesm2015/tft-crispr-forms-ui-option.mjs.map +0 -1
  397. package/fesm2015/tft-crispr-forms-ui-radio-field.mjs +0 -46
  398. package/fesm2015/tft-crispr-forms-ui-radio-field.mjs.map +0 -1
  399. package/fesm2015/tft-crispr-forms-ui-select-field.mjs +0 -81
  400. package/fesm2015/tft-crispr-forms-ui-select-field.mjs.map +0 -1
  401. package/fesm2015/tft-crispr-forms-ui-selected-file.mjs +0 -33
  402. package/fesm2015/tft-crispr-forms-ui-selected-file.mjs.map +0 -1
  403. package/fesm2015/tft-crispr-forms-ui-slider-field.mjs +0 -51
  404. package/fesm2015/tft-crispr-forms-ui-slider-field.mjs.map +0 -1
  405. package/fesm2015/tft-crispr-forms-ui-textarea-field.mjs +0 -49
  406. package/fesm2015/tft-crispr-forms-ui-textarea-field.mjs.map +0 -1
  407. package/fesm2015/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -93
  408. package/fesm2015/tft-crispr-forms-ui-unit-conversion-field.mjs.map +0 -1
  409. package/fesm2015/tft-crispr-forms-ui.mjs +0 -12
  410. package/fesm2015/tft-crispr-forms-ui.mjs.map +0 -1
  411. package/fesm2015/tft-crispr-forms-utils.mjs +0 -270
  412. package/fesm2015/tft-crispr-forms-utils.mjs.map +0 -1
  413. package/fesm2015/tft-crispr-forms.mjs +0 -379
  414. package/fesm2015/tft-crispr-forms.mjs.map +0 -1
  415. package/fesm2020/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -137
  416. package/fesm2020/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs.map +0 -1
  417. package/fesm2020/tft-crispr-forms-ui-autocomplete-field.mjs +0 -100
  418. package/fesm2020/tft-crispr-forms-ui-autocomplete-field.mjs.map +0 -1
  419. package/fesm2020/tft-crispr-forms-ui-button.mjs +0 -55
  420. package/fesm2020/tft-crispr-forms-ui-button.mjs.map +0 -1
  421. package/fesm2020/tft-crispr-forms-ui-checkbox-field.mjs +0 -49
  422. package/fesm2020/tft-crispr-forms-ui-checkbox-field.mjs.map +0 -1
  423. package/fesm2020/tft-crispr-forms-ui-datepicker-field.mjs +0 -70
  424. package/fesm2020/tft-crispr-forms-ui-datepicker-field.mjs.map +0 -1
  425. package/fesm2020/tft-crispr-forms-ui-divider.mjs +0 -34
  426. package/fesm2020/tft-crispr-forms-ui-divider.mjs.map +0 -1
  427. package/fesm2020/tft-crispr-forms-ui-field-container.mjs +0 -65
  428. package/fesm2020/tft-crispr-forms-ui-field-container.mjs.map +0 -1
  429. package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs +0 -47
  430. package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs.map +0 -1
  431. package/fesm2020/tft-crispr-forms-ui-file-upload-field.mjs +0 -115
  432. package/fesm2020/tft-crispr-forms-ui-file-upload-field.mjs.map +0 -1
  433. package/fesm2020/tft-crispr-forms-ui-heading.mjs +0 -37
  434. package/fesm2020/tft-crispr-forms-ui-heading.mjs.map +0 -1
  435. package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs.map +0 -1
  436. package/fesm2020/tft-crispr-forms-ui-info.mjs +0 -30
  437. package/fesm2020/tft-crispr-forms-ui-info.mjs.map +0 -1
  438. package/fesm2020/tft-crispr-forms-ui-input-field.mjs +0 -48
  439. package/fesm2020/tft-crispr-forms-ui-input-field.mjs.map +0 -1
  440. package/fesm2020/tft-crispr-forms-ui-option.mjs +0 -26
  441. package/fesm2020/tft-crispr-forms-ui-option.mjs.map +0 -1
  442. package/fesm2020/tft-crispr-forms-ui-radio-field.mjs +0 -46
  443. package/fesm2020/tft-crispr-forms-ui-radio-field.mjs.map +0 -1
  444. package/fesm2020/tft-crispr-forms-ui-select-field.mjs +0 -80
  445. package/fesm2020/tft-crispr-forms-ui-select-field.mjs.map +0 -1
  446. package/fesm2020/tft-crispr-forms-ui-selected-file.mjs +0 -33
  447. package/fesm2020/tft-crispr-forms-ui-selected-file.mjs.map +0 -1
  448. package/fesm2020/tft-crispr-forms-ui-slider-field.mjs +0 -51
  449. package/fesm2020/tft-crispr-forms-ui-slider-field.mjs.map +0 -1
  450. package/fesm2020/tft-crispr-forms-ui-textarea-field.mjs +0 -49
  451. package/fesm2020/tft-crispr-forms-ui-textarea-field.mjs.map +0 -1
  452. package/fesm2020/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -91
  453. package/fesm2020/tft-crispr-forms-ui-unit-conversion-field.mjs.map +0 -1
  454. package/fesm2020/tft-crispr-forms-ui.mjs +0 -12
  455. package/fesm2020/tft-crispr-forms-ui.mjs.map +0 -1
  456. package/fesm2020/tft-crispr-forms-utils.mjs.map +0 -1
  457. package/fesm2020/tft-crispr-forms.mjs +0 -377
  458. package/fesm2020/tft-crispr-forms.mjs.map +0 -1
  459. package/tft-crispr-forms-14.0.1.tgz +0 -0
  460. package/ui/README.md +0 -3
  461. package/ui/autocomplete-chiplist-field/index.d.ts +0 -5
  462. package/ui/autocomplete-field/index.d.ts +0 -5
  463. package/ui/button/index.d.ts +0 -5
  464. package/ui/checkbox-field/checkbox-field.component.d.ts +0 -21
  465. package/ui/checkbox-field/index.d.ts +0 -5
  466. package/ui/datepicker-field/index.d.ts +0 -5
  467. package/ui/divider/index.d.ts +0 -5
  468. package/ui/field-container/index.d.ts +0 -5
  469. package/ui/file-dropzone/index.d.ts +0 -5
  470. package/ui/file-upload-field/index.d.ts +0 -5
  471. package/ui/heading/index.d.ts +0 -5
  472. package/ui/image-upload-field/index.d.ts +0 -5
  473. package/ui/info/index.d.ts +0 -5
  474. package/ui/input-field/index.d.ts +0 -5
  475. package/ui/input-field/input-field.component.d.ts +0 -22
  476. package/ui/option/index.d.ts +0 -5
  477. package/ui/public-api.d.ts +0 -5
  478. package/ui/radio-field/index.d.ts +0 -5
  479. package/ui/radio-field/radio-field.component.d.ts +0 -23
  480. package/ui/select-field/index.d.ts +0 -5
  481. package/ui/selected-file/index.d.ts +0 -5
  482. package/ui/slider-field/index.d.ts +0 -5
  483. package/ui/slider-field/slider-field.component.d.ts +0 -25
  484. package/ui/textarea-field/index.d.ts +0 -5
  485. package/ui/textarea-field/textarea-field.component.d.ts +0 -21
  486. package/ui/unit-conversion-field/index.d.ts +0 -5
  487. package/utils/index.d.ts +0 -5
  488. /package/{utils → src/lib/utils}/README.md +0 -0
@@ -1,30 +1,30 @@
1
- import { FormGroup } from '@angular/forms';
2
- import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
3
- import { OptionsType } from './select-field.config';
4
- export declare type UnitConversionFieldConfig<ST = unknown, UT = unknown> = CrisprControlConfig & FieldDescriptors & MatFieldProperties & {
5
- controlType: ControlType.UNIT_CONVERSION;
6
- /**
7
- * Used convert config value to displayed value on initialization
8
- */
9
- initialDisplayValueConversion: (value?: ST, displayedUnit?: UT) => number;
10
- /**
11
- * The function to convert the display value into the stored value as the display value changes
12
- */
13
- storedValueConversion: (value?: string, displayedUnit?: UT) => number;
14
- min?: number;
15
- max?: number;
16
- autofocus?: boolean;
17
- step?: number;
18
- } & ({
19
- showUnitSelect: true;
20
- /**
21
- * A callback function that returns the options to be used by the unit select field. Can be used just like select field options.
22
- */
23
- selectableUnits: (group: FormGroup) => OptionsType;
24
- /**
25
- * Display unit to use on component initialization and when unit not user selectable i.e. showUnitSelect: false
26
- */
27
- initialDisplayUnit: UT;
28
- } | {
29
- showUnitSelect: false;
30
- });
1
+ import { FormGroup } from '@angular/forms';
2
+ import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
3
+ import { OptionsType } from './select-field.config';
4
+ export type UnitConversionFieldConfig<ST = unknown, UT = unknown> = CrisprControlConfig & FieldDescriptors & MatFieldProperties & {
5
+ controlType: ControlType.UNIT_CONVERSION;
6
+ /**
7
+ * Used convert config value to displayed value on initialization
8
+ */
9
+ initialDisplayValueConversion: (value?: ST, displayedUnit?: UT) => number;
10
+ /**
11
+ * The function to convert the display value into the stored value as the display value changes
12
+ */
13
+ storedValueConversion: (value?: string, displayedUnit?: UT) => number;
14
+ min?: number;
15
+ max?: number;
16
+ autofocus?: boolean;
17
+ step?: number;
18
+ } & ({
19
+ showUnitSelect: true;
20
+ /**
21
+ * A callback function that returns the options to be used by the unit select field. Can be used just like select field options.
22
+ */
23
+ selectableUnits: (group: FormGroup) => OptionsType;
24
+ /**
25
+ * Display unit to use on component initialization and when unit not user selectable i.e. showUnitSelect: false
26
+ */
27
+ initialDisplayUnit: UT;
28
+ } | {
29
+ showUnitSelect: false;
30
+ });
@@ -1 +1 @@
1
- export declare function valueIn(values: string[]): import("rxjs").OperatorFunction<string, boolean>;
1
+ export declare function valueIn(values: string[]): import("rxjs").OperatorFunction<string, boolean>;
@@ -1 +1 @@
1
- export * from './form.operators';
1
+ export * from './form.operators';
@@ -1,4 +1,4 @@
1
- export * from './operators';
2
- export * from './models';
3
- export * from './abstracts';
4
- export * from './functions';
1
+ export * from './operators';
2
+ export * from './models';
3
+ export * from './abstracts';
4
+ export * from './functions';
Binary file
@@ -1,5 +0,0 @@
1
- export * from './src/index';
2
- export * from '@tft/crispr-forms/ui';
3
- // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
4
- export * from '@tft/crispr-forms/utils';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyw4REFBOEQ7QUFDOUQsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5leHBvcnQgKiBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91dGlscyc7XG4iXX0=
@@ -1,57 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { ReactiveFormsModule } from '@angular/forms';
4
- // custom modules
5
- import { FormValidationHandlerModule } from '@tft/form-validation-handler';
6
- // components
7
- import { CrisprFormComponent } from './form/form.component';
8
- import { FormGroupListComponent } from './form-group-list';
9
- // directives
10
- import { CrisprFieldDirective } from './field.directive';
11
- import { SubGroupModule } from './sub-group';
12
- import { CrisprPipesModule } from './pipes/crispr-pipes.module';
13
- import { FieldContainerComponent } from '@tft/crispr-forms/ui';
14
- import * as i0 from "@angular/core";
15
- export class CrisprFormsModule {
16
- }
17
- CrisprFormsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- CrisprFormsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormsModule, imports: [CommonModule,
19
- ReactiveFormsModule,
20
- FormValidationHandlerModule,
21
- FormGroupListComponent,
22
- FieldContainerComponent,
23
- CrisprFieldDirective,
24
- SubGroupModule,
25
- CrisprPipesModule,
26
- CrisprFormComponent], exports: [CrisprFormComponent,
27
- FieldContainerComponent] });
28
- CrisprFormsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormsModule, imports: [CommonModule,
29
- ReactiveFormsModule,
30
- FormValidationHandlerModule,
31
- FormGroupListComponent,
32
- FieldContainerComponent,
33
- SubGroupModule,
34
- CrisprPipesModule,
35
- CrisprFormComponent] });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormsModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- imports: [
40
- CommonModule,
41
- ReactiveFormsModule,
42
- FormValidationHandlerModule,
43
- FormGroupListComponent,
44
- FieldContainerComponent,
45
- CrisprFieldDirective,
46
- SubGroupModule,
47
- CrisprPipesModule,
48
- CrisprFormComponent
49
- ],
50
- exports: [
51
- CrisprFormComponent,
52
- FieldContainerComponent,
53
- // MaterialModule
54
- ]
55
- }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jpc3ByLWZvcm1zLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvY3Jpc3ByLWZvcm1zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFM0UsYUFBYTtBQUNiLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELGFBQWE7QUFDYixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQW9CL0QsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLFlBaEIxQixZQUFZO1FBQ1osbUJBQW1CO1FBQ25CLDJCQUEyQjtRQUMzQixzQkFBc0I7UUFDdEIsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLG1CQUFtQixhQUduQixtQkFBbUI7UUFDbkIsdUJBQXVCOytHQUlkLGlCQUFpQixZQWhCMUIsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQiwyQkFBMkI7UUFDM0Isc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUV2QixjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLG1CQUFtQjsyRkFRVixpQkFBaUI7a0JBbEI3QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjtxQkFDbEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG4vLyBjdXN0b20gbW9kdWxlc1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5cbi8vIGNvbXBvbmVudHNcbmltcG9ydCB7IENyaXNwckZvcm1Db21wb25lbnQgfSBmcm9tICcuL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUdyb3VwTGlzdENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1ncm91cC1saXN0Jztcbi8vIGRpcmVjdGl2ZXNcbmltcG9ydCB7IENyaXNwckZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi9maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgU3ViR3JvdXBNb2R1bGUgfSBmcm9tICcuL3N1Yi1ncm91cCc7XG5pbXBvcnQgeyBDcmlzcHJQaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMvY3Jpc3ByLXBpcGVzLm1vZHVsZSc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1WYWxpZGF0aW9uSGFuZGxlck1vZHVsZSxcbiAgICBGb3JtR3JvdXBMaXN0Q29tcG9uZW50LFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIENyaXNwckZpZWxkRGlyZWN0aXZlLFxuICAgIFN1Ykdyb3VwTW9kdWxlLFxuICAgIENyaXNwclBpcGVzTW9kdWxlLFxuICAgIENyaXNwckZvcm1Db21wb25lbnRcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENyaXNwckZvcm1Db21wb25lbnQsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgLy8gTWF0ZXJpYWxNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDcmlzcHJGb3Jtc01vZHVsZSB7IH1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { isControlConfig, ControlType } from '@tft/crispr-forms/utils';
2
- export const FIELD_COMPONENTS = {
3
- groupList: () => import('./form-group-list').then(({ FormGroupListComponent }) => FormGroupListComponent),
4
- subGroup: () => import('./sub-group').then(({ SubGroupComponent }) => SubGroupComponent),
5
- button: () => import('@tft/crispr-forms/ui/button').then(({ ButtonComponent }) => ButtonComponent),
6
- input: () => import('@tft/crispr-forms/ui/input-field').then(({ InputFieldComponent }) => InputFieldComponent),
7
- select: () => import('@tft/crispr-forms/ui/select-field').then(({ SelectFieldComponent }) => SelectFieldComponent),
8
- radio: () => import('@tft/crispr-forms/ui/radio-field').then(({ RadioFieldComponent }) => RadioFieldComponent),
9
- autocomplete: () => import('@tft/crispr-forms/ui/autocomplete-field').then(({ AutocompleteFieldComponent }) => AutocompleteFieldComponent),
10
- autocompleteChiplist: () => import('@tft/crispr-forms/ui/autocomplete-chiplist-field').then(({ AutocompleteChiplistFieldComponent }) => AutocompleteChiplistFieldComponent),
11
- textarea: () => import('@tft/crispr-forms/ui/textarea-field').then(({ TextareaFieldComponent }) => TextareaFieldComponent),
12
- checkbox: () => import('@tft/crispr-forms/ui/checkbox-field').then(({ CheckboxFieldComponent }) => CheckboxFieldComponent),
13
- slider: () => import('@tft/crispr-forms/ui/slider-field').then(({ SliderFieldComponent }) => SliderFieldComponent),
14
- datepicker: () => import('@tft/crispr-forms/ui/datepicker-field').then(({ DatepickerFieldComponent }) => DatepickerFieldComponent),
15
- fileUpload: () => import('@tft/crispr-forms/ui/file-upload-field').then(({ FileUploadFieldComponent }) => FileUploadFieldComponent),
16
- imageUpload: () => import('@tft/crispr-forms/ui/image-upload-field').then(({ ImageUploadFieldComponent }) => ImageUploadFieldComponent),
17
- heading: () => import('@tft/crispr-forms/ui').then(({ HeadingComponent }) => HeadingComponent),
18
- divider: () => import('@tft/crispr-forms/ui/divider').then(({ DividerComponent }) => DividerComponent),
19
- unitConversion: () => import('@tft/crispr-forms/ui/unit-conversion-field').then(({ UnitConversionFieldComponent }) => UnitConversionFieldComponent)
20
- };
21
- export function isControlComponent(component) {
22
- return component && isControlConfig(component.config) && 'value' in component; // || component.config.controlType === ControlType.BUTTON;
23
- }
24
- export function isControlOrButtonComponent(component) {
25
- return isControlComponent(component) || component.config.controlType === ControlType.BUTTON;
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29tcG9uZW50LW1hcC5jb25zdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvZmllbGQtY29tcG9uZW50LW1hcC5jb25zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM5QixTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUFFLENBQUMsRUFBQyxzQkFBc0IsRUFBQyxFQUFFLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztJQUN4RyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUMsRUFBRSxFQUFFLENBQUUsaUJBQWlCLENBQUM7SUFDeEYsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFDLEVBQUUsRUFBRSxDQUFFLGVBQWUsQ0FBQztJQUNsRyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBQyxFQUFFLEVBQUUsQ0FBRSxtQkFBbUIsQ0FBQztJQUM5RyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxvQkFBb0IsRUFBQyxFQUFFLEVBQUUsQ0FBRSxvQkFBb0IsQ0FBQztJQUNsSCxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBQyxFQUFFLEVBQUUsQ0FBRSxtQkFBbUIsQ0FBQztJQUM5RyxZQUFZLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlDQUF5QyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSwwQkFBMEIsRUFBQyxFQUFFLEVBQUUsQ0FBRSwwQkFBMEIsQ0FBQztJQUMxSSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsa0RBQWtELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGtDQUFrQyxFQUFDLEVBQUUsRUFBRSxDQUFFLGtDQUFrQyxDQUFDO0lBQzNLLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixFQUFDLEVBQUUsRUFBRSxDQUFFLHNCQUFzQixDQUFDO0lBQzFILFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMscUNBQXFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHNCQUFzQixFQUFDLEVBQUUsRUFBRSxDQUFFLHNCQUFzQixDQUFDO0lBQzFILE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixFQUFDLEVBQUUsRUFBRSxDQUFFLG9CQUFvQixDQUFDO0lBQ2xILFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHdCQUF3QixFQUFDLEVBQUUsRUFBRSxDQUFFLHdCQUF3QixDQUFDO0lBQ2xJLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHdCQUF3QixFQUFDLEVBQUUsRUFBRSxDQUFFLHdCQUF3QixDQUFDO0lBQ25JLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMseUNBQXlDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLHlCQUF5QixFQUFDLEVBQUUsRUFBRSxDQUFFLHlCQUF5QixDQUFDO0lBQ3ZJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUFDLEVBQUUsRUFBRSxDQUFFLGdCQUFnQixDQUFDO0lBQzlGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsOEJBQThCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixFQUFDLEVBQUUsRUFBRSxDQUFFLGdCQUFnQixDQUFDO0lBQ3RHLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsNENBQTRDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixFQUFDLEVBQUUsRUFBRSxDQUFFLDRCQUE0QixDQUFDO0NBQ3BKLENBQUM7QUFFRixNQUFNLFVBQVUsa0JBQWtCLENBQUMsU0FBbUM7SUFDcEUsT0FBTyxTQUFTLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLElBQUksU0FBUyxDQUFBLENBQUMsMERBQTBEO0FBQzFJLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsU0FBbUM7SUFDNUUsT0FBTyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsTUFBTSxDQUFDO0FBQzlGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG1heC1saW5lLWxlbmd0aFxuaW1wb3J0IHR5cGUgeyBGb3JtR3JvdXBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWdyb3VwLWxpc3QvZm9ybS1ncm91cC1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IFN1Ykdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9zdWItZ3JvdXAvc3ViLWdyb3VwLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7IEhlYWRpbmdDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aSc7XG5pbXBvcnQgdHlwZSB7IEltYWdlVXBsb2FkRmllbGRDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9pbWFnZS11cGxvYWQtZmllbGQnO1xuaW1wb3J0IHR5cGUgeyBEYXRlcGlja2VyRmllbGRDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9kYXRlcGlja2VyLWZpZWxkJztcbmltcG9ydCB0eXBlIHsgQ2hlY2tib3hGaWVsZENvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2NoZWNrYm94LWZpZWxkJztcbmltcG9ydCB0eXBlIHsgVGV4dGFyZWFGaWVsZENvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL3RleHRhcmVhLWZpZWxkJztcbmltcG9ydCB0eXBlIHsgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9hdXRvY29tcGxldGUtZmllbGQnO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RGaWVsZENvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL3NlbGVjdC1maWVsZCc7XG5pbXBvcnQgdHlwZSB7IElucHV0RmllbGRDb21wb25lbnQsIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvaW5wdXQtZmllbGQnO1xuaW1wb3J0IHR5cGUgeyBSYWRpb0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvcmFkaW8tZmllbGQnO1xuaW1wb3J0IHR5cGUgeyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9maWxlLXVwbG9hZC1maWVsZCc7XG5pbXBvcnQgdHlwZSB7IFNsaWRlckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvc2xpZGVyLWZpZWxkJztcbmltcG9ydCB0eXBlIHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2RpdmlkZXInO1xuaW1wb3J0IHR5cGUgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9idXR0b24nO1xuaW1wb3J0IHR5cGUgeyBVbml0Q29udmVyc2lvbkZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvdW5pdC1jb252ZXJzaW9uLWZpZWxkJztcblxuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVDaGlwbGlzdEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvYXV0b2NvbXBsZXRlLWNoaXBsaXN0LWZpZWxkJztcblxuaW1wb3J0IHsgaXNDb250cm9sQ29uZmlnLCBDb250cm9sVHlwZSB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IEZJRUxEX0NPTVBPTkVOVFMgPSB7XG4gIGdyb3VwTGlzdDogKCkgPT4gaW1wb3J0KCcuL2Zvcm0tZ3JvdXAtbGlzdCcpLnRoZW4gKCh7Rm9ybUdyb3VwTGlzdENvbXBvbmVudH0pID0+IEZvcm1Hcm91cExpc3RDb21wb25lbnQpLFxuICBzdWJHcm91cDogKCkgPT4gaW1wb3J0KCcuL3N1Yi1ncm91cCcpLnRoZW4oKHsgU3ViR3JvdXBDb21wb25lbnR9KSA9PiAgU3ViR3JvdXBDb21wb25lbnQpLFxuICBidXR0b246ICgpID0+IGltcG9ydCgnQHRmdC9jcmlzcHItZm9ybXMvdWkvYnV0dG9uJykudGhlbigoeyBCdXR0b25Db21wb25lbnR9KSA9PiAgQnV0dG9uQ29tcG9uZW50KSxcbiAgaW5wdXQ6ICgpID0+IGltcG9ydCgnQHRmdC9jcmlzcHItZm9ybXMvdWkvaW5wdXQtZmllbGQnKS50aGVuKCh7IElucHV0RmllbGRDb21wb25lbnR9KSA9PiAgSW5wdXRGaWVsZENvbXBvbmVudCksXG4gIHNlbGVjdDogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aS9zZWxlY3QtZmllbGQnKS50aGVuKCh7IFNlbGVjdEZpZWxkQ29tcG9uZW50fSkgPT4gIFNlbGVjdEZpZWxkQ29tcG9uZW50KSxcbiAgcmFkaW86ICgpID0+IGltcG9ydCgnQHRmdC9jcmlzcHItZm9ybXMvdWkvcmFkaW8tZmllbGQnKS50aGVuKCh7IFJhZGlvRmllbGRDb21wb25lbnR9KSA9PiAgUmFkaW9GaWVsZENvbXBvbmVudCksXG4gIGF1dG9jb21wbGV0ZTogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aS9hdXRvY29tcGxldGUtZmllbGQnKS50aGVuKCh7IEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50fSkgPT4gIEF1dG9jb21wbGV0ZUZpZWxkQ29tcG9uZW50KSxcbiAgYXV0b2NvbXBsZXRlQ2hpcGxpc3Q6ICgpID0+IGltcG9ydCgnQHRmdC9jcmlzcHItZm9ybXMvdWkvYXV0b2NvbXBsZXRlLWNoaXBsaXN0LWZpZWxkJykudGhlbigoeyBBdXRvY29tcGxldGVDaGlwbGlzdEZpZWxkQ29tcG9uZW50fSkgPT4gIEF1dG9jb21wbGV0ZUNoaXBsaXN0RmllbGRDb21wb25lbnQpLFxuICB0ZXh0YXJlYTogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aS90ZXh0YXJlYS1maWVsZCcpLnRoZW4oKHsgVGV4dGFyZWFGaWVsZENvbXBvbmVudH0pID0+ICBUZXh0YXJlYUZpZWxkQ29tcG9uZW50KSxcbiAgY2hlY2tib3g6ICgpID0+IGltcG9ydCgnQHRmdC9jcmlzcHItZm9ybXMvdWkvY2hlY2tib3gtZmllbGQnKS50aGVuKCh7IENoZWNrYm94RmllbGRDb21wb25lbnR9KSA9PiAgQ2hlY2tib3hGaWVsZENvbXBvbmVudCksXG4gIHNsaWRlcjogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aS9zbGlkZXItZmllbGQnKS50aGVuKCh7IFNsaWRlckZpZWxkQ29tcG9uZW50fSkgPT4gIFNsaWRlckZpZWxkQ29tcG9uZW50KSxcbiAgZGF0ZXBpY2tlcjogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aS9kYXRlcGlja2VyLWZpZWxkJykudGhlbigoeyBEYXRlcGlja2VyRmllbGRDb21wb25lbnR9KSA9PiAgRGF0ZXBpY2tlckZpZWxkQ29tcG9uZW50KSxcbiAgZmlsZVVwbG9hZDogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aS9maWxlLXVwbG9hZC1maWVsZCcpLnRoZW4oKHsgRmlsZVVwbG9hZEZpZWxkQ29tcG9uZW50fSkgPT4gIEZpbGVVcGxvYWRGaWVsZENvbXBvbmVudCksXG4gIGltYWdlVXBsb2FkOiAoKSA9PiBpbXBvcnQoJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2ltYWdlLXVwbG9hZC1maWVsZCcpLnRoZW4oKHsgSW1hZ2VVcGxvYWRGaWVsZENvbXBvbmVudH0pID0+ICBJbWFnZVVwbG9hZEZpZWxkQ29tcG9uZW50KSxcbiAgaGVhZGluZzogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aScpLnRoZW4oKHsgSGVhZGluZ0NvbXBvbmVudH0pID0+ICBIZWFkaW5nQ29tcG9uZW50KSxcbiAgZGl2aWRlcjogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aS9kaXZpZGVyJykudGhlbigoeyBEaXZpZGVyQ29tcG9uZW50fSkgPT4gIERpdmlkZXJDb21wb25lbnQpLFxuICB1bml0Q29udmVyc2lvbjogKCkgPT4gaW1wb3J0KCdAdGZ0L2NyaXNwci1mb3Jtcy91aS91bml0LWNvbnZlcnNpb24tZmllbGQnKS50aGVuKCh7IFVuaXRDb252ZXJzaW9uRmllbGRDb21wb25lbnR9KSA9PiAgVW5pdENvbnZlcnNpb25GaWVsZENvbXBvbmVudClcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbnRyb2xDb21wb25lbnQoY29tcG9uZW50OiBDcmlzcHJGaWVsZENvbXBvbmVudFR5cGUpOiBjb21wb25lbnQgaXMgQ3Jpc3ByQ29udHJvbENvbXBvbmVudFR5cGUge1xuICByZXR1cm4gY29tcG9uZW50ICYmIGlzQ29udHJvbENvbmZpZyhjb21wb25lbnQuY29uZmlnKSAmJiAndmFsdWUnIGluIGNvbXBvbmVudCAvLyB8fCBjb21wb25lbnQuY29uZmlnLmNvbnRyb2xUeXBlID09PSBDb250cm9sVHlwZS5CVVRUT047XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NvbnRyb2xPckJ1dHRvbkNvbXBvbmVudChjb21wb25lbnQ6IENyaXNwckZpZWxkQ29tcG9uZW50VHlwZSk6IGNvbXBvbmVudCBpcyBDcmlzcHJDb250cm9sT3JCdXR0b24ge1xuICByZXR1cm4gaXNDb250cm9sQ29tcG9uZW50KGNvbXBvbmVudCkgfHwgY29tcG9uZW50LmNvbmZpZy5jb250cm9sVHlwZSA9PT0gQ29udHJvbFR5cGUuQlVUVE9OO1xufVxuXG5leHBvcnQgdHlwZSBDcmlzcHJDb250cm9sT3JCdXR0b24gPSBDcmlzcHJDb250cm9sQ29tcG9uZW50VHlwZSB8IEJ1dHRvbkNvbXBvbmVudDtcblxuZXhwb3J0IHR5cGUgQ3Jpc3ByQ29udHJvbENvbXBvbmVudFR5cGUgPSBJbnB1dEZpZWxkQ29tcG9uZW50IHxcbiAgU2VsZWN0RmllbGRDb21wb25lbnQgfFxuICBSYWRpb0ZpZWxkQ29tcG9uZW50IHxcbiAgU3ViR3JvdXBDb21wb25lbnQgfFxuICBGb3JtR3JvdXBMaXN0Q29tcG9uZW50IHxcbiAgQXV0b2NvbXBsZXRlRmllbGRDb21wb25lbnQgfFxuICBBdXRvY29tcGxldGVDaGlwbGlzdEZpZWxkQ29tcG9uZW50IHxcbiAgVGV4dGFyZWFGaWVsZENvbXBvbmVudCB8XG4gIENoZWNrYm94RmllbGRDb21wb25lbnQgfFxuICBTbGlkZXJGaWVsZENvbXBvbmVudCB8XG4gIEZpbGVVcGxvYWRGaWVsZENvbXBvbmVudCB8XG4gIEltYWdlVXBsb2FkRmllbGRDb21wb25lbnR8XG4gIERhdGVwaWNrZXJGaWVsZENvbXBvbmVudCB8XG4gIFVuaXRDb252ZXJzaW9uRmllbGRDb21wb25lbnQ7XG5cbmV4cG9ydCB0eXBlIENvbXBvbmVudEtleXMgPSBrZXlvZiB0eXBlb2YgRklFTERfQ09NUE9ORU5UUztcbi8vIGV4cG9ydCB0eXBlIENyaXNwckZpZWxkQ29tcG9uZW50ID0gRklFTERfQ09NUE9ORU5UU1tDb21wb25lbnRLZXlzXTtcblxuZXhwb3J0IHR5cGUgQ3Jpc3ByRmllbGRDb21wb25lbnRUeXBlID0gQ3Jpc3ByQ29udHJvbENvbXBvbmVudFR5cGUgfFxuICBIZWFkaW5nQ29tcG9uZW50IHxcbiAgRGl2aWRlckNvbXBvbmVudCB8XG4gIEJ1dHRvbkNvbXBvbmVudDtcblxuIl19
@@ -1,69 +0,0 @@
1
- import { Directive, Input, ViewContainerRef, Renderer2, ChangeDetectorRef } from '@angular/core';
2
- import { FormGroup } from '@angular/forms';
3
- import { FIELD_COMPONENTS, isControlComponent, isControlOrButtonComponent } from './field-component-map.const';
4
- import * as i0 from "@angular/core";
5
- export class CrisprFieldDirective {
6
- constructor(container, renderer, cdr) {
7
- this.container = container;
8
- this.renderer = renderer;
9
- this.cdr = cdr;
10
- }
11
- set value(value) {
12
- this._value = value;
13
- // This is needed to keep the group list from resetting control values to the initial input value
14
- this.updateComponentValue(value);
15
- }
16
- ;
17
- get value() {
18
- return this._value;
19
- }
20
- async ngOnInit() {
21
- /**
22
- * create component and set values from config on its instance
23
- */
24
- const component = this.config.component || await FIELD_COMPONENTS[this.config.controlType]();
25
- const componentRef = this.container.createComponent(component);
26
- this.component = componentRef.instance;
27
- this.component.config = this.config;
28
- if (isControlOrButtonComponent(this.component)) {
29
- this.component.group = this.group;
30
- }
31
- this.updateComponentValue(this.value);
32
- // adds any config classes to the dynamically generated component
33
- // doing this here keeps us from having to extend a base component into each field component individually
34
- if (!this.config.classes)
35
- return;
36
- this.config.classes.forEach((klass) => {
37
- // check for passing multiple classes in one array element
38
- if (klass.includes(' ')) {
39
- throw Error(`Improperly formatted class. '${klass}' cannot contain spaces.`);
40
- }
41
- else {
42
- this.renderer.addClass(componentRef.location.nativeElement, klass);
43
- }
44
- });
45
- }
46
- updateComponentValue(value) {
47
- if (isControlComponent(this.component)) {
48
- this.component.value = value;
49
- // SubGroups won't populate without this detectChanges
50
- this.cdr.detectChanges();
51
- }
52
- }
53
- }
54
- CrisprFieldDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFieldDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
55
- CrisprFieldDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: CrisprFieldDirective, isStandalone: true, selector: "[crisprField]", inputs: { config: "config", group: "group", value: "value" }, ngImport: i0 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFieldDirective, decorators: [{
57
- type: Directive,
58
- args: [{
59
- selector: '[crisprField]',
60
- standalone: true
61
- }]
62
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { config: [{
63
- type: Input
64
- }], group: [{
65
- type: Input
66
- }], value: [{
67
- type: Input
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQTRCLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBUXpJLE1BQU0sT0FBTyxvQkFBb0I7SUFrQi9CLFlBQ1UsU0FBMkIsRUFDM0IsUUFBbUIsRUFDbkIsR0FBc0I7UUFGdEIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUM3QixDQUFDO0lBZEosSUFBYSxLQUFLLENBQUMsS0FBMkI7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsaUdBQWlHO1FBQ2pHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBQUEsQ0FBQztJQUNGLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBU0QsS0FBSyxDQUFDLFFBQVE7UUFDWjs7V0FFRztRQUNILE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLE1BQU0sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQzdGLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUEyQixTQUFTLENBQUMsQ0FBQztRQUV6RixJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNwQyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQ25DO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxpRUFBaUU7UUFDakUseUdBQXlHO1FBQ3pHLElBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLDBEQUEwRDtZQUMxRCxJQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sS0FBSyxDQUFDLGdDQUFnQyxLQUFLLDBCQUEwQixDQUFDLENBQUM7YUFDOUU7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDcEU7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUEyQjtRQUM5QyxJQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDN0Isc0RBQXNEO1lBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDOztpSEF4RFUsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytKQUdVLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS08sS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIFZpZXdDb250YWluZXJSZWYsIFJlbmRlcmVyMiwgT25Jbml0LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGRDb21wb25lbnRUeXBlLCBGSUVMRF9DT01QT05FTlRTLCBpc0NvbnRyb2xDb21wb25lbnQsIGlzQ29udHJvbE9yQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9maWVsZC1jb21wb25lbnQtbWFwLmNvbnN0Jztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBBbnlGaWVsZENvbmZpZywgQ29udHJvbFZhbHVlIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY3Jpc3ByRmllbGRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDcmlzcHJGaWVsZERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgY29uZmlnOiBBbnlGaWVsZENvbmZpZztcbiAgQElucHV0KCkgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgLyoqXG4gICAqIHZhbHVlIHNldHRlciB1cGRhdGVzIHRoZSBjb250cm9sJ3MgdmFsdWUgYXMgd2VsbFxuICAgKi9cbiAgX3ZhbHVlOiBDb250cm9sVmFsdWUgfCBhbnlbXVxuICBASW5wdXQoKSBzZXQgdmFsdWUodmFsdWU6IENvbnRyb2xWYWx1ZSB8IGFueVtdKSB7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHRoZSBncm91cCBsaXN0IGZyb20gcmVzZXR0aW5nIGNvbnRyb2wgdmFsdWVzIHRvIHRoZSBpbml0aWFsIGlucHV0IHZhbHVlXG4gICAgdGhpcy51cGRhdGVDb21wb25lbnRWYWx1ZSh2YWx1ZSk7XG4gIH07XG4gIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cbiAgY29tcG9uZW50OiBDcmlzcHJGaWVsZENvbXBvbmVudFR5cGU7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgLyoqXG4gICAgICogY3JlYXRlIGNvbXBvbmVudCBhbmQgc2V0IHZhbHVlcyBmcm9tIGNvbmZpZyBvbiBpdHMgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmNvbmZpZy5jb21wb25lbnQgfHwgYXdhaXQgRklFTERfQ09NUE9ORU5UU1t0aGlzLmNvbmZpZy5jb250cm9sVHlwZV0oKTtcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQ8Q3Jpc3ByRmllbGRDb21wb25lbnRUeXBlPihjb21wb25lbnQpO1xuXG4gICAgdGhpcy5jb21wb25lbnQgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XG4gICAgdGhpcy5jb21wb25lbnQuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgaWYgKGlzQ29udHJvbE9yQnV0dG9uQ29tcG9uZW50KHRoaXMuY29tcG9uZW50KSkge1xuICAgICAgdGhpcy5jb21wb25lbnQuZ3JvdXAgPSB0aGlzLmdyb3VwO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZUNvbXBvbmVudFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIC8vIGFkZHMgYW55IGNvbmZpZyBjbGFzc2VzIHRvIHRoZSBkeW5hbWljYWxseSBnZW5lcmF0ZWQgY29tcG9uZW50XG4gICAgLy8gZG9pbmcgdGhpcyBoZXJlIGtlZXBzIHVzIGZyb20gaGF2aW5nIHRvIGV4dGVuZCBhIGJhc2UgY29tcG9uZW50IGludG8gZWFjaCBmaWVsZCBjb21wb25lbnQgaW5kaXZpZHVhbGx5XG4gICAgaWYoIXRoaXMuY29uZmlnLmNsYXNzZXMpIHJldHVybjtcbiAgICB0aGlzLmNvbmZpZy5jbGFzc2VzLmZvckVhY2goKGtsYXNzKSA9PiB7XG4gICAgICAvLyBjaGVjayBmb3IgcGFzc2luZyBtdWx0aXBsZSBjbGFzc2VzIGluIG9uZSBhcnJheSBlbGVtZW50XG4gICAgICBpZihrbGFzcy5pbmNsdWRlcygnICcpKSB7XG4gICAgICAgIHRocm93IEVycm9yKGBJbXByb3Blcmx5IGZvcm1hdHRlZCBjbGFzcy4gJyR7a2xhc3N9JyBjYW5ub3QgY29udGFpbiBzcGFjZXMuYCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LCBrbGFzcyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVDb21wb25lbnRWYWx1ZSh2YWx1ZTogQ29udHJvbFZhbHVlIHwgYW55W10pIHtcbiAgICBpZihpc0NvbnRyb2xDb21wb25lbnQodGhpcy5jb21wb25lbnQpKSB7XG4gICAgICB0aGlzLmNvbXBvbmVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgLy8gU3ViR3JvdXBzIHdvbid0IHBvcHVsYXRlIHdpdGhvdXQgdGhpcyBkZXRlY3RDaGFuZ2VzXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,63 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';
2
- import { ReactiveFormsModule, FormGroup } from '@angular/forms';
3
- import { Observable } from 'rxjs';
4
- import { CommonModule } from '@angular/common';
5
- import { CrisprFieldDirective } from '../field.directive';
6
- import { FormValidationHandlerModule } from '@tft/form-validation-handler';
7
- import { CrisprPipesModule } from '../pipes/crispr-pipes.module';
8
- // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
9
- import { buildFormGroupFromConfig } from '@tft/crispr-forms/utils';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/common";
12
- import * as i2 from "@angular/forms";
13
- import * as i3 from "@tft/form-validation-handler";
14
- import * as i4 from "../pipes/initial-control-value.pipe";
15
- export class CrisprFormComponent {
16
- constructor() {
17
- this.form = new FormGroup({});
18
- this.value = null;
19
- this.submitted = new EventEmitter();
20
- // proxy value and status change events through to consuming component
21
- this.valueChanges = this.form.valueChanges;
22
- this.statusChanges = this.form.statusChanges;
23
- }
24
- ngOnInit() {
25
- // build out the form, note that we pass in the form as the third argument and the function modifies it
26
- buildFormGroupFromConfig(this.config, this.value, this.form);
27
- }
28
- handleSubmit() {
29
- this.form.markAllAsTouched();
30
- this.submitted.emit(this.form);
31
- }
32
- triggerSubmit() {
33
- this.submitTrigger.nativeElement.click();
34
- }
35
- }
36
- CrisprFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- CrisprFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: CrisprFormComponent, isStandalone: true, selector: "crispr-form", inputs: { config: "config", form: "form", value: "value" }, outputs: { submitted: "submitted", valueChanges: "valueChanges", statusChanges: "statusChanges" }, viewQueries: [{ propertyName: "submitTrigger", first: true, predicate: ["submitTrigger"], descendants: true }], ngImport: i0, template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i3.ControlErrorsFormDirective, selector: "form", inputs: ["errorDictionary"] }, { kind: "directive", type: i3.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { kind: "ngmodule", type: CrisprPipesModule }, { kind: "pipe", type: i4.InitialControlValuePipe, name: "initialControlValue" }], preserveWhitespaces: true });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFormComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'crispr-form', standalone: true, imports: [
41
- CommonModule,
42
- CrisprFieldDirective,
43
- ReactiveFormsModule,
44
- FormValidationHandlerModule,
45
- CrisprPipesModule
46
- ], template: "<form\n class=\"crispr-form\"\n [ngClass]=\"config.classes\"\n [formGroup]=\"form\"\n (ngSubmit)=\"handleSubmit()\"\n [autocomplete]=\"config.autocomplete || 'off'\"\n [errorDictionary]=\"config.errorDictionary\"\n #ngFormElement=\"ngForm\">\n\n <ng-container\n *ngFor=\"let field of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"form\">\n </ng-container>\n <!-- Hidden button, programmatically clicked when crispr form triggerSubmit function called.\n Uses a hidden button with type=\"submit\" because it will trigger both native form submit event\n (which the error handler has to listen for) and ngSubmit event -->\n <button #submitTrigger class=\"submit-trigger\" type=\"submit\">\n </button>\n</form>\n", styles: [".submit-trigger{display:none}\n"] }]
47
- }], propDecorators: { config: [{
48
- type: Input
49
- }], form: [{
50
- type: Input
51
- }], value: [{
52
- type: Input
53
- }], submitted: [{
54
- type: Output
55
- }], valueChanges: [{
56
- type: Output
57
- }], statusChanges: [{
58
- type: Output
59
- }], submitTrigger: [{
60
- type: ViewChild,
61
- args: ['submitTrigger']
62
- }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLDhEQUE4RDtBQUM5RCxPQUFPLEVBQWlDLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7OztBQWdCbEcsTUFBTSxPQUFPLG1CQUFtQjtJQWRoQztRQWlCVyxTQUFJLEdBQWMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsVUFBSyxHQUFzQixJQUFJLENBQUM7UUFHL0IsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDcEQsc0VBQXNFO1FBQzVELGlCQUFZLEdBQW9CLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZELGtCQUFhLEdBQXVCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0tBaUJ2RTtJQWJDLFFBQVE7UUFDTix1R0FBdUc7UUFDdkcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDOztnSEExQlUsbUJBQW1CO29HQUFuQixtQkFBbUIsc1ZDeEJoQywyeUJBc0JBLHdGRExJLFlBQVksMFBBQ1osb0JBQW9CLCtGQUNwQixtQkFBbUIsb2JBQ25CLDJCQUEyQiwyUEFDM0IsaUJBQWlCOzJGQUdSLG1CQUFtQjtrQkFkL0IsU0FBUzsrQkFDRSxhQUFhLGNBSVgsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLDJCQUEyQjt3QkFDM0IsaUJBQWlCO3FCQUNsQjs4QkFJUSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFFcUIsYUFBYTtzQkFBeEMsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi9maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBDcmlzcHJQaXBlc01vZHVsZSB9IGZyb20gJy4uL3BpcGVzL2NyaXNwci1waXBlcy5tb2R1bGUnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBucndsL254L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IENvbnRyb2xHcm91cFZhbHVlLCBGb3JtQ29uZmlnLCBidWlsZEZvcm1Hcm91cEZyb21Db25maWcgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1mb3JtJyxcbiAgc3R5bGVVcmxzOiBbJ2Zvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICdmb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgLy8gY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ3Jpc3ByRmllbGREaXJlY3RpdmUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGUsXG4gICAgQ3Jpc3ByUGlwZXNNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQ3Jpc3ByRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8vIGlmIG5vIGZvcm0gaGFzIGJlZW4gcGFzc2VkIGluIGJ5IGNvbnN1bWluZyBjb21wb25lbnQsIHdlIGNyZWF0ZSBhbiBlbXB0eSBncm91cCB0byBidWlsZCBvdXRcbiAgQElucHV0KCkgY29uZmlnOiBGb3JtQ29uZmlnO1xuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgQElucHV0KCkgdmFsdWU6IENvbnRyb2xHcm91cFZhbHVlID0gbnVsbDtcblxuXG4gIEBPdXRwdXQoKSBzdWJtaXR0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cD4oKTtcbiAgLy8gcHJveHkgdmFsdWUgYW5kIHN0YXR1cyBjaGFuZ2UgZXZlbnRzIHRocm91Z2ggdG8gY29uc3VtaW5nIGNvbXBvbmVudFxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VzOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzO1xuICBAT3V0cHV0KCkgc3RhdHVzQ2hhbmdlczogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5mb3JtLnN0YXR1c0NoYW5nZXM7XG5cbiAgQFZpZXdDaGlsZCgnc3VibWl0VHJpZ2dlcicpIHN1Ym1pdFRyaWdnZXI6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIC8vIGJ1aWxkIG91dCB0aGUgZm9ybSwgbm90ZSB0aGF0IHdlIHBhc3MgaW4gdGhlIGZvcm0gYXMgdGhlIHRoaXJkIGFyZ3VtZW50IGFuZCB0aGUgZnVuY3Rpb24gbW9kaWZpZXMgaXRcbiAgICBidWlsZEZvcm1Hcm91cEZyb21Db25maWcodGhpcy5jb25maWcsIHRoaXMudmFsdWUsIHRoaXMuZm9ybSk7XG4gIH1cblxuICBoYW5kbGVTdWJtaXQoKSB7XG4gICAgdGhpcy5mb3JtLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICB0aGlzLnN1Ym1pdHRlZC5lbWl0KHRoaXMuZm9ybSk7XG4gIH1cblxuICB0cmlnZ2VyU3VibWl0KCkge1xuICAgIHRoaXMuc3VibWl0VHJpZ2dlci5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cbn1cbiIsIjxmb3JtXG4gIGNsYXNzPVwiY3Jpc3ByLWZvcm1cIlxuICBbbmdDbGFzc109XCJjb25maWcuY2xhc3Nlc1wiXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXG4gIChuZ1N1Ym1pdCk9XCJoYW5kbGVTdWJtaXQoKVwiXG4gIFthdXRvY29tcGxldGVdPVwiY29uZmlnLmF1dG9jb21wbGV0ZSB8fCAnb2ZmJ1wiXG4gIFtlcnJvckRpY3Rpb25hcnldPVwiY29uZmlnLmVycm9yRGljdGlvbmFyeVwiXG4gICNuZ0Zvcm1FbGVtZW50PVwibmdGb3JtXCI+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb25maWcuZmllbGRzO1wiXG4gICAgY3Jpc3ByRmllbGRcbiAgICBbdmFsdWVdPVwidmFsdWUgfCBpbml0aWFsQ29udHJvbFZhbHVlIDogZmllbGRcIlxuICAgIFtjb25maWddPVwiZmllbGRcIlxuICAgIFtncm91cF09XCJmb3JtXCI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIEhpZGRlbiBidXR0b24sIHByb2dyYW1tYXRpY2FsbHkgY2xpY2tlZCB3aGVuIGNyaXNwciBmb3JtIHRyaWdnZXJTdWJtaXQgZnVuY3Rpb24gY2FsbGVkLlxuICAgIFVzZXMgYSBoaWRkZW4gYnV0dG9uIHdpdGggdHlwZT1cInN1Ym1pdFwiIGJlY2F1c2UgaXQgd2lsbCB0cmlnZ2VyIGJvdGggbmF0aXZlIGZvcm0gc3VibWl0IGV2ZW50XG4gICAgKHdoaWNoIHRoZSBlcnJvciBoYW5kbGVyIGhhcyB0byBsaXN0ZW4gZm9yKSBhbmQgbmdTdWJtaXQgZXZlbnQgIC0tPlxuICA8YnV0dG9uICNzdWJtaXRUcmlnZ2VyIGNsYXNzPVwic3VibWl0LXRyaWdnZXJcIiB0eXBlPVwic3VibWl0XCI+XG4gIDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
@@ -1,93 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
2
- import { MatButtonModule } from '@angular/material/button';
3
- import { MatIconModule } from '@angular/material/icon';
4
- import { CrisprFieldDirective } from '../field.directive';
5
- import { CrisprPipesModule } from '../pipes/crispr-pipes.module';
6
- import { ReactiveFormsModule } from '@angular/forms';
7
- import { CommonModule } from '@angular/common';
8
- import { FormValidationHandlerModule } from '@tft/form-validation-handler';
9
- // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
10
- import { CrisprFieldComponent, crisprControlMixin, createControlForType } from '@tft/crispr-forms/utils';
11
- // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
12
- import { FieldContainerComponent } from '@tft/crispr-forms/ui';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/common";
15
- import * as i2 from "@angular/material/button";
16
- import * as i3 from "@angular/material/icon";
17
- import * as i4 from "@angular/forms";
18
- import * as i5 from "../pipes/initial-control-value.pipe";
19
- import * as i6 from "@tft/form-validation-handler";
20
- const defaultConfig = {
21
- addButtonLabel: 'ADD ITEM',
22
- minListLength: 1,
23
- };
24
- const FormGroupListMixin = crisprControlMixin(CrisprFieldComponent);
25
- export class FormGroupListComponent extends FormGroupListMixin {
26
- constructor(cdr) {
27
- super();
28
- this.cdr = cdr;
29
- this.defaultConfig = defaultConfig;
30
- /**
31
- * By setting this to true when adding/removing items from array,
32
- * we can block original values from overwriting form values
33
- * */
34
- this.blockValue = false;
35
- }
36
- ngOnInit() {
37
- super.ngOnInit();
38
- // TODO: this is required to ngFor of controls in template, must be a better way
39
- }
40
- setControlValue(values) {
41
- if (this.control) {
42
- if (values?.length > 0) {
43
- // clear any existing values so that new values don't concatenate onto the old
44
- const currentValues = this.control.value;
45
- if (currentValues.length) {
46
- this.control.clear();
47
- }
48
- values.forEach(value => this.addGroup(value));
49
- }
50
- else if (this.config.displayInitialItem) {
51
- this.addGroup();
52
- }
53
- // needed to ensure new array items render
54
- setTimeout(() => {
55
- this.cdr.detectChanges();
56
- });
57
- }
58
- }
59
- clickDelete(index) {
60
- this.blockValue = true;
61
- this.deleteGroup(index);
62
- }
63
- clickAdd() {
64
- this.blockValue = true;
65
- this.addGroup();
66
- }
67
- addGroup(value = null) {
68
- this.control.push(createControlForType(this.config.itemConfig, value));
69
- // needed to ensure new array items render
70
- setTimeout(() => {
71
- this.cdr.detectChanges();
72
- });
73
- }
74
- deleteGroup(index) {
75
- this.control.removeAt(index);
76
- }
77
- }
78
- FormGroupListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FormGroupListComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
79
- FormGroupListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FormGroupListComponent, isStandalone: true, selector: "crispr-form-group-list", usesInheritance: true, ngImport: i0, template: "\n<crispr-field-container\n [config]=\"config\"\n [group]=\"group\"\n [formGroup]=\"group\">\n\n <div [formArrayName]=\"config.controlName\">\n <!-- Don't add trackBy function, it confuses the state of the array -->\n <div *ngFor=\"let con of control?.controls; let i = index;\">\n <!-- TODO: use content projection to allow custom item label component -->\n <div class=\"item-header\">\n <span class=\"mat-h2\"> {{ config.itemLabelBuilder ? config.itemLabelBuilder(i) : 'Item ' + (i + 1) }} </span>\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"i + 1 > config.minListLength\">\n <mat-icon (click)=\"clickDelete(i)\">delete</mat-icon>\n </button>\n </div>\n <div\n [formGroup]=\"con\">\n <!-- TODO: if chiplists didn't need to have labels mixed in with their values we could use [value]=\"control.value\" below -->\n <ng-container\n *ngFor=\"let field of config.itemConfig.fields;\"\n crisprField\n [value]=\"blockValue ? null : value && value[i] | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"con\">\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"group-footer\">\n <button\n type=\"button\"\n class=\"add\"\n mat-raised-button\n [color]=\"config.addButtonColor\"\n (click)=\"clickAdd()\">\n {{config.addItemLabel || config.addButtonLabel}}\n </button>\n </div>\n\n</crispr-field-container>\n", styles: [".item-header{display:flex;justify-content:space-between}.group-footer{display:flex;justify-content:flex-end}.group-footer button.add{margin-bottom:16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }, { kind: "ngmodule", type: CrisprPipesModule }, { kind: "pipe", type: i5.InitialControlValuePipe, name: "initialControlValue" }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i6.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
80
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FormGroupListComponent, decorators: [{
81
- type: Component,
82
- args: [{ selector: 'crispr-form-group-list', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
83
- CommonModule,
84
- MatButtonModule,
85
- MatIconModule,
86
- FieldContainerComponent,
87
- ReactiveFormsModule,
88
- CrisprFieldDirective,
89
- CrisprPipesModule,
90
- FormValidationHandlerModule
91
- ], template: "\n<crispr-field-container\n [config]=\"config\"\n [group]=\"group\"\n [formGroup]=\"group\">\n\n <div [formArrayName]=\"config.controlName\">\n <!-- Don't add trackBy function, it confuses the state of the array -->\n <div *ngFor=\"let con of control?.controls; let i = index;\">\n <!-- TODO: use content projection to allow custom item label component -->\n <div class=\"item-header\">\n <span class=\"mat-h2\"> {{ config.itemLabelBuilder ? config.itemLabelBuilder(i) : 'Item ' + (i + 1) }} </span>\n <button\n mat-icon-button\n type=\"button\"\n *ngIf=\"i + 1 > config.minListLength\">\n <mat-icon (click)=\"clickDelete(i)\">delete</mat-icon>\n </button>\n </div>\n <div\n [formGroup]=\"con\">\n <!-- TODO: if chiplists didn't need to have labels mixed in with their values we could use [value]=\"control.value\" below -->\n <ng-container\n *ngFor=\"let field of config.itemConfig.fields;\"\n crisprField\n [value]=\"blockValue ? null : value && value[i] | initialControlValue : field\"\n [config]=\"field\"\n [group]=\"con\">\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"group-footer\">\n <button\n type=\"button\"\n class=\"add\"\n mat-raised-button\n [color]=\"config.addButtonColor\"\n (click)=\"clickAdd()\">\n {{config.addItemLabel || config.addButtonLabel}}\n </button>\n </div>\n\n</crispr-field-container>\n", styles: [".item-header{display:flex;justify-content:space-between}.group-footer{display:flex;justify-content:flex-end}.group-footer button.add{margin-bottom:16px}\n"] }]
92
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1ncm91cC1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvZm9ybS1ncm91cC1saXN0L2Zvcm0tZ3JvdXAtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL2Zvcm0tZ3JvdXAtbGlzdC9mb3JtLWdyb3VwLWxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRSw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUF1QixNQUFNLHlCQUF5QixDQUFDO0FBQzlILDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFFL0QsTUFBTSxhQUFhLEdBQWlDO0lBQ2xELGNBQWMsRUFBRSxVQUFVO0lBQzFCLGFBQWEsRUFBRSxDQUFDO0NBQ2pCLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFHLGtCQUFrQixDQUFzQixvQkFBb0IsQ0FBQyxDQUFDO0FBa0J6RixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsa0JBQWtCO0lBVzVELFlBQW9CLEdBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBRFUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFUMUMsa0JBQWEsR0FBRyxhQUFhLENBQUE7UUFHN0I7OzthQUdLO1FBQ0wsZUFBVSxHQUFHLEtBQUssQ0FBQztJQUluQixDQUFDO0lBRUQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixnRkFBZ0Y7SUFDbEYsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFhO1FBQzNCLElBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNmLElBQUcsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3JCLDhFQUE4RTtnQkFDOUUsTUFBTSxhQUFhLEdBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQzVDLElBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRTtvQkFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDdEI7Z0JBQ0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUUvQztpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTthQUNoQjtZQUNELDBDQUEwQztZQUMxQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsS0FBYTtRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUk7UUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RSwwQ0FBMEM7UUFDMUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7bUhBNURVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlHQ3JDbkMsc2dEQTRDQSxtTkRqQkksWUFBWSwrUEFDWixlQUFlLDBWQUNmLGFBQWEsb0xBQ2IsdUJBQXVCLDhHQUN2QixtQkFBbUIsbWJBQ25CLG9CQUFvQiwrRkFDcEIsaUJBQWlCLCtHQUNqQiwyQkFBMkI7MkZBR2xCLHNCQUFzQjtrQkFqQmxDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLDJCQUEyQjtxQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4uL2ZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDcmlzcHJQaXBlc01vZHVsZSB9IGZyb20gJy4uL3BpcGVzL2NyaXNwci1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGUgfSBmcm9tICdAdGZ0L2Zvcm0tdmFsaWRhdGlvbi1oYW5kbGVyJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBDcmlzcHJGaWVsZENvbXBvbmVudCwgY3Jpc3ByQ29udHJvbE1peGluLCBjcmVhdGVDb250cm9sRm9yVHlwZSwgRm9ybUdyb3VwTGlzdENvbmZpZyB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3V0aWxzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpJztcblxuY29uc3QgZGVmYXVsdENvbmZpZzogUGFydGlhbDxGb3JtR3JvdXBMaXN0Q29uZmlnPiA9IHtcbiAgYWRkQnV0dG9uTGFiZWw6ICdBREQgSVRFTScsXG4gIG1pbkxpc3RMZW5ndGg6IDEsXG59O1xuXG5jb25zdCBGb3JtR3JvdXBMaXN0TWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48Rm9ybUdyb3VwTGlzdENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLWZvcm0tZ3JvdXAtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWdyb3VwLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mb3JtLWdyb3VwLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBDcmlzcHJGaWVsZERpcmVjdGl2ZSxcbiAgICBDcmlzcHJQaXBlc01vZHVsZSxcbiAgICBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybUdyb3VwTGlzdENvbXBvbmVudCBleHRlbmRzIEZvcm1Hcm91cExpc3RNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWdcbiAgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgY29udHJvbDogRm9ybUFycmF5O1xuICAvKipcbiAgICogQnkgc2V0dGluZyB0aGlzIHRvIHRydWUgd2hlbiBhZGRpbmcvcmVtb3ZpbmcgaXRlbXMgZnJvbSBhcnJheSxcbiAgICogd2UgY2FuIGJsb2NrIG9yaWdpbmFsIHZhbHVlcyBmcm9tIG92ZXJ3cml0aW5nIGZvcm0gdmFsdWVzXG4gICAqICovXG4gIGJsb2NrVmFsdWUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvLyBUT0RPOiB0aGlzIGlzIHJlcXVpcmVkIHRvIG5nRm9yIG9mIGNvbnRyb2xzIGluIHRlbXBsYXRlLCBtdXN0IGJlIGEgYmV0dGVyIHdheVxuICB9XG5cbiAgc2V0Q29udHJvbFZhbHVlKHZhbHVlczogYW55W10pIHtcbiAgICBpZih0aGlzLmNvbnRyb2wpIHtcbiAgICAgIGlmKHZhbHVlcz8ubGVuZ3RoID4gMCkge1xuICAgICAgICAvLyBjbGVhciBhbnkgZXhpc3RpbmcgdmFsdWVzIHNvIHRoYXQgbmV3IHZhbHVlcyBkb24ndCBjb25jYXRlbmF0ZSBvbnRvIHRoZSBvbGRcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlczpbXSA9IHRoaXMuY29udHJvbC52YWx1ZTtcbiAgICAgICAgaWYoY3VycmVudFZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmNvbnRyb2wuY2xlYXIoKTtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMuZm9yRWFjaCh2YWx1ZSA9PiB0aGlzLmFkZEdyb3VwKHZhbHVlKSk7XG5cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcuZGlzcGxheUluaXRpYWxJdGVtKSB7XG4gICAgICAgIHRoaXMuYWRkR3JvdXAoKVxuICAgICAgfVxuICAgICAgLy8gbmVlZGVkIHRvIGVuc3VyZSBuZXcgYXJyYXkgaXRlbXMgcmVuZGVyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBjbGlja0RlbGV0ZShpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5ibG9ja1ZhbHVlID0gdHJ1ZTtcbiAgICB0aGlzLmRlbGV0ZUdyb3VwKGluZGV4KTtcbiAgfVxuXG4gIGNsaWNrQWRkKCkge1xuICAgIHRoaXMuYmxvY2tWYWx1ZSA9IHRydWU7XG4gICAgdGhpcy5hZGRHcm91cCgpO1xuICB9XG5cbiAgYWRkR3JvdXAodmFsdWUgPSBudWxsKSB7XG4gICAgdGhpcy5jb250cm9sLnB1c2goY3JlYXRlQ29udHJvbEZvclR5cGUodGhpcy5jb25maWcuaXRlbUNvbmZpZywgdmFsdWUpKTtcbiAgICAvLyBuZWVkZWQgdG8gZW5zdXJlIG5ldyBhcnJheSBpdGVtcyByZW5kZXJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KVxuICB9XG5cbiAgZGVsZXRlR3JvdXAoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuY29udHJvbC5yZW1vdmVBdChpbmRleCk7XG4gIH1cbn1cbiIsIlxuPGNyaXNwci1maWVsZC1jb250YWluZXJcbiAgW2NvbmZpZ109XCJjb25maWdcIlxuICBbZ3JvdXBdPVwiZ3JvdXBcIlxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG5cbiAgPGRpdiBbZm9ybUFycmF5TmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIj5cbiAgICA8IS0tIERvbid0IGFkZCB0cmFja0J5IGZ1bmN0aW9uLCBpdCBjb25mdXNlcyB0aGUgc3RhdGUgb2YgdGhlIGFycmF5IC0tPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvbiBvZiBjb250cm9sPy5jb250cm9sczsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgIDwhLS0gVE9ETzogdXNlIGNvbnRlbnQgcHJvamVjdGlvbiB0byBhbGxvdyBjdXN0b20gaXRlbSBsYWJlbCBjb21wb25lbnQgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1oZWFkZXJcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtaDJcIj4ge3sgY29uZmlnLml0ZW1MYWJlbEJ1aWxkZXIgPyBjb25maWcuaXRlbUxhYmVsQnVpbGRlcihpKSA6ICdJdGVtICcgKyAoaSArIDEpIH19IDwvc3Bhbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICpuZ0lmPVwiaSArIDEgPiBjb25maWcubWluTGlzdExlbmd0aFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwiY2xpY2tEZWxldGUoaSlcIj5kZWxldGU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBbZm9ybUdyb3VwXT1cImNvblwiPlxuICAgICAgICA8IS0tIFRPRE86IGlmIGNoaXBsaXN0cyBkaWRuJ3QgbmVlZCB0byBoYXZlIGxhYmVscyBtaXhlZCBpbiB3aXRoIHRoZWlyIHZhbHVlcyB3ZSBjb3VsZCB1c2UgW3ZhbHVlXT1cImNvbnRyb2wudmFsdWVcIiBiZWxvdyAtLT5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBjb25maWcuaXRlbUNvbmZpZy5maWVsZHM7XCJcbiAgICAgICAgICBjcmlzcHJGaWVsZFxuICAgICAgICAgIFt2YWx1ZV09XCJibG9ja1ZhbHVlID8gbnVsbCA6IHZhbHVlICYmIHZhbHVlW2ldIHwgaW5pdGlhbENvbnRyb2xWYWx1ZSA6IGZpZWxkXCJcbiAgICAgICAgICBbY29uZmlnXT1cImZpZWxkXCJcbiAgICAgICAgICBbZ3JvdXBdPVwiY29uXCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ3JvdXAtZm9vdGVyXCI+XG4gICAgPGJ1dHRvblxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImFkZFwiXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgW2NvbG9yXT1cImNvbmZpZy5hZGRCdXR0b25Db2xvclwiXG4gICAgICAoY2xpY2spPVwiY2xpY2tBZGQoKVwiPlxuICAgICAge3tjb25maWcuYWRkSXRlbUxhYmVsIHx8IGNvbmZpZy5hZGRCdXR0b25MYWJlbH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuXG48L2NyaXNwci1maWVsZC1jb250YWluZXI+XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
3
- import { isControlConfig } from '@tft/crispr-forms/utils';
4
- import * as i0 from "@angular/core";
5
- export class InitialControlValuePipe {
6
- // TODO: does changing any to unknown break anything?
7
- transform(initialFormValue, fieldConfig) {
8
- return (initialFormValue && isControlConfig(fieldConfig))
9
- ? initialFormValue[fieldConfig.controlName] || null
10
- : null;
11
- }
12
- }
13
- InitialControlValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: InitialControlValuePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
- InitialControlValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: InitialControlValuePipe, name: "initialControlValue" });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: InitialControlValuePipe, decorators: [{
16
- type: Pipe,
17
- args: [{
18
- name: 'initialControlValue'
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbC1jb250cm9sLXZhbHVlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3BpcGVzL2luaXRpYWwtY29udHJvbC12YWx1ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELDhEQUE4RDtBQUM5RCxPQUFPLEVBQWdDLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUt4RixNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLHFEQUFxRDtJQUNyRCxTQUFTLENBQUMsZ0JBQXFELEVBQUUsV0FBMkI7UUFDMUYsT0FBTyxDQUFDLGdCQUFnQixJQUFJLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUk7WUFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNYLENBQUM7O29IQU5VLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBSG5DLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHFCQUFxQjtpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG5yd2wvbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlLCBBbnlGaWVsZENvbmZpZywgaXNDb250cm9sQ29uZmlnIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdpbml0aWFsQ29udHJvbFZhbHVlJ1xufSlcbmV4cG9ydCBjbGFzcyBJbml0aWFsQ29udHJvbFZhbHVlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAvLyBUT0RPOiBkb2VzIGNoYW5naW5nIGFueSB0byB1bmtub3duIGJyZWFrIGFueXRoaW5nP1xuICB0cmFuc2Zvcm0oaW5pdGlhbEZvcm1WYWx1ZToge1trZXk6IHN0cmluZ106IENvbnRyb2xWYWx1ZSB8IGFueX0sIGZpZWxkQ29uZmlnOiBBbnlGaWVsZENvbmZpZyk6IHVua25vd24ge1xuICAgIHJldHVybiAoaW5pdGlhbEZvcm1WYWx1ZSAmJiBpc0NvbnRyb2xDb25maWcoZmllbGRDb25maWcpKVxuICAgICAgPyBpbml0aWFsRm9ybVZhbHVlW2ZpZWxkQ29uZmlnLmNvbnRyb2xOYW1lXSB8fCBudWxsXG4gICAgICA6IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Component } from '@angular/core';
2
- // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
3
- import { crisprControlMixin, CrisprFieldComponent } from '@tft/crispr-forms/utils';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "../field.directive";
7
- import * as i3 from "@tft/crispr-forms/ui";
8
- import * as i4 from "../pipes/initial-control-value.pipe";
9
- const FormGroupMixin = crisprControlMixin(CrisprFieldComponent);
10
- export class SubGroupComponent extends FormGroupMixin {
11
- ngOnInit() {
12
- super.ngOnInit();
13
- }
14
- }
15
- SubGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SubGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
- SubGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: SubGroupComponent, selector: "crispr-sub-group", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <ng-container\n *ngFor=\"let fieldConfig of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : fieldConfig\"\n [config]=\"fieldConfig\"\n [group]=\"control\">\n </ng-container>\n</crispr-field-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.CrisprFieldDirective, selector: "[crisprField]", inputs: ["config", "group", "value"] }, { kind: "component", type: i3.FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "pipe", type: i4.InitialControlValuePipe, name: "initialControlValue" }], preserveWhitespaces: true });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SubGroupComponent, decorators: [{
18
- type: Component,
19
- args: [{ selector: 'crispr-sub-group', template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <ng-container\n *ngFor=\"let fieldConfig of config.fields;\"\n crisprField\n [value]=\"value | initialControlValue : fieldConfig\"\n [config]=\"fieldConfig\"\n [group]=\"control\">\n </ng-container>\n</crispr-field-container>\n\n" }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvc3ViLWdyb3VwL3N1Yi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3N1Yi1ncm91cC9zdWItZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRCw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFrQixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFFbkcsTUFBTSxjQUFjLEdBQUcsa0JBQWtCLENBQWlCLG9CQUFvQixDQUFDLENBQUM7QUFVaEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQWM7SUFHbkQsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDOzs4R0FMVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwrRUNoQjlCLCtUQVlBOzJGRElhLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDRSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG5yd2wvbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgY3Jpc3ByQ29udHJvbE1peGluLCBDcmlzcHJGaWVsZENvbXBvbmVudCwgU3ViR3JvdXBDb25maWcgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91dGlscyc7XG5cbmNvbnN0IEZvcm1Hcm91cE1peGluID0gY3Jpc3ByQ29udHJvbE1peGluPFN1Ykdyb3VwQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1zdWItZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vc3ViLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3ViLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIFRPRE86IGNoaWxkIGltYWdlIHVwbG9hZCBjb250cm9scyBhcmVuJ3QgZ2V0dGluZyB1cGRhdGVkIGFwcHJvcHJpYXRlbHkgd2hlbiBpbiBPblB1c2ggc3RyYXRlZ3kuXG4gIC8vIFdlIGNhbiBhZGQgY2RyIHRvIHRoaXMgY2xhc3MsIGJ1dCBldmVyeXRoaW5nIHRoYXQgZXh0ZW5kcyBpdCB3aWxsIG5lZWQgdGhlIGNkciBhdHRhY2hlZFxuICAvLyBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdWJHcm91cENvbXBvbmVudCBleHRlbmRzIEZvcm1Hcm91cE1peGluIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZ3JvdXA6IEZvcm1Hcm91cDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nRm9yPVwibGV0IGZpZWxkQ29uZmlnIG9mIGNvbmZpZy5maWVsZHM7XCJcbiAgICBjcmlzcHJGaWVsZFxuICAgIFt2YWx1ZV09XCJ2YWx1ZSB8IGluaXRpYWxDb250cm9sVmFsdWUgOiBmaWVsZENvbmZpZ1wiXG4gICAgW2NvbmZpZ109XCJmaWVsZENvbmZpZ1wiXG4gICAgW2dyb3VwXT1cImNvbnRyb2xcIj5cbiAgPC9uZy1jb250YWluZXI+XG48L2NyaXNwci1maWVsZC1jb250YWluZXI+XG5cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { CrisprFieldDirective } from '../field.directive';
4
- import { CrisprPipesModule } from '../pipes/crispr-pipes.module';
5
- import { SubGroupComponent } from './sub-group.component';
6
- import { FormValidationHandlerModule } from '@tft/form-validation-handler';
7
- import { FieldContainerComponent } from '@tft/crispr-forms/ui';
8
- import * as i0 from "@angular/core";
9
- export class SubGroupModule {
10
- }
11
- SubGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SubGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SubGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: SubGroupModule, declarations: [SubGroupComponent], imports: [CommonModule,
13
- CrisprFieldDirective,
14
- FieldContainerComponent,
15
- CrisprPipesModule,
16
- // TODO: Does this need to be here?
17
- FormValidationHandlerModule], exports: [SubGroupComponent] });
18
- SubGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SubGroupModule, imports: [CommonModule,
19
- FieldContainerComponent,
20
- CrisprPipesModule,
21
- // TODO: Does this need to be here?
22
- FormValidationHandlerModule] });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SubGroupModule, decorators: [{
24
- type: NgModule,
25
- args: [{
26
- imports: [
27
- CommonModule,
28
- CrisprFieldDirective,
29
- FieldContainerComponent,
30
- CrisprPipesModule,
31
- // TODO: Does this need to be here?
32
- FormValidationHandlerModule
33
- ],
34
- exports: [
35
- SubGroupComponent
36
- ],
37
- declarations: [
38
- SubGroupComponent
39
- ]
40
- }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLWdyb3VwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvc3ViLWdyb3VwL3N1Yi1ncm91cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBa0IvRCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQUp2QixpQkFBaUIsYUFYakIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsaUJBQWlCO1FBQ2pCLG1DQUFtQztRQUNuQywyQkFBMkIsYUFHM0IsaUJBQWlCOzRHQU9SLGNBQWMsWUFmdkIsWUFBWTtRQUVaLHVCQUF1QjtRQUN2QixpQkFBaUI7UUFDakIsbUNBQW1DO1FBQ25DLDJCQUEyQjsyRkFVbEIsY0FBYztrQkFqQjFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsbUNBQW1DO3dCQUNuQywyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7cUJBQ2xCO29CQUNELFlBQVksRUFBRTt3QkFDWixpQkFBaUI7cUJBQ2xCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4uL2ZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDcmlzcHJQaXBlc01vZHVsZSB9IGZyb20gJy4uL3BpcGVzL2NyaXNwci1waXBlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU3ViR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3N1Yi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpJztcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ3Jpc3ByRmllbGREaXJlY3RpdmUsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgQ3Jpc3ByUGlwZXNNb2R1bGUsXG4gICAgLy8gVE9ETzogRG9lcyB0aGlzIG5lZWQgdG8gYmUgaGVyZT9cbiAgICBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFN1Ykdyb3VwQ29tcG9uZW50XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFN1Ykdyb3VwQ29tcG9uZW50XG4gIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBTdWJHcm91cE1vZHVsZSB7XG59XG4iXX0=