@tft/crispr-forms 18.0.2 → 20.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 (303) hide show
  1. package/README.md +111 -112
  2. package/fesm2022/tft-crispr-forms-autocomplete-field.component-jdr2Hr6I.mjs +95 -0
  3. package/fesm2022/tft-crispr-forms-autocomplete-field.component-jdr2Hr6I.mjs.map +1 -0
  4. package/fesm2022/tft-crispr-forms-index-BHv9E1Y2.mjs +36 -0
  5. package/fesm2022/tft-crispr-forms-index-BHv9E1Y2.mjs.map +1 -0
  6. package/fesm2022/tft-crispr-forms-index-BIhGbdgn.mjs +68 -0
  7. package/fesm2022/tft-crispr-forms-index-BIhGbdgn.mjs.map +1 -0
  8. package/fesm2022/tft-crispr-forms-index-BQFuEW6x.mjs +40 -0
  9. package/fesm2022/tft-crispr-forms-index-BQFuEW6x.mjs.map +1 -0
  10. package/fesm2022/tft-crispr-forms-index-BWsxn34Q.mjs +2 -0
  11. package/fesm2022/tft-crispr-forms-index-BWsxn34Q.mjs.map +1 -0
  12. package/fesm2022/tft-crispr-forms-index-Bh8kDfe4.mjs +39 -0
  13. package/fesm2022/tft-crispr-forms-index-Bh8kDfe4.mjs.map +1 -0
  14. package/fesm2022/tft-crispr-forms-index-C9gYJRzb.mjs +182 -0
  15. package/fesm2022/tft-crispr-forms-index-C9gYJRzb.mjs.map +1 -0
  16. package/fesm2022/tft-crispr-forms-index-ClPQl_5D.mjs +137 -0
  17. package/fesm2022/tft-crispr-forms-index-ClPQl_5D.mjs.map +1 -0
  18. package/fesm2022/tft-crispr-forms-index-DCRLl0jR.mjs +190 -0
  19. package/fesm2022/tft-crispr-forms-index-DCRLl0jR.mjs.map +1 -0
  20. package/fesm2022/tft-crispr-forms-index-Dx-HIAiX.mjs +39 -0
  21. package/fesm2022/tft-crispr-forms-index-Dx-HIAiX.mjs.map +1 -0
  22. package/fesm2022/tft-crispr-forms-index-Dyx5SqHu.mjs +88 -0
  23. package/fesm2022/tft-crispr-forms-index-Dyx5SqHu.mjs.map +1 -0
  24. package/fesm2022/tft-crispr-forms-index-LX0Bvkjk.mjs +73 -0
  25. package/fesm2022/tft-crispr-forms-index-LX0Bvkjk.mjs.map +1 -0
  26. package/fesm2022/tft-crispr-forms-index-UAYeTe3L.mjs +17 -0
  27. package/fesm2022/tft-crispr-forms-index-UAYeTe3L.mjs.map +1 -0
  28. package/fesm2022/tft-crispr-forms-index-UvEVbwnf.mjs +41 -0
  29. package/fesm2022/tft-crispr-forms-index-UvEVbwnf.mjs.map +1 -0
  30. package/fesm2022/tft-crispr-forms-index-joNvlmny.mjs +61 -0
  31. package/fesm2022/tft-crispr-forms-index-joNvlmny.mjs.map +1 -0
  32. package/fesm2022/tft-crispr-forms-index-kjMTlZoq.mjs +24 -0
  33. package/fesm2022/tft-crispr-forms-index-kjMTlZoq.mjs.map +1 -0
  34. package/fesm2022/tft-crispr-forms.mjs +206 -175
  35. package/fesm2022/tft-crispr-forms.mjs.map +1 -1
  36. package/package.json +3 -5
  37. package/tft-crispr-forms-20.0.0.tgz +0 -0
  38. package/types/tft-crispr-forms.d.ts +887 -0
  39. package/esm2022/public-api.mjs +0 -4
  40. package/esm2022/src/index.mjs +0 -2
  41. package/esm2022/src/lib/crispr-forms.module.mjs +0 -55
  42. package/esm2022/src/lib/display-field.directive.mjs +0 -52
  43. package/esm2022/src/lib/field-component-map.const.mjs +0 -29
  44. package/esm2022/src/lib/field.directive.mjs +0 -69
  45. package/esm2022/src/lib/form/form.component.mjs +0 -62
  46. package/esm2022/src/lib/form-group-list/form-group-list.component.mjs +0 -97
  47. package/esm2022/src/lib/form-group-list/index.mjs +0 -2
  48. package/esm2022/src/lib/pipes/crispr-pipes.module.mjs +0 -24
  49. package/esm2022/src/lib/pipes/initial-control-value.pipe.mjs +0 -20
  50. package/esm2022/src/lib/public_api.mjs +0 -4
  51. package/esm2022/src/lib/sub-group/index.mjs +0 -3
  52. package/esm2022/src/lib/sub-group/sub-group.component.mjs +0 -20
  53. package/esm2022/src/lib/sub-group/sub-group.module.mjs +0 -42
  54. package/esm2022/src/lib/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +0 -138
  55. package/esm2022/src/lib/ui/autocomplete-chiplist-field/index.mjs +0 -2
  56. package/esm2022/src/lib/ui/autocomplete-chiplist-field/public-api.mjs +0 -2
  57. package/esm2022/src/lib/ui/autocomplete-field/autocomplete-field.component.mjs +0 -95
  58. package/esm2022/src/lib/ui/autocomplete-field/index.mjs +0 -2
  59. package/esm2022/src/lib/ui/autocomplete-field/public-api.mjs +0 -2
  60. package/esm2022/src/lib/ui/button/button.component.mjs +0 -52
  61. package/esm2022/src/lib/ui/button/index.mjs +0 -2
  62. package/esm2022/src/lib/ui/button/public-api.mjs +0 -2
  63. package/esm2022/src/lib/ui/checkbox-field/checkbox-field.component.mjs +0 -42
  64. package/esm2022/src/lib/ui/checkbox-field/index.mjs +0 -2
  65. package/esm2022/src/lib/ui/checkbox-field/public-api.mjs +0 -2
  66. package/esm2022/src/lib/ui/datepicker-field/datepicker-field.component.mjs +0 -66
  67. package/esm2022/src/lib/ui/datepicker-field/index.mjs +0 -2
  68. package/esm2022/src/lib/ui/datepicker-field/public-api.mjs +0 -2
  69. package/esm2022/src/lib/ui/divider/divider.component.mjs +0 -25
  70. package/esm2022/src/lib/ui/divider/index.mjs +0 -2
  71. package/esm2022/src/lib/ui/divider/public-api.mjs +0 -2
  72. package/esm2022/src/lib/ui/field-container/field-container.component.mjs +0 -59
  73. package/esm2022/src/lib/ui/field-container/index.mjs +0 -2
  74. package/esm2022/src/lib/ui/field-container/public-api.mjs +0 -2
  75. package/esm2022/src/lib/ui/file-dropzone/file-dropzone.directive.mjs +0 -40
  76. package/esm2022/src/lib/ui/file-dropzone/index.mjs +0 -2
  77. package/esm2022/src/lib/ui/file-dropzone/public-api.mjs +0 -2
  78. package/esm2022/src/lib/ui/file-upload-field/file-upload-field.component.mjs +0 -107
  79. package/esm2022/src/lib/ui/file-upload-field/index.mjs +0 -2
  80. package/esm2022/src/lib/ui/file-upload-field/public-api.mjs +0 -2
  81. package/esm2022/src/lib/ui/heading/heading.component.mjs +0 -27
  82. package/esm2022/src/lib/ui/heading/index.mjs +0 -2
  83. package/esm2022/src/lib/ui/heading/public-api.mjs +0 -2
  84. package/esm2022/src/lib/ui/image-upload-field/image-upload-field.component.mjs +0 -184
  85. package/esm2022/src/lib/ui/image-upload-field/index.mjs +0 -2
  86. package/esm2022/src/lib/ui/image-upload-field/public-api.mjs +0 -2
  87. package/esm2022/src/lib/ui/index.mjs +0 -2
  88. package/esm2022/src/lib/ui/info/index.mjs +0 -2
  89. package/esm2022/src/lib/ui/info/info.component.mjs +0 -23
  90. package/esm2022/src/lib/ui/info/public-api.mjs +0 -2
  91. package/esm2022/src/lib/ui/input-field/index.mjs +0 -2
  92. package/esm2022/src/lib/ui/input-field/input-field.component.mjs +0 -43
  93. package/esm2022/src/lib/ui/input-field/public-api.mjs +0 -2
  94. package/esm2022/src/lib/ui/map/index.mjs +0 -2
  95. package/esm2022/src/lib/ui/map/map-field.component.mjs +0 -22
  96. package/esm2022/src/lib/ui/map/public-api.mjs +0 -2
  97. package/esm2022/src/lib/ui/option/index.mjs +0 -2
  98. package/esm2022/src/lib/ui/option/option.component.mjs +0 -16
  99. package/esm2022/src/lib/ui/option/public-api.mjs +0 -2
  100. package/esm2022/src/lib/ui/public-api.mjs +0 -8
  101. package/esm2022/src/lib/ui/radio-field/index.mjs +0 -2
  102. package/esm2022/src/lib/ui/radio-field/public-api.mjs +0 -2
  103. package/esm2022/src/lib/ui/radio-field/radio-field.component.mjs +0 -39
  104. package/esm2022/src/lib/ui/select-field/index.mjs +0 -2
  105. package/esm2022/src/lib/ui/select-field/public-api.mjs +0 -2
  106. package/esm2022/src/lib/ui/select-field/select-field.component.mjs +0 -73
  107. package/esm2022/src/lib/ui/selected-file/index.mjs +0 -2
  108. package/esm2022/src/lib/ui/selected-file/public-api.mjs +0 -2
  109. package/esm2022/src/lib/ui/selected-file/selected-file.component.mjs +0 -26
  110. package/esm2022/src/lib/ui/slider-field/index.mjs +0 -2
  111. package/esm2022/src/lib/ui/slider-field/public-api.mjs +0 -2
  112. package/esm2022/src/lib/ui/slider-field/slider-field.component.mjs +0 -46
  113. package/esm2022/src/lib/ui/textarea-field/index.mjs +0 -2
  114. package/esm2022/src/lib/ui/textarea-field/public-api.mjs +0 -2
  115. package/esm2022/src/lib/ui/textarea-field/textarea-field.component.mjs +0 -42
  116. package/esm2022/src/lib/ui/unit-conversion-field/index.mjs +0 -2
  117. package/esm2022/src/lib/ui/unit-conversion-field/public-api.mjs +0 -2
  118. package/esm2022/src/lib/ui/unit-conversion-field/unit-conversion-field.component.mjs +0 -86
  119. package/esm2022/src/lib/utils/abstracts/autocomplete-field.abstract.mjs +0 -30
  120. package/esm2022/src/lib/utils/abstracts/crispr-control.mixin.mjs +0 -27
  121. package/esm2022/src/lib/utils/abstracts/crispr-display-field.abstract.mjs +0 -14
  122. package/esm2022/src/lib/utils/abstracts/crispr-field.abstract.mjs +0 -19
  123. package/esm2022/src/lib/utils/abstracts/index.mjs +0 -5
  124. package/esm2022/src/lib/utils/functions/buildFormGroupFromConfig.mjs +0 -28
  125. package/esm2022/src/lib/utils/functions/callOptionsIfFunction.mjs +0 -4
  126. package/esm2022/src/lib/utils/functions/createControlForType.mjs +0 -19
  127. package/esm2022/src/lib/utils/functions/filterOptionsByLabel.mjs +0 -11
  128. package/esm2022/src/lib/utils/functions/image-compression.helpers.mjs +0 -50
  129. package/esm2022/src/lib/utils/functions/index.mjs +0 -8
  130. package/esm2022/src/lib/utils/functions/isControlConfig.mjs +0 -7
  131. package/esm2022/src/lib/utils/functions/observablifyOptions.mjs +0 -29
  132. package/esm2022/src/lib/utils/index.mjs +0 -2
  133. package/esm2022/src/lib/utils/models/autocomplete-chiplist-field.config.mjs +0 -2
  134. package/esm2022/src/lib/utils/models/autocomplete-field.config.mjs +0 -2
  135. package/esm2022/src/lib/utils/models/button.config.mjs +0 -2
  136. package/esm2022/src/lib/utils/models/checkbox-field.config.mjs +0 -2
  137. package/esm2022/src/lib/utils/models/crispr-field.config.mjs +0 -24
  138. package/esm2022/src/lib/utils/models/datepicker-field.config.mjs +0 -2
  139. package/esm2022/src/lib/utils/models/divider.config.mjs +0 -2
  140. package/esm2022/src/lib/utils/models/file-upload-field.config.mjs +0 -2
  141. package/esm2022/src/lib/utils/models/form-group-list.config.mjs +0 -2
  142. package/esm2022/src/lib/utils/models/heading.config.mjs +0 -3
  143. package/esm2022/src/lib/utils/models/image-upload-field.config.mjs +0 -2
  144. package/esm2022/src/lib/utils/models/index.mjs +0 -19
  145. package/esm2022/src/lib/utils/models/input-field.config.mjs +0 -2
  146. package/esm2022/src/lib/utils/models/map-field.config.mjs +0 -2
  147. package/esm2022/src/lib/utils/models/radio-field.config.mjs +0 -2
  148. package/esm2022/src/lib/utils/models/select-field.config.mjs +0 -2
  149. package/esm2022/src/lib/utils/models/slider-field.config.mjs +0 -2
  150. package/esm2022/src/lib/utils/models/textarea-field.config.mjs +0 -2
  151. package/esm2022/src/lib/utils/models/unit-conversion-field.config.mjs +0 -2
  152. package/esm2022/src/lib/utils/operators/form.operators.mjs +0 -24
  153. package/esm2022/src/lib/utils/operators/index.mjs +0 -2
  154. package/esm2022/src/lib/utils/public-api.mjs +0 -5
  155. package/esm2022/tft-crispr-forms.mjs +0 -5
  156. package/fesm2022/tft-crispr-forms-index-3_zzaLSn.mjs +0 -37
  157. package/fesm2022/tft-crispr-forms-index-3_zzaLSn.mjs.map +0 -1
  158. package/fesm2022/tft-crispr-forms-index-BC1uV7T_.mjs +0 -19
  159. package/fesm2022/tft-crispr-forms-index-BC1uV7T_.mjs.map +0 -1
  160. package/fesm2022/tft-crispr-forms-index-BHUGuVwS.mjs +0 -55
  161. package/fesm2022/tft-crispr-forms-index-BHUGuVwS.mjs.map +0 -1
  162. package/fesm2022/tft-crispr-forms-index-CAFXSHea.mjs +0 -58
  163. package/fesm2022/tft-crispr-forms-index-CAFXSHea.mjs.map +0 -1
  164. package/fesm2022/tft-crispr-forms-index-CN1GmYGC.mjs +0 -91
  165. package/fesm2022/tft-crispr-forms-index-CN1GmYGC.mjs.map +0 -1
  166. package/fesm2022/tft-crispr-forms-index-CvnyvJJ_.mjs +0 -73
  167. package/fesm2022/tft-crispr-forms-index-CvnyvJJ_.mjs.map +0 -1
  168. package/fesm2022/tft-crispr-forms-index-DKwMd-o-.mjs +0 -185
  169. package/fesm2022/tft-crispr-forms-index-DKwMd-o-.mjs.map +0 -1
  170. package/fesm2022/tft-crispr-forms-index-De3tRDbo.mjs +0 -49
  171. package/fesm2022/tft-crispr-forms-index-De3tRDbo.mjs.map +0 -1
  172. package/fesm2022/tft-crispr-forms-index-DiNlBPaX.mjs +0 -35
  173. package/fesm2022/tft-crispr-forms-index-DiNlBPaX.mjs.map +0 -1
  174. package/fesm2022/tft-crispr-forms-index-DkkAr7Yr.mjs +0 -102
  175. package/fesm2022/tft-crispr-forms-index-DkkAr7Yr.mjs.map +0 -1
  176. package/fesm2022/tft-crispr-forms-index-DseuVavm.mjs +0 -49
  177. package/fesm2022/tft-crispr-forms-index-DseuVavm.mjs.map +0 -1
  178. package/fesm2022/tft-crispr-forms-index-T4Ook6pV.mjs +0 -51
  179. package/fesm2022/tft-crispr-forms-index-T4Ook6pV.mjs.map +0 -1
  180. package/fesm2022/tft-crispr-forms-index-cdo59qhx.mjs +0 -142
  181. package/fesm2022/tft-crispr-forms-index-cdo59qhx.mjs.map +0 -1
  182. package/fesm2022/tft-crispr-forms-index-kJUZksiq.mjs +0 -49
  183. package/fesm2022/tft-crispr-forms-index-kJUZksiq.mjs.map +0 -1
  184. package/fesm2022/tft-crispr-forms-index-xbMIxY3P.mjs +0 -81
  185. package/fesm2022/tft-crispr-forms-index-xbMIxY3P.mjs.map +0 -1
  186. package/index.d.ts +0 -5
  187. package/public-api.d.ts +0 -3
  188. package/src/index.d.ts +0 -1
  189. package/src/lib/crispr-forms.module.d.ts +0 -16
  190. package/src/lib/display-field.directive.d.ts +0 -23
  191. package/src/lib/field-component-map.const.d.ts +0 -44
  192. package/src/lib/field.directive.d.ts +0 -24
  193. package/src/lib/form/form.component.d.ts +0 -19
  194. package/src/lib/form-group-list/form-group-list.component.d.ts +0 -40
  195. package/src/lib/form-group-list/index.d.ts +0 -1
  196. package/src/lib/pipes/crispr-pipes.module.d.ts +0 -8
  197. package/src/lib/pipes/initial-control-value.pipe.d.ts +0 -10
  198. package/src/lib/public_api.d.ts +0 -3
  199. package/src/lib/sub-group/index.d.ts +0 -2
  200. package/src/lib/sub-group/sub-group.component.d.ts +0 -24
  201. package/src/lib/sub-group/sub-group.module.d.ts +0 -12
  202. package/src/lib/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +0 -36
  203. package/src/lib/ui/autocomplete-chiplist-field/index.d.ts +0 -1
  204. package/src/lib/ui/autocomplete-chiplist-field/public-api.d.ts +0 -1
  205. package/src/lib/ui/autocomplete-field/autocomplete-field.component.d.ts +0 -25
  206. package/src/lib/ui/autocomplete-field/index.d.ts +0 -1
  207. package/src/lib/ui/autocomplete-field/public-api.d.ts +0 -1
  208. package/src/lib/ui/button/button.component.d.ts +0 -15
  209. package/src/lib/ui/button/index.d.ts +0 -1
  210. package/src/lib/ui/button/public-api.d.ts +0 -1
  211. package/src/lib/ui/checkbox-field/checkbox-field.component.d.ts +0 -23
  212. package/src/lib/ui/checkbox-field/index.d.ts +0 -1
  213. package/src/lib/ui/checkbox-field/public-api.d.ts +0 -1
  214. package/src/lib/ui/datepicker-field/datepicker-field.component.d.ts +0 -32
  215. package/src/lib/ui/datepicker-field/index.d.ts +0 -1
  216. package/src/lib/ui/datepicker-field/public-api.d.ts +0 -1
  217. package/src/lib/ui/divider/divider.component.d.ts +0 -9
  218. package/src/lib/ui/divider/index.d.ts +0 -1
  219. package/src/lib/ui/divider/public-api.d.ts +0 -1
  220. package/src/lib/ui/field-container/field-container.component.d.ts +0 -24
  221. package/src/lib/ui/field-container/index.d.ts +0 -1
  222. package/src/lib/ui/field-container/public-api.d.ts +0 -1
  223. package/src/lib/ui/file-dropzone/file-dropzone.directive.d.ts +0 -10
  224. package/src/lib/ui/file-dropzone/index.d.ts +0 -1
  225. package/src/lib/ui/file-dropzone/public-api.d.ts +0 -1
  226. package/src/lib/ui/file-upload-field/file-upload-field.component.d.ts +0 -39
  227. package/src/lib/ui/file-upload-field/index.d.ts +0 -1
  228. package/src/lib/ui/file-upload-field/public-api.d.ts +0 -1
  229. package/src/lib/ui/heading/heading.component.d.ts +0 -8
  230. package/src/lib/ui/heading/index.d.ts +0 -1
  231. package/src/lib/ui/heading/public-api.d.ts +0 -1
  232. package/src/lib/ui/image-upload-field/image-upload-field.component.d.ts +0 -50
  233. package/src/lib/ui/image-upload-field/index.d.ts +0 -1
  234. package/src/lib/ui/image-upload-field/public-api.d.ts +0 -1
  235. package/src/lib/ui/index.d.ts +0 -1
  236. package/src/lib/ui/info/index.d.ts +0 -1
  237. package/src/lib/ui/info/info.component.d.ts +0 -7
  238. package/src/lib/ui/info/public-api.d.ts +0 -1
  239. package/src/lib/ui/input-field/index.d.ts +0 -1
  240. package/src/lib/ui/input-field/input-field.component.d.ts +0 -24
  241. package/src/lib/ui/input-field/public-api.d.ts +0 -1
  242. package/src/lib/ui/map/index.d.ts +0 -1
  243. package/src/lib/ui/map/map-field.component.d.ts +0 -23
  244. package/src/lib/ui/map/public-api.d.ts +0 -1
  245. package/src/lib/ui/option/index.d.ts +0 -1
  246. package/src/lib/ui/option/option.component.d.ts +0 -7
  247. package/src/lib/ui/option/public-api.d.ts +0 -1
  248. package/src/lib/ui/public-api.d.ts +0 -7
  249. package/src/lib/ui/radio-field/index.d.ts +0 -1
  250. package/src/lib/ui/radio-field/public-api.d.ts +0 -1
  251. package/src/lib/ui/radio-field/radio-field.component.d.ts +0 -25
  252. package/src/lib/ui/select-field/index.d.ts +0 -1
  253. package/src/lib/ui/select-field/public-api.d.ts +0 -1
  254. package/src/lib/ui/select-field/select-field.component.d.ts +0 -34
  255. package/src/lib/ui/selected-file/index.d.ts +0 -1
  256. package/src/lib/ui/selected-file/public-api.d.ts +0 -1
  257. package/src/lib/ui/selected-file/selected-file.component.d.ts +0 -10
  258. package/src/lib/ui/slider-field/index.d.ts +0 -1
  259. package/src/lib/ui/slider-field/public-api.d.ts +0 -1
  260. package/src/lib/ui/slider-field/slider-field.component.d.ts +0 -24
  261. package/src/lib/ui/textarea-field/index.d.ts +0 -1
  262. package/src/lib/ui/textarea-field/public-api.d.ts +0 -1
  263. package/src/lib/ui/textarea-field/textarea-field.component.d.ts +0 -23
  264. package/src/lib/ui/unit-conversion-field/index.d.ts +0 -1
  265. package/src/lib/ui/unit-conversion-field/public-api.d.ts +0 -1
  266. package/src/lib/ui/unit-conversion-field/unit-conversion-field.component.d.ts +0 -38
  267. package/src/lib/utils/abstracts/autocomplete-field.abstract.d.ts +0 -28
  268. package/src/lib/utils/abstracts/crispr-control.mixin.d.ts +0 -16
  269. package/src/lib/utils/abstracts/crispr-display-field.abstract.d.ts +0 -22
  270. package/src/lib/utils/abstracts/crispr-field.abstract.d.ts +0 -11
  271. package/src/lib/utils/abstracts/index.d.ts +0 -4
  272. package/src/lib/utils/functions/buildFormGroupFromConfig.d.ts +0 -9
  273. package/src/lib/utils/functions/callOptionsIfFunction.d.ts +0 -3
  274. package/src/lib/utils/functions/createControlForType.d.ts +0 -9
  275. package/src/lib/utils/functions/filterOptionsByLabel.d.ts +0 -7
  276. package/src/lib/utils/functions/image-compression.helpers.d.ts +0 -5
  277. package/src/lib/utils/functions/index.d.ts +0 -7
  278. package/src/lib/utils/functions/isControlConfig.d.ts +0 -5
  279. package/src/lib/utils/functions/observablifyOptions.d.ts +0 -12
  280. package/src/lib/utils/index.d.ts +0 -1
  281. package/src/lib/utils/models/autocomplete-chiplist-field.config.d.ts +0 -20
  282. package/src/lib/utils/models/autocomplete-field.config.d.ts +0 -14
  283. package/src/lib/utils/models/button.config.d.ts +0 -17
  284. package/src/lib/utils/models/checkbox-field.config.d.ts +0 -6
  285. package/src/lib/utils/models/crispr-field.config.d.ts +0 -98
  286. package/src/lib/utils/models/datepicker-field.config.d.ts +0 -20
  287. package/src/lib/utils/models/divider.config.d.ts +0 -5
  288. package/src/lib/utils/models/file-upload-field.config.d.ts +0 -33
  289. package/src/lib/utils/models/form-group-list.config.d.ts +0 -18
  290. package/src/lib/utils/models/heading.config.d.ts +0 -6
  291. package/src/lib/utils/models/image-upload-field.config.d.ts +0 -54
  292. package/src/lib/utils/models/index.d.ts +0 -18
  293. package/src/lib/utils/models/input-field.config.d.ts +0 -16
  294. package/src/lib/utils/models/map-field.config.d.ts +0 -5
  295. package/src/lib/utils/models/radio-field.config.d.ts +0 -6
  296. package/src/lib/utils/models/select-field.config.d.ts +0 -21
  297. package/src/lib/utils/models/slider-field.config.d.ts +0 -11
  298. package/src/lib/utils/models/textarea-field.config.d.ts +0 -5
  299. package/src/lib/utils/models/unit-conversion-field.config.d.ts +0 -30
  300. package/src/lib/utils/operators/form.operators.d.ts +0 -1
  301. package/src/lib/utils/operators/index.d.ts +0 -1
  302. package/src/lib/utils/public-api.d.ts +0 -4
  303. package/tft-crispr-forms-18.0.2.tgz +0 -0
@@ -1,73 +0,0 @@
1
- /* eslint-disable @nx/enforce-module-boundaries */
2
- import { Component, ChangeDetectionStrategy, ViewChild, } from '@angular/core';
3
- import { MatSelect, MatSelectModule } from '@angular/material/select';
4
- import { CommonModule } from '@angular/common';
5
- import { MatCheckboxModule } from '@angular/material/checkbox';
6
- import { ReactiveFormsModule } from '@angular/forms';
7
- import { MatFormFieldModule } from '@angular/material/form-field';
8
- import { OptionComponent } from '../option';
9
- import { FormValidationHandlerModule } from '@tft/form-validation-handler';
10
- import { InfoComponent } from '../info';
11
- import { FieldContainerComponent } from '../field-container';
12
- import { observablifyOptions, CrisprFieldComponent, crisprControlMixin, } from '../../utils';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@angular/common";
15
- import * as i2 from "@angular/material/checkbox";
16
- import * as i3 from "@angular/material/form-field";
17
- import * as i4 from "@angular/material/select";
18
- import * as i5 from "@angular/material/core";
19
- import * as i6 from "@angular/forms";
20
- import * as i7 from "@tft/form-validation-handler";
21
- const SelectFieldMixin = crisprControlMixin(CrisprFieldComponent);
22
- export class SelectFieldComponent extends SelectFieldMixin {
23
- constructor() {
24
- super(...arguments);
25
- this.defaultConfig = {
26
- enableToggleAll: false,
27
- color: 'primary',
28
- };
29
- this.allSelected = false;
30
- }
31
- ngOnInit() {
32
- super.ngOnInit();
33
- // options$ can be passed as an array, promise that resolves array, or observable that resolves array
34
- // this functions accounts for all possibilities and converts to observable that resolves array
35
- this.options$ = observablifyOptions(this.config.options, this.group);
36
- }
37
- ngAfterViewInit() {
38
- if (this.config.multiple &&
39
- this.config.enableToggleAll &&
40
- this.selectField.options?.length === this.value?.length) {
41
- this.allSelected = true;
42
- }
43
- }
44
- toggleAll(isSelected) {
45
- if (isSelected) {
46
- this.selectField.options.forEach((option) => option.deselect());
47
- }
48
- else {
49
- this.selectField.options.forEach((option) => option.select());
50
- }
51
- this.allSelected = !this.allSelected;
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
54
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.3", type: SelectFieldComponent, isStandalone: true, selector: "crispr-select-field", viewQueries: [{ propertyName: "selectField", first: true, predicate: ["selectField"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControlName]=\"config.controlName\"\n [placeholder]=\"config.placeholder\"\n [multiple]=\"config.multiple\">\n\n <mat-checkbox\n [color]=\"config.color\"\n [checked]=\"allSelected\"\n *ngIf=\"config?.multiple && config.enableToggleAll\"\n (click)=\"toggleAll(allSelected)\">\n Select All\n </mat-checkbox>\n <mat-option\n *ngFor=\"let option of options$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: ["mat-checkbox{display:block;padding: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: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }, { kind: "component", type: OptionComponent, selector: "crispr-option", inputs: ["option"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i7.ControlErrorsDirective, selector: "[formControl], [formControlName]" }, { kind: "directive", type: i7.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: MatFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: SelectFieldComponent, decorators: [{
57
- type: Component,
58
- args: [{ selector: 'crispr-select-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
59
- CommonModule,
60
- InfoComponent,
61
- OptionComponent,
62
- MatCheckboxModule,
63
- MatSelectModule,
64
- ReactiveFormsModule,
65
- FormValidationHandlerModule,
66
- FieldContainerComponent,
67
- MatFormFieldModule,
68
- ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControlName]=\"config.controlName\"\n [placeholder]=\"config.placeholder\"\n [multiple]=\"config.multiple\">\n\n <mat-checkbox\n [color]=\"config.color\"\n [checked]=\"allSelected\"\n *ngIf=\"config?.multiple && config.enableToggleAll\"\n (click)=\"toggleAll(allSelected)\">\n Select All\n </mat-checkbox>\n <mat-option\n *ngFor=\"let option of options$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: ["mat-checkbox{display:block;padding:16px}\n"] }]
69
- }], propDecorators: { selectField: [{
70
- type: ViewChild,
71
- args: ['selectField']
72
- }] } });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdWkvc2VsZWN0LWZpZWxkL3NlbGVjdC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3NlbGVjdC1maWVsZC9zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELE9BQU8sRUFDTCxTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0JBQWtCLEdBR25CLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7QUFFckIsTUFBTSxnQkFBZ0IsR0FDcEIsa0JBQWtCLENBQW9CLG9CQUFvQixDQUFDLENBQUM7QUFvQjlELE1BQU0sT0FBTyxvQkFDWCxTQUFRLGdCQUFnQjtJQW5CMUI7O1FBc0JFLGtCQUFhLEdBQUc7WUFDZCxlQUFlLEVBQUUsS0FBSztZQUN0QixLQUFLLEVBQUUsU0FBeUI7U0FDakMsQ0FBQztRQUVGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0tBNkJyQjtJQXpCQyxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLHFHQUFxRztRQUNyRywrRkFBK0Y7UUFDL0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELGVBQWU7UUFDYixJQUNFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxLQUFNLElBQUksQ0FBQyxLQUFlLEVBQUUsTUFBTSxFQUNsRSxDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsVUFBbUI7UUFDM0IsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2QyxDQUFDOzhHQXJDVSxvQkFBb0I7a0dBQXBCLG9CQUFvQixrTkNqRGpDLHV1Q0E2Q0EsbUdEUEksWUFBWSxxVEFDWixhQUFhLDBFQUNiLGVBQWUsNkVBQ2YsaUJBQWlCLDZXQUNqQixlQUFlLHdwQ0FDZixtQkFBbUIsbWxCQUNuQiwyQkFBMkIsdVBBQzNCLHVCQUF1Qiw4R0FDdkIsa0JBQWtCOzsyRkFHVCxvQkFBb0I7a0JBbEJoQyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3FCQUNuQjs4QkFheUIsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQG54L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXMgKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0NoaWxkLFxuICBBZnRlclZpZXdJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWF0U2VsZWN0LCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24nO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5mbyc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQge1xuICBvYnNlcnZhYmxpZnlPcHRpb25zLFxuICBDcmlzcHJGaWVsZENvbXBvbmVudCxcbiAgY3Jpc3ByQ29udHJvbE1peGluLFxuICBTZWxlY3RGaWVsZENvbmZpZyxcbiAgU2VsZWN0T3B0aW9uLFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmNvbnN0IFNlbGVjdEZpZWxkTWl4aW4gPVxuICBjcmlzcHJDb250cm9sTWl4aW48U2VsZWN0RmllbGRDb25maWc+KENyaXNwckZpZWxkQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLXNlbGVjdC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW5mb0NvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlLFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0RmllbGRDb21wb25lbnRcbiAgZXh0ZW5kcyBTZWxlY3RGaWVsZE1peGluXG4gIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0XG57XG4gIGRlZmF1bHRDb25maWcgPSB7XG4gICAgZW5hYmxlVG9nZ2xlQWxsOiBmYWxzZSxcbiAgICBjb2xvcjogJ3ByaW1hcnknIGFzIFRoZW1lUGFsZXR0ZSxcbiAgfTtcbiAgb3B0aW9ucyQ6IE9ic2VydmFibGU8U2VsZWN0T3B0aW9uW10+O1xuICBhbGxTZWxlY3RlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdEZpZWxkJykgc2VsZWN0RmllbGQ6IE1hdFNlbGVjdDtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIC8vIG9wdGlvbnMkIGNhbiBiZSBwYXNzZWQgYXMgYW4gYXJyYXksIHByb21pc2UgdGhhdCByZXNvbHZlcyBhcnJheSwgb3Igb2JzZXJ2YWJsZSB0aGF0IHJlc29sdmVzIGFycmF5XG4gICAgLy8gdGhpcyBmdW5jdGlvbnMgYWNjb3VudHMgZm9yIGFsbCBwb3NzaWJpbGl0aWVzIGFuZCBjb252ZXJ0cyB0byBvYnNlcnZhYmxlIHRoYXQgcmVzb2x2ZXMgYXJyYXlcbiAgICB0aGlzLm9wdGlvbnMkID0gb2JzZXJ2YWJsaWZ5T3B0aW9ucyh0aGlzLmNvbmZpZy5vcHRpb25zLCB0aGlzLmdyb3VwKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbmZpZy5tdWx0aXBsZSAmJlxuICAgICAgdGhpcy5jb25maWcuZW5hYmxlVG9nZ2xlQWxsICYmXG4gICAgICB0aGlzLnNlbGVjdEZpZWxkLm9wdGlvbnM/Lmxlbmd0aCA9PT0gKHRoaXMudmFsdWUgYXMgYW55W10pPy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHRoaXMuYWxsU2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUFsbChpc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgaWYgKGlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0RmllbGQub3B0aW9ucy5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5kZXNlbGVjdCgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RGaWVsZC5vcHRpb25zLmZvckVhY2goKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdCgpKTtcbiAgICB9XG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9ICF0aGlzLmFsbFNlbGVjdGVkO1xuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuXG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIFthcHBlYXJhbmNlXT1cImNvbmZpZy5hcHBlYXJhbmNlXCJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjc2VsZWN0RmllbGRcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXJcIlxuICAgICAgW211bHRpcGxlXT1cImNvbmZpZy5tdWx0aXBsZVwiPlxuXG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgICAgICBbY2hlY2tlZF09XCJhbGxTZWxlY3RlZFwiXG4gICAgICAgICpuZ0lmPVwiY29uZmlnPy5tdWx0aXBsZSAmJiBjb25maWcuZW5hYmxlVG9nZ2xlQWxsXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUFsbChhbGxTZWxlY3RlZClcIj5cbiAgICAgICAgU2VsZWN0IEFsbFxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgIDxjcmlzcHItb3B0aW9uIFtvcHRpb25dPVwib3B0aW9uXCI+XG4gICAgICAgIDwvY3Jpc3ByLW9wdGlvbj5cbiAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDwvbWF0LXNlbGVjdD5cblxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmZpZWxkU3VmZml4XCIgbWF0U3VmZml4Pnt7Y29uZmlnLmZpZWxkU3VmZml4fX08L3NwYW4+XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgKGNvbnRyb2wudmFsaWQgfHwgIWNvbnRyb2wudG91Y2hlZClcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3NlbGVjdGVkLWZpbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './selected-file.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdWkvc2VsZWN0ZWQtZmlsZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NlbGVjdGVkLWZpbGUuY29tcG9uZW50JztcbiJdfQ==
@@ -1,26 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, Input } from '@angular/core';
3
- import { MatProgressBarModule } from '@angular/material/progress-bar';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/material/progress-bar";
7
- export class SelectedFileComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: SelectedFileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.3", type: SelectedFileComponent, isStandalone: true, selector: "crispr-selected-file", inputs: { fileName: "fileName", progress: "progress", showProgress: "showProgress", color: "color" }, ngImport: i0, template: "<h3 class=\"mat-h3\">{{ fileName }}</h3>\n<mat-progress-bar\n *ngIf=\"showProgress\"\n mode=\"determinate\"\n [color]=\"color\"\n [value]=\"progress\">\n</mat-progress-bar>\n", styles: ["mat-progress-bar{margin-bottom:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }], preserveWhitespaces: true }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: SelectedFileComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'crispr-selected-file', standalone: true, imports: [
14
- CommonModule,
15
- MatProgressBarModule
16
- ], template: "<h3 class=\"mat-h3\">{{ fileName }}</h3>\n<mat-progress-bar\n *ngIf=\"showProgress\"\n mode=\"determinate\"\n [color]=\"color\"\n [value]=\"progress\">\n</mat-progress-bar>\n", styles: ["mat-progress-bar{margin-bottom:8px}\n"] }]
17
- }], propDecorators: { fileName: [{
18
- type: Input
19
- }], progress: [{
20
- type: Input
21
- }], showProgress: [{
22
- type: Input
23
- }], color: [{
24
- type: Input
25
- }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3NlbGVjdGVkLWZpbGUvc2VsZWN0ZWQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3NlbGVjdGVkLWZpbGUvc2VsZWN0ZWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFZdEUsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCO2tHQUFyQixxQkFBcUIsc0xDZmxDLG9MQU9BLDhGRElJLFlBQVksa0lBQ1osb0JBQW9COzsyRkFHWCxxQkFBcUI7a0JBVmpDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjtxQkFDckI7OEJBSVEsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItc2VsZWN0ZWQtZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3RlZC1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0ZWQtZmlsZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGVkRmlsZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZmlsZU5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgQElucHV0KCkgc2hvd1Byb2dyZXNzOiBib29sZWFuO1xuICBASW5wdXQoKSBjb2xvcjogVGhlbWVQYWxldHRlO1xuXG59XG4iLCI8aDMgY2xhc3M9XCJtYXQtaDNcIj57eyBmaWxlTmFtZSB9fTwvaDM+XG48bWF0LXByb2dyZXNzLWJhclxuICAqbmdJZj1cInNob3dQcm9ncmVzc1wiXG4gIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIFt2YWx1ZV09XCJwcm9ncmVzc1wiPlxuPC9tYXQtcHJvZ3Jlc3MtYmFyPlxuIl19
@@ -1,2 +0,0 @@
1
- export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3NsaWRlci1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './slider-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdWkvc2xpZGVyLWZpZWxkL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2xpZGVyLWZpZWxkLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,46 +0,0 @@
1
- /* eslint-disable @nx/enforce-module-boundaries */
2
- import { Component, ChangeDetectionStrategy } from '@angular/core';
3
- import { MatSliderModule } from '@angular/material/slider';
4
- import { CommonModule } from '@angular/common';
5
- import { ReactiveFormsModule } from '@angular/forms';
6
- // import { FormValidationHandlerModule } from '@tft/form-validation-handler';
7
- import { FieldContainerComponent } from '../field-container';
8
- import { InfoComponent } from '../info';
9
- import { CrisprFieldComponent, crisprControlMixin, } from '../../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 "@angular/material/slider";
14
- const defaultConfig = {
15
- displayLimits: true,
16
- displayWith: (val) => val,
17
- };
18
- const SliderFieldMixin = crisprControlMixin(CrisprFieldComponent);
19
- export class SliderFieldComponent extends SliderFieldMixin {
20
- constructor() {
21
- super();
22
- this.defaultConfig = defaultConfig;
23
- }
24
- ngOnInit() {
25
- super.ngOnInit();
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: SliderFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.3", type: SliderFieldComponent, isStandalone: true, selector: "crispr-slider-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <label *ngIf=\"config.label\">\n {{config.label}}\n <crispr-info\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </label>\n <div class=\"slider-container\">\n <span *ngIf=\"config.displayLimits\">\n {{config.min}}\n </span>\n <mat-slider\n [discrete]=\"config.discrete\"\n [displayWith]=\"config.displayWith\"\n class=\"example-margin\"\n [formGroup]=\"group\"\n [max]=\"config.max\"\n [min]=\"config.min\"\n [step]=\"config.step\">\n <input matSliderThumb \n [formControlName]=\"config.controlName\">\n </mat-slider>\n <span *ngIf=\"config.displayLimits\">\n {{config.max}}\n </span>\n </div>\n\n</crispr-field-container>\n\n", styles: [".slider-container{display:flex;align-items:center}.slider-container mat-slider{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSliderModule }, { kind: "component", type: i3.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "directive", type: i3.MatSliderThumb, selector: "input[matSliderThumb]", inputs: ["value"], outputs: ["valueChange", "dragStart", "dragEnd"], exportAs: ["matSliderThumb"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: SliderFieldComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'crispr-slider-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
33
- CommonModule,
34
- InfoComponent,
35
- FieldContainerComponent,
36
- ReactiveFormsModule,
37
- MatSliderModule,
38
- /**
39
- * TODO: Adding validation module causes error
40
- * TypeError: You provided 'null' where a stream was expected. You can provide an Observable,
41
- * Promise, ReadableStream, Array, AsyncIterable, or Iterable.
42
- */
43
- // FormValidationHandlerModule,
44
- ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <label *ngIf=\"config.label\">\n {{config.label}}\n <crispr-info\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </label>\n <div class=\"slider-container\">\n <span *ngIf=\"config.displayLimits\">\n {{config.min}}\n </span>\n <mat-slider\n [discrete]=\"config.discrete\"\n [displayWith]=\"config.displayWith\"\n class=\"example-margin\"\n [formGroup]=\"group\"\n [max]=\"config.max\"\n [min]=\"config.min\"\n [step]=\"config.step\">\n <input matSliderThumb \n [formControlName]=\"config.controlName\">\n </mat-slider>\n <span *ngIf=\"config.displayLimits\">\n {{config.max}}\n </span>\n </div>\n\n</crispr-field-container>\n\n", styles: [".slider-container{display:flex;align-items:center}.slider-container mat-slider{flex:1}\n"] }]
45
- }], ctorParameters: () => [] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdWkvc2xpZGVyLWZpZWxkL3NsaWRlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3NsaWRlci1maWVsZC9zbGlkZXItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCw4RUFBOEU7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBRUwsb0JBQW9CLEVBQ3BCLGtCQUFrQixHQUNuQixNQUFNLGFBQWEsQ0FBQzs7Ozs7QUFFckIsTUFBTSxhQUFhLEdBQStCO0lBQ2hELGFBQWEsRUFBRSxJQUFJO0lBQ25CLFdBQVcsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRztDQUMxQixDQUFDO0FBQ0YsTUFBTSxnQkFBZ0IsR0FDcEIsa0JBQWtCLENBQW9CLG9CQUFvQixDQUFDLENBQUM7QUFzQjlELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFFeEQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUZWLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0lBRzlCLENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7OEdBUlUsb0JBQW9CO2tHQUFwQixvQkFBb0Isc0dDekNqQyxvMkJBZ0NBLGlKREpJLFlBQVksbUlBQ1osYUFBYSwwRUFDYix1QkFBdUIsOEdBQ3ZCLG1CQUFtQixtMkJBQ25CLGVBQWU7OzJGQVNOLG9CQUFvQjtrQkFwQmhDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZjs7OzsyQkFJRzt3QkFDSCwrQkFBK0I7cUJBQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQG54L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXMgKi9cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuLy8gaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5mbyc7XG5pbXBvcnQge1xuICBTbGlkZXJGaWVsZENvbmZpZyxcbiAgQ3Jpc3ByRmllbGRDb21wb25lbnQsXG4gIGNyaXNwckNvbnRyb2xNaXhpbixcbn0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPFNsaWRlckZpZWxkQ29uZmlnPiA9IHsgXG4gIGRpc3BsYXlMaW1pdHM6IHRydWUsXG4gIGRpc3BsYXlXaXRoOiAodmFsKSA9PiB2YWwsXG59O1xuY29uc3QgU2xpZGVyRmllbGRNaXhpbiA9XG4gIGNyaXNwckNvbnRyb2xNaXhpbjxTbGlkZXJGaWVsZENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItc2xpZGVyLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NsaWRlci1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NsaWRlci1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJbmZvQ29tcG9uZW50LFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxuICAgIC8qKlxuICAgICAqIFRPRE86IEFkZGluZyB2YWxpZGF0aW9uIG1vZHVsZSBjYXVzZXMgZXJyb3JcbiAgICAgKiBUeXBlRXJyb3I6IFlvdSBwcm92aWRlZCAnbnVsbCcgd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLiBZb3UgY2FuIHByb3ZpZGUgYW4gT2JzZXJ2YWJsZSxcbiAgICAgKiBQcm9taXNlLCBSZWFkYWJsZVN0cmVhbSwgQXJyYXksIEFzeW5jSXRlcmFibGUsIG9yIEl0ZXJhYmxlLlxuICAgICAqL1xuICAgIC8vIEZvcm1WYWxpZGF0aW9uSGFuZGxlck1vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVyRmllbGRDb21wb25lbnQgZXh0ZW5kcyBTbGlkZXJGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICAgIDxsYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgICAgPGNyaXNwci1pbmZvXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmluZm9cIlxuICAgICAgICBbaW5mb109XCJjb25maWcuaW5mb1wiPlxuICAgICAgPC9jcmlzcHItaW5mbz5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJzbGlkZXItY29udGFpbmVyXCI+XG4gICAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5kaXNwbGF5TGltaXRzXCI+XG4gICAgICAgIHt7Y29uZmlnLm1pbn19XG4gICAgICA8L3NwYW4+XG4gICAgICA8bWF0LXNsaWRlclxuICAgICAgICBbZGlzY3JldGVdPVwiY29uZmlnLmRpc2NyZXRlXCJcbiAgICAgICAgW2Rpc3BsYXlXaXRoXT1cImNvbmZpZy5kaXNwbGF5V2l0aFwiXG4gICAgICAgIGNsYXNzPVwiZXhhbXBsZS1tYXJnaW5cIlxuICAgICAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcbiAgICAgICAgW21heF09XCJjb25maWcubWF4XCJcbiAgICAgICAgW21pbl09XCJjb25maWcubWluXCJcbiAgICAgICAgW3N0ZXBdPVwiY29uZmlnLnN0ZXBcIj5cbiAgICAgICAgPGlucHV0IG1hdFNsaWRlclRodW1iIFxuICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiPlxuICAgICAgPC9tYXQtc2xpZGVyPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb25maWcuZGlzcGxheUxpbWl0c1wiPlxuICAgICAgICB7e2NvbmZpZy5tYXh9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG48L2NyaXNwci1maWVsZC1jb250YWluZXI+XG5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3RleHRhcmVhLWZpZWxkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './textarea-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdWkvdGV4dGFyZWEtZmllbGQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQnO1xuIl19
@@ -1,42 +0,0 @@
1
- /* eslint-disable @nx/enforce-module-boundaries */
2
- import { Component, ChangeDetectionStrategy } from '@angular/core';
3
- import { ReactiveFormsModule } from '@angular/forms';
4
- import { CommonModule } from '@angular/common';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatInputModule } from '@angular/material/input';
7
- import { FormValidationHandlerModule } from '@tft/form-validation-handler';
8
- import { FieldContainerComponent } from '../field-container';
9
- import { InfoComponent } from '../info';
10
- import { crisprControlMixin, CrisprFieldComponent, } from '../../utils';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common";
13
- import * as i2 from "@angular/forms";
14
- import * as i3 from "@angular/material/form-field";
15
- import * as i4 from "@angular/material/input";
16
- import * as i5 from "@tft/form-validation-handler";
17
- const defaultConfig = { rows: 5 };
18
- const TextareaFieldMixin = crisprControlMixin(CrisprFieldComponent);
19
- export class TextareaFieldComponent extends TextareaFieldMixin {
20
- constructor() {
21
- super(...arguments);
22
- this.defaultConfig = defaultConfig;
23
- }
24
- ngOnInit() {
25
- super.ngOnInit();
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: TextareaFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.3", type: TextareaFieldComponent, isStandalone: true, selector: "crispr-textarea-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <textarea\n [rows]=\"config.rows\"\n matInput\n [placeholder]=\"config.placeholder\"\n [formControlName]=\"config.controlName\">\n </textarea>\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n\n <mat-hint *ngIf=\"config.hint && control.valid\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i5.ControlErrorsDirective, selector: "[formControl], [formControlName]" }, { kind: "directive", type: i5.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: TextareaFieldComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'crispr-textarea-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
33
- CommonModule,
34
- InfoComponent,
35
- ReactiveFormsModule,
36
- FieldContainerComponent,
37
- MatFormFieldModule,
38
- MatInputModule,
39
- FormValidationHandlerModule,
40
- ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <textarea\n [rows]=\"config.rows\"\n matInput\n [placeholder]=\"config.placeholder\"\n [formControlName]=\"config.controlName\">\n </textarea>\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n\n <mat-hint *ngIf=\"config.hint && control.valid\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n" }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi91aS90ZXh0YXJlYS1maWVsZC90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3RleHRhcmVhLWZpZWxkL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGtEQUFrRDtBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixHQUVyQixNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQUVyQixNQUFNLGFBQWEsR0FBaUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDaEUsTUFBTSxrQkFBa0IsR0FDdEIsa0JBQWtCLENBQXNCLG9CQUFvQixDQUFDLENBQUM7QUFrQmhFLE1BQU0sT0FBTyxzQkFDWCxTQUFRLGtCQUFrQjtJQWpCNUI7O1FBb0JFLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBSy9CO0lBSEMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDOzhHQVJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHdHQ25DbkMsb3dCQTRCQSx5RERGSSxZQUFZLG1JQUNaLGFBQWEseUVBQ2IsbUJBQW1CLG8yQkFDbkIsdUJBQXVCLDhHQUN2QixrQkFBa0IsbWdCQUNsQixjQUFjLDBXQUNkLDJCQUEyQjs7MkZBR2xCLHNCQUFzQjtrQkFoQmxDLFNBQVM7K0JBQ0UsdUJBQXVCLG1CQUdoQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCwyQkFBMkI7cUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQG54L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXMgKi9cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5mbyc7XG5pbXBvcnQge1xuICBjcmlzcHJDb250cm9sTWl4aW4sXG4gIENyaXNwckZpZWxkQ29tcG9uZW50LFxuICBUZXh0YXJlYUZpZWxkQ29uZmlnLFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8VGV4dGFyZWFGaWVsZENvbmZpZz4gPSB7IHJvd3M6IDUgfTtcbmNvbnN0IFRleHRhcmVhRmllbGRNaXhpbiA9XG4gIGNyaXNwckNvbnRyb2xNaXhpbjxUZXh0YXJlYUZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci10ZXh0YXJlYS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEluZm9Db21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGaWVsZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYUZpZWxkQ29tcG9uZW50XG4gIGV4dGVuZHMgVGV4dGFyZWFGaWVsZE1peGluXG4gIGltcGxlbWVudHMgT25Jbml0XG57XG4gIGRlZmF1bHRDb25maWcgPSBkZWZhdWx0Q29uZmlnO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cbn1cbiIsIjxjcmlzcHItZmllbGQtY29udGFpbmVyXG4gIFtjb25maWddPVwiY29uZmlnXCJcbiAgW2dyb3VwXT1cImdyb3VwXCI+XG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIFthcHBlYXJhbmNlXT1cImNvbmZpZy5hcHBlYXJhbmNlXCJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgW3Jvd3NdPVwiY29uZmlnLnJvd3NcIlxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXJcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIj5cbiAgICA8L3RleHRhcmVhPlxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmZpZWxkU3VmZml4XCIgbWF0U3VmZml4Pnt7Y29uZmlnLmZpZWxkU3VmZml4fX08L3NwYW4+XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgY29udHJvbC52YWxpZFwiPnt7Y29uZmlnLmhpbnR9fTwvbWF0LWhpbnQ+XG5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuPC9jcmlzcHItZmllbGQtY29udGFpbmVyPlxuIl19
@@ -1,2 +0,0 @@
1
- export * from './public-api';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3VuaXQtY29udmVyc2lvbi1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './unit-conversion-field.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdWkvdW5pdC1jb252ZXJzaW9uLWZpZWxkL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,86 +0,0 @@
1
- /* eslint-disable @nx/enforce-module-boundaries */
2
- import { CommonModule } from '@angular/common';
3
- import { Component, ChangeDetectionStrategy, } from '@angular/core';
4
- import { ReactiveFormsModule, FormControl } from '@angular/forms';
5
- import { MatOptionModule } from '@angular/material/core';
6
- import { MatInputModule } from '@angular/material/input';
7
- import { MatSelectModule } from '@angular/material/select';
8
- import { combineLatest } from 'rxjs';
9
- import { startWith } from 'rxjs/operators';
10
- import { OptionComponent } from '../option';
11
- import { FormValidationHandlerModule } from '@tft/form-validation-handler';
12
- import { FieldContainerComponent } from '../field-container';
13
- import { InfoComponent } from '../info';
14
- import { crisprControlMixin, CrisprFieldComponent, observablifyOptions, } from '../../utils';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@angular/common";
17
- import * as i2 from "@angular/forms";
18
- import * as i3 from "@angular/material/input";
19
- import * as i4 from "@angular/material/form-field";
20
- import * as i5 from "@angular/material/select";
21
- import * as i6 from "@angular/material/core";
22
- import * as i7 from "@tft/form-validation-handler";
23
- const defaultConfig = {};
24
- const UnitConversionFieldMixin = crisprControlMixin(CrisprFieldComponent);
25
- export class UnitConversionFieldComponent extends UnitConversionFieldMixin {
26
- constructor() {
27
- super(...arguments);
28
- this.defaultConfig = defaultConfig;
29
- this.displayValueControl = new FormControl();
30
- this.unitSelectControl = new FormControl();
31
- }
32
- ngOnInit() {
33
- super.ngOnInit();
34
- // TODO: Validators need work. validation is tricky because the input needs to be validated against but the validator will compare against the controls value
35
- // this.displayValueControl.setValidators(this.config.validators);
36
- const controlValuePipeline = [
37
- this.displayValueControl.valueChanges.pipe(startWith(this.displayValueControl.value)),
38
- ];
39
- // setup all required pieces when showing a field for selecting units
40
- if (this.config.showUnitSelect) {
41
- this.unitOptions$ = observablifyOptions(this.config.selectableUnits, this.group);
42
- controlValuePipeline.push(this.unitSelectControl.valueChanges.pipe(startWith(this.config?.initialDisplayUnit || null)));
43
- this.unitSelectControl.setValue(this.config?.initialDisplayUnit || null);
44
- }
45
- this.transformationSubscription = combineLatest(controlValuePipeline).subscribe(([displayValue, unitValue]) => {
46
- const computedValue = this.config.storedValueConversion(displayValue, unitValue);
47
- this.control.setValue(computedValue);
48
- });
49
- }
50
- ngOnDestroy() {
51
- this.transformationSubscription.unsubscribe();
52
- }
53
- setInitialDisplayValue(storedValue, unit) {
54
- const initialDisplayValue = this.config.initialDisplayValueConversion(storedValue || null, unit);
55
- this.displayValueControl.setValue(initialDisplayValue);
56
- }
57
- /**
58
- * We override the 'setControlValue' we inherited from crisprControlMixin and add our custom logic,
59
- * This function gets called onInit because were object oriented. it's so great, so great that I'm
60
- * typing a paragraph to explain what the hell is going on...
61
- * @param value the initial value for the control passed down from the form components input
62
- */
63
- setControlValue(value) {
64
- const initialUnitValue = this.config.showUnitSelect
65
- ? this.config?.initialDisplayUnit
66
- : null;
67
- this.setInitialDisplayValue(value, initialUnitValue);
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: UnitConversionFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.3", type: UnitConversionFieldComponent, isStandalone: true, selector: "crispr-unit-conversion-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [style.width.%]=\"config.showUnitSelect ? 60 : 100\"\n class=\"number-field\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n type=\"number\"\n matInput\n [formControl]=\"displayValueControl\"\n [placeholder]=\"config.placeholder\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [autofocus]=\"config.autofocus\">\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n matSuffix\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </mat-form-field>\n\n <mat-form-field\n *ngIf=\"config.showUnitSelect\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\"\n class=\"unit-field\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControl]=\"unitSelectControl\">\n\n <mat-option\n *ngFor=\"let option of unitOptions$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [".unit-field{width:40%;margin-left:16px}:host ::ng-deep .field-container{display:flex}\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: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }, { kind: "component", type: OptionComponent, selector: "crispr-option", inputs: ["option"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i7.ControlErrorsDirective, selector: "[formControl], [formControlName]" }, { kind: "directive", type: i7.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: UnitConversionFieldComponent, decorators: [{
73
- type: Component,
74
- args: [{ selector: 'crispr-unit-conversion-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
75
- CommonModule,
76
- InfoComponent,
77
- OptionComponent,
78
- ReactiveFormsModule,
79
- FieldContainerComponent,
80
- MatInputModule,
81
- MatSelectModule,
82
- MatOptionModule,
83
- FormValidationHandlerModule,
84
- ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [style.width.%]=\"config.showUnitSelect ? 60 : 100\"\n class=\"number-field\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n type=\"number\"\n matInput\n [formControl]=\"displayValueControl\"\n [placeholder]=\"config.placeholder\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [autofocus]=\"config.autofocus\">\n <span *ngIf=\"config.fieldSuffix\" matSuffix>{{config.fieldSuffix}}</span>\n <crispr-info\n matSuffix\n *ngIf=\"config.info\"\n [info]=\"config.info\">\n </crispr-info>\n </mat-form-field>\n\n <mat-form-field\n *ngIf=\"config.showUnitSelect\"\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\"\n class=\"unit-field\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <mat-select\n #selectField\n [formControl]=\"unitSelectControl\">\n\n <mat-option\n *ngFor=\"let option of unitOptions$ | async\"\n [value]=\"option.value\">\n <crispr-option [option]=\"option\">\n </crispr-option>\n </mat-option>\n\n </mat-select>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n\n</crispr-field-container>\n", styles: [".unit-field{width:40%;margin-left:16px}:host ::ng-deep .field-container{display:flex}\n"] }]
85
- }] });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvdWkvdW5pdC1jb252ZXJzaW9uLWZpZWxkL3VuaXQtY29udmVyc2lvbi1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3VpL3VuaXQtY29udmVyc2lvbi1maWVsZC91bml0LWNvbnZlcnNpb24tZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUVULHVCQUF1QixHQUV4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLG9CQUFvQixFQUNwQixtQkFBbUIsR0FHcEIsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7OztBQUVyQixNQUFNLGFBQWEsR0FBdUMsRUFBRSxDQUFDO0FBQzdELE1BQU0sd0JBQXdCLEdBQzVCLGtCQUFrQixDQUE0QixvQkFBb0IsQ0FBQyxDQUFDO0FBcUJ0RSxNQUFNLE9BQU8sNEJBQ1gsU0FBUSx3QkFBd0I7SUFwQmxDOztRQXVCRSxrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQUU5Qix3QkFBbUIsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ3hDLHNCQUFpQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7S0FnRXZDO0lBM0RDLFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsNkpBQTZKO1FBQzdKLGtFQUFrRTtRQUVsRSxNQUFNLG9CQUFvQixHQUF5QjtZQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FDMUM7U0FDRixDQUFDO1FBQ0YscUVBQXFFO1FBQ3JFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFDM0IsSUFBSSxDQUFDLEtBQUssQ0FDWCxDQUFDO1lBQ0Ysb0JBQW9CLENBQUMsSUFBSSxDQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDdEMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLElBQUksSUFBSSxDQUFDLENBQ25ELENBQ0YsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUMzRSxDQUFDO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLGFBQWEsQ0FDN0Msb0JBQW9CLENBQ3JCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUNyRCxZQUFZLEVBQ1osU0FBUyxDQUNWLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxXQUFnQixFQUFFLElBQWE7UUFDcEQsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLDZCQUE2QixDQUNuRSxXQUFXLElBQUksSUFBSSxFQUNuQixJQUFJLENBQ0wsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsS0FBSztRQUNuQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYztZQUNqRCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0I7WUFDakMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNULElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQXRFVSw0QkFBNEI7a0dBQTVCLDRCQUE0QiwrR0NqRHpDLG1nREF1REEsZ0pEakJJLFlBQVkscVRBQ1osYUFBYSwwRUFDYixlQUFlLDZFQUNmLG1CQUFtQiwrNENBQ25CLHVCQUF1Qiw4R0FDdkIsY0FBYywrMEJBQ2QsZUFBZSxtckJBQ2YsZUFBZSw4QkFDZiwyQkFBMkI7OzJGQUdsQiw0QkFBNEI7a0JBbkJ4QyxTQUFTOytCQUVFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLDJCQUEyQjtxQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllcyAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgT25Jbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT25EZXN0cm95LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0T3B0aW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbic7XG5pbXBvcnQgeyBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGUgfSBmcm9tICdAdGZ0L2Zvcm0tdmFsaWRhdGlvbi1oYW5kbGVyJztcbmltcG9ydCB7IEZpZWxkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZmllbGQtY29udGFpbmVyJztcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tICcuLi9pbmZvJztcbmltcG9ydCB7XG4gIGNyaXNwckNvbnRyb2xNaXhpbixcbiAgQ3Jpc3ByRmllbGRDb21wb25lbnQsXG4gIG9ic2VydmFibGlmeU9wdGlvbnMsXG4gIFNlbGVjdE9wdGlvbixcbiAgVW5pdENvbnZlcnNpb25GaWVsZENvbmZpZyxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPFVuaXRDb252ZXJzaW9uRmllbGRDb25maWc+ID0ge307XG5jb25zdCBVbml0Q29udmVyc2lvbkZpZWxkTWl4aW4gPVxuICBjcmlzcHJDb250cm9sTWl4aW48VW5pdENvbnZlcnNpb25GaWVsZENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdjcmlzcHItdW5pdC1jb252ZXJzaW9uLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3VuaXQtY29udmVyc2lvbi1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3VuaXQtY29udmVyc2lvbi1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJbmZvQ29tcG9uZW50LFxuICAgIE9wdGlvbkNvbXBvbmVudCxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFNlbGVjdE1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVbml0Q29udmVyc2lvbkZpZWxkQ29tcG9uZW50XG4gIGV4dGVuZHMgVW5pdENvbnZlcnNpb25GaWVsZE1peGluXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG5cbiAgZGlzcGxheVZhbHVlQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICB1bml0U2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuICB1bml0T3B0aW9ucyQ6IE9ic2VydmFibGU8U2VsZWN0T3B0aW9uW10+O1xuXG4gIHRyYW5zZm9ybWF0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAvLyBUT0RPOiBWYWxpZGF0b3JzIG5lZWQgd29yay4gdmFsaWRhdGlvbiBpcyB0cmlja3kgYmVjYXVzZSB0aGUgaW5wdXQgbmVlZHMgdG8gYmUgdmFsaWRhdGVkIGFnYWluc3QgYnV0IHRoZSB2YWxpZGF0b3Igd2lsbCBjb21wYXJlIGFnYWluc3QgdGhlIGNvbnRyb2xzIHZhbHVlXG4gICAgLy8gdGhpcy5kaXNwbGF5VmFsdWVDb250cm9sLnNldFZhbGlkYXRvcnModGhpcy5jb25maWcudmFsaWRhdG9ycyk7XG5cbiAgICBjb25zdCBjb250cm9sVmFsdWVQaXBlbGluZTogT2JzZXJ2YWJsZTxzdHJpbmc+W10gPSBbXG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmRpc3BsYXlWYWx1ZUNvbnRyb2wudmFsdWUpXG4gICAgICApLFxuICAgIF07XG4gICAgLy8gc2V0dXAgYWxsIHJlcXVpcmVkIHBpZWNlcyB3aGVuIHNob3dpbmcgYSBmaWVsZCBmb3Igc2VsZWN0aW5nIHVuaXRzXG4gICAgaWYgKHRoaXMuY29uZmlnLnNob3dVbml0U2VsZWN0KSB7XG4gICAgICB0aGlzLnVuaXRPcHRpb25zJCA9IG9ic2VydmFibGlmeU9wdGlvbnMoXG4gICAgICAgIHRoaXMuY29uZmlnLnNlbGVjdGFibGVVbml0cyxcbiAgICAgICAgdGhpcy5ncm91cFxuICAgICAgKTtcbiAgICAgIGNvbnRyb2xWYWx1ZVBpcGVsaW5lLnB1c2goXG4gICAgICAgIHRoaXMudW5pdFNlbGVjdENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgc3RhcnRXaXRoKHRoaXMuY29uZmlnPy5pbml0aWFsRGlzcGxheVVuaXQgfHwgbnVsbClcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIHRoaXMudW5pdFNlbGVjdENvbnRyb2wuc2V0VmFsdWUodGhpcy5jb25maWc/LmluaXRpYWxEaXNwbGF5VW5pdCB8fCBudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLnRyYW5zZm9ybWF0aW9uU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChcbiAgICAgIGNvbnRyb2xWYWx1ZVBpcGVsaW5lXG4gICAgKS5zdWJzY3JpYmUoKFtkaXNwbGF5VmFsdWUsIHVuaXRWYWx1ZV0pID0+IHtcbiAgICAgIGNvbnN0IGNvbXB1dGVkVmFsdWUgPSB0aGlzLmNvbmZpZy5zdG9yZWRWYWx1ZUNvbnZlcnNpb24oXG4gICAgICAgIGRpc3BsYXlWYWx1ZSxcbiAgICAgICAgdW5pdFZhbHVlXG4gICAgICApO1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGNvbXB1dGVkVmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2V0SW5pdGlhbERpc3BsYXlWYWx1ZShzdG9yZWRWYWx1ZTogYW55LCB1bml0OiB1bmtub3duKSB7XG4gICAgY29uc3QgaW5pdGlhbERpc3BsYXlWYWx1ZSA9IHRoaXMuY29uZmlnLmluaXRpYWxEaXNwbGF5VmFsdWVDb252ZXJzaW9uKFxuICAgICAgc3RvcmVkVmFsdWUgfHwgbnVsbCxcbiAgICAgIHVuaXRcbiAgICApO1xuICAgIHRoaXMuZGlzcGxheVZhbHVlQ29udHJvbC5zZXRWYWx1ZShpbml0aWFsRGlzcGxheVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXZSBvdmVycmlkZSB0aGUgJ3NldENvbnRyb2xWYWx1ZScgd2UgaW5oZXJpdGVkIGZyb20gY3Jpc3ByQ29udHJvbE1peGluIGFuZCBhZGQgb3VyIGN1c3RvbSBsb2dpYyxcbiAgICogVGhpcyBmdW5jdGlvbiBnZXRzIGNhbGxlZCBvbkluaXQgYmVjYXVzZSB3ZXJlIG9iamVjdCBvcmllbnRlZC4gaXQncyBzbyBncmVhdCwgc28gZ3JlYXQgdGhhdCBJJ21cbiAgICogdHlwaW5nIGEgcGFyYWdyYXBoIHRvIGV4cGxhaW4gd2hhdCB0aGUgaGVsbCBpcyBnb2luZyBvbi4uLlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBjb250cm9sIHBhc3NlZCBkb3duIGZyb20gdGhlIGZvcm0gY29tcG9uZW50cyBpbnB1dFxuICAgKi9cbiAgc2V0Q29udHJvbFZhbHVlKHZhbHVlKSB7XG4gICAgY29uc3QgaW5pdGlhbFVuaXRWYWx1ZSA9IHRoaXMuY29uZmlnLnNob3dVbml0U2VsZWN0XG4gICAgICA/IHRoaXMuY29uZmlnPy5pbml0aWFsRGlzcGxheVVuaXRcbiAgICAgIDogbnVsbDtcbiAgICB0aGlzLnNldEluaXRpYWxEaXNwbGF5VmFsdWUodmFsdWUsIGluaXRpYWxVbml0VmFsdWUpO1xuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbc3R5bGUud2lkdGguJV09XCJjb25maWcuc2hvd1VuaXRTZWxlY3QgPyA2MCA6IDEwMFwiXG4gICAgY2xhc3M9XCJudW1iZXItZmllbGRcIlxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIFthcHBlYXJhbmNlXT1cImNvbmZpZy5hcHBlYXJhbmNlXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICBtYXRJbnB1dFxuICAgICAgW2Zvcm1Db250cm9sXT1cImRpc3BsYXlWYWx1ZUNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5wbGFjZWhvbGRlclwiXG4gICAgICBbbWluXT1cImNvbmZpZy5taW5cIlxuICAgICAgW21heF09XCJjb25maWcubWF4XCJcbiAgICAgIFtzdGVwXT1cImNvbmZpZy5zdGVwXCJcbiAgICAgIFthdXRvZm9jdXNdPVwiY29uZmlnLmF1dG9mb2N1c1wiPlxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmZpZWxkU3VmZml4XCIgbWF0U3VmZml4Pnt7Y29uZmlnLmZpZWxkU3VmZml4fX08L3NwYW4+XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICBtYXRTdWZmaXhcbiAgICAgICpuZ0lmPVwiY29uZmlnLmluZm9cIlxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxtYXQtZm9ybS1maWVsZFxuICAgICpuZ0lmPVwiY29uZmlnLnNob3dVbml0U2VsZWN0XCJcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBbYXBwZWFyYW5jZV09XCJjb25maWcuYXBwZWFyYW5jZVwiXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXG4gICAgY2xhc3M9XCJ1bml0LWZpZWxkXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjc2VsZWN0RmllbGRcbiAgICAgIFtmb3JtQ29udHJvbF09XCJ1bml0U2VsZWN0Q29udHJvbFwiPlxuXG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHVuaXRPcHRpb25zJCB8IGFzeW5jXCJcbiAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiPlxuICAgICAgICA8Y3Jpc3ByLW9wdGlvbiBbb3B0aW9uXT1cIm9wdGlvblwiPlxuICAgICAgICA8L2NyaXNwci1vcHRpb24+XG4gICAgICA8L21hdC1vcHRpb24+XG5cbiAgICA8L21hdC1zZWxlY3Q+XG5cbiAgICA8bWF0LWhpbnQgKm5nSWY9XCJjb25maWcuaGludCAmJiAoY29udHJvbC52YWxpZCB8fCAhY29udHJvbC50b3VjaGVkKVwiPnt7Y29uZmlnLmhpbnR9fTwvbWF0LWhpbnQ+XG5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuPC9jcmlzcHItZmllbGQtY29udGFpbmVyPlxuIl19
@@ -1,30 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { FormControl } from '@angular/forms';
3
- import { debounceTime, distinctUntilChanged, map, shareReplay, startWith, switchMap } from 'rxjs/operators';
4
- import { crisprControlMixin } from './crispr-control.mixin';
5
- import { CrisprFieldComponent } from './crispr-field.abstract';
6
- import { observablifyOptions } from '../functions';
7
- import * as i0 from "@angular/core";
8
- const AbstractAutocompleteFieldMixin = crisprControlMixin(CrisprFieldComponent);
9
- // eslint-disable-next-line @angular-eslint/directive-class-suffix
10
- export class AbstractAutocompleteComponent extends AbstractAutocompleteFieldMixin {
11
- constructor() {
12
- super(...arguments);
13
- // we need a separate control for the UI because of the way the material autocomplete chiplist works
14
- this.autocompleteInputControl = new FormControl('');
15
- }
16
- ngOnInit() {
17
- super.ngOnInit();
18
- this.group.addControl(this.config.controlName, new FormControl());
19
- // filter options by the search string using either the default filter function or one passed in through config
20
- this.options$ = this.autocompleteInputControl.valueChanges.pipe(
21
- // this is needed to have the options panel to open on focus
22
- startWith(''), debounceTime(this.config.typeDebounceTime), map((searchText) => typeof searchText === 'string' ? searchText?.trim() : ''), distinctUntilChanged(), switchMap((searchText) => observablifyOptions(this.config.options, this.group, searchText)), shareReplay(1));
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AbstractAutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
25
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: AbstractAutocompleteComponent, usesInheritance: true, ngImport: i0 }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: AbstractAutocompleteComponent, decorators: [{
28
- type: Directive
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWZpZWxkLmFic3RyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi91dGlscy9hYnN0cmFjdHMvYXV0b2NvbXBsZXRlLWZpZWxkLmFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUluRCxNQUFNLDhCQUE4QixHQUFHLGtCQUFrQixDQUEwQixvQkFBb0IsQ0FBQyxDQUFDO0FBR3pHLGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sNkJBQ1gsU0FBUSw4QkFBOEI7SUFIeEM7O1FBSUUsb0dBQW9HO1FBQ3BHLDZCQUF3QixHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBa0JoRDtJQWZDLFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLCtHQUErRztRQUMvRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsSUFBSTtRQUM3RCw0REFBNEQ7UUFDNUQsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUNiLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQzFDLEdBQUcsQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDckYsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUNuRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7OEdBcEJVLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUZ6QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGNyaXNwckNvbnRyb2xNaXhpbiB9IGZyb20gJy4vY3Jpc3ByLWNvbnRyb2wubWl4aW4nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVGaWVsZENvbmZpZywgQXV0b2NvbXBsZXRlQ2hpcGxpc3RGaWVsZENvbmZpZywgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IENyaXNwckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jcmlzcHItZmllbGQuYWJzdHJhY3QnO1xuaW1wb3J0IHsgb2JzZXJ2YWJsaWZ5T3B0aW9ucyB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XG5cbnR5cGUgQXV0b2NvbXBsZXRlQ29uZmlnVHlwZXMgPSBBdXRvY29tcGxldGVGaWVsZENvbmZpZyB8IEF1dG9jb21wbGV0ZUNoaXBsaXN0RmllbGRDb25maWc7XG5cbmNvbnN0IEFic3RyYWN0QXV0b2NvbXBsZXRlRmllbGRNaXhpbiA9IGNyaXNwckNvbnRyb2xNaXhpbjxBdXRvY29tcGxldGVDb25maWdUeXBlcz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIEFic3RyYWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50PEM+XG4gIGV4dGVuZHMgQWJzdHJhY3RBdXRvY29tcGxldGVGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gd2UgbmVlZCBhIHNlcGFyYXRlIGNvbnRyb2wgZm9yIHRoZSBVSSBiZWNhdXNlIG9mIHRoZSB3YXkgdGhlIG1hdGVyaWFsIGF1dG9jb21wbGV0ZSBjaGlwbGlzdCB3b3Jrc1xuICBhdXRvY29tcGxldGVJbnB1dENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICBvcHRpb25zJDogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb25bXT5cbiAgY29uZmlnOiBBdXRvY29tcGxldGVDb25maWdUeXBlcyAmIEM7XG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICB0aGlzLmdyb3VwLmFkZENvbnRyb2wodGhpcy5jb25maWcuY29udHJvbE5hbWUsIG5ldyBGb3JtQ29udHJvbCgpKTtcbiAgICAvLyBmaWx0ZXIgb3B0aW9ucyBieSB0aGUgc2VhcmNoIHN0cmluZyB1c2luZyBlaXRoZXIgdGhlIGRlZmF1bHQgZmlsdGVyIGZ1bmN0aW9uIG9yIG9uZSBwYXNzZWQgaW4gdGhyb3VnaCBjb25maWdcbiAgICB0aGlzLm9wdGlvbnMkID0gdGhpcy5hdXRvY29tcGxldGVJbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAvLyB0aGlzIGlzIG5lZWRlZCB0byBoYXZlIHRoZSBvcHRpb25zIHBhbmVsIHRvIG9wZW4gb24gZm9jdXNcbiAgICAgIHN0YXJ0V2l0aCgnJyksXG4gICAgICBkZWJvdW5jZVRpbWUodGhpcy5jb25maWcudHlwZURlYm91bmNlVGltZSksXG4gICAgICBtYXAoKHNlYXJjaFRleHQ6IHN0cmluZykgPT4gdHlwZW9mIHNlYXJjaFRleHQgPT09ICdzdHJpbmcnID8gc2VhcmNoVGV4dD8udHJpbSgpIDogJycpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgoc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBvYnNlcnZhYmxpZnlPcHRpb25zKHRoaXMuY29uZmlnLm9wdGlvbnMsIHRoaXMuZ3JvdXAsIHNlYXJjaFRleHQpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { ControlType } from '../models/crispr-field.config';
2
- export function crisprControlMixin(BaseClass) {
3
- return class extends BaseClass {
4
- set value(value) {
5
- this.setControlValue(value);
6
- this._value = value;
7
- }
8
- get value() {
9
- return this._value;
10
- }
11
- ngOnInit() {
12
- super.ngOnInit();
13
- this.control = this.group.get(this.config.controlName);
14
- this.setControlValue(this.value);
15
- // setTimeouts are ugly but this seems to be the only way to get the computed field to compute initial values
16
- setTimeout(() => {
17
- this.control.updateValueAndValidity();
18
- });
19
- }
20
- setControlValue(value) {
21
- if (value && this.control && this.config.controlType !== ControlType.SUB_GROUP) {
22
- this.control.setValue(value);
23
- }
24
- }
25
- };
26
- }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jpc3ByLWNvbnRyb2wubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3V0aWxzL2Fic3RyYWN0cy9jcmlzcHItY29udHJvbC5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQXFDLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRy9GLE1BQU0sVUFBVSxrQkFBa0IsQ0FBZ0MsU0FBc0M7SUFDdEcsT0FBTyxLQUFNLFNBQVEsU0FBWTtRQU0vQixJQUFJLEtBQUssQ0FBQyxLQUFtQjtZQUMzQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLENBQUM7UUFFRCxJQUFJLEtBQUs7WUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDckIsQ0FBQztRQUVELFFBQVE7WUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLDZHQUE2RztZQUM3RyxVQUFVLENBQUMsR0FBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUN4QyxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7UUFFRCxlQUFlLENBQUMsS0FBbUI7WUFDakMsSUFBRyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQzlFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzlCLENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENyaXNwckNvbnRyb2xDb25maWcsIENvbnRyb2xWYWx1ZSwgQ29udHJvbFR5cGUgfSBmcm9tICcuLi9tb2RlbHMvY3Jpc3ByLWZpZWxkLmNvbmZpZyc7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY3Jpc3ByLWZpZWxkLmFic3RyYWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyaXNwckNvbnRyb2xNaXhpbjxDIGV4dGVuZHMgQ3Jpc3ByQ29udHJvbENvbmZpZz4oQmFzZUNsYXNzOiB0eXBlb2YgQ3Jpc3ByRmllbGRDb21wb25lbnQpIHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZUNsYXNzPEM+IHtcbiAgICBjb25maWc6IEM7XG4gICAgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgICBfdmFsdWU6IENvbnRyb2xWYWx1ZTtcbiAgICBzZXQgdmFsdWUodmFsdWU6IENvbnRyb2xWYWx1ZSkge1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpO1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAvLyBzZXRUaW1lb3V0cyBhcmUgdWdseSBidXQgdGhpcyBzZWVtcyB0byBiZSB0aGUgb25seSB3YXkgdG8gZ2V0IHRoZSBjb21wdXRlZCBmaWVsZCB0byBjb21wdXRlIGluaXRpYWwgdmFsdWVzXG4gICAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgfSlcbiAgICB9XG5cbiAgICBzZXRDb250cm9sVmFsdWUodmFsdWU6IENvbnRyb2xWYWx1ZSkge1xuICAgICAgaWYodmFsdWUgJiYgdGhpcy5jb250cm9sICYmIHRoaXMuY29uZmlnLmNvbnRyb2xUeXBlICE9PSBDb250cm9sVHlwZS5TVUJfR1JPVVApIHtcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbHVlKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,14 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { CrisprFieldComponent } from './crispr-field.abstract';
3
- import { crisprControlMixin } from './crispr-control.mixin';
4
- import * as i0 from "@angular/core";
5
- const CrisprDisplayFieldMixin = crisprControlMixin(CrisprFieldComponent);
6
- // eslint-disable-next-line @angular-eslint/directive-class-suffix
7
- export class CrisprDisplayFieldComponent extends CrisprDisplayFieldMixin {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: CrisprDisplayFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: CrisprDisplayFieldComponent, usesInheritance: true, ngImport: i0 }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: CrisprDisplayFieldComponent, decorators: [{
12
- type: Directive
13
- }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jpc3ByLWRpc3BsYXktZmllbGQuYWJzdHJhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3V0aWxzL2Fic3RyYWN0cy9jcmlzcHItZGlzcGxheS1maWVsZC5hYnN0cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQUU1RCxNQUFNLHVCQUF1QixHQUFHLGtCQUFrQixDQUFzQixvQkFBb0IsQ0FBQyxDQUFDO0FBSTlGLGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLDJCQUE0QixTQUFRLHVCQUF1Qjs4R0FBM0QsMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRmhELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENyaXNwckNvbnRyb2xDb25maWcsXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBPbkluaXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2NyaXNwci1maWVsZC5hYnN0cmFjdCc7XG5pbXBvcnQgeyBjcmlzcHJDb250cm9sTWl4aW4gfSBmcm9tICcuL2NyaXNwci1jb250cm9sLm1peGluJztcblxuY29uc3QgQ3Jpc3ByRGlzcGxheUZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48Q3Jpc3ByQ29udHJvbENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuXG5cbkBEaXJlY3RpdmUoKVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3Jpc3ByRGlzcGxheUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQ3Jpc3ByRGlzcGxheUZpZWxkTWl4aW4gaW1wbGVtZW50cyBPbkluaXQge1xuICBpbmRleD86IG51bWJlcjtcbn1cblxuXG4iXX0=
@@ -1,19 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class CrisprFieldComponent {
4
- ngOnInit() {
5
- this.applyDefaultConfig();
6
- }
7
- applyDefaultConfig() {
8
- this.config = this.defaultConfig ? { ...this.defaultConfig, ...this.config } : this.config;
9
- }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: CrisprFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: CrisprFieldComponent, isStandalone: true, ngImport: i0 }); }
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: CrisprFieldComponent, decorators: [{
14
- type: Directive,
15
- args: [{
16
- standalone: true
17
- }]
18
- }] });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jpc3ByLWZpZWxkLmFic3RyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi91dGlscy9hYnN0cmFjdHMvY3Jpc3ByLWZpZWxkLmFic3RyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS2xELE1BQU0sT0FBZ0Isb0JBQW9CO0lBSXhDLFFBQVE7UUFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDM0YsQ0FBQzs4R0FWbUIsb0JBQW9CO2tHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBDcmlzcHJGaWVsZENvbmZpZyxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IE9uSW5pdCwgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENyaXNwckZpZWxkQ29tcG9uZW50PEMgZXh0ZW5kcyBDcmlzcHJGaWVsZENvbmZpZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25maWc6IEM7XG4gIGRlZmF1bHRDb25maWc/OiBQYXJ0aWFsPEM+XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hcHBseURlZmF1bHRDb25maWcoKTtcbiAgfVxuXG4gIGFwcGx5RGVmYXVsdENvbmZpZygpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZGVmYXVsdENvbmZpZyA/IHsuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLnRoaXMuY29uZmlnfSA6IHRoaXMuY29uZmlnO1xuICB9XG59XG5cblxuIl19
@@ -1,5 +0,0 @@
1
- export * from './autocomplete-field.abstract';
2
- export * from './crispr-control.mixin';
3
- export * from './crispr-field.abstract';
4
- export * from './crispr-display-field.abstract';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL3V0aWxzL2Fic3RyYWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hdXRvY29tcGxldGUtZmllbGQuYWJzdHJhY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmlzcHItY29udHJvbC5taXhpbic7XG5leHBvcnQgKiBmcm9tICcuL2NyaXNwci1maWVsZC5hYnN0cmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL2NyaXNwci1kaXNwbGF5LWZpZWxkLmFic3RyYWN0JztcbiJdfQ==
@@ -1,28 +0,0 @@
1
- import { FormGroup } from "@angular/forms";
2
- import { createControlForType } from "./createControlForType";
3
- import { isControlConfig } from "./isControlConfig";
4
- /**
5
- * builds out form group based on config
6
- * @param config a configuration for a form group
7
- * @param value an object of initial values to pass in
8
- * @param group the form group to modify and build out
9
- */
10
- export function buildFormGroupFromConfig(config, value = null, group = new FormGroup({})) {
11
- config.fields.forEach((controlConfig) => {
12
- if (isControlConfig(controlConfig)) {
13
- // then add a control to the group using the controlName from configuration
14
- const { controlName } = controlConfig;
15
- if (group.get(controlName)) {
16
- group.removeControl(controlName);
17
- }
18
- // if there's a value object and it has a non-null/undefined value for this field use it.
19
- // Otherwise, default to null
20
- const controlValue = (value && value[controlName]) ?? null;
21
- const control = createControlForType(controlConfig, controlValue);
22
- group.addControl(controlName, control);
23
- }
24
- });
25
- group.setValidators(config.validators);
26
- return group;
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi91dGlscy9mdW5jdGlvbnMvYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFcEQ7Ozs7O0dBS0c7QUFDRixNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBa0IsRUFBRSxLQUFLLEdBQUcsSUFBSSxFQUFFLFFBQW1CLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQztJQUM5RyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBRSxDQUFDLGFBQTZCLEVBQUUsRUFBRTtRQUN2RCxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQ25DLDJFQUEyRTtZQUMzRSxNQUFNLEVBQUMsV0FBVyxFQUFDLEdBQUcsYUFBYSxDQUFDO1lBQ3BDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUMzQixLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFDRCx5RkFBeUY7WUFDekYsNkJBQTZCO1lBQzdCLE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUMzRCxNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUE7WUFDakUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0gsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBBbnlGaWVsZENvbmZpZywgRm9ybUNvbmZpZyB9IGZyb20gXCIuLi9tb2RlbHNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRyb2xGb3JUeXBlIH0gZnJvbSBcIi4vY3JlYXRlQ29udHJvbEZvclR5cGVcIjtcbmltcG9ydCB7IGlzQ29udHJvbENvbmZpZyB9IGZyb20gXCIuL2lzQ29udHJvbENvbmZpZ1wiO1xuXG4vKipcbiAqIGJ1aWxkcyBvdXQgZm9ybSBncm91cCBiYXNlZCBvbiBjb25maWdcbiAqIEBwYXJhbSBjb25maWcgYSBjb25maWd1cmF0aW9uIGZvciBhIGZvcm0gZ3JvdXBcbiAqIEBwYXJhbSB2YWx1ZSBhbiBvYmplY3Qgb2YgaW5pdGlhbCB2YWx1ZXMgdG8gcGFzcyBpblxuICogQHBhcmFtIGdyb3VwIHRoZSBmb3JtIGdyb3VwIHRvIG1vZGlmeSBhbmQgYnVpbGQgb3V0XG4gKi9cbiBleHBvcnQgZnVuY3Rpb24gYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnKGNvbmZpZzogRm9ybUNvbmZpZywgdmFsdWUgPSBudWxsLCBncm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSkgKSB7XG4gIGNvbmZpZy5maWVsZHMuZm9yRWFjaCggKGNvbnRyb2xDb25maWc6IEFueUZpZWxkQ29uZmlnKSA9PiB7XG4gICAgaWYgKGlzQ29udHJvbENvbmZpZyhjb250cm9sQ29uZmlnKSkge1xuICAgICAgLy8gdGhlbiBhZGQgYSBjb250cm9sIHRvIHRoZSBncm91cCB1c2luZyB0aGUgY29udHJvbE5hbWUgZnJvbSBjb25maWd1cmF0aW9uXG4gICAgICBjb25zdCB7Y29udHJvbE5hbWV9ID0gY29udHJvbENvbmZpZztcbiAgICAgIGlmIChncm91cC5nZXQoY29udHJvbE5hbWUpKSB7XG4gICAgICAgIGdyb3VwLnJlbW92ZUNvbnRyb2woY29udHJvbE5hbWUpO1xuICAgICAgfVxuICAgICAgLy8gaWYgdGhlcmUncyBhIHZhbHVlIG9iamVjdCBhbmQgaXQgaGFzIGEgbm9uLW51bGwvdW5kZWZpbmVkIHZhbHVlIGZvciB0aGlzIGZpZWxkIHVzZSBpdC5cbiAgICAgIC8vIE90aGVyd2lzZSwgZGVmYXVsdCB0byBudWxsXG4gICAgICBjb25zdCBjb250cm9sVmFsdWUgPSAodmFsdWUgJiYgdmFsdWVbY29udHJvbE5hbWVdKSA/PyBudWxsO1xuICAgICAgY29uc3QgY29udHJvbCA9IGNyZWF0ZUNvbnRyb2xGb3JUeXBlKGNvbnRyb2xDb25maWcsIGNvbnRyb2xWYWx1ZSlcbiAgICAgIGdyb3VwLmFkZENvbnRyb2woY29udHJvbE5hbWUsIGNvbnRyb2wpO1xuICAgIH1cbiAgfSk7XG4gIGdyb3VwLnNldFZhbGlkYXRvcnMoY29uZmlnLnZhbGlkYXRvcnMpO1xuICByZXR1cm4gZ3JvdXA7XG59XG4iXX0=