@tft/crispr-forms 14.0.1-rc.1 → 14.0.1-rc.2

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 (291) hide show
  1. package/esm2020/public-api.mjs +5 -0
  2. package/esm2020/src/index.mjs +2 -0
  3. package/esm2020/src/lib/crispr-forms.module.mjs +57 -0
  4. package/esm2020/src/lib/field-component-map.const.mjs +27 -0
  5. package/esm2020/src/lib/field.directive.mjs +69 -0
  6. package/esm2020/{lib → src/lib}/form/form.component.mjs +3 -2
  7. package/esm2020/src/lib/form-group-list/form-group-list.component.mjs +93 -0
  8. package/esm2020/src/lib/form-group-list/index.mjs +2 -0
  9. package/esm2020/{lib → src/lib}/pipes/crispr-pipes.module.mjs +1 -1
  10. package/esm2020/src/lib/pipes/initial-control-value.pipe.mjs +21 -0
  11. package/esm2020/src/lib/public_api.mjs +3 -0
  12. package/esm2020/src/lib/sub-group/index.mjs +3 -0
  13. package/esm2020/src/lib/sub-group/sub-group.component.mjs +21 -0
  14. package/esm2020/src/lib/sub-group/sub-group.module.mjs +42 -0
  15. package/esm2020/tft-crispr-forms.mjs +2 -2
  16. package/esm2020/{lib/material → ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +5 -5
  17. package/esm2020/ui/autocomplete-chiplist-field/index.mjs +2 -0
  18. package/esm2020/{lib/material → ui}/autocomplete-field/autocomplete-field.component.mjs +5 -5
  19. package/esm2020/ui/autocomplete-field/index.mjs +2 -0
  20. package/esm2020/ui/button/button.component.mjs +46 -0
  21. package/esm2020/ui/button/index.mjs +2 -0
  22. package/esm2020/ui/checkbox-field/checkbox-field.component.mjs +42 -0
  23. package/esm2020/ui/checkbox-field/index.mjs +2 -0
  24. package/esm2020/{lib/material → ui}/datepicker-field/datepicker-field.component.mjs +4 -3
  25. package/esm2020/ui/datepicker-field/index.mjs +2 -0
  26. package/esm2020/ui/divider/divider.component.mjs +28 -0
  27. package/esm2020/ui/divider/index.mjs +2 -0
  28. package/esm2020/ui/field-container/field-container.component.mjs +58 -0
  29. package/esm2020/ui/field-container/public-api.mjs +2 -0
  30. package/esm2020/ui/field-container/tft-crispr-forms-ui-field-container.mjs +5 -0
  31. package/esm2020/ui/file-dropzone/file-dropzone.directive.mjs +40 -0
  32. package/esm2020/ui/file-dropzone/public-api.mjs +2 -0
  33. package/esm2020/ui/file-dropzone/tft-crispr-forms-ui-file-dropzone.mjs +5 -0
  34. package/esm2020/{lib/material → ui}/file-upload/file-upload.component.mjs +7 -6
  35. package/esm2020/ui/file-upload/index.mjs +2 -0
  36. package/esm2020/{lib/material → ui}/heading/heading.component.mjs +4 -3
  37. package/esm2020/ui/heading/public-api.mjs +2 -0
  38. package/esm2020/ui/heading/tft-crispr-forms-ui-heading.mjs +5 -0
  39. package/esm2020/{lib/material → ui}/image-upload-field/image-upload-field.component.mjs +7 -53
  40. package/esm2020/ui/image-upload-field/public-api.mjs +2 -0
  41. package/esm2020/ui/image-upload-field/tft-crispr-forms-ui-image-upload-field.mjs +5 -0
  42. package/esm2020/{lib/material → ui}/info/info.component.mjs +1 -1
  43. package/esm2020/ui/info/public-api.mjs +2 -0
  44. package/esm2020/ui/info/tft-crispr-forms-ui-info.mjs +5 -0
  45. package/esm2020/ui/input-field/index.mjs +2 -0
  46. package/esm2020/{lib/material → ui}/input-field/input-field.component.mjs +5 -4
  47. package/esm2020/ui/option/index.mjs +2 -0
  48. package/esm2020/{lib/material → ui}/option/option.component.mjs +2 -2
  49. package/esm2020/ui/public-api.mjs +21 -0
  50. package/esm2020/ui/radio-field/index.mjs +2 -0
  51. package/esm2020/ui/radio-field/radio-field.component.mjs +36 -0
  52. package/esm2020/ui/select-field/index.mjs +2 -0
  53. package/esm2020/{lib/material → ui}/select-field/select-field.component.mjs +10 -8
  54. package/esm2020/ui/selected-file/public-api.mjs +2 -0
  55. package/esm2020/{lib/material → ui}/selected-file/selected-file.component.mjs +1 -1
  56. package/esm2020/ui/selected-file/tft-crispr-forms-ui-selected-file.mjs +5 -0
  57. package/esm2020/ui/slider-field/index.mjs +2 -0
  58. package/esm2020/{lib/material → ui}/slider-field/slider-field.component.mjs +5 -4
  59. package/esm2020/ui/textarea-field/index.mjs +2 -0
  60. package/esm2020/{lib/material → ui}/textarea-field/textarea-field.component.mjs +5 -4
  61. package/esm2020/ui/tft-crispr-forms-ui.mjs +5 -0
  62. package/esm2020/ui/unit-conversion-field/index.mjs +2 -0
  63. package/esm2020/ui/unit-conversion-field/unit-conversion-field.component.mjs +81 -0
  64. package/esm2020/utils/abstracts/autocomplete-field.abstract.mjs +30 -0
  65. package/esm2020/utils/abstracts/crispr-control.mixin.mjs +27 -0
  66. package/esm2020/utils/abstracts/crispr-field.abstract.mjs +20 -0
  67. package/esm2020/utils/abstracts/index.mjs +4 -0
  68. package/esm2020/utils/functions/buildFormGroupFromConfig.mjs +28 -0
  69. package/esm2020/utils/functions/callOptionsIfFunction.mjs +4 -0
  70. package/esm2020/utils/functions/createControlForType.mjs +19 -0
  71. package/esm2020/utils/functions/filterOptionsByLabel.mjs +11 -0
  72. package/esm2020/utils/functions/image-compression.helpers.mjs +50 -0
  73. package/esm2020/utils/functions/index.mjs +8 -0
  74. package/esm2020/utils/functions/isControlConfig.mjs +7 -0
  75. package/esm2020/utils/functions/observablifyOptions.mjs +29 -0
  76. package/esm2020/utils/models/autocomplete-chiplist-field.config.mjs +2 -0
  77. package/esm2020/utils/models/autocomplete-field.config.mjs +2 -0
  78. package/esm2020/utils/models/button.config.mjs +2 -0
  79. package/esm2020/utils/models/checkbox-field.config.mjs +2 -0
  80. package/esm2020/utils/models/crispr-field.config.mjs +23 -0
  81. package/esm2020/utils/models/datepicker-field.config.mjs +2 -0
  82. package/esm2020/utils/models/divider.config.mjs +2 -0
  83. package/esm2020/utils/models/file-upload-field.config.mjs +2 -0
  84. package/esm2020/utils/models/form-group-list.config.mjs +2 -0
  85. package/esm2020/utils/models/heading.config.mjs +3 -0
  86. package/esm2020/utils/models/image-upload-field.config.mjs +2 -0
  87. package/esm2020/utils/models/index.mjs +18 -0
  88. package/esm2020/utils/models/input-field.config.mjs +2 -0
  89. package/esm2020/utils/models/radio-field.config.mjs +2 -0
  90. package/esm2020/utils/models/select-field.config.mjs +2 -0
  91. package/esm2020/utils/models/slider-field.config.mjs +2 -0
  92. package/esm2020/utils/models/textarea-field.config.mjs +2 -0
  93. package/esm2020/utils/models/unit-conversion-field.config.mjs +2 -0
  94. package/esm2020/utils/operators/form.operators.mjs +24 -0
  95. package/esm2020/utils/operators/index.mjs +2 -0
  96. package/esm2020/utils/public-api.mjs +5 -0
  97. package/esm2020/utils/tft-crispr-forms-utils.mjs +5 -0
  98. package/fesm2015/tft-crispr-forms-ui-field-container.mjs +64 -0
  99. package/fesm2015/tft-crispr-forms-ui-field-container.mjs.map +1 -0
  100. package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs +47 -0
  101. package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs.map +1 -0
  102. package/fesm2015/tft-crispr-forms-ui-heading.mjs +37 -0
  103. package/fesm2015/tft-crispr-forms-ui-heading.mjs.map +1 -0
  104. package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs +182 -0
  105. package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs.map +1 -0
  106. package/fesm2015/tft-crispr-forms-ui-info.mjs +30 -0
  107. package/fesm2015/tft-crispr-forms-ui-info.mjs.map +1 -0
  108. package/fesm2015/tft-crispr-forms-ui-selected-file.mjs +33 -0
  109. package/fesm2015/tft-crispr-forms-ui-selected-file.mjs.map +1 -0
  110. package/fesm2015/tft-crispr-forms-ui.mjs +684 -0
  111. package/fesm2015/tft-crispr-forms-ui.mjs.map +1 -0
  112. package/fesm2015/tft-crispr-forms-utils.mjs +270 -0
  113. package/fesm2015/tft-crispr-forms-utils.mjs.map +1 -0
  114. package/fesm2015/tft-crispr-forms.mjs +32 -1355
  115. package/fesm2015/tft-crispr-forms.mjs.map +1 -1
  116. package/fesm2020/tft-crispr-forms-ui-field-container.mjs +65 -0
  117. package/fesm2020/tft-crispr-forms-ui-field-container.mjs.map +1 -0
  118. package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs +47 -0
  119. package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs.map +1 -0
  120. package/fesm2020/tft-crispr-forms-ui-heading.mjs +37 -0
  121. package/fesm2020/tft-crispr-forms-ui-heading.mjs.map +1 -0
  122. package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs +185 -0
  123. package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs.map +1 -0
  124. package/fesm2020/tft-crispr-forms-ui-info.mjs +30 -0
  125. package/fesm2020/tft-crispr-forms-ui-info.mjs.map +1 -0
  126. package/fesm2020/tft-crispr-forms-ui-selected-file.mjs +33 -0
  127. package/fesm2020/tft-crispr-forms-ui-selected-file.mjs.map +1 -0
  128. package/fesm2020/tft-crispr-forms-ui.mjs +676 -0
  129. package/fesm2020/tft-crispr-forms-ui.mjs.map +1 -0
  130. package/fesm2020/tft-crispr-forms-utils.mjs +269 -0
  131. package/fesm2020/tft-crispr-forms-utils.mjs.map +1 -0
  132. package/fesm2020/tft-crispr-forms.mjs +33 -1349
  133. package/fesm2020/tft-crispr-forms.mjs.map +1 -1
  134. package/index.d.ts +5 -1
  135. package/package.json +67 -3
  136. package/public-api.d.ts +3 -0
  137. package/src/index.d.ts +1 -0
  138. package/{lib → src/lib}/crispr-forms.module.d.ts +1 -1
  139. package/{lib → src/lib}/field-component-map.const.d.ts +7 -6
  140. package/{lib → src/lib}/field.directive.d.ts +3 -3
  141. package/{lib → src/lib}/form/form.component.d.ts +1 -1
  142. package/{lib → src/lib}/form-group-list/form-group-list.component.d.ts +11 -13
  143. package/{lib → src/lib}/form-group-list/index.d.ts +0 -0
  144. package/{lib → src/lib}/pipes/crispr-pipes.module.d.ts +0 -0
  145. package/{lib → src/lib}/pipes/initial-control-value.pipe.d.ts +1 -1
  146. package/src/lib/public_api.d.ts +2 -0
  147. package/{lib → src/lib}/sub-group/index.d.ts +0 -0
  148. package/{lib → src/lib}/sub-group/sub-group.component.d.ts +11 -13
  149. package/{lib → src/lib}/sub-group/sub-group.module.d.ts +1 -1
  150. package/tft-crispr-forms-14.0.1-rc.2.tgz +0 -0
  151. package/ui/README.md +3 -0
  152. package/{lib/material → ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +1 -2
  153. package/ui/autocomplete-chiplist-field/index.d.ts +1 -0
  154. package/{lib/material → ui}/autocomplete-field/autocomplete-field.component.d.ts +1 -2
  155. package/ui/autocomplete-field/index.d.ts +1 -0
  156. package/{lib/material → ui}/button/button.component.d.ts +1 -2
  157. package/ui/button/index.d.ts +1 -0
  158. package/ui/checkbox-field/checkbox-field.component.d.ts +21 -0
  159. package/ui/checkbox-field/index.d.ts +1 -0
  160. package/{lib/material → ui}/datepicker-field/datepicker-field.component.d.ts +11 -13
  161. package/ui/datepicker-field/index.d.ts +1 -0
  162. package/{lib/material → ui}/divider/divider.component.d.ts +1 -2
  163. package/ui/divider/index.d.ts +1 -0
  164. package/{lib → ui}/field-container/field-container.component.d.ts +1 -1
  165. package/ui/field-container/index.d.ts +5 -0
  166. package/{lib/field-container/index.d.ts → ui/field-container/public-api.d.ts} +0 -0
  167. package/{lib/material/file-upload → ui/file-dropzone}/file-dropzone.directive.d.ts +0 -0
  168. package/ui/file-dropzone/index.d.ts +5 -0
  169. package/{lib/material/file-upload/index.d.ts → ui/file-dropzone/public-api.d.ts} +0 -1
  170. package/{lib/material → ui}/file-upload/file-upload.component.d.ts +11 -13
  171. package/ui/file-upload/index.d.ts +1 -0
  172. package/{lib/material → ui}/heading/heading.component.d.ts +1 -2
  173. package/ui/heading/index.d.ts +5 -0
  174. package/ui/heading/public-api.d.ts +1 -0
  175. package/{lib/material → ui}/image-upload-field/image-upload-field.component.d.ts +12 -17
  176. package/ui/image-upload-field/index.d.ts +5 -0
  177. package/{lib/material/image-upload-field/index.d.ts → ui/image-upload-field/public-api.d.ts} +0 -0
  178. package/ui/index.d.ts +5 -0
  179. package/ui/info/index.d.ts +5 -0
  180. package/{lib/material → ui}/info/info.component.d.ts +1 -1
  181. package/ui/info/public-api.d.ts +1 -0
  182. package/ui/input-field/index.d.ts +1 -0
  183. package/ui/input-field/input-field.component.d.ts +22 -0
  184. package/{lib/material → ui}/option/index.d.ts +0 -0
  185. package/{lib/material → ui}/option/option.component.d.ts +1 -1
  186. package/ui/public-api.d.ts +19 -0
  187. package/ui/radio-field/index.d.ts +1 -0
  188. package/ui/radio-field/radio-field.component.d.ts +23 -0
  189. package/ui/select-field/index.d.ts +1 -0
  190. package/{lib/material → ui}/select-field/select-field.component.d.ts +11 -13
  191. package/ui/selected-file/index.d.ts +5 -0
  192. package/ui/selected-file/public-api.d.ts +1 -0
  193. package/{lib/material → ui}/selected-file/selected-file.component.d.ts +0 -0
  194. package/ui/slider-field/index.d.ts +1 -0
  195. package/{lib/material → ui}/slider-field/slider-field.component.d.ts +11 -13
  196. package/ui/textarea-field/index.d.ts +1 -0
  197. package/ui/textarea-field/textarea-field.component.d.ts +21 -0
  198. package/ui/unit-conversion-field/index.d.ts +1 -0
  199. package/{lib/material → ui}/unit-conversion-field/unit-conversion-field.component.d.ts +11 -14
  200. package/utils/README.md +3 -0
  201. package/{lib → utils}/abstracts/autocomplete-field.abstract.d.ts +0 -0
  202. package/{lib → utils}/abstracts/crispr-control.mixin.d.ts +0 -0
  203. package/{lib → utils}/abstracts/crispr-field.abstract.d.ts +0 -0
  204. package/{lib → utils}/abstracts/index.d.ts +0 -0
  205. package/utils/functions/buildFormGroupFromConfig.d.ts +9 -0
  206. package/utils/functions/callOptionsIfFunction.d.ts +3 -0
  207. package/utils/functions/createControlForType.d.ts +9 -0
  208. package/utils/functions/filterOptionsByLabel.d.ts +7 -0
  209. package/utils/functions/image-compression.helpers.d.ts +5 -0
  210. package/utils/functions/index.d.ts +7 -0
  211. package/utils/functions/isControlConfig.d.ts +5 -0
  212. package/utils/functions/observablifyOptions.d.ts +12 -0
  213. package/utils/index.d.ts +5 -0
  214. package/{lib → utils}/models/autocomplete-chiplist-field.config.d.ts +2 -1
  215. package/{lib → utils}/models/autocomplete-field.config.d.ts +1 -2
  216. package/{lib → utils}/models/button.config.d.ts +0 -0
  217. package/{lib → utils}/models/checkbox-field.config.d.ts +1 -2
  218. package/{lib → utils}/models/crispr-field.config.d.ts +1 -10
  219. package/{lib → utils}/models/datepicker-field.config.d.ts +1 -2
  220. package/{lib → utils}/models/divider.config.d.ts +1 -1
  221. package/{lib → utils}/models/file-upload-field.config.d.ts +3 -4
  222. package/{lib → utils}/models/form-group-list.config.d.ts +1 -2
  223. package/{lib → utils}/models/heading.config.d.ts +1 -2
  224. package/{lib → utils}/models/image-upload-field.config.d.ts +2 -1
  225. package/{lib → utils}/models/index.d.ts +0 -0
  226. package/{lib → utils}/models/input-field.config.d.ts +1 -2
  227. package/{lib → utils}/models/radio-field.config.d.ts +0 -0
  228. package/{lib → utils}/models/select-field.config.d.ts +1 -2
  229. package/{lib → utils}/models/slider-field.config.d.ts +1 -2
  230. package/{lib → utils}/models/textarea-field.config.d.ts +1 -2
  231. package/{lib → utils}/models/unit-conversion-field.config.d.ts +1 -2
  232. package/{lib → utils/operators}/form.operators.d.ts +0 -0
  233. package/utils/operators/index.d.ts +1 -0
  234. package/utils/public-api.d.ts +4 -0
  235. package/esm2020/index.mjs +0 -2
  236. package/esm2020/lib/abstracts/autocomplete-field.abstract.mjs +0 -30
  237. package/esm2020/lib/abstracts/crispr-control.mixin.mjs +0 -27
  238. package/esm2020/lib/abstracts/crispr-field.abstract.mjs +0 -20
  239. package/esm2020/lib/abstracts/index.mjs +0 -4
  240. package/esm2020/lib/crispr-forms.module.mjs +0 -57
  241. package/esm2020/lib/field-component-map.const.mjs +0 -28
  242. package/esm2020/lib/field-container/field-container.component.mjs +0 -63
  243. package/esm2020/lib/field-container/index.mjs +0 -2
  244. package/esm2020/lib/field.directive.mjs +0 -69
  245. package/esm2020/lib/form-group-list/form-group-list.component.mjs +0 -92
  246. package/esm2020/lib/form-group-list/index.mjs +0 -2
  247. package/esm2020/lib/form.helpers.mjs +0 -190
  248. package/esm2020/lib/form.operators.mjs +0 -24
  249. package/esm2020/lib/material/button/button.component.mjs +0 -45
  250. package/esm2020/lib/material/checkbox-field/checkbox-field.component.mjs +0 -40
  251. package/esm2020/lib/material/divider/divider.component.mjs +0 -27
  252. package/esm2020/lib/material/file-upload/file-dropzone.directive.mjs +0 -40
  253. package/esm2020/lib/material/file-upload/index.mjs +0 -3
  254. package/esm2020/lib/material/image-upload-field/image-compression.helpers.mjs +0 -4
  255. package/esm2020/lib/material/image-upload-field/index.mjs +0 -2
  256. package/esm2020/lib/material/index.mjs +0 -17
  257. package/esm2020/lib/material/option/index.mjs +0 -2
  258. package/esm2020/lib/material/radio-field/radio-field.component.mjs +0 -36
  259. package/esm2020/lib/material/unit-conversion-field/unit-conversion-field.component.mjs +0 -81
  260. package/esm2020/lib/models/autocomplete-chiplist-field.config.mjs +0 -2
  261. package/esm2020/lib/models/autocomplete-field.config.mjs +0 -2
  262. package/esm2020/lib/models/button.config.mjs +0 -2
  263. package/esm2020/lib/models/checkbox-field.config.mjs +0 -2
  264. package/esm2020/lib/models/crispr-field.config.mjs +0 -23
  265. package/esm2020/lib/models/datepicker-field.config.mjs +0 -2
  266. package/esm2020/lib/models/divider.config.mjs +0 -2
  267. package/esm2020/lib/models/file-upload-field.config.mjs +0 -2
  268. package/esm2020/lib/models/form-group-list.config.mjs +0 -2
  269. package/esm2020/lib/models/heading.config.mjs +0 -3
  270. package/esm2020/lib/models/image-upload-field.config.mjs +0 -2
  271. package/esm2020/lib/models/index.mjs +0 -18
  272. package/esm2020/lib/models/input-field.config.mjs +0 -2
  273. package/esm2020/lib/models/radio-field.config.mjs +0 -2
  274. package/esm2020/lib/models/select-field.config.mjs +0 -2
  275. package/esm2020/lib/models/slider-field.config.mjs +0 -2
  276. package/esm2020/lib/models/textarea-field.config.mjs +0 -2
  277. package/esm2020/lib/models/unit-conversion-field.config.mjs +0 -2
  278. package/esm2020/lib/pipes/initial-control-value.pipe.mjs +0 -20
  279. package/esm2020/lib/public_api.mjs +0 -10
  280. package/esm2020/lib/sub-group/index.mjs +0 -3
  281. package/esm2020/lib/sub-group/sub-group.component.mjs +0 -20
  282. package/esm2020/lib/sub-group/sub-group.module.mjs +0 -42
  283. package/lib/form.helpers.d.ts +0 -88
  284. package/lib/material/checkbox-field/checkbox-field.component.d.ts +0 -23
  285. package/lib/material/image-upload-field/image-compression.helpers.d.ts +0 -1
  286. package/lib/material/index.d.ts +0 -16
  287. package/lib/material/input-field/input-field.component.d.ts +0 -24
  288. package/lib/material/radio-field/radio-field.component.d.ts +0 -26
  289. package/lib/material/textarea-field/textarea-field.component.d.ts +0 -23
  290. package/lib/public_api.d.ts +0 -9
  291. package/tft-crispr-forms-14.0.1-rc.1.tgz +0 -0
@@ -1,15 +1,15 @@
1
1
  import { Component, ChangeDetectionStrategy, ViewChild } from '@angular/core';
2
- import { observablifyOptions } from '../../form.helpers';
3
- import { CrisprFieldComponent, crisprControlMixin } from '../../abstracts';
4
2
  import { MatSelect, MatSelectModule } from '@angular/material/select';
5
3
  import { CommonModule } from '@angular/common';
6
- import { InfoComponent } from '../info/info.component';
4
+ import { InfoComponent } from '@tft/crispr-forms/ui/info';
7
5
  import { MatCheckboxModule } from '@angular/material/checkbox';
8
6
  import { ReactiveFormsModule } from '@angular/forms';
9
- import { CrisprFieldDirective } from '../../field.directive';
10
- import { FieldContainerComponent } from '../../field-container';
7
+ // import { CrisprFieldDirective } from '../../field.directive';
8
+ import { FieldContainerComponent } from '@tft/crispr-forms/ui/field-container';
11
9
  import { MatFormFieldModule } from '@angular/material/form-field';
12
10
  import { OptionComponent } from '../option';
11
+ // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
12
+ import { observablifyOptions, CrisprFieldComponent, crisprControlMixin } from '@tft/crispr-forms/utils';
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@angular/common";
15
15
  import * as i2 from "@angular/material/checkbox";
@@ -51,7 +51,9 @@ export class SelectFieldComponent extends SelectFieldMixin {
51
51
  }
52
52
  }
53
53
  SelectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
54
- SelectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", 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: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", 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: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: MatFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
54
+ SelectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", 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: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", 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: "component", type:
55
+ // CrisprFieldDirective,
56
+ FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: MatFormFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
55
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: SelectFieldComponent, decorators: [{
56
58
  type: Component,
57
59
  args: [{ selector: 'crispr-select-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
@@ -61,7 +63,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
61
63
  MatCheckboxModule,
62
64
  MatSelectModule,
63
65
  ReactiveFormsModule,
64
- CrisprFieldDirective,
66
+ // CrisprFieldDirective,
65
67
  FieldContainerComponent,
66
68
  MatFormFieldModule,
67
69
  ], 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,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
69
71
  type: ViewChild,
70
72
  args: ['selectField']
71
73
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvbWF0ZXJpYWwvc2VsZWN0LWZpZWxkL3NlbGVjdC1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3NlbGVjdC1maWVsZC9zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxTQUFTLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBSXJHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztBQUU1QyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFvQixvQkFBb0IsQ0FBQyxDQUFDO0FBb0JyRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBbEIxRDs7UUFtQkUsa0JBQWEsR0FBRztZQUNkLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLEtBQUssRUFBRSxTQUF5QjtTQUNqQyxDQUFDO1FBRUYsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0E2QnJCO0lBekJDLFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIscUdBQXFHO1FBQ3JHLCtGQUErRjtRQUMvRixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO2VBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZTtlQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLEtBQU0sSUFBSSxDQUFDLEtBQWUsRUFBRSxNQUFNLEVBQ3JFO1lBQ0EsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLFVBQW1CO1FBQzNCLElBQUssVUFBVSxFQUFHO1lBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUM3RDtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLENBQUM7O2lIQWxDVSxvQkFBb0I7cUdBQXBCLG9CQUFvQixrTkNyQ2pDLHV1Q0E2Q0EsbUdEbkJJLFlBQVkscVRBQ1osYUFBYSwwRUFDYixlQUFlLDZFQUNmLGlCQUFpQixnTEFDakIsZUFBZSw4cEJBQ2YsbUJBQW1CLG9sQkFFbkIsdUJBQXVCLDhHQUN2QixrQkFBa0I7MkZBR1Qsb0JBQW9CO2tCQWxCaEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjtxQkFDbkI7OEJBVXlCLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4gaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTZWxlY3RGaWVsZENvbmZpZywgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IG9ic2VydmFibGlmeU9wdGlvbnMgfSBmcm9tICcuLi8uLi9mb3JtLmhlbHBlcnMnO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGRDb21wb25lbnQsIGNyaXNwckNvbnRyb2xNaXhpbiB9IGZyb20gJy4uLy4uL2Fic3RyYWN0cyc7XG5pbXBvcnQgeyBNYXRTZWxlY3QsIE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5mby9pbmZvLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2ZpZWxkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbic7XG5cbmNvbnN0IFNlbGVjdEZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48U2VsZWN0RmllbGRDb25maWc+KENyaXNwckZpZWxkQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLXNlbGVjdC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW5mb0NvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQ3Jpc3ByRmllbGREaXJlY3RpdmUsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgU2VsZWN0RmllbGRNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIGRlZmF1bHRDb25maWcgPSB7XG4gICAgZW5hYmxlVG9nZ2xlQWxsOiBmYWxzZSxcbiAgICBjb2xvcjogJ3ByaW1hcnknIGFzIFRoZW1lUGFsZXR0ZVxuICB9O1xuICBvcHRpb25zJDogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb25bXT47XG4gIGFsbFNlbGVjdGVkID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0RmllbGQnKSBzZWxlY3RGaWVsZDogTWF0U2VsZWN0O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy8gb3B0aW9ucyQgY2FuIGJlIHBhc3NlZCBhcyBhbiBhcnJheSwgcHJvbWlzZSB0aGF0IHJlc29sdmVzIGFycmF5LCBvciBvYnNlcnZhYmxlIHRoYXQgcmVzb2x2ZXMgYXJyYXlcbiAgICAvLyB0aGlzIGZ1bmN0aW9ucyBhY2NvdW50cyBmb3IgYWxsIHBvc3NpYmlsaXRpZXMgYW5kIGNvbnZlcnRzIHRvIG9ic2VydmFibGUgdGhhdCByZXNvbHZlcyBhcnJheVxuICAgIHRoaXMub3B0aW9ucyQgPSBvYnNlcnZhYmxpZnlPcHRpb25zKHRoaXMuY29uZmlnLm9wdGlvbnMsIHRoaXMuZ3JvdXApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnLm11bHRpcGxlXG4gICAgICAmJiB0aGlzLmNvbmZpZy5lbmFibGVUb2dnbGVBbGxcbiAgICAgICYmIHRoaXMuc2VsZWN0RmllbGQub3B0aW9ucz8ubGVuZ3RoID09PSAodGhpcy52YWx1ZSBhcyBhbnlbXSk/Lmxlbmd0aFxuICAgICkge1xuICAgICAgdGhpcy5hbGxTZWxlY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQWxsKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoIGlzU2VsZWN0ZWQgKSB7XG4gICAgICB0aGlzLnNlbGVjdEZpZWxkLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4gb3B0aW9uLmRlc2VsZWN0KCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdEZpZWxkLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4gb3B0aW9uLnNlbGVjdCgpKTtcbiAgICB9XG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9ICF0aGlzLmFsbFNlbGVjdGVkO1xuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuXG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIFthcHBlYXJhbmNlXT1cImNvbmZpZy5hcHBlYXJhbmNlXCJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjc2VsZWN0RmllbGRcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXJcIlxuICAgICAgW211bHRpcGxlXT1cImNvbmZpZy5tdWx0aXBsZVwiPlxuXG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgICAgICBbY2hlY2tlZF09XCJhbGxTZWxlY3RlZFwiXG4gICAgICAgICpuZ0lmPVwiY29uZmlnPy5tdWx0aXBsZSAmJiBjb25maWcuZW5hYmxlVG9nZ2xlQWxsXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUFsbChhbGxTZWxlY3RlZClcIj5cbiAgICAgICAgU2VsZWN0IEFsbFxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgIDxjcmlzcHItb3B0aW9uIFtvcHRpb25dPVwib3B0aW9uXCI+XG4gICAgICAgIDwvY3Jpc3ByLW9wdGlvbj5cbiAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDwvbWF0LXNlbGVjdD5cblxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmZpZWxkU3VmZml4XCIgbWF0U3VmZml4Pnt7Y29uZmlnLmZpZWxkU3VmZml4fX08L3NwYW4+XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgKGNvbnRyb2wudmFsaWQgfHwgIWNvbnRyb2wudG91Y2hlZClcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL3NlbGVjdC1maWVsZC9zZWxlY3QtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvc2VsZWN0LWZpZWxkL3NlbGVjdC1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFFLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHckcsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELGdFQUFnRTtBQUNoRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQW1DLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBRXpJLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQW9CLG9CQUFvQixDQUFDLENBQUM7QUFvQnJGLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxnQkFBZ0I7SUFsQjFEOztRQW1CRSxrQkFBYSxHQUFHO1lBQ2QsZUFBZSxFQUFFLEtBQUs7WUFDdEIsS0FBSyxFQUFFLFNBQXlCO1NBQ2pDLENBQUM7UUFFRixnQkFBVyxHQUFHLEtBQUssQ0FBQztLQTZCckI7SUF6QkMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixxR0FBcUc7UUFDckcsK0ZBQStGO1FBQy9GLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFDRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7ZUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlO2VBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBTSxJQUFJLENBQUMsS0FBZSxFQUFFLE1BQU0sRUFDckU7WUFDQSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsVUFBbUI7UUFDM0IsSUFBSyxVQUFVLEVBQUc7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDL0Q7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQzdEO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDdkMsQ0FBQzs7aUhBbENVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGtOQ3BDakMsdXVDQTZDQSxtR0RwQkksWUFBWSxxVEFDWixhQUFhLDBFQUNiLGVBQWUsNkVBQ2YsaUJBQWlCLGdMQUNqQixlQUFlLDhwQkFDZixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHVCQUF1Qiw4R0FDdkIsa0JBQWtCOzJGQUdULG9CQUFvQjtrQkFsQmhDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QixrQkFBa0I7cUJBQ25COzhCQVV5QixXQUFXO3NCQUFwQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuIGltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTWF0U2VsZWN0LCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2luZm8nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuLy8gaW1wb3J0IHsgQ3Jpc3ByRmllbGREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRmllbGRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9maWVsZC1jb250YWluZXInO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24nO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBucndsL254L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IG9ic2VydmFibGlmeU9wdGlvbnMsIENyaXNwckZpZWxkQ29tcG9uZW50LCBjcmlzcHJDb250cm9sTWl4aW4sIFNlbGVjdEZpZWxkQ29uZmlnLCBTZWxlY3RPcHRpb24gfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91dGlscyc7XG5cbmNvbnN0IFNlbGVjdEZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48U2VsZWN0RmllbGRDb25maWc+KENyaXNwckZpZWxkQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLXNlbGVjdC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW5mb0NvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0U2VsZWN0TW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgLy8gQ3Jpc3ByRmllbGREaXJlY3RpdmUsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEZpZWxkQ29tcG9uZW50IGV4dGVuZHMgU2VsZWN0RmllbGRNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIGRlZmF1bHRDb25maWcgPSB7XG4gICAgZW5hYmxlVG9nZ2xlQWxsOiBmYWxzZSxcbiAgICBjb2xvcjogJ3ByaW1hcnknIGFzIFRoZW1lUGFsZXR0ZVxuICB9O1xuICBvcHRpb25zJDogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb25bXT47XG4gIGFsbFNlbGVjdGVkID0gZmFsc2U7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0RmllbGQnKSBzZWxlY3RGaWVsZDogTWF0U2VsZWN0O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgLy8gb3B0aW9ucyQgY2FuIGJlIHBhc3NlZCBhcyBhbiBhcnJheSwgcHJvbWlzZSB0aGF0IHJlc29sdmVzIGFycmF5LCBvciBvYnNlcnZhYmxlIHRoYXQgcmVzb2x2ZXMgYXJyYXlcbiAgICAvLyB0aGlzIGZ1bmN0aW9ucyBhY2NvdW50cyBmb3IgYWxsIHBvc3NpYmlsaXRpZXMgYW5kIGNvbnZlcnRzIHRvIG9ic2VydmFibGUgdGhhdCByZXNvbHZlcyBhcnJheVxuICAgIHRoaXMub3B0aW9ucyQgPSBvYnNlcnZhYmxpZnlPcHRpb25zKHRoaXMuY29uZmlnLm9wdGlvbnMsIHRoaXMuZ3JvdXApO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29uZmlnLm11bHRpcGxlXG4gICAgICAmJiB0aGlzLmNvbmZpZy5lbmFibGVUb2dnbGVBbGxcbiAgICAgICYmIHRoaXMuc2VsZWN0RmllbGQub3B0aW9ucz8ubGVuZ3RoID09PSAodGhpcy52YWx1ZSBhcyBhbnlbXSk/Lmxlbmd0aFxuICAgICkge1xuICAgICAgdGhpcy5hbGxTZWxlY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlQWxsKGlzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoIGlzU2VsZWN0ZWQgKSB7XG4gICAgICB0aGlzLnNlbGVjdEZpZWxkLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4gb3B0aW9uLmRlc2VsZWN0KCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdEZpZWxkLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4gb3B0aW9uLnNlbGVjdCgpKTtcbiAgICB9XG4gICAgdGhpcy5hbGxTZWxlY3RlZCA9ICF0aGlzLmFsbFNlbGVjdGVkO1xuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuXG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIFthcHBlYXJhbmNlXT1cImNvbmZpZy5hcHBlYXJhbmNlXCJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDxtYXQtc2VsZWN0XG4gICAgICAjc2VsZWN0RmllbGRcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXJcIlxuICAgICAgW211bHRpcGxlXT1cImNvbmZpZy5tdWx0aXBsZVwiPlxuXG4gICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgICAgICBbY2hlY2tlZF09XCJhbGxTZWxlY3RlZFwiXG4gICAgICAgICpuZ0lmPVwiY29uZmlnPy5tdWx0aXBsZSAmJiBjb25maWcuZW5hYmxlVG9nZ2xlQWxsXCJcbiAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUFsbChhbGxTZWxlY3RlZClcIj5cbiAgICAgICAgU2VsZWN0IEFsbFxuICAgICAgPC9tYXQtY2hlY2tib3g+XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnMkIHwgYXN5bmNcIlxuICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCI+XG4gICAgICAgIDxjcmlzcHItb3B0aW9uIFtvcHRpb25dPVwib3B0aW9uXCI+XG4gICAgICAgIDwvY3Jpc3ByLW9wdGlvbj5cbiAgICAgIDwvbWF0LW9wdGlvbj5cblxuICAgIDwvbWF0LXNlbGVjdD5cblxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmZpZWxkU3VmZml4XCIgbWF0U3VmZml4Pnt7Y29uZmlnLmZpZWxkU3VmZml4fX08L3NwYW4+XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgKGNvbnRyb2wudmFsaWQgfHwgIWNvbnRyb2wudG91Y2hlZClcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './selected-file.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL3NlbGVjdGVkLWZpbGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3RlZC1maWxlLmNvbXBvbmVudCc7XG4iXX0=
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
23
23
  }], color: [{
24
24
  type: Input
25
25
  }] } });
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3NlbGVjdGVkLWZpbGUvc2VsZWN0ZWQtZmlsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3NlbGVjdGVkLWZpbGUvc2VsZWN0ZWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFZdEUsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjtzR0FBckIscUJBQXFCLHNMQ2ZsQyxvTEFPQSw4RkRJSSxZQUFZLGtJQUNaLG9CQUFvQjsyRkFHWCxxQkFBcUI7a0JBVmpDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG9CQUFvQjtxQkFDckI7OEJBSVEsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItc2VsZWN0ZWQtZmlsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3RlZC1maWxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0ZWQtZmlsZS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGVkRmlsZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgZmlsZU5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgcHJvZ3Jlc3M6IG51bWJlcjtcbiAgQElucHV0KCkgc2hvd1Byb2dyZXNzOiBib29sZWFuO1xuICBASW5wdXQoKSBjb2xvcjogVGhlbWVQYWxldHRlO1xuXG59XG4iLCI8aDMgY2xhc3M9XCJtYXQtaDNcIj57eyBmaWxlTmFtZSB9fTwvaDM+XG48bWF0LXByb2dyZXNzLWJhclxuICAqbmdJZj1cInNob3dQcm9ncmVzc1wiXG4gIG1vZGU9XCJkZXRlcm1pbmF0ZVwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIFt2YWx1ZV09XCJwcm9ncmVzc1wiPlxuPC9tYXQtcHJvZ3Jlc3MtYmFyPlxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtZmlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9zZWxlY3RlZC1maWxlL3NlbGVjdGVkLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvc2VsZWN0ZWQtZmlsZS9zZWxlY3RlZC1maWxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQVl0RSxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO3NHQUFyQixxQkFBcUIsc0xDZmxDLG9MQU9BLDhGRElJLFlBQVksa0lBQ1osb0JBQW9COzJGQUdYLHFCQUFxQjtrQkFWakMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3FCQUNyQjs4QkFJUSxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1zZWxlY3RlZC1maWxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlbGVjdGVkLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3RlZC1maWxlLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0ZWRGaWxlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBmaWxlTmFtZTogc3RyaW5nO1xuICBASW5wdXQoKSBwcm9ncmVzczogbnVtYmVyO1xuICBASW5wdXQoKSBzaG93UHJvZ3Jlc3M6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGNvbG9yOiBUaGVtZVBhbGV0dGU7XG5cbn1cbiIsIjxoMyBjbGFzcz1cIm1hdC1oM1wiPnt7IGZpbGVOYW1lIH19PC9oMz5cbjxtYXQtcHJvZ3Jlc3MtYmFyXG4gICpuZ0lmPVwic2hvd1Byb2dyZXNzXCJcbiAgbW9kZT1cImRldGVybWluYXRlXCJcbiAgW2NvbG9yXT1cImNvbG9yXCJcbiAgW3ZhbHVlXT1cInByb2dyZXNzXCI+XG48L21hdC1wcm9ncmVzcy1iYXI+XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1zZWxlY3RlZC1maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvc2VsZWN0ZWQtZmlsZS90ZnQtY3Jpc3ByLWZvcm1zLXVpLXNlbGVjdGVkLWZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './slider-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9zbGlkZXItZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2xpZGVyLWZpZWxkLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,11 +1,12 @@
1
1
  import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { CrisprFieldComponent, crisprControlMixin } from '../../abstracts';
3
2
  import { MatSliderModule } from '@angular/material/slider';
4
3
  import { CommonModule } from '@angular/common';
5
4
  import { ReactiveFormsModule } from '@angular/forms';
6
- import { FieldContainerComponent } from '../../field-container';
7
- import { InfoComponent } from '../info/info.component';
5
+ import { FieldContainerComponent } from '@tft/crispr-forms/ui/field-container';
6
+ import { InfoComponent } from '@tft/crispr-forms/ui/info';
8
7
  import { OptionComponent } from '../option';
8
+ // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
9
+ import { CrisprFieldComponent, crisprControlMixin } from '@tft/crispr-forms/utils';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@angular/common";
11
12
  import * as i2 from "@angular/forms";
@@ -37,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
37
38
  MatSliderModule
38
39
  ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <div\n [formGroup]=\"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 [ngStyle]=\"{'flex-direction': flexDirection}\">\n <span *ngIf=\"config.displayLimits\">\n {{config.min}}\n </span>\n <mat-slider\n class=\"example-margin\"\n [formControlName]=\"config.controlName\"\n [invert]=\"config.invert\"\n [max]=\"config.max\"\n [min]=\"config.min\"\n [step]=\"config.step\"\n [thumbLabel]=\"config.thumbLabel\"\n [tickInterval]=\"config.tickInterval\"\n [vertical]=\"config.vertical\">\n </mat-slider>\n <span *ngIf=\"config.displayLimits\">\n {{config.max}}\n </span>\n </div>\n\n </div>\n</crispr-field-container>\n\n", styles: [".slider-container{display:flex;align-items:center}.slider-container .mat-slider-horizontal{width:100%}\n"] }]
39
40
  }], ctorParameters: function () { return []; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvbWF0ZXJpYWwvc2xpZGVyLWZpZWxkL3NsaWRlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3NsaWRlci1maWVsZC9zbGlkZXItZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7OztBQUU1QyxNQUFNLGFBQWEsR0FBRyxFQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUMsQ0FBQztBQUM1QyxNQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFvQixvQkFBb0IsQ0FBQyxDQUFDO0FBaUJyRixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZ0JBQWdCO0lBR3hEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFGVixrQkFBYSxHQUFHLGFBQWEsQ0FBQztJQUc5QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDakQsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7aUhBYlUsb0JBQW9CO3FHQUFwQixvQkFBb0Isc0dDNUJqQywyOUJBb0NBLGlLRGhCSSxZQUFZLHdOQUNaLGFBQWEsMEVBRWIsdUJBQXVCLDhHQUN2QixtQkFBbUIsbWxCQUNuQixlQUFlOzJGQUdOLG9CQUFvQjtrQkFmaEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbGlkZXJGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZENvbXBvbmVudCwgY3Jpc3ByQ29udHJvbE1peGluIH0gZnJvbSAnLi4vLi4vYWJzdHJhY3RzJztcbmltcG9ydCB7IE1hdFNsaWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZpZWxkQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZmllbGQtY29udGFpbmVyJztcbmltcG9ydCB7IEluZm9Db21wb25lbnQgfSBmcm9tICcuLi9pbmZvL2luZm8uY29tcG9uZW50JztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbic7XG5cbmNvbnN0IGRlZmF1bHRDb25maWcgPSB7ZGlzcGxheUxpbWl0czogdHJ1ZX07XG5jb25zdCBTbGlkZXJGaWVsZE1peGluID0gY3Jpc3ByQ29udHJvbE1peGluPFNsaWRlckZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1zbGlkZXItZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2xpZGVyLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEluZm9Db21wb25lbnQsXG4gICAgT3B0aW9uQ29tcG9uZW50LFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0U2xpZGVyTW9kdWxlXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNsaWRlckZpZWxkQ29tcG9uZW50IGV4dGVuZHMgU2xpZGVyRmllbGRNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgZmxleERpcmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWcudmVydGljYWwgPyAnY29sdW1uJyA6ICdyb3cnO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgfVxuXG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICA8ZGl2XG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuICAgIDxsYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgICAgPGNyaXNwci1pbmZvXG4gICAgICAgICpuZ0lmPVwiY29uZmlnLmluZm9cIlxuICAgICAgICBbaW5mb109XCJjb25maWcuaW5mb1wiPlxuICAgICAgPC9jcmlzcHItaW5mbz5cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgY2xhc3M9XCJzbGlkZXItY29udGFpbmVyXCJcbiAgICAgIFtuZ1N0eWxlXT1cInsnZmxleC1kaXJlY3Rpb24nOiBmbGV4RGlyZWN0aW9ufVwiPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb25maWcuZGlzcGxheUxpbWl0c1wiPlxuICAgICAgICB7e2NvbmZpZy5taW59fVxuICAgICAgPC9zcGFuPlxuICAgICAgPG1hdC1zbGlkZXJcbiAgICAgICAgY2xhc3M9XCJleGFtcGxlLW1hcmdpblwiXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcbiAgICAgICAgW2ludmVydF09XCJjb25maWcuaW52ZXJ0XCJcbiAgICAgICAgW21heF09XCJjb25maWcubWF4XCJcbiAgICAgICAgW21pbl09XCJjb25maWcubWluXCJcbiAgICAgICAgW3N0ZXBdPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgICBbdGh1bWJMYWJlbF09XCJjb25maWcudGh1bWJMYWJlbFwiXG4gICAgICAgIFt0aWNrSW50ZXJ2YWxdPVwiY29uZmlnLnRpY2tJbnRlcnZhbFwiXG4gICAgICAgIFt2ZXJ0aWNhbF09XCJjb25maWcudmVydGljYWxcIj5cbiAgICAgIDwvbWF0LXNsaWRlcj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmRpc3BsYXlMaW1pdHNcIj5cbiAgICAgICAge3tjb25maWcubWF4fX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICA8L2Rpdj5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cblxuIl19
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL3NsaWRlci1maWVsZC9zbGlkZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvc2xpZGVyLWZpZWxkL3NsaWRlci1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDNUMsOERBQThEO0FBQzlELE9BQU8sRUFBcUIsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFFdEcsTUFBTSxhQUFhLEdBQUcsRUFBQyxhQUFhLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDNUMsTUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBb0Isb0JBQW9CLENBQUMsQ0FBQztBQWlCckYsTUFBTSxPQUFPLG9CQUFxQixTQUFRLGdCQUFnQjtJQUd4RDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBRlYsa0JBQWEsR0FBRyxhQUFhLENBQUM7SUFHOUIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7O2lIQWJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHNHQzVCakMsMjlCQW9DQSxpS0RoQkksWUFBWSx3TkFDWixhQUFhLDBFQUViLHVCQUF1Qiw4R0FDdkIsbUJBQW1CLG1sQkFDbkIsZUFBZTsyRkFHTixvQkFBb0I7a0JBZmhDLFNBQVM7K0JBQ0UscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixlQUFlO3FCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmllbGRDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9maWVsZC1jb250YWluZXInO1xuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2luZm8nO1xuaW1wb3J0IHsgT3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vb3B0aW9uJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzXG5pbXBvcnQgeyBTbGlkZXJGaWVsZENvbmZpZywgQ3Jpc3ByRmllbGRDb21wb25lbnQsIGNyaXNwckNvbnRyb2xNaXhpbiB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3V0aWxzJztcblxuY29uc3QgZGVmYXVsdENvbmZpZyA9IHtkaXNwbGF5TGltaXRzOiB0cnVlfTtcbmNvbnN0IFNsaWRlckZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48U2xpZGVyRmllbGRDb25maWc+KENyaXNwckZpZWxkQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLXNsaWRlci1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXItZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXItZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW5mb0NvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRTbGlkZXJNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVyRmllbGRDb21wb25lbnQgZXh0ZW5kcyBTbGlkZXJGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBkZWZhdWx0Q29uZmlnID0gZGVmYXVsdENvbmZpZztcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBmbGV4RGlyZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy52ZXJ0aWNhbCA/ICdjb2x1bW4nIDogJ3Jvdyc7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbn1cbiIsIjxjcmlzcHItZmllbGQtY29udGFpbmVyXG4gIFtjb25maWddPVwiY29uZmlnXCJcbiAgW2dyb3VwXT1cImdyb3VwXCI+XG4gIDxkaXZcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgPGxhYmVsICpuZ0lmPVwiY29uZmlnLmxhYmVsXCI+XG4gICAgICB7e2NvbmZpZy5sYWJlbH19XG4gICAgICA8Y3Jpc3ByLWluZm9cbiAgICAgICAgKm5nSWY9XCJjb25maWcuaW5mb1wiXG4gICAgICAgIFtpbmZvXT1cImNvbmZpZy5pbmZvXCI+XG4gICAgICA8L2NyaXNwci1pbmZvPlxuICAgIDwvbGFiZWw+XG4gICAgPGRpdiBjbGFzcz1cInNsaWRlci1jb250YWluZXJcIlxuICAgICAgW25nU3R5bGVdPVwieydmbGV4LWRpcmVjdGlvbic6IGZsZXhEaXJlY3Rpb259XCI+XG4gICAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5kaXNwbGF5TGltaXRzXCI+XG4gICAgICAgIHt7Y29uZmlnLm1pbn19XG4gICAgICA8L3NwYW4+XG4gICAgICA8bWF0LXNsaWRlclxuICAgICAgICBjbGFzcz1cImV4YW1wbGUtbWFyZ2luXCJcbiAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxuICAgICAgICBbaW52ZXJ0XT1cImNvbmZpZy5pbnZlcnRcIlxuICAgICAgICBbbWF4XT1cImNvbmZpZy5tYXhcIlxuICAgICAgICBbbWluXT1cImNvbmZpZy5taW5cIlxuICAgICAgICBbc3RlcF09XCJjb25maWcuc3RlcFwiXG4gICAgICAgIFt0aHVtYkxhYmVsXT1cImNvbmZpZy50aHVtYkxhYmVsXCJcbiAgICAgICAgW3RpY2tJbnRlcnZhbF09XCJjb25maWcudGlja0ludGVydmFsXCJcbiAgICAgICAgW3ZlcnRpY2FsXT1cImNvbmZpZy52ZXJ0aWNhbFwiPlxuICAgICAgPC9tYXQtc2xpZGVyPlxuICAgICAgPHNwYW4gKm5nSWY9XCJjb25maWcuZGlzcGxheUxpbWl0c1wiPlxuICAgICAgICB7e2NvbmZpZy5tYXh9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gIDwvZGl2PlxuPC9jcmlzcHItZmllbGQtY29udGFpbmVyPlxuXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './textarea-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS90ZXh0YXJlYS1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQnO1xuIl19
@@ -1,11 +1,12 @@
1
1
  import { Component, ChangeDetectionStrategy } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
- import { crisprControlMixin, CrisprFieldComponent } from '../../abstracts';
4
3
  import { CommonModule } from '@angular/common';
5
4
  import { MatFormFieldModule } from '@angular/material/form-field';
6
5
  import { MatInputModule } from '@angular/material/input';
7
- import { FieldContainerComponent } from '../../field-container';
8
- import { InfoComponent } from '../info/info.component';
6
+ import { FieldContainerComponent } from '@tft/crispr-forms/ui/field-container';
7
+ import { InfoComponent } from '@tft/crispr-forms/ui/info';
8
+ // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
9
+ import { crisprControlMixin, CrisprFieldComponent } from '@tft/crispr-forms/utils';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "@angular/common";
11
12
  import * as i2 from "@angular/forms";
@@ -35,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImpor
35
36
  MatInputModule,
36
37
  ], 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" }]
37
38
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9tYXRlcmlhbC90ZXh0YXJlYS1maWVsZC90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL3RleHRhcmVhLWZpZWxkL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUV2RCxNQUFNLGFBQWEsR0FBaUMsRUFBQyxJQUFJLEVBQUUsQ0FBQyxFQUFDLENBQUM7QUFDOUQsTUFBTSxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBc0Isb0JBQW9CLENBQUMsQ0FBQztBQWlCekYsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGtCQUFrQjtJQWY5RDs7UUFnQkUsa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FLL0I7SUFIQyxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2xCLENBQUM7O21IQUxVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHdHQzVCbkMsb3dCQTRCQSx5RERSSSxZQUFZLG1JQUNaLGFBQWEseUVBQ2IsbUJBQW1CLG8yQkFDbkIsdUJBQXVCLDhHQUN2QixrQkFBa0IsbWJBQ2xCLGNBQWM7MkZBR0wsc0JBQXNCO2tCQWZsQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixrQkFBa0I7d0JBQ2xCLGNBQWM7cUJBQ2YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUZXh0YXJlYUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGNyaXNwckNvbnRyb2xNaXhpbiwgQ3Jpc3ByRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5mby9pbmZvLmNvbXBvbmVudCc7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8VGV4dGFyZWFGaWVsZENvbmZpZz4gPSB7cm93czogNX07XG5jb25zdCBUZXh0YXJlYUZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48VGV4dGFyZWFGaWVsZENvbmZpZz4oQ3Jpc3ByRmllbGRDb21wb25lbnQpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItdGV4dGFyZWEtZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dGFyZWEtZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBJbmZvQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgRmllbGRDb250YWluZXJDb21wb25lbnQsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0YXJlYUZpZWxkQ29tcG9uZW50IGV4dGVuZHMgVGV4dGFyZWFGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKVxuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBbYXBwZWFyYW5jZV09XCJjb25maWcuYXBwZWFyYW5jZVwiXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJjb25maWcubGFiZWxcIj5cbiAgICAgIHt7Y29uZmlnLmxhYmVsfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8dGV4dGFyZWFcbiAgICAgIFtyb3dzXT1cImNvbmZpZy5yb3dzXCJcbiAgICAgIG1hdElucHV0XG4gICAgICBbcGxhY2Vob2xkZXJdPVwiY29uZmlnLnBsYWNlaG9sZGVyXCJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCI+XG4gICAgPC90ZXh0YXJlYT5cbiAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5maWVsZFN1ZmZpeFwiIG1hdFN1ZmZpeD57e2NvbmZpZy5maWVsZFN1ZmZpeH19PC9zcGFuPlxuICAgIDxjcmlzcHItaW5mb1xuICAgICAgKm5nSWY9XCJjb25maWcuaW5mb1wiXG4gICAgICBtYXRTdWZmaXhcbiAgICAgIFtpbmZvXT1cImNvbmZpZy5pbmZvXCI+XG4gICAgPC9jcmlzcHItaW5mbz5cblxuICAgIDxtYXQtaGludCAqbmdJZj1cImNvbmZpZy5oaW50ICYmIGNvbnRyb2wudmFsaWRcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGFyZWEtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvdGV4dGFyZWEtZmllbGQvdGV4dGFyZWEtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvdGV4dGFyZWEtZmllbGQvdGV4dGFyZWEtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCw4REFBOEQ7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUF1QixNQUFNLHlCQUF5QixDQUFDOzs7Ozs7QUFFeEcsTUFBTSxhQUFhLEdBQWlDLEVBQUMsSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFDO0FBQzlELE1BQU0sa0JBQWtCLEdBQUcsa0JBQWtCLENBQXNCLG9CQUFvQixDQUFDLENBQUM7QUFpQnpGLE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxrQkFBa0I7SUFmOUQ7O1FBZ0JFLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBSy9CO0lBSEMsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNsQixDQUFDOzttSEFMVSxzQkFBc0I7dUdBQXRCLHNCQUFzQix3R0M1Qm5DLG93QkE0QkEseUREUkksWUFBWSxtSUFDWixhQUFhLHlFQUNiLG1CQUFtQixvMkJBQ25CLHVCQUF1Qiw4R0FDdkIsa0JBQWtCLG1iQUNsQixjQUFjOzJGQUdMLHNCQUFzQjtrQkFmbEMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsa0JBQWtCO3dCQUNsQixjQUFjO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvaW5mbyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG5yd2wvbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHsgY3Jpc3ByQ29udHJvbE1peGluLCBDcmlzcHJGaWVsZENvbXBvbmVudCwgVGV4dGFyZWFGaWVsZENvbmZpZyB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3V0aWxzJztcblxuY29uc3QgZGVmYXVsdENvbmZpZzogUGFydGlhbDxUZXh0YXJlYUZpZWxkQ29uZmlnPiA9IHtyb3dzOiA1fTtcbmNvbnN0IFRleHRhcmVhRmllbGRNaXhpbiA9IGNyaXNwckNvbnRyb2xNaXhpbjxUZXh0YXJlYUZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci10ZXh0YXJlYS1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0YXJlYS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RleHRhcmVhLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEluZm9Db21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGaWVsZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRhcmVhRmllbGRDb21wb25lbnQgZXh0ZW5kcyBUZXh0YXJlYUZpZWxkTWl4aW4gaW1wbGVtZW50cyBPbkluaXQge1xuICBkZWZhdWx0Q29uZmlnID0gZGVmYXVsdENvbmZpZztcblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpXG4gIH1cbn1cbiIsIjxjcmlzcHItZmllbGQtY29udGFpbmVyXG4gIFtjb25maWddPVwiY29uZmlnXCJcbiAgW2dyb3VwXT1cImdyb3VwXCI+XG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIFthcHBlYXJhbmNlXT1cImNvbmZpZy5hcHBlYXJhbmNlXCJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCI+XG4gICAgPG1hdC1sYWJlbCAqbmdJZj1cImNvbmZpZy5sYWJlbFwiPlxuICAgICAge3tjb25maWcubGFiZWx9fVxuICAgIDwvbWF0LWxhYmVsPlxuICAgIDx0ZXh0YXJlYVxuICAgICAgW3Jvd3NdPVwiY29uZmlnLnJvd3NcIlxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXJcIlxuICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIj5cbiAgICA8L3RleHRhcmVhPlxuICAgIDxzcGFuICpuZ0lmPVwiY29uZmlnLmZpZWxkU3VmZml4XCIgbWF0U3VmZml4Pnt7Y29uZmlnLmZpZWxkU3VmZml4fX08L3NwYW4+XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgY29udHJvbC52YWxpZFwiPnt7Y29uZmlnLmhpbnR9fTwvbWF0LWhpbnQ+XG5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuPC9jcmlzcHItZmllbGQtY29udGFpbmVyPlxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL3RmdC1jcmlzcHItZm9ybXMtdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './unit-conversion-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS91bml0LWNvbnZlcnNpb24tZmllbGQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,81 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
3
+ import { ReactiveFormsModule, FormControl } from '@angular/forms';
4
+ import { MatOptionModule } from '@angular/material/core';
5
+ import { MatInputModule } from '@angular/material/input';
6
+ import { MatSelectModule } from '@angular/material/select';
7
+ import { combineLatest } from 'rxjs';
8
+ import { startWith } from 'rxjs/operators';
9
+ import { FieldContainerComponent } from '@tft/crispr-forms/ui/field-container';
10
+ import { InfoComponent } from '@tft/crispr-forms/ui/info';
11
+ import { OptionComponent } from '../option';
12
+ // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
13
+ import { crisprControlMixin, CrisprFieldComponent, observablifyOptions } from '@tft/crispr-forms/utils';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@angular/common";
16
+ import * as i2 from "@angular/forms";
17
+ import * as i3 from "@angular/material/form-field";
18
+ import * as i4 from "@angular/material/input";
19
+ import * as i5 from "@angular/material/select";
20
+ import * as i6 from "@angular/material/core";
21
+ const defaultConfig = {};
22
+ const UnitConversionFieldMixin = crisprControlMixin(CrisprFieldComponent);
23
+ export class UnitConversionFieldComponent extends UnitConversionFieldMixin {
24
+ constructor() {
25
+ super(...arguments);
26
+ this.defaultConfig = defaultConfig;
27
+ this.displayValueControl = new FormControl();
28
+ this.unitSelectControl = new FormControl();
29
+ }
30
+ ngOnInit() {
31
+ super.ngOnInit();
32
+ // TODO: Validators need work. validation is tricky because the input needs to be validated against but the validator will compare against the controls value
33
+ // this.displayValueControl.setValidators(this.config.validators);
34
+ const controlValuePipeline = [
35
+ this.displayValueControl.valueChanges.pipe(startWith(this.displayValueControl.value))
36
+ ];
37
+ // setup all required pieces when showing a field for selecting units
38
+ if (this.config.showUnitSelect) {
39
+ this.unitOptions$ = observablifyOptions(this.config.selectableUnits, this.group);
40
+ controlValuePipeline.push(this.unitSelectControl.valueChanges.pipe(startWith(this.config?.initialDisplayUnit || null)));
41
+ this.unitSelectControl.setValue(this.config?.initialDisplayUnit || null);
42
+ }
43
+ this.transformationSubscription = combineLatest(controlValuePipeline).subscribe(([displayValue, unitValue]) => {
44
+ const computedValue = this.config.storedValueConversion(displayValue, unitValue);
45
+ this.control.setValue(computedValue);
46
+ });
47
+ }
48
+ ngOnDestroy() {
49
+ this.transformationSubscription.unsubscribe();
50
+ }
51
+ setInitialDisplayValue(storedValue, unit) {
52
+ const initialDisplayValue = this.config.initialDisplayValueConversion(storedValue || null, unit);
53
+ this.displayValueControl.setValue(initialDisplayValue);
54
+ }
55
+ /**
56
+ * We override the 'setControlValue' we inherited from crisprControlMixin and add our custom logic,
57
+ * This function gets called onInit because were object oriented. it's so great, so great that I'm
58
+ * typing a paragraph to explain what the hell is going on...
59
+ * @param value the initial value for the control passed down from the form components input
60
+ */
61
+ setControlValue(value) {
62
+ const initialUnitValue = this.config.showUnitSelect ? this.config?.initialDisplayUnit : null;
63
+ this.setInitialDisplayValue(value, initialUnitValue);
64
+ }
65
+ }
66
+ UnitConversionFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: UnitConversionFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
67
+ UnitConversionFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", 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: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix]" }, { 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: MatSelectModule }, { kind: "component", type: i5.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "ngmodule", type: MatOptionModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: UnitConversionFieldComponent, decorators: [{
69
+ type: Component,
70
+ args: [{ selector: 'crispr-unit-conversion-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
71
+ CommonModule,
72
+ InfoComponent,
73
+ OptionComponent,
74
+ ReactiveFormsModule,
75
+ FieldContainerComponent,
76
+ MatInputModule,
77
+ MatSelectModule,
78
+ MatOptionModule,
79
+ ], 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"] }]
80
+ }] });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdC1jb252ZXJzaW9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL3VuaXQtY29udmVyc2lvbi1maWVsZC91bml0LWNvbnZlcnNpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvdW5pdC1jb252ZXJzaW9uLWZpZWxkL3VuaXQtY29udmVyc2lvbi1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSx1QkFBdUIsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQTJDLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7O0FBRWpKLE1BQU0sYUFBYSxHQUF1QyxFQUFFLENBQUM7QUFDN0QsTUFBTSx3QkFBd0IsR0FBRyxrQkFBa0IsQ0FBNEIsb0JBQW9CLENBQUMsQ0FBQztBQW9CckcsTUFBTSxPQUFPLDRCQUE2QixTQUFRLHdCQUF3QjtJQWxCMUU7O1FBbUJFLGtCQUFhLEdBQUcsYUFBYSxDQUFDO1FBRTlCLHdCQUFtQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDeEMsc0JBQWlCLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztLQTZDdkM7SUF4Q0MsUUFBUTtRQUNOLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQiw2SkFBNko7UUFDN0osa0VBQWtFO1FBRWxFLE1BQU0sb0JBQW9CLEdBQXlCO1lBQ2pELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEYsQ0FBQztRQUNGLHFFQUFxRTtRQUNyRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQ2hGLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEgsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGtCQUFrQixJQUFJLElBQUksQ0FBQyxDQUFDO1NBQzFFO1FBRUQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUU7WUFDNUcsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsV0FBZ0IsRUFBRSxJQUFhO1FBQ3BELE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsS0FBSztRQUNuQixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0YsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O3lIQWhEVSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwrR0NuQ3pDLG1nREF1REEsZ0pEOUJJLFlBQVkscVRBQ1osYUFBYSwwRUFDYixlQUFlLDZFQUNmLG1CQUFtQiwrNENBQ25CLHVCQUF1Qiw4R0FDdkIsY0FBYywrdkJBQ2QsZUFBZSx5UUFDZixlQUFlOzJGQUdOLDRCQUE0QjtrQkFsQnhDLFNBQVM7K0JBRUUsOEJBQThCLG1CQUd2Qix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdE9wdGlvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBJbmZvQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvaW5mbyc7XG5pbXBvcnQgeyBPcHRpb25Db21wb25lbnQgfSBmcm9tICcuLi9vcHRpb24nO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBucndsL254L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IGNyaXNwckNvbnRyb2xNaXhpbiwgQ3Jpc3ByRmllbGRDb21wb25lbnQsIG9ic2VydmFibGlmeU9wdGlvbnMsIFNlbGVjdE9wdGlvbiwgVW5pdENvbnZlcnNpb25GaWVsZENvbmZpZyB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3V0aWxzJztcblxuY29uc3QgZGVmYXVsdENvbmZpZzogUGFydGlhbDxVbml0Q29udmVyc2lvbkZpZWxkQ29uZmlnPiA9IHt9O1xuY29uc3QgVW5pdENvbnZlcnNpb25GaWVsZE1peGluID0gY3Jpc3ByQ29udHJvbE1peGluPFVuaXRDb252ZXJzaW9uRmllbGRDb25maWc+KENyaXNwckZpZWxkQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnY3Jpc3ByLXVuaXQtY29udmVyc2lvbi1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi91bml0LWNvbnZlcnNpb24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91bml0LWNvbnZlcnNpb24tZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSW5mb0NvbXBvbmVudCxcbiAgICBPcHRpb25Db21wb25lbnQsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGaWVsZENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0T3B0aW9uTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVbml0Q29udmVyc2lvbkZpZWxkQ29tcG9uZW50IGV4dGVuZHMgVW5pdENvbnZlcnNpb25GaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBkZWZhdWx0Q29uZmlnID0gZGVmYXVsdENvbmZpZztcblxuICBkaXNwbGF5VmFsdWVDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIHVuaXRTZWxlY3RDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gIHVuaXRPcHRpb25zJDogT2JzZXJ2YWJsZTxTZWxlY3RPcHRpb25bXT47XG5cbiAgdHJhbnNmb3JtYXRpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIC8vIFRPRE86IFZhbGlkYXRvcnMgbmVlZCB3b3JrLiB2YWxpZGF0aW9uIGlzIHRyaWNreSBiZWNhdXNlIHRoZSBpbnB1dCBuZWVkcyB0byBiZSB2YWxpZGF0ZWQgYWdhaW5zdCBidXQgdGhlIHZhbGlkYXRvciB3aWxsIGNvbXBhcmUgYWdhaW5zdCB0aGUgY29udHJvbHMgdmFsdWVcbiAgICAvLyB0aGlzLmRpc3BsYXlWYWx1ZUNvbnRyb2wuc2V0VmFsaWRhdG9ycyh0aGlzLmNvbmZpZy52YWxpZGF0b3JzKTtcblxuICAgIGNvbnN0IGNvbnRyb2xWYWx1ZVBpcGVsaW5lOiBPYnNlcnZhYmxlPHN0cmluZz5bXSA9IFtcbiAgICAgIHRoaXMuZGlzcGxheVZhbHVlQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5kaXNwbGF5VmFsdWVDb250cm9sLnZhbHVlKSlcbiAgICBdO1xuICAgIC8vIHNldHVwIGFsbCByZXF1aXJlZCBwaWVjZXMgd2hlbiBzaG93aW5nIGEgZmllbGQgZm9yIHNlbGVjdGluZyB1bml0c1xuICAgIGlmICh0aGlzLmNvbmZpZy5zaG93VW5pdFNlbGVjdCkge1xuICAgICAgdGhpcy51bml0T3B0aW9ucyQgPSBvYnNlcnZhYmxpZnlPcHRpb25zKHRoaXMuY29uZmlnLnNlbGVjdGFibGVVbml0cywgdGhpcy5ncm91cClcbiAgICAgIGNvbnRyb2xWYWx1ZVBpcGVsaW5lLnB1c2godGhpcy51bml0U2VsZWN0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5jb25maWc/LmluaXRpYWxEaXNwbGF5VW5pdCB8fCBudWxsKSkpO1xuICAgICAgdGhpcy51bml0U2VsZWN0Q29udHJvbC5zZXRWYWx1ZSh0aGlzLmNvbmZpZz8uaW5pdGlhbERpc3BsYXlVbml0IHx8IG51bGwpO1xuICAgIH1cblxuICAgIHRoaXMudHJhbnNmb3JtYXRpb25TdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KGNvbnRyb2xWYWx1ZVBpcGVsaW5lKS5zdWJzY3JpYmUoKFtkaXNwbGF5VmFsdWUsIHVuaXRWYWx1ZV0gKT0+IHtcbiAgICAgIGNvbnN0IGNvbXB1dGVkVmFsdWUgPSB0aGlzLmNvbmZpZy5zdG9yZWRWYWx1ZUNvbnZlcnNpb24oZGlzcGxheVZhbHVlLCB1bml0VmFsdWUpO1xuICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKGNvbXB1dGVkVmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvblN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgc2V0SW5pdGlhbERpc3BsYXlWYWx1ZShzdG9yZWRWYWx1ZTogYW55LCB1bml0OiB1bmtub3duKSB7XG4gICAgY29uc3QgaW5pdGlhbERpc3BsYXlWYWx1ZSA9IHRoaXMuY29uZmlnLmluaXRpYWxEaXNwbGF5VmFsdWVDb252ZXJzaW9uKHN0b3JlZFZhbHVlIHx8IG51bGwsIHVuaXQpO1xuICAgIHRoaXMuZGlzcGxheVZhbHVlQ29udHJvbC5zZXRWYWx1ZShpbml0aWFsRGlzcGxheVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXZSBvdmVycmlkZSB0aGUgJ3NldENvbnRyb2xWYWx1ZScgd2UgaW5oZXJpdGVkIGZyb20gY3Jpc3ByQ29udHJvbE1peGluIGFuZCBhZGQgb3VyIGN1c3RvbSBsb2dpYyxcbiAgICogVGhpcyBmdW5jdGlvbiBnZXRzIGNhbGxlZCBvbkluaXQgYmVjYXVzZSB3ZXJlIG9iamVjdCBvcmllbnRlZC4gaXQncyBzbyBncmVhdCwgc28gZ3JlYXQgdGhhdCBJJ21cbiAgICogdHlwaW5nIGEgcGFyYWdyYXBoIHRvIGV4cGxhaW4gd2hhdCB0aGUgaGVsbCBpcyBnb2luZyBvbi4uLlxuICAgKiBAcGFyYW0gdmFsdWUgdGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBjb250cm9sIHBhc3NlZCBkb3duIGZyb20gdGhlIGZvcm0gY29tcG9uZW50cyBpbnB1dFxuICAgKi9cbiAgc2V0Q29udHJvbFZhbHVlKHZhbHVlKSB7XG4gICAgY29uc3QgaW5pdGlhbFVuaXRWYWx1ZSA9IHRoaXMuY29uZmlnLnNob3dVbml0U2VsZWN0ID8gdGhpcy5jb25maWc/LmluaXRpYWxEaXNwbGF5VW5pdCA6IG51bGw7XG4gICAgdGhpcy5zZXRJbml0aWFsRGlzcGxheVZhbHVlKHZhbHVlLCBpbml0aWFsVW5pdFZhbHVlKTtcbiAgfVxufVxuIiwiPGNyaXNwci1maWVsZC1jb250YWluZXJcbiAgW2NvbmZpZ109XCJjb25maWdcIlxuICBbZ3JvdXBdPVwiZ3JvdXBcIj5cbiAgPG1hdC1mb3JtLWZpZWxkXG4gICAgW3N0eWxlLndpZHRoLiVdPVwiY29uZmlnLnNob3dVbml0U2VsZWN0ID8gNjAgOiAxMDBcIlxuICAgIGNsYXNzPVwibnVtYmVyLWZpZWxkXCJcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBbYXBwZWFyYW5jZV09XCJjb25maWcuYXBwZWFyYW5jZVwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJjb25maWcubGFiZWxcIj5cbiAgICAgIHt7Y29uZmlnLmxhYmVsfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgbWF0SW5wdXRcbiAgICAgIFtmb3JtQ29udHJvbF09XCJkaXNwbGF5VmFsdWVDb250cm9sXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXJcIlxuICAgICAgW21pbl09XCJjb25maWcubWluXCJcbiAgICAgIFttYXhdPVwiY29uZmlnLm1heFwiXG4gICAgICBbc3RlcF09XCJjb25maWcuc3RlcFwiXG4gICAgICBbYXV0b2ZvY3VzXT1cImNvbmZpZy5hdXRvZm9jdXNcIj5cbiAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5maWVsZFN1ZmZpeFwiIG1hdFN1ZmZpeD57e2NvbmZpZy5maWVsZFN1ZmZpeH19PC9zcGFuPlxuICAgIDxjcmlzcHItaW5mb1xuICAgICAgbWF0U3VmZml4XG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIFtpbmZvXT1cImNvbmZpZy5pbmZvXCI+XG4gICAgPC9jcmlzcHItaW5mbz5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bWF0LWZvcm0tZmllbGRcbiAgICAqbmdJZj1cImNvbmZpZy5zaG93VW5pdFNlbGVjdFwiXG4gICAgW2NvbG9yXT1cImNvbmZpZy5jb2xvclwiXG4gICAgW2FwcGVhcmFuY2VdPVwiY29uZmlnLmFwcGVhcmFuY2VcIlxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxuICAgIGNsYXNzPVwidW5pdC1maWVsZFwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJjb25maWcubGFiZWxcIj5cbiAgICAgIHt7Y29uZmlnLmxhYmVsfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8bWF0LXNlbGVjdFxuICAgICAgI3NlbGVjdEZpZWxkXG4gICAgICBbZm9ybUNvbnRyb2xdPVwidW5pdFNlbGVjdENvbnRyb2xcIj5cblxuICAgICAgPG1hdC1vcHRpb25cbiAgICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiB1bml0T3B0aW9ucyQgfCBhc3luY1wiXG4gICAgICAgIFt2YWx1ZV09XCJvcHRpb24udmFsdWVcIj5cbiAgICAgICAgPGNyaXNwci1vcHRpb24gW29wdGlvbl09XCJvcHRpb25cIj5cbiAgICAgICAgPC9jcmlzcHItb3B0aW9uPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuXG4gICAgPC9tYXQtc2VsZWN0PlxuXG4gICAgPG1hdC1oaW50ICpuZ0lmPVwiY29uZmlnLmhpbnQgJiYgKGNvbnRyb2wudmFsaWQgfHwgIWNvbnRyb2wudG91Y2hlZClcIj57e2NvbmZpZy5oaW50fX08L21hdC1oaW50PlxuXG4gIDwvbWF0LWZvcm0tZmllbGQ+XG5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
@@ -0,0 +1,30 @@
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/observablifyOptions';
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
+ }
25
+ AbstractAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: AbstractAutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
26
+ AbstractAutocompleteComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: AbstractAutocompleteComponent, usesInheritance: true, ngImport: i0 });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: AbstractAutocompleteComponent, decorators: [{
28
+ type: Directive
29
+ }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLWZpZWxkLmFic3RyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdXRpbHMvYWJzdHJhY3RzL2F1dG9jb21wbGV0ZS1maWVsZC5hYnN0cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUl2RSxNQUFNLDhCQUE4QixHQUFHLGtCQUFrQixDQUEwQixvQkFBb0IsQ0FBQyxDQUFDO0FBR3pHLGtFQUFrRTtBQUNsRSxNQUFNLE9BQU8sNkJBQ1gsU0FBUSw4QkFBOEI7SUFIeEM7O1FBSUUsb0dBQW9HO1FBQ3BHLDZCQUF3QixHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBa0JoRDtJQWZDLFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLCtHQUErRztRQUMvRyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsSUFBSTtRQUM3RCw0REFBNEQ7UUFDNUQsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUNiLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQzFDLEdBQUcsQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLE9BQU8sVUFBVSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFDckYsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUNuRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7OzBIQXBCVSw2QkFBNkI7OEdBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUZ6QyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBzaGFyZVJlcGxheSwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IGNyaXNwckNvbnRyb2xNaXhpbiB9IGZyb20gJy4vY3Jpc3ByLWNvbnRyb2wubWl4aW4nO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVGaWVsZENvbmZpZywgQXV0b2NvbXBsZXRlQ2hpcGxpc3RGaWVsZENvbmZpZywgU2VsZWN0T3B0aW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IENyaXNwckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9jcmlzcHItZmllbGQuYWJzdHJhY3QnO1xuaW1wb3J0IHsgb2JzZXJ2YWJsaWZ5T3B0aW9ucyB9IGZyb20gJy4uL2Z1bmN0aW9ucy9vYnNlcnZhYmxpZnlPcHRpb25zJztcblxudHlwZSBBdXRvY29tcGxldGVDb25maWdUeXBlcyA9IEF1dG9jb21wbGV0ZUZpZWxkQ29uZmlnIHwgQXV0b2NvbXBsZXRlQ2hpcGxpc3RGaWVsZENvbmZpZztcblxuY29uc3QgQWJzdHJhY3RBdXRvY29tcGxldGVGaWVsZE1peGluID0gY3Jpc3ByQ29udHJvbE1peGluPEF1dG9jb21wbGV0ZUNvbmZpZ1R5cGVzPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBEaXJlY3RpdmUoKVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtY2xhc3Mtc3VmZml4XG5leHBvcnQgY2xhc3MgQWJzdHJhY3RBdXRvY29tcGxldGVDb21wb25lbnQ8Qz5cbiAgZXh0ZW5kcyBBYnN0cmFjdEF1dG9jb21wbGV0ZUZpZWxkTWl4aW4gaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyB3ZSBuZWVkIGEgc2VwYXJhdGUgY29udHJvbCBmb3IgdGhlIFVJIGJlY2F1c2Ugb2YgdGhlIHdheSB0aGUgbWF0ZXJpYWwgYXV0b2NvbXBsZXRlIGNoaXBsaXN0IHdvcmtzXG4gIGF1dG9jb21wbGV0ZUlucHV0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIG9wdGlvbnMkOiBPYnNlcnZhYmxlPFNlbGVjdE9wdGlvbltdPlxuICBjb25maWc6IEF1dG9jb21wbGV0ZUNvbmZpZ1R5cGVzICYgQztcbiAgbmdPbkluaXQoKSB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMuZ3JvdXAuYWRkQ29udHJvbCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSwgbmV3IEZvcm1Db250cm9sKCkpO1xuICAgIC8vIGZpbHRlciBvcHRpb25zIGJ5IHRoZSBzZWFyY2ggc3RyaW5nIHVzaW5nIGVpdGhlciB0aGUgZGVmYXVsdCBmaWx0ZXIgZnVuY3Rpb24gb3Igb25lIHBhc3NlZCBpbiB0aHJvdWdoIGNvbmZpZ1xuICAgIHRoaXMub3B0aW9ucyQgPSB0aGlzLmF1dG9jb21wbGV0ZUlucHV0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIC8vIHRoaXMgaXMgbmVlZGVkIHRvIGhhdmUgdGhlIG9wdGlvbnMgcGFuZWwgdG8gb3BlbiBvbiBmb2N1c1xuICAgICAgc3RhcnRXaXRoKCcnKSxcbiAgICAgIGRlYm91bmNlVGltZSh0aGlzLmNvbmZpZy50eXBlRGVib3VuY2VUaW1lKSxcbiAgICAgIG1hcCgoc2VhcmNoVGV4dDogc3RyaW5nKSA9PiB0eXBlb2Ygc2VhcmNoVGV4dCA9PT0gJ3N0cmluZycgPyBzZWFyY2hUZXh0Py50cmltKCkgOiAnJyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2hUZXh0OiBzdHJpbmcpID0+IG9ic2VydmFibGlmeU9wdGlvbnModGhpcy5jb25maWcub3B0aW9ucywgdGhpcy5ncm91cCwgc2VhcmNoVGV4dCkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,27 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jpc3ByLWNvbnRyb2wubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91dGlscy9hYnN0cmFjdHMvY3Jpc3ByLWNvbnRyb2wubWl4aW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQyxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUcvRixNQUFNLFVBQVUsa0JBQWtCLENBQWdDLFNBQXNDO0lBQ3RHLE9BQU8sS0FBTSxTQUFRLFNBQVk7UUFNL0IsSUFBSSxLQUFLLENBQUMsS0FBbUI7WUFDM0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDO1FBRUQsSUFBSSxLQUFLO1lBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENBQUM7UUFFRCxRQUFRO1lBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyw2R0FBNkc7WUFDN0csVUFBVSxDQUFDLEdBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDeEMsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDO1FBRUQsZUFBZSxDQUFDLEtBQW1CO1lBQ2pDLElBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLFNBQVMsRUFBRTtnQkFDN0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7YUFDN0I7UUFDSCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENyaXNwckNvbnRyb2xDb25maWcsIENvbnRyb2xWYWx1ZSwgQ29udHJvbFR5cGUgfSBmcm9tICcuLi9tb2RlbHMvY3Jpc3ByLWZpZWxkLmNvbmZpZyc7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vY3Jpc3ByLWZpZWxkLmFic3RyYWN0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyaXNwckNvbnRyb2xNaXhpbjxDIGV4dGVuZHMgQ3Jpc3ByQ29udHJvbENvbmZpZz4oQmFzZUNsYXNzOiB0eXBlb2YgQ3Jpc3ByRmllbGRDb21wb25lbnQpIHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZUNsYXNzPEM+IHtcbiAgICBjb25maWc6IEM7XG4gICAgZ3JvdXA6IEZvcm1Hcm91cDtcbiAgICBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG5cbiAgICBfdmFsdWU6IENvbnRyb2xWYWx1ZTtcbiAgICBzZXQgdmFsdWUodmFsdWU6IENvbnRyb2xWYWx1ZSkge1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUodmFsdWUpO1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWcuY29udHJvbE5hbWUpO1xuICAgICAgdGhpcy5zZXRDb250cm9sVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAvLyBzZXRUaW1lb3V0cyBhcmUgdWdseSBidXQgdGhpcyBzZWVtcyB0byBiZSB0aGUgb25seSB3YXkgdG8gZ2V0IHRoZSBjb21wdXRlZCBmaWVsZCB0byBjb21wdXRlIGluaXRpYWwgdmFsdWVzXG4gICAgICBzZXRUaW1lb3V0KCgpPT4ge1xuICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgfSlcbiAgICB9XG5cbiAgICBzZXRDb250cm9sVmFsdWUodmFsdWU6IENvbnRyb2xWYWx1ZSkge1xuICAgICAgaWYodmFsdWUgJiYgdGhpcy5jb250cm9sICYmIHRoaXMuY29uZmlnLmNvbnRyb2xUeXBlICE9PSBDb250cm9sVHlwZS5TVUJfR1JPVVApIHtcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbHVlKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,20 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ // eslint-disable-next-line @angular-eslint/directive-class-suffix
4
+ export class CrisprFieldComponent {
5
+ ngOnInit() {
6
+ this.applyDefaultConfig();
7
+ }
8
+ applyDefaultConfig() {
9
+ this.config = this.defaultConfig ? { ...this.defaultConfig, ...this.config } : this.config;
10
+ }
11
+ }
12
+ CrisprFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
+ CrisprFieldComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: CrisprFieldComponent, isStandalone: true, ngImport: i0 });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: CrisprFieldComponent, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ standalone: true
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jpc3ByLWZpZWxkLmFic3RyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdXRpbHMvYWJzdHJhY3RzL2NyaXNwci1maWVsZC5hYnN0cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtsRCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFnQixvQkFBb0I7SUFJeEMsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUMzRixDQUFDOztpSEFWbUIsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENyaXNwckZpZWxkQ29uZmlnLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgT25Jbml0LCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDcmlzcHJGaWVsZENvbXBvbmVudDxDIGV4dGVuZHMgQ3Jpc3ByRmllbGRDb25maWc+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uZmlnOiBDO1xuICBkZWZhdWx0Q29uZmlnPzogUGFydGlhbDxDPlxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYXBwbHlEZWZhdWx0Q29uZmlnKCk7XG4gIH1cblxuICBhcHBseURlZmF1bHRDb25maWcoKSB7XG4gICAgdGhpcy5jb25maWcgPSB0aGlzLmRlZmF1bHRDb25maWcgPyB7Li4udGhpcy5kZWZhdWx0Q29uZmlnLCAuLi50aGlzLmNvbmZpZ30gOiB0aGlzLmNvbmZpZztcbiAgfVxufVxuXG5cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './autocomplete-field.abstract';
2
+ export * from './crispr-control.mixin';
3
+ export * from './crispr-field.abstract';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91dGlscy9hYnN0cmFjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS1maWVsZC5hYnN0cmFjdCc7XG5leHBvcnQgKiBmcm9tICcuL2NyaXNwci1jb250cm9sLm1peGluJztcbmV4cG9ydCAqIGZyb20gJy4vY3Jpc3ByLWZpZWxkLmFic3RyYWN0JztcbiJdfQ==
@@ -0,0 +1,28 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdXRpbHMvZnVuY3Rpb25zL2J1aWxkRm9ybUdyb3VwRnJvbUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBEOzs7OztHQUtHO0FBQ0YsTUFBTSxVQUFVLHdCQUF3QixDQUFDLE1BQWtCLEVBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxRQUFtQixJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDOUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUUsQ0FBQyxhQUE2QixFQUFFLEVBQUU7UUFDdkQsSUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDLEVBQUU7WUFDbEMsMkVBQTJFO1lBQzNFLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxhQUFhLENBQUM7WUFDcEMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUMxQixLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2xDO1lBQ0QseUZBQXlGO1lBQ3pGLDZCQUE2QjtZQUM3QixNQUFNLFlBQVksR0FBRyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUM7WUFDM0QsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsYUFBYSxFQUFFLFlBQVksQ0FBQyxDQUFBO1lBQ2pFLEtBQUssQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEFueUZpZWxkQ29uZmlnLCBGb3JtQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udHJvbEZvclR5cGUgfSBmcm9tIFwiLi9jcmVhdGVDb250cm9sRm9yVHlwZVwiO1xuaW1wb3J0IHsgaXNDb250cm9sQ29uZmlnIH0gZnJvbSBcIi4vaXNDb250cm9sQ29uZmlnXCI7XG5cbi8qKlxuICogYnVpbGRzIG91dCBmb3JtIGdyb3VwIGJhc2VkIG9uIGNvbmZpZ1xuICogQHBhcmFtIGNvbmZpZyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgZm9ybSBncm91cFxuICogQHBhcmFtIHZhbHVlIGFuIG9iamVjdCBvZiBpbml0aWFsIHZhbHVlcyB0byBwYXNzIGluXG4gKiBAcGFyYW0gZ3JvdXAgdGhlIGZvcm0gZ3JvdXAgdG8gbW9kaWZ5IGFuZCBidWlsZCBvdXRcbiAqL1xuIGV4cG9ydCBmdW5jdGlvbiBidWlsZEZvcm1Hcm91cEZyb21Db25maWcoY29uZmlnOiBGb3JtQ29uZmlnLCB2YWx1ZSA9IG51bGwsIGdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KSApIHtcbiAgY29uZmlnLmZpZWxkcy5mb3JFYWNoKCAoY29udHJvbENvbmZpZzogQW55RmllbGRDb25maWcpID0+IHtcbiAgICBpZiAoaXNDb250cm9sQ29uZmlnKGNvbnRyb2xDb25maWcpKSB7XG4gICAgICAvLyB0aGVuIGFkZCBhIGNvbnRyb2wgdG8gdGhlIGdyb3VwIHVzaW5nIHRoZSBjb250cm9sTmFtZSBmcm9tIGNvbmZpZ3VyYXRpb25cbiAgICAgIGNvbnN0IHtjb250cm9sTmFtZX0gPSBjb250cm9sQ29uZmlnO1xuICAgICAgaWYgKGdyb3VwLmdldChjb250cm9sTmFtZSkpIHtcbiAgICAgICAgZ3JvdXAucmVtb3ZlQ29udHJvbChjb250cm9sTmFtZSk7XG4gICAgICB9XG4gICAgICAvLyBpZiB0aGVyZSdzIGEgdmFsdWUgb2JqZWN0IGFuZCBpdCBoYXMgYSBub24tbnVsbC91bmRlZmluZWQgdmFsdWUgZm9yIHRoaXMgZmllbGQgdXNlIGl0LlxuICAgICAgLy8gT3RoZXJ3aXNlLCBkZWZhdWx0IHRvIG51bGxcbiAgICAgIGNvbnN0IGNvbnRyb2xWYWx1ZSA9ICh2YWx1ZSAmJiB2YWx1ZVtjb250cm9sTmFtZV0pID8/IG51bGw7XG4gICAgICBjb25zdCBjb250cm9sID0gY3JlYXRlQ29udHJvbEZvclR5cGUoY29udHJvbENvbmZpZywgY29udHJvbFZhbHVlKVxuICAgICAgZ3JvdXAuYWRkQ29udHJvbChjb250cm9sTmFtZSwgY29udHJvbCk7XG4gICAgfVxuICB9KTtcbiAgZ3JvdXAuc2V0VmFsaWRhdG9ycyhjb25maWcudmFsaWRhdG9ycyk7XG4gIHJldHVybiBncm91cDtcbn1cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export function callOptionsIfFunction(options, parentGroup, searchString) {
2
+ return options instanceof Function ? options(parentGroup, searchString) : options;
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbE9wdGlvbnNJZkZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdXRpbHMvZnVuY3Rpb25zL2NhbGxPcHRpb25zSWZGdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLE9BQWtELEVBQ2xELFdBQXVCLEVBQ3ZCLFlBQXFCO0lBRXJCLE9BQU8sT0FBTyxZQUFZLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3BGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEF1dG9jb21wbGV0ZU9wdGlvbnNDYWxsYmFjaywgT3B0aW9uc1R5cGUgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxsT3B0aW9uc0lmRnVuY3Rpb24oXG4gIG9wdGlvbnM6IE9wdGlvbnNUeXBlIHwgQXV0b2NvbXBsZXRlT3B0aW9uc0NhbGxiYWNrLFxuICBwYXJlbnRHcm91cD86IEZvcm1Hcm91cCxcbiAgc2VhcmNoU3RyaW5nPzogc3RyaW5nXG4pOiBPcHRpb25zVHlwZSB7XG4gIHJldHVybiBvcHRpb25zIGluc3RhbmNlb2YgRnVuY3Rpb24gPyBvcHRpb25zKHBhcmVudEdyb3VwLCBzZWFyY2hTdHJpbmcpIDogb3B0aW9ucztcbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { FormArray, FormControl } from "@angular/forms";
2
+ import { ControlType } from "../models";
3
+ import { buildFormGroupFromConfig } from "./buildFormGroupFromConfig";
4
+ /**
5
+ * Analyze the config and build a form control to spec. Notice we don't use FormBuilder here
6
+ * as we want to keep this function pure.
7
+ * @param controlConfig the configuration object for the control to build
8
+ * @param value an initial value to use if passed in
9
+ */
10
+ export function createControlForType(controlConfig, value = null) {
11
+ // build form control out based on the control type
12
+ const control = controlConfig.controlType === ControlType.SUB_GROUP
13
+ ? buildFormGroupFromConfig(controlConfig, value)
14
+ : controlConfig.controlType === ControlType.GROUP_LIST
15
+ ? new FormArray([], controlConfig.validators)
16
+ : new FormControl(value || null, controlConfig.validators);
17
+ return control;
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQ29udHJvbEZvclR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91dGlscy9mdW5jdGlvbnMvY3JlYXRlQ29udHJvbEZvclR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQWtCLFdBQVcsRUFBc0UsTUFBTSxXQUFXLENBQUM7QUFDNUgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEU7Ozs7O0dBS0c7QUFDRixNQUFNLFVBQVUsb0JBQW9CLENBQUMsYUFBNkIsRUFBRSxRQUFzQixJQUFJO0lBQzdGLG1EQUFtRDtJQUNuRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxTQUFTO1FBQ2pFLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxhQUEyQixFQUFFLEtBQUssQ0FBQztRQUM5RCxDQUFDLENBQUMsYUFBYSxDQUFDLFdBQVcsS0FBSyxXQUFXLENBQUMsVUFBVTtZQUN0RCxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxFQUFHLGFBQXFDLENBQUMsVUFBVSxDQUFDO1lBQ3RFLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FDZixLQUFLLElBQUksSUFBSSxFQUNaLGFBQXFDLENBQUMsVUFBVSxDQUNsRCxDQUFDO0lBRUosT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUNvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IEFueUZpZWxkQ29uZmlnLCBDb250cm9sVHlwZSwgQ29udHJvbFZhbHVlLCBDcmlzcHJDb250cm9sQ29uZmlnLCBGb3JtQ29uZmlnLCBGb3JtR3JvdXBMaXN0Q29uZmlnIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xuaW1wb3J0IHsgYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnIH0gZnJvbSBcIi4vYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnXCI7XG5cbi8qKlxuICogQW5hbHl6ZSB0aGUgY29uZmlnIGFuZCBidWlsZCBhIGZvcm0gY29udHJvbCB0byBzcGVjLiBOb3RpY2Ugd2UgZG9uJ3QgdXNlIEZvcm1CdWlsZGVyIGhlcmVcbiAqIGFzIHdlIHdhbnQgdG8ga2VlcCB0aGlzIGZ1bmN0aW9uIHB1cmUuXG4gKiBAcGFyYW0gY29udHJvbENvbmZpZyB0aGUgY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIHRoZSBjb250cm9sIHRvIGJ1aWxkXG4gKiBAcGFyYW0gdmFsdWUgYW4gaW5pdGlhbCB2YWx1ZSB0byB1c2UgaWYgcGFzc2VkIGluXG4gKi9cbiBleHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29udHJvbEZvclR5cGUoY29udHJvbENvbmZpZzogQW55RmllbGRDb25maWcsIHZhbHVlOiBDb250cm9sVmFsdWUgPSBudWxsKSAge1xuICAvLyBidWlsZCBmb3JtIGNvbnRyb2wgb3V0IGJhc2VkIG9uIHRoZSBjb250cm9sIHR5cGVcbiAgY29uc3QgY29udHJvbCA9IGNvbnRyb2xDb25maWcuY29udHJvbFR5cGUgPT09IENvbnRyb2xUeXBlLlNVQl9HUk9VUFxuICAgID8gYnVpbGRGb3JtR3JvdXBGcm9tQ29uZmlnKGNvbnRyb2xDb25maWcgYXMgRm9ybUNvbmZpZywgdmFsdWUpXG4gICAgOiBjb250cm9sQ29uZmlnLmNvbnRyb2xUeXBlID09PSBDb250cm9sVHlwZS5HUk9VUF9MSVNUXG4gICAgPyBuZXcgRm9ybUFycmF5KFtdLCAoY29udHJvbENvbmZpZyBhcyBGb3JtR3JvdXBMaXN0Q29uZmlnKS52YWxpZGF0b3JzKVxuICAgIDogbmV3IEZvcm1Db250cm9sKFxuICAgICAgdmFsdWUgfHwgbnVsbCxcbiAgICAgIChjb250cm9sQ29uZmlnIGFzIENyaXNwckNvbnRyb2xDb25maWcpLnZhbGlkYXRvcnNcbiAgICApO1xuXG4gIHJldHVybiBjb250cm9sO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A basic filter function that filters the search string against the label of the options object
3
+ * @param options the array of options to filter
4
+ * @param searchString the string from the input
5
+ */
6
+ export function filterOptionsByLabel(options, searchString) {
7
+ return options.filter(option => {
8
+ return option.label && option.label.toLowerCase().includes(searchString.toLowerCase());
9
+ });
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyT3B0aW9uc0J5TGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91dGlscy9mdW5jdGlvbnMvZmlsdGVyT3B0aW9uc0J5TGFiZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7R0FJRztBQUNGLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxPQUF1QixFQUFFLFlBQW9CO0lBQ2pGLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUM3QixPQUFPLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0T3B0aW9uIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xuXG4vKipcbiAqIEEgYmFzaWMgZmlsdGVyIGZ1bmN0aW9uIHRoYXQgZmlsdGVycyB0aGUgc2VhcmNoIHN0cmluZyBhZ2FpbnN0IHRoZSBsYWJlbCBvZiB0aGUgb3B0aW9ucyBvYmplY3RcbiAqIEBwYXJhbSBvcHRpb25zIHRoZSBhcnJheSBvZiBvcHRpb25zIHRvIGZpbHRlclxuICogQHBhcmFtIHNlYXJjaFN0cmluZyB0aGUgc3RyaW5nIGZyb20gdGhlIGlucHV0XG4gKi9cbiBleHBvcnQgZnVuY3Rpb24gZmlsdGVyT3B0aW9uc0J5TGFiZWwob3B0aW9uczogU2VsZWN0T3B0aW9uW10sIHNlYXJjaFN0cmluZzogc3RyaW5nKSAge1xuICByZXR1cm4gb3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IHtcbiAgICByZXR1cm4gb3B0aW9uLmxhYmVsICYmIG9wdGlvbi5sYWJlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKTtcbiAgfSk7XG59XG4iXX0=